मशीन लर्निंग मॉडल को बचाने, स्टोर करने और साझा करने के लिए सबसे अच्छे अभ्यास क्या हैं?
पायथन में, हम आमतौर पर अचार या जॉबलिब का उपयोग करके मॉडल के द्विआधारी प्रतिनिधित्व को संग्रहीत करते हैं। मॉडल, मेरे मामले में, ~ 100 बड़ा हो सकता है। इसके अलावा, जॉबलिब एक मॉडल को कई फाइलों में सेव कर सकती है जब तक कि आप सेट न करेंcompress=1
( /programming/33497314/sklearn-dumping-model-use-joblib-dumps-multiple-files-which-one-is-the- corre ) का प्रयोग करें।
लेकिन फिर, यदि आप मॉडल के उपयोग के अधिकार को नियंत्रित करना चाहते हैं, और विभिन्न मशीनों से मॉडल का उपयोग करने में सक्षम हैं, तो उन्हें संग्रहीत करने का सबसे अच्छा तरीका क्या है?
मेरे पास कुछ विकल्प हैं:
- उन्हें फ़ाइलों के रूप में संग्रहीत करें, और फिर उन्हें Git LFS का उपयोग करके एक भंडार में रखें
- उन्हें बाइनरी फ़ाइलों के रूप में SQL डेटाबेस में संग्रहीत करें:
- उदाहरण के लिए Postgresql https://wiki.postgresql.org/wiki/BinaryFilesInDB
- यह SQL सर्वर टीम द्वारा अनुशंसित विधि भी है:
- 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