ABSTRACT: Because uncertainty, data, and inference play a fundamental role in the design of systems that learn, probabilistic modelling has become one of the cornerstones of the field of machine learning. Bayesian methods, in particular, describe how probabilities can be used to coherently represent the degrees of belief of a rational agent. Bayesian methods work best when they are applied to models that are flexible enough to capture the complexity of real-world data. Recent work on non-parametric Bayesian machine learning provides this flexibility. I will touch upon key developments in the field, including Gaussian processes, Dirichlet processes, and the Indian buffet process (IBP). Focusing on the IBP, I will describe how this can be used in a number of applications such as collaborative filtering, bioinformatics, cognitive modelling, independent components analysis, time series modelling, and causal discovery. Finally, I will outline the main challenges in the field: how to develop new models, new fast inference algorithms, and compelling applications.