¿Cuáles son las mejores prácticas para guardar, almacenar y compartir modelos de aprendizaje automático?
En Python, generalmente almacenamos la representación binaria del modelo, usando pickle o joblib. Los modelos, en mi caso, pueden ser ~ 100Mo más grandes. Además, joblib puede guardar un modelo en varios archivos a menos que establezca compress=1
( /programming/33497314/sklearn-dumping-model-using-joblib-dumps-multiple-files-which-one-is-the- corre ).
Pero entonces, si desea controlar los derechos de acceso a los modelos y poder usar modelos de diferentes máquinas, ¿cuál es la mejor manera de almacenarlos?
Tengo algunas opciones:
- Almacénelos como archivos y luego póngalos en un repositorio usando Git LFS
- Almacénelos en una base de datos SQL como archivos binarios:
- Por ejemplo, en Postgresql https://wiki.postgresql.org/wiki/BinaryFilesInDB
- Este es también el método recomendado por el equipo de 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