Fin 2019, Spotify a mis en open source son module Terraform permettant de créer des clusters GKE (Google Kubernetes Engine) pour exécuter le framework Kubeflow. Ce dernier permet de lancer des pipelines d’apprentissage machine sur Kubernetes en transformant les composants d’un workflow ML en containers Docker. Depuis le lancement du service de musique en streaming en Suède en 2008, puis aux Etats-Unis en 2011, l’expérience utilisateur de Spotify s’est régulièrement enrichie et ses recommandations de morceaux se sont complexifiées avec des fonctionnalités comme « Découvertes de la semaine » (Discover Weekly). Ses équipes ont dû recourir à davantage de systèmes basés sur l’apprentissage machine pour faire passer les inférences à l’échelle sur une base d’utilisateurs en croissance.

« A un moment donné, nos ingénieurs passaient plus de temps à maintenir les données et systèmes de back-end en support du code ML spécifique plutôt qu’à faire des itérations sur le modèle lui-même. Nous nous sommes aperçus qu’il nous fallait standardiser les bonnes pratiques et créer des outils pour faire le lien entre les données, le back-end et l’apprentissage machine : nous avions besoin d’une plateforme d’apprentissage automatique », ont expliqué il y a quelques semaines le responsable produit Josh Baer et l’ingénieur ML Samuel Ngahane. Dans un billet, ils détaillent le cheminement des équipes de Spotify dans la mise en place de cette plateforme de ML. Trois étapes se sont succédé, la 1ère mettant en oeuvre les bibliothèques open source Scio (bâtie sur Apache Beam), Featran, Noether, ainsi que TensorFlow et Zoltar, la 2ème standardisant sur TensorFlow Extended (TFX). Dans la 3ème itération de la plateforme, les équipes ont commencé à utiliser Kubeflow Pipelines (KFP) pour définir, déployer et gérer des workflows d’apprentissage machine de bout en bout.

La version 2020 de la plateforme d'apprentissage machine. (Crédit : Spotify) Agrandir l'image 

La version alpha de la plateforme a été lancée en août. Elle permet maintenant aux ingénieurs ML de se concentrer sur la conception et l’analyse de leurs expérimentations ML et d’accélérer la mise en production. Spotify l'a présentée en novembre dernier sur la Kubecon à San Diego. L’intérêt manifesté alors l’a ensuite conduit à mettre en open source sur GitHub son module Terraform de création de clusters GKE.