Jusqu’au milieu des années 2010, les projets de Machine Learning étaient une succession d’opérations manuelles. Les outils de MLOps qui sont progressivement apparus depuis ont permis de structurer et de fluidifier une partie croissante de ces tâches, jusqu’à des plateformes complètes intervenant sur l’ensemble du cycle de vie des modèles.
On peut citer Databricks, disponible depuis 2015, comme l’un des précurseurs de ces plateformes, ou les services de ML des 3 principaux fournisseurs cloud : Google VertexAI, Amazon Sagemaker et Azure ML.
Celles-ci permettent une mise en œuvre rapide des principaux composants d’un projet :
une infrastructure pour les entraînements et prédictions, un model registry, l’orchestration de pipelines, le tracking d’expériences, etc.
Sans rentrer dans le détail de chaque plateforme, on peut identifier plusieurs problèmes-types communs à celles-ci :
- Coût des resources : Il est toujours plus élevé qu’avec des solutions moins managées. Par exemple, un entraînement sur Vertex AI coûte ~15% plus cher que via Compute Engine.
- Rigidité : Les services de ML tout intégrés sont limités en termes de personnalisation et d’intégration avec des outils n’appartenant pas à leur écosystème. Par exemple, on pourra difficilement utiliser DVC pour versionner ses données ou lancerdes entraînements bas- carbone sur Qarnot.
- Vendor lock-in : Une dépendance à un fournisseur spécifique peut s’avérer d’autant plus frustrante dans le domaine de l’IA, où les technologies évoluent très rapidement.
L’alternative principale est de combiner des technologies spécifiques et moins managées, comme DVC, Streamlit, Airflow, ce qui représente un investissement non négligeable en coût de mise en place.
NOTRE POINT DE VUE
Chez Sicara, notre stack par défaut n’utilise pas de plateforme ML end- to-end. Nous privilégions la combinaison d’outils open-source adaptés au besoin, minimisant les coûts et évitant le vendor lock-in. Sicarator, notre générateur de projet ML open-source, permet d’accélérer leur mise en place.
Une solution end-to-end reste préférable si l’on ne dispose pas du temps ou des compétences nécessaires pour une stack sur-mesure, ou pour une entreprise qui n’a prévu de développer que quelques projets de ML sur le court terme.