সাহায্য Kaggle উপর TensorFlow সঙ্গে গ্রেট বেরিয়ার রিফ রক্ষা চ্যালেঞ্জ যোগদান

সহযোগী অপ্টিমাইজেশন

আর্ম এমএল টুলিং দ্বারা পরিচালিত

এই ডকুমেন্টটি স্থাপনার জন্য মেশিন লার্নিং মডেলগুলিকে অপ্টিমাইজ করার জন্য বিভিন্ন কৌশল সংমিশ্রণের জন্য পরীক্ষামূলক API গুলির একটি ওভারভিউ প্রদান করে।

ওভারভিউ

সহযোগী অপটিমাইজেশন হল একটি অতিপ্রাকৃত প্রক্রিয়া যা একটি মডেল তৈরির জন্য বিভিন্ন কৌশলকে ধারণ করে যা স্থাপনার সময় লক্ষ্য বৈশিষ্ট্যগুলির সর্বোত্তম ভারসাম্য প্রদর্শন করে যেমন অনুমানের গতি, মডেলের আকার এবং নির্ভুলতা।

সহযোগিতামূলক অপ্টিমাইজেশনের ধারণা হল সঞ্চিত অপটিমাইজেশন প্রভাব অর্জনের জন্য একের পর এক প্রয়োগ করে পৃথক কৌশল তৈরি করা। নিম্নলিখিত অপ্টিমাইজেশনের বিভিন্ন সমন্বয় সম্ভব:

এই কৌশলগুলিকে একসঙ্গে চেইন করার চেষ্টা করার সময় যে সমস্যাটি দেখা দেয় তা হল যে একটি প্রয়োগ করা সাধারণত পূর্ববর্তী কৌশলটির ফলাফলকে ধ্বংস করে, একই সাথে তাদের সমস্ত প্রয়োগের সামগ্রিক সুবিধা নষ্ট করে; উদাহরণস্বরূপ, ক্লাস্টারিং ছাঁটাই API দ্বারা প্রবর্তিত sparsity সংরক্ষণ করে না। এই সমস্যা সমাধানের জন্য, আমরা নিম্নলিখিত পরীক্ষামূলক সহযোগী অপটিমাইজেশন কৌশলগুলি চালু করি:

এগুলি বেশ কয়েকটি স্থাপনার পথ সরবরাহ করে যা মেশিন লার্নিং মডেলকে সংকুচিত করতে এবং অনুমানের সময় হার্ডওয়্যার এক্সিলারেশনের সুবিধা নিতে ব্যবহার করা যেতে পারে। নীচের চিত্রটি বেশ কয়েকটি স্থাপনার পথ প্রদর্শন করে যা মডেলের সন্ধানের জন্য পছন্দসই স্থাপনার বৈশিষ্ট্য সহ অনুসন্ধান করা যেতে পারে, যেখানে পাতার নোডগুলি স্থাপনের জন্য প্রস্তুত মডেল, যার অর্থ সেগুলি আংশিক বা সম্পূর্ণ পরিমাণে এবং tflite বিন্যাসে। সবুজ ভরাটগুলি এমন পদক্ষেপগুলি নির্দেশ করে যেখানে পুনরায় প্রশিক্ষণ/সূক্ষ্ম-টিউনিং প্রয়োজন এবং একটি ড্যাশযুক্ত লাল সীমানা সহযোগী অপ্টিমাইজেশন পদক্ষেপগুলি হাইলাইট করে। প্রদত্ত নোডে একটি মডেল পাওয়ার জন্য ব্যবহৃত কৌশলটি সংশ্লিষ্ট লেবেলে নির্দেশিত হয়।

collaborative optimization

সরাসরি, কোয়ান্টাইজেশন-মাত্র (প্রশিক্ষণ-পরবর্তী বা QAT) স্থাপনার পথটি উপরের চিত্রে বাদ দেওয়া হয়েছে।

ধারণাটি হল উপরোক্ত স্থাপনার গাছের তৃতীয় স্তরে সম্পূর্ণরূপে অপটিমাইজড মডেল পৌঁছানো; যাইহোক, অপ্টিমাইজেশনের অন্য কোন স্তর সন্তোষজনক প্রমাণ করতে পারে এবং প্রয়োজনীয় অনুমান বিলম্ব/নির্ভুলতা ট্রেড-অফ অর্জন করতে পারে, এই ক্ষেত্রে আর অপ্টিমাইজেশনের প্রয়োজন নেই। প্রস্তাবিত প্রশিক্ষণ প্রক্রিয়াটি পুনরাবৃত্তিমূলকভাবে স্থাপনার বৃক্ষের স্তরের মধ্য দিয়ে যেতে হবে যা লক্ষ্য স্থাপনার দৃশ্যকল্পের জন্য প্রযোজ্য এবং মডেলটি অনুমান বিলম্বের প্রয়োজনীয়তা পূরণ করে কিনা এবং যদি না হয় তবে মডেলটিকে আরও সংকুচিত করতে এবং পুনরাবৃত্তি করতে সংশ্লিষ্ট সহযোগী অপটিমাইজেশন কৌশল ব্যবহার করুন। প্রয়োজনে মডেলটি পুরোপুরি অপ্টিমাইজ করা (ছাঁটাই, ক্লাস্টার্ড এবং কোয়ান্টাইজড) পর্যন্ত।

নীচের চিত্রটি নমুনা ওজন কার্নেলের ঘনত্ব প্লটগুলি সহযোগী অপটিমাইজেশন পাইপলাইন দিয়ে যাচ্ছে।

collaborative optimization density plot

ফলাফল হল একটি কোয়ান্টাইজড ডিপ্লয়মেন্ট মডেল যা অনন্য মানগুলির সংখ্যার সাথে সাথে উল্লেখযোগ্য সংখ্যক বিরল ওজনের, প্রশিক্ষণের সময় নির্দিষ্ট টার্গেট স্পারসিটির উপর নির্ভর করে। উল্লেখযোগ্য মডেলের কম্প্রেশন সুবিধা ছাড়াও, নির্দিষ্ট হার্ডওয়্যার সাপোর্ট এই স্পার্স, ক্লাস্টার্ড মডেলের সুবিধা নিতে পারে উল্লেখযোগ্যভাবে বিলম্ব হ্রাস করতে।

ফলাফল

PQAT এবং CQAT সহযোগী অপ্টিমাইজেশন পাথগুলির সাথে পরীক্ষা করার সময় আমরা কিছু নির্ভুলতা এবং সংকোচনের ফলাফল পেয়েছি।

স্পারসিটি-সংরক্ষণ কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ (PQAT)

মডেল আইটেম বেসলাইন ছাঁটাই মডেল (50% sparsity) QAT মডেল PQAT মডেল
ডিএস-সিএনএন-এল 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 মেগাবাইট 2.00 মেগাবাইট 2.84 মেগাবাইট 1.94 মেগাবাইট
ImageNet এ Mobilenet_v1 FP32 শীর্ষ 1 নির্ভুলতা 71.07% 65.30% (জাল INT8) 70.39% (জাল INT8) 65.35%
INT8 পূর্ণ পূর্ণসংখ্যা পরিমাপ 69.34% 60.60% 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 , PQAT , sparsity-সংরক্ষণের ক্লাস্টারিং , এবং PCQAT উদাহরণ নোটবুক।