আর্ম এমএল টুলিং দ্বারা রক্ষণাবেক্ষণ করা হয়
এই নথিটি স্থাপনের জন্য মেশিন লার্নিং মডেলগুলিকে অপ্টিমাইজ করার জন্য বিভিন্ন কৌশল একত্রিত করার জন্য পরীক্ষামূলক API-এর একটি ওভারভিউ প্রদান করে।
ওভারভিউ
সহযোগিতামূলক অপ্টিমাইজেশান হল একটি অত্যধিক প্রক্রিয়া যা একটি মডেল তৈরি করার জন্য বিভিন্ন কৌশলকে অন্তর্ভুক্ত করে যা, স্থাপনার সময়, অনুমান গতি, মডেলের আকার এবং নির্ভুলতার মতো লক্ষ্য বৈশিষ্ট্যগুলির সর্বোত্তম ভারসাম্য প্রদর্শন করে।
সহযোগিতামূলক অপ্টিমাইজেশানের ধারণা হ'ল সঞ্চিত অপ্টিমাইজেশন প্রভাব অর্জনের জন্য একের পর এক প্রয়োগ করে পৃথক কৌশলগুলি তৈরি করা। নিম্নলিখিত অপ্টিমাইজেশনের বিভিন্ন সমন্বয় সম্ভব:
- ওজন ছাঁটাই
- ওজন ক্লাস্টারিং
কোয়ান্টাইজেশন
এই কৌশলগুলিকে একসাথে চেইন করার চেষ্টা করার সময় যে সমস্যাটি দেখা দেয় তা হল যে একটি প্রয়োগ করা সাধারণত পূর্ববর্তী কৌশলের ফলাফলগুলিকে নষ্ট করে দেয়, একই সাথে তাদের সমস্ত প্রয়োগ করার সামগ্রিক সুবিধা নষ্ট করে; উদাহরণস্বরূপ, ক্লাস্টারিং ছাঁটাই API দ্বারা প্রবর্তিত স্পার্সিটি সংরক্ষণ করে না। এই সমস্যা সমাধানের জন্য, আমরা নিম্নলিখিত পরীক্ষামূলক সহযোগিতামূলক অপ্টিমাইজেশান কৌশলগুলি প্রবর্তন করি:
- স্পার্সিটি সংরক্ষণ ক্লাস্টারিং
- স্পারসিটি প্রিজারভিং কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ (PQAT)
- ক্লাস্টার সংরক্ষণ কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ (CQAT)
- স্পারসিটি এবং ক্লাস্টার সংরক্ষণ কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ
এগুলি বেশ কয়েকটি স্থাপনার পথ সরবরাহ করে যা একটি মেশিন লার্নিং মডেলকে সংকুচিত করতে এবং অনুমানের সময়ে হার্ডওয়্যার ত্বরণের সুবিধা নিতে ব্যবহার করা যেতে পারে। নীচের চিত্রটি বেশ কয়েকটি স্থাপনার পথ প্রদর্শন করে যা পছন্দসই স্থাপনার বৈশিষ্ট্য সহ মডেলের সন্ধানে অন্বেষণ করা যেতে পারে, যেখানে লিফ নোডগুলি স্থাপনার জন্য প্রস্তুত মডেল, যার অর্থ তারা আংশিক বা সম্পূর্ণ পরিমাণে এবং tflite বিন্যাসে। সবুজ ভরাট ধাপগুলি নির্দেশ করে যেখানে পুনরায় প্রশিক্ষণ/সূক্ষ্ম-টিউনিং প্রয়োজন এবং একটি ড্যাশযুক্ত লাল সীমানা সহযোগিতামূলক অপ্টিমাইজেশন পদক্ষেপগুলিকে হাইলাইট করে। একটি প্রদত্ত নোডে একটি মডেল প্রাপ্ত করার জন্য ব্যবহৃত কৌশলটি সংশ্লিষ্ট লেবেলে নির্দেশিত হয়।
সরাসরি, পরিমাপকরণ-শুধুমাত্র (প্রশিক্ষণ-পরবর্তী বা QAT) স্থাপনার পথটি উপরের চিত্রে বাদ দেওয়া হয়েছে।
ধারণাটি উপরের স্থাপনা গাছের তৃতীয় স্তরে সম্পূর্ণরূপে অপ্টিমাইজ করা মডেলে পৌঁছানো; যাইহোক, অপ্টিমাইজেশানের অন্য যে কোন স্তর সন্তোষজনক প্রমাণিত হতে পারে এবং প্রয়োজনীয় অনুমান বিলম্ব/নির্ভুলতা ট্রেড-অফ অর্জন করতে পারে, এই ক্ষেত্রে আর কোন অপ্টিমাইজেশনের প্রয়োজন নেই। প্রস্তাবিত প্রশিক্ষণ প্রক্রিয়াটি হবে টার্গেট ডিপ্লয়মেন্টের দৃশ্যের জন্য প্রযোজ্য স্থাপনার ট্রির স্তরগুলির মধ্য দিয়ে যেতে হবে এবং দেখতে হবে যে মডেলটি অনুমানের লেটেন্সি প্রয়োজনীয়তাগুলি পূরণ করে কিনা এবং যদি না হয়, মডেলটিকে আরও সংকুচিত করতে এবং পুনরাবৃত্তি করতে সংশ্লিষ্ট সহযোগী অপ্টিমাইজেশন কৌশলটি ব্যবহার করুন। যতক্ষণ না মডেলটি সম্পূর্ণরূপে অপ্টিমাইজ করা হয় (প্রয়োজনে ছাঁটাই, ক্লাস্টার এবং কোয়ান্টাইজড),
নীচের চিত্রটি সহযোগিতামূলক অপ্টিমাইজেশান পাইপলাইনের মধ্য দিয়ে যাওয়া নমুনা ওজন কার্নেলের ঘনত্বের প্লট দেখায়।
ফলাফল হল একটি কোয়ান্টাইজড ডিপ্লোয়মেন্ট মডেল যার একটি কম সংখ্যক অনন্য মান এবং সেইসাথে উল্লেখযোগ্য সংখ্যক স্পার্স ওজন রয়েছে, যা প্রশিক্ষণের সময় নির্দিষ্ট করা টার্গেট স্পারসিটির উপর নির্ভর করে। উল্লেখযোগ্য মডেল কম্প্রেশন সুবিধাগুলি ছাড়াও, নির্দিষ্ট হার্ডওয়্যার সমর্থন এই স্পার্স, ক্লাস্টারড মডেলগুলির সুবিধা নিতে পারে যাতে অনুমান লেটেন্সি উল্লেখযোগ্যভাবে হ্রাস পায়।
ফলাফল
নীচে কিছু নির্ভুলতা এবং সংকোচনের ফলাফল রয়েছে যা আমরা PQAT এবং CQAT সহযোগী অপ্টিমাইজেশন পাথগুলির সাথে পরীক্ষা করার সময় পেয়েছি৷
স্পারসিটি-সংরক্ষণ কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ (PQAT)
মডেল | আইটেম | বেসলাইন | ছাঁটাই করা মডেল (50% স্পারসিটি) | QAT মডেল | পিকিউএটি মডেল |
---|---|---|---|---|---|
ডিএস-সিএনএন-এল | FP32 Top1 নির্ভুলতা | 95.23% | 94.80% | (জাল INT8) 94.721% | (জাল INT8) 94.128% |
INT8 সম্পূর্ণ পূর্ণসংখ্যা পরিমাপ | 94.48% | 93.80% | 94.72% | 94.13% | |
সঙ্কোচন | 528,128 → 434,879 (17.66%) | 528,128 → 334,154 (36.73%) | 512,224 → 403,261 (21.27%) | 512,032 → 303,997 (40.63%) | |
Mobilenet_v1-224 | FP32 শীর্ষ 1 নির্ভুলতা | 70.99% | 70.11% | (জাল INT8) 70.67% | (জাল INT8) 70.29% |
INT8 সম্পূর্ণ পূর্ণসংখ্যা পরিমাপ | 69.37% | 67.82% | 70.67% | 70.29% | |
সঙ্কোচন | 4,665,520 → 3,880,331 (16.83%) | 4,665,520 → 2,939,734 (37.00%) | 4,569,416 → 3,808,781 (16.65%) | 4,569,416 → 2,869,600 (37.20%) |
ক্লাস্টার-সংরক্ষণ কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ (CQAT)
মডেল | আইটেম | বেসলাইন | ক্লাস্টারড মডেল | QAT মডেল | CQAT মডেল |
---|---|---|---|---|---|
CIFAR-10-এ Mobilenet_v1 | FP32 Top1 নির্ভুলতা | 94.88% | 94.48% | (জাল INT8) 94.80% | (জাল INT8) 94.60% |
INT8 সম্পূর্ণ পূর্ণসংখ্যা পরিমাপ | 94.65% | 94.41% | 94.77% | 94.52% | |
আকার | 3.00 MB | 2.00 MB | 2.84 MB | 1.94 MB | |
ImageNet-এ Mobilenet_v1 | FP32 শীর্ষ 1 নির্ভুলতা | 71.07% | 65.30% | (জাল INT8) 70.39% | (জাল INT8) 65.35% |
INT8 সম্পূর্ণ পূর্ণসংখ্যা পরিমাপ | 69.34% | ৬০.৬০% | 70.35% | 65.42% | |
সঙ্কোচন | 4,665,568 → 3,886,277 (16.7%) | 4,665,568 → 3,035,752 (34.9%) | 4,569,416 → 3,804,871 (16.7%) | 4,569,472 → 2,912,655 (36.25%) |
প্রতি চ্যানেলে ক্লাস্টার করা মডেলের জন্য CQAT এবং PCQAT ফলাফল
নীচের ফলাফলগুলি চ্যানেল প্রতি ক্লাস্টারিং কৌশল দ্বারা প্রাপ্ত করা হয়। তারা চিত্রিত করে যে যদি মডেলের কনভোল্যুশনাল স্তরগুলি প্রতি চ্যানেলে ক্লাস্টার করা হয়, তবে মডেলের নির্ভুলতা বেশি। যদি আপনার মডেলে অনেকগুলো কনভোল্যুশনাল লেয়ার থাকে, তাহলে আমরা প্রতি চ্যানেলে ক্লাস্টার করার পরামর্শ দিই। কম্প্রেশন অনুপাত একই থাকে, কিন্তু মডেল নির্ভুলতা বেশি হবে। আমাদের পরীক্ষায় মডেল অপ্টিমাইজেশন পাইপলাইন হল 'ক্লাস্টারড -> ক্লাস্টার সংরক্ষণ QAT -> পোস্ট ট্রেনিং কোয়ান্টাইজেশন, int8'। মডেল ক্লাস্টারড -> CQAT, int8 কোয়ান্টাইজড প্রতি চ্যানেলে ক্লাস্টার করা হয়েছে -> CQAT, int8 কোয়ান্টাইজড ডিএস-সিএনএন-এল 95.949% 96.44% MobileNet-V2 71.538% 72.638% MobileNet-V2 (ছাঁটা) 71.45% 71.901%
উদাহরণ
এখানে বর্ণিত সহযোগী অপ্টিমাইজেশন কৌশলগুলির শেষ থেকে শেষ উদাহরণগুলির জন্য, অনুগ্রহ করে CQAT , PQAT , স্পার্সিটি-সংরক্ষণ ক্লাস্টারিং , এবং PCQAT উদাহরণ নোটবুকগুলি পড়ুন৷