Каковы лучшие практики для сохранения, хранения и обмена моделями машинного обучения?
В Python мы обычно храним двоичное представление модели, используя pickle или joblib. Модели, в моем случае, могут быть размером ~ 100Mo. Кроме того, joblib может сохранять одну модель в нескольких файлах, если вы не укажете compress=1
( /programming/33497314/sklearn-dumping-model-using-joblib-dumps-multiple-files-which-one-is-the- кор ).
Но тогда, если вы хотите контролировать права доступа к моделям и иметь возможность использовать модели с разных машин, каков наилучший способ их хранения?
У меня есть несколько вариантов:
- Сохраните их как файлы, а затем поместите их в репозиторий, используя Git LFS
- Сохраните их в базе данных SQL как двоичные файлы:
- Например, в Postgresql https://wiki.postgresql.org/wiki/BinaryFilesInDB
- Это также метод, рекомендованный командой 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