Third generation machine learning architectures like Ray provide full programmability and flexibility, shifting the focus to libraries. Ray allows users to more easily build existing ML pipelines, parallelize high performance systems, make ML accessible to broader audiences, and undertake novel projects in reinforcement learning at large scale. It provides a simple way to distribute computation across resources without worrying about infrastructure details, analogous to how third generation GPU programming shifted the focus to libraries over hardware specifics. Customers are using Ray for applications like simplifying ML workflows at Uber and training self-driving boat designs for the America's Cup.