Quali sono le migliori pratiche per salvare, archiviare e condividere modelli di apprendimento automatico?
In Python, generalmente archiviamo la rappresentazione binaria del modello, usando pickle o joblib. I modelli, nel mio caso, possono essere ~ 100Mo più grandi. Inoltre, joblib può salvare un modello su più file se non impostato compress=1
( /programming/33497314/sklearn-dumping-model-using-joblib-dumps-multiple-files-which-one-is-the- corre ).
Ma poi, se vuoi controllare i diritti di accesso ai modelli ed essere in grado di utilizzare modelli di macchine diverse, qual è il modo migliore per archiviarli?
Ho alcune scelte:
- Archiviarli come file, quindi inserirli in un repository utilizzando Git LFS
- Memorizzarli in un database SQL come file binari:
- Ad esempio in Postgresql https://wiki.postgresql.org/wiki/BinaryFilesInDB
- Questo è anche il metodo raccomandato dal team di 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