機械学習モデルを保存、保存、共有するためのベストプラクティスは何ですか?
Pythonでは、通常、pickleまたはjoblibを使用して、モデルのバイナリ表現を保存します。私の場合、モデルのサイズは最大100Moになります。また、設定しない限り、joblibは1つのモデルを複数のファイルに保存できます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