প্রতিটি প্রশিক্ষণের জন্য ধাপের সংখ্যা নির্ধারণ করুন

দুই ধরনের প্রশিক্ষণ কাজের চাপ রয়েছে:

  • গণনা-আবদ্ধ
  • আবদ্ধ গণনা না

কম্পিউট-বাউন্ড ট্রেনিং সীমিত হয় আপনি প্রশিক্ষণে কতটা সময় ব্যয় করতে পারেন, আপনার কাছে কতটা প্রশিক্ষণের ডেটা আছে বা অন্য কোনো কারণের দ্বারা নয়। অন্য কথায়, "সর্বোত্তম" প্রশিক্ষণের সময় সর্বদা "যতক্ষণ আপনি সামর্থ্য করতে পারেন।" আপনি যদি কোনোভাবে দীর্ঘ বা আরও দক্ষতার সাথে প্রশিক্ষণ দিতে পারেন, তাহলে প্রশিক্ষণের ক্ষতি কমে যাবে। (সঠিক টিউনিংয়ের সাথে, বৈধতা ক্ষতিও হ্রাস করা উচিত।)

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

যখন প্রশিক্ষণ গণনা-নির্ভর নয়, আপনি যতক্ষণ চান ততক্ষণ প্রশিক্ষণ নিতে পারবেন। যাইহোক, একটি মডেলকে দীর্ঘ সময় ধরে প্রশিক্ষণ দেওয়া খুব বেশি সাহায্য করতে পারে না বা এমনকি অতিরিক্ত ফিটিংও হতে পারে। যখন প্রশিক্ষণ গণনা-আবদ্ধ নয়:

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

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

  • একটি ছোট ব্যাচ আকার ব্যবহার করে.
  • তথ্য বৃদ্ধি যোগ করা হচ্ছে.
  • কিছু ধরণের নিয়মিতকরণ যোগ করা (উদাহরণস্বরূপ, ড্রপআউট নিয়মিতকরণ)।

প্রশিক্ষণ কম্পিউট-আবদ্ধ না হলে কতক্ষণ প্রশিক্ষণ দিতে হবে তা নির্ধারণ করুন

আপনার লক্ষ্য: প্রশিক্ষণের পদক্ষেপগুলি নষ্ট না করে মডেলের জন্য সর্বোত্তম সম্ভাব্য ফলাফলে পৌঁছানোর জন্য যথেষ্ট দীর্ঘ প্রশিক্ষণ দিন।

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

একটি গবেষণায় max_train_steps সংখ্যা কখনই টিউন করবেন না। পরিবর্তে, একটি মান চয়ন করুন এবং সমস্ত পরীক্ষার জন্য একই মান ব্যবহার করুন। এই ট্রায়ালগুলি থেকে, max_train_steps এর পছন্দকে পরিমার্জিত করার জন্য পূর্ববর্তী চেকপয়েন্ট নির্বাচনের যে প্রশিক্ষণের ধাপটি পাওয়া যায় তার পরিকল্পনা করুন।

উদাহরণস্বরূপ, যদি সর্বোত্তম পদক্ষেপটি সর্বদা প্রশিক্ষণের প্রথম 10% সময় হয়, তবে সর্বাধিক পদক্ষেপের সংখ্যা অনেক বেশি। বিকল্পভাবে, যদি সর্বোত্তম পদক্ষেপটি প্রশিক্ষণের শেষ 25% মধ্যে ধারাবাহিকভাবে হয়, তাহলে আপনি দীর্ঘ প্রশিক্ষণ এবং ক্ষয়কালীন সময়সূচী পুনরুদ্ধার করে উপকৃত হতে পারেন। আর্কিটেকচার বা ডেটা পরিবর্তিত হলে প্রশিক্ষণের আদর্শ সংখ্যা পরিবর্তন হতে পারে (উদাহরণস্বরূপ, ডেটা বৃদ্ধি যোগ করা)। পরবর্তী বিভাগে বর্ণনা করা হয়েছে কিভাবে একটি ধ্রুবক শেখার হার ব্যবহার করে প্রশিক্ষণ সেটে "সম্পূর্ণভাবে ফিট" করার জন্য প্রয়োজনীয় পদক্ষেপের সংখ্যার উপর ভিত্তি করে max_train_steps এর জন্য প্রাথমিক প্রার্থীর মান বাছাই করা যায়।

প্রশিক্ষণ প্রক্রিয়া কোনোভাবে উন্নত হলে max_train_steps হ্রাস করা সম্ভব হতে পারে; উদাহরণস্বরূপ, একটি ভাল-টিউনড অপ্টিমাইজার বা একটি ভাল-টিউনড শেখার হারের সময়সূচী সহ।

শেখার হার সুইপ ব্যবহার করে max_train_steps-এর জন্য প্রাথমিক প্রার্থী বাছাই করার জন্য অ্যালগরিদম

আপনি শেখার হার সুইপ অ্যালগরিদম সহ max_train_steps এর জন্য প্রাথমিক প্রার্থী বাছাই করতে পারেন। নিম্নলিখিত অ্যালগরিদম অনুমান করে যে এটি শুধুমাত্র "নিখুঁতভাবে" প্রশিক্ষণ সেটের সাথে মাপসই করা সম্ভব নয়, তবে একটি ধ্রুবক শেখার হারের সময়সূচী ব্যবহার করে তা করাও সম্ভব।

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

দ্রষ্টব্য: খারাপ অনুসন্ধান স্থান আত্ম-প্রতারণার দিকে নিয়ে যেতে পারে। উদাহরণস্বরূপ, যদি একটি অধ্যয়নের সমস্ত শেখার হার খুব কম হয়, তাহলে আপনি ভুলভাবে উপসংহারে আসতে পারেন যে max_train_steps এর একটি খুব বড় মান প্রয়োজনীয়। ন্যূনতম, পরীক্ষা করে দেখুন যে অধ্যয়নে শেখার সর্বোত্তম হার অনুসন্ধানের স্থানের সীমানায় নেই।

প্রশিক্ষণ কম্পিউট-বাউন্ড হলে কতক্ষণ প্রশিক্ষণ দিতে হবে তা নির্ধারণ করুন

কিছু ক্ষেত্রে, প্রশিক্ষণের ক্ষতি অনির্দিষ্টকালের জন্য উন্নতি করতে থাকে, তাই আপনার ধৈর্য এবং আপনার গণনামূলক সংস্থানগুলি সীমিত কারণ হয়ে ওঠে। কিন্তু আপনার সামর্থ্য অনুযায়ী যতক্ষণ প্রশিক্ষণ দেওয়া উচিত? অগত্যা. নিম্নলিখিত বিবেচনা করুন:

  • আপনি যে মডেলগুলি লঞ্চ করবেন বলে আশা করছেন তার জন্য দীর্ঘতম "উৎপাদন দৈর্ঘ্য" সংরক্ষিত রেখে আরও বেশি সংখ্যক ছোট পরীক্ষা চালিয়ে আরও কার্যকরীভাবে টিউন করতে সক্ষম হতে পারেন৷
  • ট্রায়ালের জন্য প্রশিক্ষণের সময় আপনার ধৈর্যের সীমার কাছাকাছি আসার সাথে সাথে, টিউনিং পরীক্ষাগুলি আপনার সম্ভাব্য লঞ্চ প্রার্থীদের জন্য আরও প্রাসঙ্গিক হয়ে ওঠে, কিন্তু আপনি সেগুলির মধ্যে কম পূর্ণ করতে পারেন৷
  • শুধুমাত্র উৎপাদন দৈর্ঘ্যের 10% জন্য প্রশিক্ষণের সময় আপনি সম্ভবত অনেক প্রশ্নের উত্তর দিতে পারেন। যাইহোক, এই সময়সীমায় আপনার উপসংহারগুলি উত্পাদন দৈর্ঘ্যের 20% পরীক্ষায় প্রযোজ্য নাও হতে পারে, 100% ছেড়ে দিন।

ক্রমবর্ধমান, প্রতি-ট্রায়াল প্রশিক্ষণ ধাপের সীমা সহ একাধিক রাউন্ডের সময় টিউনিং একটি বুদ্ধিমান পদ্ধতি। আপনি যত রাউন্ড চান চালাতে পারেন, তবে সাধারণত 1-3 রাউন্ডই সবচেয়ে ব্যবহারিক। মূলত, খুব দ্রুত ট্রানঅ্যারাউন্ড টাইম সহ ট্রায়ালগুলি ব্যবহার করে যতটা সম্ভব সমস্যাটি বোঝার চেষ্টা করুন, নিম্নলিখিতগুলি ট্রেড করুন:

  • টিউনিং পুঙ্খানুপুঙ্খতা.
  • ফাইনালে প্রাসঙ্গিকতা, দীর্ঘতম রান।

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

  • রাউন্ড 1: ভাল মডেল এবং অপ্টিমাইজার হাইপারপ্যারামিটার খুঁজে পেতে ছোট সময়কাল চলে।
  • রাউন্ড 2: চূড়ান্ত মডেল পেতে খুব কম দীর্ঘ সময়কাল ভাল হাইপারপ্যারামিটার পয়েন্টে চলে।

রাউন্ড 1 থেকে রাউন্ড 2 পর্যন্ত সবচেয়ে বড় প্রশ্ন হল:

কিভাবে আপনি শেখার হার ক্ষয় সময়সূচী সমন্বয়.

রাউন্ডের মধ্যে শেখার হারের সময়সূচী সামঞ্জস্য করার সময় একটি সাধারণ সমস্যা হল খুব ছোট শেখার হার সহ সমস্ত অতিরিক্ত প্রশিক্ষণের পদক্ষেপগুলি ব্যবহার করা।

রাউন্ড 1: অনেক ছোট প্রশিক্ষণ চলে

দুর্ভাগ্যবশত, এর কোন গ্যারান্টি নেই যে সংক্ষিপ্ত, অসম্পূর্ণ প্রশিক্ষণে পাওয়া ভাল হাইপারপ্যারামিটারগুলি এখনও ভাল পছন্দ যখন আপনি উল্লেখযোগ্যভাবে প্রশিক্ষণের দৈর্ঘ্য বাড়ান। যাইহোক, কিছু হাইপারপ্যারামিটারের জন্য, ভাল পছন্দগুলি প্রায়ই রাউন্ড 1 কার্যকর হওয়ার জন্য যথেষ্ট পারস্পরিক সম্পর্কযুক্ত। ছোট রানে পাওয়া হাইপারপ্যারামিটার মানগুলি সফলভাবে দীর্ঘ প্রশিক্ষণ রানে স্থানান্তর করে? আমরা জানি না; আমাদের আরো গবেষণা প্রয়োজন। কিন্তু আমরা এখন পর্যন্ত যা জানি তার উপর ভিত্তি করে, এখানে স্থানান্তরের সম্ভাবনা হ্রাস করার বিষয়ে আমাদের সন্দেহ রয়েছে:

  • স্থানান্তর হওয়ার সম্ভাবনা খুব বেশি। প্রাথমিক প্রশিক্ষণের অস্থিরতা টিউনিংয়ের প্রথম রাউন্ডে অল্প সংখ্যক প্রশিক্ষণ পদক্ষেপ ব্যবহার করে সমাধান করা যেতে পারে। নিম্নলিখিত হাইপারপ্যারামিটারগুলি স্থানান্তর করার সম্ভাবনা সবচেয়ে বেশি:
    • ওয়ার্মআপ দৈর্ঘ্য
    • সূচনা
  • স্থানান্তর হওয়ার সম্ভাবনা রয়েছে। মডেল আর্কিটেকচারে একটি নাটকীয় জয় সাধারণত স্থানান্তরিত হয়, তবে অনেকগুলি বিপরীত উদাহরণ সম্ভাব্য।
  • স্থানান্তর হতে পারে। নিম্নলিখিত হাইপারপ্যারামিটার স্থানান্তর করতে পারে:
    • অপ্টিমাইজেশান অ্যালগরিদম এবং হাইপারপ্যারামিটারগুলি "ঢিলেঢালাভাবে" স্থানান্তর করবে।
    • তথ্য বৃদ্ধি.
    • নিয়মিতকরণ। প্রশিক্ষণ সেটের সাথে পুরোপুরি ফিট করা সম্ভব না হলে, মডেলটি এমন একটি শাসনামলে হতে পারে যেখানে নিয়মিতকরণ খুব বেশি সাহায্য করার সম্ভাবনা নেই।
  • স্থানান্তর করার সম্ভাবনা নেই। শেখার হার সময়সূচী পুরোপুরি স্থানান্তর অসম্ভাব্য. প্রশিক্ষণ কম্পিউট-অপ্টিম্যাল লার্জ ল্যাঙ্গুয়েজ মডেলগুলি পরামর্শ দেয় যে এমনকি ক্ষয় শিডিউল স্থানান্তর, কিন্তু আমরা বিশ্বাস করি না যে এটি সাধারণভাবে সত্য। উদাহরণস্বরূপ, অল্প সংখ্যক প্রশিক্ষণের ধাপে sqrt ক্ষয় টিউন করা এবং তারপরে একটি বড় সংখ্যায় প্রসারিত করার ফলে বেশিরভাগ প্রশিক্ষণ অতিমাত্রায় ছোট ধাপে ঘটে। আপনি সম্ভবত চরম প্রশিক্ষণ বাজেটের সীমার মধ্যে বেশিরভাগ সময়সূচীর সাথে "যথেষ্ট ভাল" করতে পারেন, তবে এটি টিউন করা হলে আপনি সম্ভবত উল্লেখযোগ্য কর্মক্ষমতা উন্নতি দেখতে পাবেন। স্টোকাস্টিক মেটা-অপ্টিমাইজেশানে শর্ট-হরাইজন বায়াস বোঝা মায়োপিকভাবে শেখার হার বাছাই করার চেষ্টা করার বিপদগুলি বর্ণনা করে।

রাউন্ড 2: কম রান, কিন্তু দীর্ঘ সময়ের

রাউন্ড 1 থেকে সেরা হাইপারপ্যারামিটার কনফিগারেশন চালান।

অনুমান : 🤖 উচ্চ শিক্ষার হারে প্রশিক্ষণের সময়কাল বাড়ানোর জন্য অতিরিক্ত পদক্ষেপগুলি ব্যবহার করুন। উদাহরণস্বরূপ, যদি আপনি একটি রৈখিক সময়সূচী ব্যবহার করেন, তাহলে রাউন্ড 1 থেকে ক্ষয়ের দৈর্ঘ্য স্থির রাখুন এবং শুরুতে ধ্রুবক lr এর সময়কাল বাড়িয়ে দিন। কোসাইন ক্ষয়ের জন্য, রাউন্ড 1 থেকে বেস lr রাখুন এবং ট্রেনিং কম্পিউট-অপ্টিমাল লার্জ ল্যাঙ্গুয়েজ মডেলে বর্ণিত max_train_steps প্রসারিত করুন।

অতিরিক্ত প্রশিক্ষণ রাউন্ড নিম্নলিখিত সবগুলির সাথে দলগুলির জন্য অর্থপূর্ণ হতে পারে:

  • খুব পরিপক্ক মডেলিং
  • টিউনিং পাইপলাইন
  • খুব দীর্ঘ এবং ব্যয়বহুল উত্পাদন প্রশিক্ষণ চলে

যাইহোক, অতিরিক্ত প্রশিক্ষণ রান প্রায়ই অনুৎপাদনশীল হয়.

আমরা ইতিমধ্যেই বর্ণনা করেছি কিভাবে রাউন্ড 1 থেকে রাউন্ড 2 তে স্থানান্তর করা যায়। আপনি যদি বিশ্লেষণের সময় সম্পর্কে চিন্তা না করেন এবং যদি কম্পিউটিং সংস্থানগুলির দক্ষ ব্যবহার করা আপনার ওভাররাইডিং উদ্বেগের বিষয় হয়, তাহলে আমরা প্রশিক্ষণ রানের দৈর্ঘ্য দ্রুত বৃদ্ধি করার পরামর্শ দিই (এবং এইভাবে একটি অধ্যয়ন সম্পূর্ণ করার শেষ থেকে শেষ সময়) টিউনিংয়ের বিভিন্ন রাউন্ডে:

  • প্রতিটি রাউন্ডে, পদ্ধতিগতভাবে নিশ্চিত করুন যে আপনার পছন্দগুলি ভাল ফলাফল প্রদান করে চলেছে।
  • একটি পাইপলাইনের মাধ্যমে নতুন ধারণাগুলি রাখুন যা ধাপ i থেকে ধাপ i+1 পর্যন্ত ক্রমবর্ধমান দীর্ঘ-চলমান পরীক্ষাগুলি ব্যবহার করে ধীরে ধীরে তাদের উপহাস করে।