পাইথন মেশিন লার্নিং মডেলগুলি সঞ্চয় করার সর্বোত্তম অনুশীলন


24

মেশিন লার্নিং মডেলগুলি সংরক্ষণ, সঞ্চয় এবং ভাগ করে নেওয়ার সেরা অনুশীলনগুলি কী কী?

পাইথনে, আমরা সাধারণত আচার বা জবলিব ব্যবহার করে মডেলের বাইনারি উপস্থাপনা সঞ্চয় করি। মডেলগুলি, আমার ক্ষেত্রে, ~ 100 বড় হতে পারে। এছাড়াও, জবলিব একাধিক ফাইলে একটি মডেল সংরক্ষণ করতে পারে যদি না আপনি সেট করেন compress=1( /programming/33497314/sklearn-dumping-model-using-joblib-dumps-m Multipleple-files- which-one-is-the- সংশোধন )।

তবে, আপনি যদি মডেলগুলির অ্যাক্সেসের অধিকারগুলি নিয়ন্ত্রণ করতে এবং বিভিন্ন মেশিনের মডেলগুলি ব্যবহার করতে সক্ষম হন তবে সেগুলি সঞ্চয় করার সর্বোত্তম উপায় কোনটি?

আমার কয়েকটি পছন্দ আছে:


আপনি এটি করার একটি দক্ষ উপায় পেয়েছেন?
আইনেট

উত্তর:



2

আমি বহু বছর ধরে এই সমস্যার মুখোমুখি হয়েছি (এবং এখনও এটির মুখোমুখি হয়েছি)। আমি সত্যিই এটি যে আপনি যদি বিস্তারিত প্রয়োজনীয়তা সরবরাহ না করেন তবে আপনি কোনও গুরুতর উত্তর আশা করতে পারবেন না। আমি আমার কাজের উদাহরণ দিয়ে নিজেকে ব্যাখ্যা করি:

  • কোন পরামিতি সবচেয়ে ভাল কাজ করে তা জন্য আমি নিয়মিত একই মডেলের একাধিক প্রকারের চেষ্টা করি try একটি একক মডেলকে প্রশিক্ষণ দিতে বেশ কয়েক দিন সময় লাগে যা কিছু আউটপুট উত্পাদন করে যা পরে মূল্যায়নের জন্য ব্যবহৃত হয়। এটি করার জন্য, আমি মডেলের একটি সাধারণ নম্পপি ডাম্প তৈরি করি যেহেতু এটি সার্ভার বা সহকর্মীদের মধ্যে ভাগ করে নেওয়া সহজ। আপনার আচার এড়ানো উচিত কারণ এটি আপনার মডেল দ্বারা শিখে যাওয়া পরামিতিগুলির চেয়ে আরও অনেক বেশি (শ্রেণীর পাঠাগার, গ্রন্থাগার ...) সঞ্চয় করে। অজগর পরিবেশটি কিছুটা আলাদা হলে অন্য মেশিনে মডেলটি আমদানি করা কাজ করতে পারে না।

  • উত্পাদনের কোনও মডেলকে চাপ দেওয়ার সময়, আমার প্রয়োজন 1) একটি সার্ভার ব্রেকডাউন (সাধারণত একটি বাইনারি ফর্ম্যাট, কেবলমাত্র প্রয়োজনীয় যা কেবল নিউরাল নেটওয়ার্কের ওজন হিসাবে সংরক্ষণ করে) এবং 2) ক এর ক্ষেত্রে আমি দ্রুত লোড করতে পারি এমন একটি মডেলের একটি সংস্করণ প্রয়োজন a মডেলটি ইন-র‌্যামে রাখার উপায়টি এপিআই অনুরোধগুলির সাথে দ্রুত কাজ করার জন্য।

দুটি ভিন্ন উদ্দেশ্যে, আমার তিনটি পৃথক ফর্ম্যাট প্রয়োজন। তারপরে, আরও সাধারণভাবে বলতে গেলে, ফর্ম্যাটটির পছন্দটি আপনি যে সরঞ্জামগুলি ব্যবহার করেন তার উপর নির্ভর করে। উদাহরণস্বরূপ, আপনি যদি টেনসরফ্লো দিয়ে কাজ করেন তবে আপনি তাদের টেনসরফ্লো সার্ভিং সিস্টেমে আগ্রহী হতে পারেন


1

আমি আরও 2 টি পদ্ধতির পরামর্শ দিতে চাই।

  1. এগুলি দস্তাবেজ স্টোরেজে সংরক্ষণ করুন (উদাঃ মোঙ্গোডিবি) - যখন আপনার মডেল ফাইলগুলি 16Mb (বা জবলিব শার্ডগুলি হয়) কম হয় তখন আপনি এই পদ্ধতিটি বাইনারি ডেটা হিসাবে সংরক্ষণ করতে পারেন recommended এছাড়াও, কিছু এমএল লাইব্রেরি জসন (উদাঃ লাইটজিবিএম) এ মডেল রফতানি এবং আমদানিকে সমর্থন করে, যা এটি নথির স্টোরেজে সঞ্চয় করার জন্য নিখুঁত প্রার্থী করে তোলে। সুবিধা : মডেল উত্পাদন ও সহজ অ্যাক্সেসের সহজ ট্র্যাকিং, অসুবিধাগুলি : মডেল অবজেক্ট খুব বেশি হলে জিনিসগুলি অগোছালো হয়ে উঠবে।

  2. আপনার মডেলটিকে অবজেক্ট স্টোরেজে সংরক্ষণ করুন (উদাঃ অ্যামাজন এস 3) - আপনার মডেলগুলি খুব বড় হলে এই পদ্ধতিটি ভাল, এক্ষেত্রে আপনি সীমাহীন স্টোরেজ এবং মোটামুটি সহজ এপিআই পান, আপনি আরও বেশি অর্থ প্রদান করেন, এটি অবশ্যই নিশ্চিত। সুবিধা : সীমাহীন স্থান এবং স্বেচ্ছাসেবী ফাইল ফর্ম্যাটগুলি সঞ্চয় করার ক্ষমতা। অসুবিধাগুলি : ব্যয় এবং সঠিকভাবে এটি করার জন্য আপনাকে নিজের ট্র্যাকিং সিস্টেমটি বিকাশ করতে হবে।

শুভকামনা!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.