Quelles sont les meilleures pratiques pour enregistrer, stocker et partager des modèles d'apprentissage automatique?
En Python, nous stockons généralement la représentation binaire du modèle, en utilisant pickle ou joblib. Dans mon cas, les modèles peuvent être ~ 100Mo grands. En outre, joblib peut enregistrer un modèle dans plusieurs fichiers, sauf si vous définissez compress=1
( /programming/33497314/sklearn-dumping-model-using-joblib-dumps-multiple-files-which-one-is-the- corre ).
Mais alors, si vous voulez contrôler les droits d'accès aux modèles et pouvoir utiliser des modèles à partir de différentes machines, quelle est la meilleure façon de les stocker?
J'ai quelques choix:
- Stockez-les sous forme de fichiers, puis placez-les dans un référentiel à l'aide de Git LFS
- Stockez-les dans une base de données SQL sous forme de fichiers binaires:
- Par exemple, dans Postgresql https://wiki.postgresql.org/wiki/BinaryFilesInDB
- C'est également la méthode recommandée par l'équipe SQL Server:
- https://docs.microsoft.com/en-us/sql/advanced-analytics/tutorials/walkthrough-build-and-save-the-model
- https://microsoft.github.io/sql-ml-tutorials/python/rentalprediction/step/3.html
- https://blogs.technet.microsoft.com/dataplatforminsider/2016/10/17/sql-server-as-a-machine-learning-model-management-system
- HDFS