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

TensorFlow মডেল অপ্টিমাইজেশান দ্বারা রক্ষণাবেক্ষণ করা হয়

কোয়ান্টাইজেশনের দুটি রূপ রয়েছে: পোস্ট-ট্রেনিং কোয়ান্টাইজেশন এবং কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ। পোস্ট-ট্রেনিং কোয়ান্টাইজেশন দিয়ে শুরু করুন যেহেতু এটি ব্যবহার করা সহজ, যদিও কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ প্রায়শই মডেল নির্ভুলতার জন্য ভাল।

এই পৃষ্ঠাটি আপনার ব্যবহারের ক্ষেত্রে এটি কীভাবে ফিট করে তা নির্ধারণ করতে আপনাকে সাহায্য করার জন্য কোয়ান্টাইজেশন সচেতন প্রশিক্ষণের একটি ওভারভিউ প্রদান করে।

ওভারভিউ

কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ ইনফারেন্স-টাইম কোয়ান্টাইজেশনকে অনুকরণ করে, এমন একটি মডেল তৈরি করে যা ডাউনস্ট্রিম সরঞ্জামগুলি প্রকৃতপক্ষে কোয়ান্টাইজড মডেল তৈরি করতে ব্যবহার করবে। কোয়ান্টাইজড মডেলগুলি নিম্ন-নির্ভুলতা ব্যবহার করে (যেমন 32-বিট ফ্লোটের পরিবর্তে 8-বিট), যা স্থাপনের সময় সুবিধার দিকে পরিচালিত করে।

কোয়ান্টাইজেশন সহ স্থাপন করুন

কোয়ান্টাইজেশন মডেল কম্প্রেশন এবং লেটেন্সি কমানোর মাধ্যমে উন্নতি নিয়ে আসে। API ডিফল্টের সাথে, মডেলের আকার 4x দ্বারা সঙ্কুচিত হয় এবং আমরা সাধারণত পরীক্ষা করা ব্যাকএন্ডে CPU লেটেন্সিতে 1.5 - 4x উন্নতি দেখতে পাই। অবশেষে, এজটিপিইউ এবং এনএনএপিআই-এর মতো সামঞ্জস্যপূর্ণ মেশিন লার্নিং অ্যাক্সিলারেটরে লেটেন্সি উন্নতি দেখা যায়।

কৌশলটি বক্তৃতা, দৃষ্টি, পাঠ্য এবং অনুবাদ ব্যবহারের ক্ষেত্রে উত্পাদনে ব্যবহৃত হয়। কোডটি বর্তমানে এই মডেলগুলির একটি উপসেট সমর্থন করে৷

কোয়ান্টাইজেশন এবং সংশ্লিষ্ট হার্ডওয়্যার নিয়ে পরীক্ষা করুন

ব্যবহারকারীরা কোয়ান্টাইজেশন প্যারামিটারগুলি (যেমন বিটের সংখ্যা) এবং কিছু পরিমাণে, অন্তর্নিহিত অ্যালগরিদমগুলি কনফিগার করতে পারে। মনে রাখবেন যে API ডিফল্ট থেকে এই পরিবর্তনগুলির সাথে, ব্যাকএন্ডে স্থাপনার জন্য বর্তমানে কোন সমর্থিত পথ নেই। উদাহরণস্বরূপ, TFLite রূপান্তর এবং কার্নেল বাস্তবায়ন শুধুমাত্র 8-বিট কোয়ান্টাইজেশন সমর্থন করে।

এই কনফিগারেশনের জন্য নির্দিষ্ট APIগুলি পরীক্ষামূলক এবং পশ্চাদগামী সামঞ্জস্যের বিষয় নয়৷

API সামঞ্জস্য

ব্যবহারকারীরা নিম্নলিখিত APIগুলির সাথে পরিমাপকরণ প্রয়োগ করতে পারেন:

  • মডেল বিল্ডিং: শুধুমাত্র অনুক্রমিক এবং কার্যকরী মডেল সহ keras
  • TensorFlow সংস্করণ: TF-রাত্রিকালীন জন্য TF 2.x।
    • একটি TF 2.X প্যাকেজ সহ tf.compat.v1 সমর্থিত নয়।
  • টেনসরফ্লো এক্সিকিউশন মোড: আগ্রহী এক্সিকিউশন

নিম্নলিখিত ক্ষেত্রে সমর্থন যোগ করার জন্য এটি আমাদের রোডম্যাপে রয়েছে:

  • মডেল বিল্ডিং: সাবক্লাসড মডেলগুলি কীভাবে কোনও সমর্থনের মধ্যে সীমাবদ্ধ থাকে তা স্পষ্ট করুন৷
  • বিতরণ করা প্রশিক্ষণ: tf.distribute

সাধারণ সমর্থন ম্যাট্রিক্স

নিম্নলিখিত এলাকায় সমর্থন উপলব্ধ:

  • মডেল কভারেজ: মঞ্জুরিকৃত স্তরগুলি ব্যবহার করে মডেল, ব্যাচ স্বাভাবিককরণ যখন এটি Conv2D এবং DepthwiseConv2D স্তরগুলি অনুসরণ করে এবং সীমিত ক্ষেত্রে, Concat
  • হার্ডওয়্যার ত্বরণ: আমাদের এপিআই ডিফল্টগুলি এজটিপিইউ, এনএনএপিআই এবং টিএফলাইট ব্যাকএন্ডে ত্বরণের সাথে সামঞ্জস্যপূর্ণ। রোডম্যাপে সতর্কতা দেখুন।
  • কোয়ান্টাইজেশনের সাথে স্থাপন করুন: কনভোলিউশনাল লেয়ারের জন্য শুধুমাত্র প্রতি-অক্ষের কোয়ান্টাইজেশন, প্রতি-টেনসর কোয়ান্টাইজেশন নয়, বর্তমানে সমর্থিত।

নিম্নলিখিত ক্ষেত্রে সমর্থন যোগ করার জন্য এটি আমাদের রোডম্যাপে রয়েছে:

  • মডেল কভারেজ: RNN/LSTM এবং সাধারণ কনক্যাট সমর্থন অন্তর্ভুক্ত করার জন্য প্রসারিত।
  • হার্ডওয়্যার ত্বরণ: নিশ্চিত করুন যে TFLite রূপান্তরকারী পূর্ণ-পূর্ণসংখ্যা মডেল তৈরি করতে পারে। বিস্তারিত জানার জন্য এই সমস্যা দেখুন.
  • পরিমাপকরণ ব্যবহারের ক্ষেত্রে পরীক্ষা করুন:
    • কোয়ান্টাইজেশন অ্যালগরিদমগুলির সাথে পরীক্ষা করুন যা কেরাস স্তরগুলিকে বিস্তৃত করে বা প্রশিক্ষণের পদক্ষেপের প্রয়োজন৷
    • এপিআই স্থির করুন।

ফলাফল

সরঞ্জাম সহ চিত্র শ্রেণীবিভাগ

মডেল অ-পরিমাণযুক্ত শীর্ষ-1 সঠিকতা 8-বিট কোয়ান্টাইজড অ্যাকুরেসি
মোবাইলনেটভি1 224 71.03% 71.06%
Resnet v1 50 76.3% 76.1%
MobilenetV2 224 70.77% 70.01%

মডেলগুলি ইমেজেনেটে পরীক্ষা করা হয়েছিল এবং TensorFlow এবং TFLite উভয় ক্ষেত্রেই মূল্যায়ন করা হয়েছিল।

কৌশল জন্য চিত্র শ্রেণীবিভাগ

মডেল অ-পরিমাণযুক্ত শীর্ষ-1 সঠিকতা 8-বিট কোয়ান্টাইজড নির্ভুলতা
নাসনেট-মোবাইল 74% 73%
Resnet-v2 50 75.6% 75%

মডেলগুলি ইমেজেনেটে পরীক্ষা করা হয়েছিল এবং TensorFlow এবং TFLite উভয় ক্ষেত্রেই মূল্যায়ন করা হয়েছিল।

উদাহরণ

কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ উদাহরণ ছাড়াও, নিম্নলিখিত উদাহরণগুলি দেখুন:

  • কোয়ান্টাইজেশন: কোড সহ MNIST হাতে লেখা ডিজিট ক্লাসিফিকেশন টাস্কে CNN মডেল

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

,

TensorFlow মডেল অপ্টিমাইজেশান দ্বারা রক্ষণাবেক্ষণ করা হয়

কোয়ান্টাইজেশনের দুটি রূপ রয়েছে: পোস্ট-ট্রেনিং কোয়ান্টাইজেশন এবং কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ। পোস্ট-ট্রেনিং কোয়ান্টাইজেশন দিয়ে শুরু করুন যেহেতু এটি ব্যবহার করা সহজ, যদিও কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ প্রায়শই মডেল নির্ভুলতার জন্য ভাল।

এই পৃষ্ঠাটি আপনার ব্যবহারের ক্ষেত্রে এটি কীভাবে ফিট করে তা নির্ধারণ করতে আপনাকে সাহায্য করার জন্য কোয়ান্টাইজেশন সচেতন প্রশিক্ষণের একটি ওভারভিউ প্রদান করে।

ওভারভিউ

কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ ইনফারেন্স-টাইম কোয়ান্টাইজেশনকে অনুকরণ করে, এমন একটি মডেল তৈরি করে যা ডাউনস্ট্রিম সরঞ্জামগুলি প্রকৃতপক্ষে কোয়ান্টাইজড মডেল তৈরি করতে ব্যবহার করবে। কোয়ান্টাইজড মডেলগুলি নিম্ন-নির্ভুলতা ব্যবহার করে (যেমন 32-বিট ফ্লোটের পরিবর্তে 8-বিট), যা স্থাপনের সময় সুবিধার দিকে পরিচালিত করে।

কোয়ান্টাইজেশন সহ স্থাপন করুন

কোয়ান্টাইজেশন মডেল কম্প্রেশন এবং লেটেন্সি কমানোর মাধ্যমে উন্নতি নিয়ে আসে। API ডিফল্টের সাথে, মডেলের আকার 4x দ্বারা সঙ্কুচিত হয় এবং আমরা সাধারণত পরীক্ষা করা ব্যাকএন্ডে CPU লেটেন্সিতে 1.5 - 4x উন্নতি দেখতে পাই। অবশেষে, এজটিপিইউ এবং এনএনএপিআই-এর মতো সামঞ্জস্যপূর্ণ মেশিন লার্নিং অ্যাক্সিলারেটরে লেটেন্সি উন্নতি দেখা যায়।

কৌশলটি বক্তৃতা, দৃষ্টি, পাঠ্য এবং অনুবাদ ব্যবহারের ক্ষেত্রে উত্পাদনে ব্যবহৃত হয়। কোডটি বর্তমানে এই মডেলগুলির একটি উপসেট সমর্থন করে৷

কোয়ান্টাইজেশন এবং সংশ্লিষ্ট হার্ডওয়্যার নিয়ে পরীক্ষা করুন

ব্যবহারকারীরা কোয়ান্টাইজেশন প্যারামিটারগুলি (যেমন বিটের সংখ্যা) এবং কিছু পরিমাণে, অন্তর্নিহিত অ্যালগরিদমগুলি কনফিগার করতে পারে। মনে রাখবেন যে API ডিফল্ট থেকে এই পরিবর্তনগুলির সাথে, ব্যাকএন্ডে স্থাপনার জন্য বর্তমানে কোন সমর্থিত পথ নেই। উদাহরণস্বরূপ, TFLite রূপান্তর এবং কার্নেল বাস্তবায়ন শুধুমাত্র 8-বিট কোয়ান্টাইজেশন সমর্থন করে।

এই কনফিগারেশনের জন্য নির্দিষ্ট APIগুলি পরীক্ষামূলক এবং পশ্চাদগামী সামঞ্জস্যের বিষয় নয়৷

API সামঞ্জস্য

ব্যবহারকারীরা নিম্নলিখিত APIগুলির সাথে পরিমাপকরণ প্রয়োগ করতে পারেন:

  • মডেল বিল্ডিং: শুধুমাত্র অনুক্রমিক এবং কার্যকরী মডেল সহ keras
  • TensorFlow সংস্করণ: TF-রাত্রিকালীন জন্য TF 2.x।
    • একটি TF 2.X প্যাকেজ সহ tf.compat.v1 সমর্থিত নয়।
  • টেনসরফ্লো এক্সিকিউশন মোড: আগ্রহী এক্সিকিউশন

নিম্নলিখিত ক্ষেত্রে সমর্থন যোগ করার জন্য এটি আমাদের রোডম্যাপে রয়েছে:

  • মডেল বিল্ডিং: সাবক্লাসড মডেলগুলি কীভাবে কোনও সমর্থনের মধ্যে সীমাবদ্ধ থাকে তা স্পষ্ট করুন৷
  • বিতরণ করা প্রশিক্ষণ: tf.distribute

সাধারণ সমর্থন ম্যাট্রিক্স

নিম্নলিখিত এলাকায় সমর্থন উপলব্ধ:

  • মডেল কভারেজ: মঞ্জুরিকৃত স্তরগুলি ব্যবহার করে মডেল, ব্যাচ স্বাভাবিককরণ যখন এটি Conv2D এবং DepthwiseConv2D স্তরগুলি অনুসরণ করে এবং সীমিত ক্ষেত্রে, Concat
  • হার্ডওয়্যার ত্বরণ: আমাদের এপিআই ডিফল্টগুলি এজটিপিইউ, এনএনএপিআই এবং টিএফলাইট ব্যাকএন্ডে ত্বরণের সাথে সামঞ্জস্যপূর্ণ। রোডম্যাপে সতর্কতা দেখুন।
  • কোয়ান্টাইজেশনের সাথে স্থাপন করুন: কনভোলিউশনাল লেয়ারের জন্য শুধুমাত্র প্রতি-অক্ষের কোয়ান্টাইজেশন, প্রতি-টেনসর কোয়ান্টাইজেশন নয়, বর্তমানে সমর্থিত।

নিম্নলিখিত ক্ষেত্রে সমর্থন যোগ করার জন্য এটি আমাদের রোডম্যাপে রয়েছে:

  • মডেল কভারেজ: RNN/LSTM এবং সাধারণ কনক্যাট সমর্থন অন্তর্ভুক্ত করার জন্য প্রসারিত।
  • হার্ডওয়্যার ত্বরণ: নিশ্চিত করুন যে TFLite রূপান্তরকারী পূর্ণ-পূর্ণসংখ্যা মডেল তৈরি করতে পারে। বিস্তারিত জানার জন্য এই সমস্যা দেখুন.
  • পরিমাপকরণ ব্যবহারের ক্ষেত্রে পরীক্ষা করুন:
    • কোয়ান্টাইজেশন অ্যালগরিদমগুলির সাথে পরীক্ষা করুন যা কেরাস স্তরগুলিকে বিস্তৃত করে বা প্রশিক্ষণের পদক্ষেপের প্রয়োজন৷
    • এপিআই স্থির করুন।

ফলাফল

সরঞ্জাম সহ চিত্র শ্রেণীবিভাগ

মডেল অ-পরিমাণযুক্ত শীর্ষ-1 সঠিকতা 8-বিট কোয়ান্টাইজড অ্যাকুরেসি
মোবাইলনেটভি1 224 71.03% 71.06%
Resnet v1 50 76.3% 76.1%
MobilenetV2 224 70.77% 70.01%

মডেলগুলি ইমেজেনেটে পরীক্ষা করা হয়েছিল এবং TensorFlow এবং TFLite উভয় ক্ষেত্রেই মূল্যায়ন করা হয়েছিল।

কৌশল জন্য চিত্র শ্রেণীবিভাগ

মডেল অ-পরিমাণযুক্ত শীর্ষ-1 সঠিকতা 8-বিট কোয়ান্টাইজড নির্ভুলতা
নাসনেট-মোবাইল 74% 73%
Resnet-v2 50 75.6% 75%

মডেলগুলি ইমেজেনেটে পরীক্ষা করা হয়েছিল এবং TensorFlow এবং TFLite উভয় ক্ষেত্রেই মূল্যায়ন করা হয়েছিল।

উদাহরণ

কোয়ান্টাইজেশন সচেতন প্রশিক্ষণ উদাহরণ ছাড়াও, নিম্নলিখিত উদাহরণগুলি দেখুন:

  • কোয়ান্টাইজেশন: কোড সহ MNIST হাতে লেখা ডিজিট ক্লাসিফিকেশন টাস্কে CNN মডেল

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