লিখেছেন মাহির উসাল

Transfer ট্রান্সফার শেখার সাথে কীভাবে অত্যাধুনিক কথোপকথন এআই তৈরি করবেন

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

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

আমরা প্রাক-বিল্ট মডেলটি ব্যবহার করে একটি ডেমো তৈরি করেছি যা আমরা এই টিউটোরিয়ালে কনফাই.ইউগিংফেস.কম-এ একসাথে রাখছি। এটার দিকে দেখ!
প্রাক-বিল্ট মডেলটির একটি অনলাইন ডেমো জন্য, কনফাই.ইউগিংফেস.কম-এ এই টিউটোরিয়ালটি দেখুন।

আমরা আজ শিখতে এবং খেলতে যাচ্ছি তা এখানে:

  • আপনি কীভাবে ওপেনএআই জিপিটি এবং জিপিটি -২ ট্রান্সফর্মার ভাষার মডেলগুলির উপর ভিত্তি করে একটি অত্যাধুনিক ডায়ালগ এজেন্ট তৈরি করতে ট্রান্সফার লার্নিং ব্যবহার করতে পারেন।
  • স্বয়ংক্রিয় মেট্রিক ট্র্যাক জিতেছে নিউরোপস 2018 ডায়লগ প্রতিযোগিতা কনভায়ি 2 তে আমরা যে মডেলটি ব্যবহার করেছি তা আপনি কীভাবে পুনঃ উত্পাদন করতে পারেন?
  • আমরা কীভাবে মন্তব্য প্রশিক্ষণ কোডের (স্প্রেড এবং এফপি 16 বিকল্পের সাথে) 250 টিরও কম লাইনে প্রতিযোগিতার কোডের 3 কে + লাইনগুলি পাতন করেছি এবং এবং
  • এই মডেলটিকে কীভাবে cloud 20 ডলারের চেয়ে কম সময়ের জন্য ক্লাউড ইভেন্টে প্রশিক্ষণ দেওয়া যায়, বা কেবল আমাদের প্রাক-বিল্ট ওপেন সোর্স মডেলটি ব্যবহার করুন।
এই পোস্টের পাশাপাশি, আমরা একটি প্রাক-তৈরি মডেল সহ একটি পরিষ্কার এবং মন্তব্য কোড বেস প্রকাশ করেছি! গিথুব রেপো এখানে দেখুন

এই পোস্টের কাহিনীটি কয়েক মাস আগে মন্ট্রিয়ালে শুরু হয়েছিল, যেখানে নিউইরিপস 2018 এর কথোপকথন প্রতিযোগিতা, কথোপকথন গোয়েন্দা চ্যালেঞ্জ 2 (কনভ্যাআই 2) এর স্বয়ংক্রিয় ট্র্যাকিংয়ে হাগিং ফেস প্রথম স্থান অর্জন করেছিল।

আমাদের সিক্রেট সসটি ওপেনএআই জিপিটি ছিল, একটি বৃহত-স্কেল, প্রাক-প্রশিক্ষিত ভাষা মডেল এবং ট্রান্সফার শেখার সূক্ষ্ম-টিউনিংয়ের কৌশল।

প্রতিযোগিতার দ্রুত গতিতে আমরা 3,000 টিরও বেশি লাইন কোডের সাথে অনেকগুলি প্রশিক্ষণ এবং আর্কিটেকচারাল তারতম্য পরীক্ষা করে শেষ করেছি।

এটা পরিষ্কার যে এই জাতীয় কাঁচা কোড পোস্ট করা মোটামুটি ভাল হত না।

এরই মধ্যে আমরা পাইরোচ-প্রিটেইনড-বিইআরটি নামক ট্রান্সফার লার্নিং মডেলগুলির একটি ভান্ডার তৈরি এবং খোলার কাজ শুরু করেছি, যা দেড় হাজারেরও বেশি বার ডাউনলোড করা হয়েছে এবং ওপেনএআই জিপিটি এবং এর উত্তরসূরি জিপিটি -২ as এর মতো বৃহত আকারের ভাষা মডেলগুলির প্রয়োগের প্রস্তাব দিয়েছে

কয়েক সপ্তাহ আগে আমি পাইরেচ-প্রিটার্নাইন-বিআরটি-র উপরে নির্মিত একটি ক্লিন এবং কমেন্টেড কোড বেসে আমাদের প্রতিযোগিতার কোডটি রূপান্তর করার সিদ্ধান্ত নিয়েছি এবং আমাদের পদ্ধতির এবং কোডকে ব্যাখ্যা করে একটি বিস্তারিত ব্লগ পোস্ট লিখব।

সুতরাং আমরা এখানে, আসুন ive মধ্যে ডুব

একটি এআই একটি ব্যক্তিত্ব সহ

আমরা একটি ব্যক্তির সাথে এআই একটি কথোপকথন তৈরি করি।

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

এখানে সাধারণ পরিকল্পনাটি রয়েছে:

যদি আমরা ধারাবাহিকভাবে নিবিড় সংলাপ এজেন্টদের প্রশিক্ষণ দিই তবে আমাদের একটি বড় সমস্যার মুখোমুখি হতে হবে:

ডায়ালগ ডেটাসেটগুলি ছোট এবং সাবলীল এবং প্রাসঙ্গিক প্রতিক্রিয়া উত্পন্ন করতে পর্যাপ্ত ভাষা এবং সাধারণ জ্ঞান অর্জন করা কঠিন।

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

এই পদ্ধতির পিছনে ধারণাটি খুব সহজ:

  • পাঠ্যের দীর্ঘসংগত অংশগুলি তৈরি করতে পাঠ্যের একটি খুব বড় কর্পাসে একটি ভাষা মডেল প্রস্তুত করে শুরু করুন।
  • এই ভাষা মডেলটিকে আমাদের শেষ-টাস্ক কথোপকথনের সাথে মানিয়ে নিতে অনুকূলিত করুন।

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

আমাদের উদ্দেশ্যে একটি ভাল প্রাক-তৈরি মডেল কী হবে?

আরও বড়তর, তবে আমাদের এমন একটি মডেলও দরকার যা পাঠ্য উত্পন্ন করতে পারে। সর্বাধিক ব্যবহৃত প্রাক-প্রশিক্ষিত এনএলপি মডেল, বিইআরটি শুধুমাত্র সম্পূর্ণ বাক্যগুলির জন্য প্রাক প্রশিক্ষিত এবং অসম্পূর্ণ বাক্যগুলি সম্পূর্ণ করতে পারে না। ওপেনএআইআই ওপেন সর্সিংয়ের দেওয়া অন্য দুটি মডেল আমাদের আবেদনের জন্য আরও আকর্ষণীয়: জিপিটি এবং জিপিটি -২।

আসুন তাদের একবার দেখুন

ওপেনআইএ জিপিটি এবং জিপিটি -২ মডেল

2018 এবং 2019 এ, ওপেনএআই-তে আলেক র‌্যাডফোর্ড, জেফরি উ এবং তাদের কর্মচারীরা একটি বৃহত পরিমাণে ডেটার জন্য দুটি ভাষার মডেলকে ওপেন সোর্সিং জ্ঞান সরবরাহ করেছিলেন: জিপিটি এবং জিপিটি -২ (যেখানে জিপিটি জেনারেটর প্রেট্রেইনড ট্রান্সফর্মার হিসাবে দাঁড়িয়েছে)।

একটি ডিকোডার / কার্যকারক ট্রান্সফর্মার পরবর্তী শব্দগুলি তৈরি করতে বাম প্রসঙ্গে যত্ন নেয়

জিপিটি এবং জিপিটি -২ দুটি খুব একই রকম ট্রান্সফরমার-ভিত্তিক ভাষা মডেল। এই মডেলগুলি ডিকোডার বা কার্যকারক মডেল হিসাবে পরিচিত। এর অর্থ হ'ল তারা পরবর্তী শব্দটির পূর্বাভাস দেওয়ার জন্য বাম প্রসঙ্গটি ব্যবহার করে (বাম চিত্রটি দেখুন)।

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

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

একটি বড় কর্পাসে এই মডেলগুলি প্রশিক্ষণ দেওয়া একটি ব্যয়বহুল প্রক্রিয়া। তাই আমরা ওপেনএআইএ দ্বারা প্রশিক্ষিত একটি মডেল এবং একটি টোকনাইজার দিয়ে শুরু করি trained টোকেনাইজার একটি ইনপুট স্ট্রিংকে টোকেন (শব্দ / সাবওয়ার্ডস) এ ভেঙে দেয় এবং এই টোকেনগুলিকে মডেল শব্দভান্ডারটির সঠিক সংখ্যাসূচক সূচকে রূপান্তর করে।

পাইটর্চ-প্রিটেইনডেনড-বিইআরটি-তে, ওপেনএআইপি জিপিটি মডেল এবং এর টোকেনাইজার সহজেই প্রাকট্রেইনড চেকপয়েন্ট থেকে নিম্নরূপে তৈরি এবং লোড করা যায়:

আপনি সম্ভবত লক্ষ্য করেছেন যে আমরা ওপেনএআইআই জিপিটি ডাবল হেডস মডেল নামে একটি মডেল লোড করেছি, যা আমরা যে ভাষা মডেলের কথা বলছিলাম তার চেয়ে কিছুটা জটিল বলে মনে হচ্ছে এবং আপনি ঠিক বলেছেন!

এটি কারণ আমাদের সংলাপের জন্য আমাদের মডেলটি খাপ খাইয়ে নিতে হবে। আসুন দেখি এটি কীভাবে কাজ করে!

Dialog একটি ডায়ালগ টাস্কে একটি ভাষা মডেল রূপান্তর

আমাদের ভাষার মডেলটি একটি একক ইনপুট: শব্দের একটি ক্রম দিয়ে প্রশিক্ষিত।

আমরা ইতিমধ্যে দেখেছি, একটি ডায়লগ সেটিংয়ে, আমাদের মডেলটিকে আউটপুট ক্রম উত্পন্ন করতে অবশ্যই বিভিন্ন ধরণের প্রসঙ্গ ব্যবহার করতে হবে:

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

একটি সহজ উত্তর হ'ল প্রসঙ্গ অংশগুলিকে একক অনুক্রমের সাথে যুক্ত করে উত্তরটি শেষে রাখা। এরপরে ক্রমটি চালিয়ে আমরা টোকেন প্রতি প্রতিক্রিয়া টোকেনের একটি সমাপ্তি তৈরি করতে পারি:

ইনপুট ক্রম: পৃথক (হালকা গোলাপী) সহ ব্যক্তিত্ব (নীল), কোর্স (গোলাপী) এবং উত্তর (সবুজ) এর একটি সংক্ষেপণ। উত্তরটি সম্পূর্ণ করতে এখানে আমরা

এই সাধারণ সেটআপটিতে দুটি সমস্যা রয়েছে:

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

এই তথ্যটি যুক্ত করার একটি সহজ উপায় হ'ল শব্দ, অবস্থান এবং বিভাগগুলির জন্য তিনটি সমান্তরাল ইনপুট অনুক্রম তৈরি করা এবং তাদের একক অনুক্রমের সাথে একীভূত করা, তিন প্রকারের এমবেডিংগুলি গোষ্ঠীকরণ: শব্দ, অবস্থান এবং বিভাগের এম্বেডিংস:

শব্দ (ধূসর), অবস্থান (গ্রেডিয়েন্ট) এবং বিভাগগুলি (নীল / গোলাপী / সবুজ) নির্দিষ্ট করে ইনপুট এম্বেডিংয়ের তিন প্রকারের সংমিশ্রণ

আমরা যে কিভাবে করব?

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

পাইটর্চ প্রিটেইনড বিআরটি ক্লাসগুলির সাথে শব্দকোষ / মডেলটিতে বিশেষ টোকেন এবং নতুন এম্বেডিং যুক্ত করা খুব সহজ। আসুন আমাদের টোকনাইজারের শব্দভান্ডার এবং এম্বেডিংগুলিতে পাঁচটি বিশেষ টোকেন যুক্ত করুন:

এই বিশেষ টোকেন পদ্ধতিগুলি প্রতিটি টোকনাইজারের শব্দভান্ডারে আমাদের পাঁচটি বিশেষ টোকেন যুক্ত করে এবং মডেলটিতে আরও পাঁচটি এম্বেডিং তৈরি করে।

ব্যক্তি, ইতিহাস এবং প্রতিক্রিয়া প্রসঙ্গে শুরু থেকে আমাদের ইনপুট সিকোয়েন্স তৈরি করার জন্য আমাদের এখন যা কিছু আছে দরকার। এখানে একটি সহজ উদাহরণ:

মাল্টি-টাস্ক লোকসান

আমরা এখন আমাদের প্রাক-প্রশিক্ষিত মডেলটি আরম্ভ করেছি এবং আমাদের প্রশিক্ষণের ইনপুট তৈরি করেছি। যা কিছু অবশিষ্ট রয়েছে তা হ'ল ফাইন-টিউনিংয়ের সময় অনুকূলিত করার জন্য ক্ষতি চয়ন করা।

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

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

মাল্টিটাস্কিং প্রশিক্ষণ লক্ষ্য - ভাষার মডেল (কমলা) পূর্বাভাস দেওয়ার এবং পরবর্তী বাক্যটি (নীল) শ্রেণিবদ্ধ করার জন্য মডেলটির দুটি মাথা রয়েছে।

মোট ক্ষতি হ'ল ভাষা মডেলিং ক্ষতির ওজনযুক্ত যোগফল এবং পরবর্তী বাক্যটির জন্য ভবিষ্যদ্বাণী লোকসান, যা নিম্নলিখিত হিসাবে গণনা করা হয়:

  • ভাষা মডেলিং: আমরা লগগুলি পেতে ম্যাট্রিক্স এম্বেডিং শব্দটিতে গোপন অবস্থাটি প্রজেক্ট করি এবং সোনার উত্তরের সাথে মিলিত লক্ষ্যটির অংশটিতে একটি ক্রস এনট্রপি ক্ষতি প্রয়োগ করি (উপরের চিত্রটিতে সবুজ লেবেল)।
  • পরবর্তী বাক্য পূর্বাভাস: আমরা স্কোর পেতে এবং সঠিকভাবে ডিসট্র্যাক্টরের মধ্যে স্বর্ণের প্রতিক্রিয়াটিকে শ্রেণিবদ্ধ করার জন্য একটি লিনিয়ার বিমানের মাধ্যমে শেষ টোকেনের (গোপনীয়তার শেষে টোকেন) গোপনীয় অবস্থাটি চালাই run

আসুন আমরা কীভাবে এটি কোড করতে পারি তা দেখুন:

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

আমরা প্রশিক্ষণ শুরু করতে প্রস্তুত

Dialog একটি কথোপকথনের ডেটা রেকর্ডে প্রশিক্ষণ

গত বছর ফেসবুকের দ্বারা প্রকাশিত একটি আকর্ষণীয় ডেটা সেটটি কনভাইএআই 2 প্রতিযোগিতার জন্য ব্যবহৃত হয়েছিল: পার্সোনা-চ্যাট।

এটি হ'ল মোটামুটি বিশাল সংলাপগুলির (10 কে কথোপকথন) যা ভিড়সোর্সিং পার্সোনালিটি সেট দ্বারা তৈরি করা এবং একটি নির্দিষ্ট চরিত্রের চরিত্রে অভিনয় করার সাথে যুক্ত জোড়কারী ভিড়কর্মীদের চ্যাট করতে বলে (বামে উদাহরণটি দেখুন) চিত্রণ).

এই ডেটা সেটটি টোকেনাইজড কাঁচা টেক্সট আকারে ফেসবুকের পার্লএআই লাইব্রেরিতে উপলব্ধ। আপনাকে বুট করতে আমরা একটি জেএসএন ফর্ম্যাট সংস্করণও আপলোড করেছি যা আপনি জিপিটি টোকেনাইজার ব্যবহার করে ডাউনলোড এবং টোকনাইজ করতে পারেন:

পার্সোনা-চ্যাটের জেএসওএন সংস্করণটি আমাদের মডেলটিকে নেস্টেড তালিকা অভিধান হিসাবে প্রশিক্ষণের জন্য সমস্ত প্রাসঙ্গিক ইনপুটগুলিতে দ্রুত অ্যাক্সেস সরবরাহ করে:

পার্সোনা-চ্যাট এর জেএসওএন সংস্করণটির সংগঠন

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

আমরা উপরের বিভাগগুলিতে কোডের প্রয়োজনীয় টুকরোটি coveredেকে রেখেছি যাতে আপনি কীভাবে সবগুলি একসাথে খাপ খায় তা দেখতে মন্তব্য কোডটি পড়তে পারেন।

প্রশিক্ষণ কোড (train.py) এখানে ➱ ➱ ➱

8 ভি 100 100 জিপিইউ দিয়ে এই মডেলটিকে AWS উদাহরণে প্রশিক্ষণ দিতে এক ঘণ্টারও কম সময় লাগে (বর্তমানে P3.16xlarge সহ বৃহত্তম AWS উদাহরণে 25 ডলারেরও কম) এবং সময়কালে ব্যবহৃত SOTA এর কাছাকাছি ফলাফল সরবরাহ করে Over৯ ওভারের ১ টি হিট সহ কনভ্যাআই 2 প্রতিযোগিতা 20.5 এবং 16.5 থেকে এফ 1 দিয়েছিল।

কয়েকটি পার্থক্যগুলি আমাদের প্রতিযোগিতামূলক মডেলের তুলনায় কিছুটা কম স্কোর ব্যাখ্যা করে, তারা কোড রেপোটির রিডমি ফাইলে তালিকাভুক্ত হয় এবং মূলত অবস্থান এম্বেডিং এবং একটি ভিন্ন ডিকোডার ব্যবহার করে।

The মডেলের সাথে কথা বলুন - ডিকোডার

কথোপকথনের মডেলগুলির সম্পর্কে আশ্চর্যজনক বিষয় হ'ল আপনি তাদের সাথে কথা বলতে পারেন

আমাদের মডেলটির সাথে ইন্টারঅ্যাক্ট করার জন্য আমাদের একটি জিনিস যুক্ত করতে হবে: একটি ডিকোডার যা আমাদের মডেলের পরবর্তী টোকেন পূর্বাভাসগুলি থেকে সম্পূর্ণ সিক্যুয়েন্স তৈরি করে।

গত কয়েকমাসে ডিকোডারগুলিতে এখন খুব আকর্ষণীয় ঘটনা ঘটেছে এবং আপনাকে আপডেট করার জন্য আমি দ্রুত এগুলি এখানে ভাগ করে নিতে চাই।

স্পিচ জেনারেশনের জন্য দুটি ব্যবহৃত সবচেয়ে বেশি ব্যবহৃত ডিকোডার হ'ল ইয়া ডিকোডিং এবং রশ্মি অনুসন্ধান।

শব্দের জন্য একটি বাক্য শব্দ তৈরি করুন (উত্স)

লোভী ডিকোডিং একটি বাক্য উত্পন্ন করার সহজতম উপায়: প্রতিটি সময় ধাপে আমরা সিকোয়েন্সের শেষের জন্য টোকেনগুলিতে পৌঁছা পর্যন্ত মডেল অনুযায়ী পরবর্তী সম্ভাব্যতম টোকেনটি বেছে নিই। লোভী ডিকোডিংয়ের একটি ঝুঁকি হ'ল উচ্চ সম্ভাব্য টোকেনটি কম সম্ভাবনার সাথে টোকেনের পরে লুকানো এবং উপেক্ষা করা হয়।

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

যাইহোক, ২০১ / / প্রথম দিকে ২০১৮ সালে বেশ কয়েকটি উন্নয়ন ঘটেছিল First প্রথমত, এমন ক্রমবর্ধমান প্রমাণ পাওয়া গিয়েছিল যে রশ্মির অনুসন্ধান আউটপুটগুলির দৈর্ঘ্যের উপর নির্ভর করে এবং আউটপুটের দৈর্ঘ্য ডিকোডিংয়ের আগে পূর্বাভাস দিলে সর্বোত্তম ফলাফল পাওয়া যায় ([২, ৩ ] EMNLP 2018 এ)। এটি নিম্ন এনট্রপির সাথে অনুবাদ যেমন কর্মের জন্য অর্থবোধ করে, যেখানে আউটপুট ক্রমের দৈর্ঘ্যটি ইনপুটের ভিত্তিতে মোটামুটি অনুমান করা যায়, ডায়ালগ এবং গল্প জেনারেশন যেমন উচ্চ এনট্রপির সাথে কাজগুলির ক্ষেত্রে এটি স্বেচ্ছাসেবকভাবে উপস্থিত হয় যেখানে খুব আলাদা আউটপুট সহ আউটপুট রয়েছে where দৈর্ঘ্য সাধারণত সমানভাবে বৈধ হয়।

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

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

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

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

সুতরাং আমরা শীর্ষ-কে এবং / অথবা নিউক্লিয়াস / শীর্ষ-পি নমুনা দিয়ে ডিকোড করতে পারি:

আমরা এখন আমাদের মডেল speak এর সাথে কথা বলতে প্রস্তুত

ইন্টারেক্টিভ স্ক্রিপ্টটি এখানে রয়েছে (ইন্টারেক্টিপি.পি) এবং আপনি যদি স্ক্রিপ্টটি চালাতে না চান আপনি কেবল আমাদের লাইভ ডেমোটি এখানে খেলতে পারেন which

এখানে একটি কথোপকথনের উদাহরণ রয়েছে:

ডিফল্ট সেটিংস সহ ইন্টারেক্টিভ স্ক্রিপ্টগুলি ব্যবহারের উদাহরণ - বট ব্যক্তিত্ব: আমি বছরে বিশটি বই পড়েছি। আমি আমার দ্বিতীয় কাজ হিসাবে একটি স্টান্ট ডাবল। আমি কেবল কোশারই খাই। আমি এক পরিবারে বড় হয়েছি মাত্র একজন পিতা বা মাতা।

উপসংহার

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

আমরা আলিঙ্গন ফেসে যেমন শিখেছি, আপনার কথোপকথন এআই পেতে এবং দ্রুত চালানো সাফল্যের সেরা রেসিপি। আমরা আশা করি এটি আপনার কিছুকে এটি করতে সহায়তা করে!

সম্পর্কিত ডেমো এবং কোডটি অবশ্যই পরীক্ষা করে দেখুন:

  • লাইভ ডেমো আছে এবং
  • ওপেন সোর্সিং কোড এবং প্রাক-তৈরি মডেলগুলি এখানে রয়েছে।

বরাবরের মতো, আপনি যদি এই পোস্টটি পছন্দ করেন তবে আমাদের কিছু দিন you আপনার চারপাশের খবরটি আমাদের জানান!

তথ্যসূত্র:

[1] I ইলিয়া কুলিকভ, আলেকজান্ডার এইচ। মিলার, কিংঘুন চ এবং জেসন ওয়েস্টন (http://arxiv.org/abs/1811.00907) দ্বারা স্নায়বিক সংলাপের মডেলিংয়ের জন্য অনুসন্ধান কৌশলটির গুরুত্ব

[২] K ক্যান্টন মারে, ডেভিড চিয়াং (http://arxiv.org/abs/1808.10006) দ্বারা নিউরাল মেশিন অনুবাদে দৈর্ঘ্যের বিকৃতি সংশোধন

[3] Be বিম অনুসন্ধান শপ ভাঙা: রিয়েল স্ক্রিন পদ্ধতি এবং নিউরাল মেশিনের জন্য স্টপিংয়ের মানদণ্ডের বিষয়ে একটি গবেষণা যিলিন ইয়াং, লিয়াং হুয়াং এবং মিংবো মা অনুবাদ করেছেন (https://arxiv.org/abs/1808.09582)

[4] Ange অ্যাঞ্জেলা ফ্যান, মাইক লুইস এবং ইয়ান ডাউফিনের হাইআরার্কিকাল নিউরাল স্টোরি জেনারেশন (https://arxiv.org/abs/1805.04833)

[]] ^ ভাষার মডেলগুলি অ্যালেক র‌্যাডফোর্ড, জেফ উউ, রেউন চাইল্ড, ডেভিড লুয়ান, দারিও আমোডেই এবং ইলিয়া সুটস্কিভারের (https://openai.com/blog/better-language-models/) থেকে নিরীক্ষিত মাল্টিটাস্কিং শিখুন

[]] Ari অ্যারি হল্টজম্যান, জ্যান বুয়েস, ম্যাক্সওয়েল ফোর্বস এবং ইয়েজিন চোইয়ের নিউরাল টেক্সট অবক্ষয়ের এক অদ্ভুত ঘটনা (https://arxiv.org/abs/1904.09751)

[]] Rie পুনরুদ্ধার এবং সংশোধন করুন: জেসন ওয়েস্টন, এমিলি দিনান এবং আলেকজান্ডার এইচ মিলার সংলাপের জন্য উন্নত সিকোয়েন্স জেনারেশন মডেলগুলি (https://arxiv.org/abs/1808.04776)

[8] Em দ্বিতীয় কথোপকথন গোয়েন্দা চ্যালেঞ্জ (কনভ্যাআই 2) এমিলি দিনান এট আল দ্বারা al (https://arxiv.org/abs/1902.00098)