বড় language model কীভাবে কাজ করে: token, context ও sampling

LLM লেখার পরবর্তী অংশ অনুমান করে, আর এই সহজ ধারণাই এদের শক্তি ও ভুল দুটোই ব্যাখ্যা করে। প্রতিটি নির্মাতার দরকারি ধারণা শিখুন।

token-এ ভাঙা লেখা language model-এর ভেতর দিয়ে বইছে

বড় language model (LLM) হলো বিপুল লেখায় প্রশিক্ষিত প্রোগ্রাম যা অনুমান করে এরপর কোন লেখা আসবে। এই একটি দক্ষতা থেকেই আসে chat, অনুবাদ, সারাংশ ও কোড। মৌলিক বিষয় জানলে ভালোভাবে ব্যবহার করা ও চমক এড়ানো যায়।

Token

Model অক্ষর বা শব্দ পড়ে না। সে পড়ে token: লেখার টুকরো, প্রায়ই একটি শব্দ বা শব্দের অংশ।

  • "unbelievable" কয়েকটি token-এ ভাঙতে পারে; "the"-এর মতো সাধারণ শব্দ সাধারণত একটি।
  • মোটামুটি ইংরেজিতে একটি token প্রায় তিন-চতুর্থাংশ শব্দ। বাংলাসহ অন্য ভাষায় প্রায়ই প্রতি শব্দে বেশি token লাগে, তাই একই অর্থে খরচ বেশি ও context-এ কম আঁটে।
  • বিল token অনুযায়ী, সীমাও token-এ। ভিন্ন model ভিন্ন tokenizer ব্যবহার করে।

পরবর্তী token অনুমান

এ পর্যন্ত লেখা দেখে model সম্ভাব্য প্রতিটি পরবর্তী token-এর সম্ভাবনা দেয়, একটি বাছে, লেখায় যোগ করে এবং পুনরাবৃত্তি করে। উত্তর একটি একটি token করে তৈরি হয়।

এটি database-এ তথ্য "খোঁজে" না। যা শিখেছে ও আপনি যা দিয়েছেন তা দেখে সম্ভাব্য লেখা তৈরি করে। তাই সে সাবলীল আবার ভুল, একই সাথে হতে পারে।

সংক্ষেপে training

১. Pre-training: বিশাল লেখা থেকে ভাষার ধরন শেখা। ২. Fine-tuning ও instruction tuning: নির্দেশ মানা ও সহায়ক উত্তর দেওয়ার উদাহরণে প্রশিক্ষণ। ৩. Preference tuning (যেমন RLHF): মানুষ বা AI-এর মতামত দিয়ে ভালো, নিরাপদ উত্তর পছন্দ করানো।

Model-এর জ্ঞান তার training cutoff তারিখে থেমে যায়। পরের ঘটনা সে জানে না, যদি না টুল বা নথি দেন।

Context window

Context window হলো model একসাথে কতটা লেখা বিবেচনা করতে পারে: আপনার নির্দেশ, কথোপকথন, যুক্ত করা নথি এবং তার নিজের উত্তর, সব token-এ গোনা।

  • অ্যাপ তথ্য রেখে আবার না পাঠালে আলাদা কথোপকথনের মধ্যে তার স্মৃতি নেই।
  • Window ভরে গেলে পুরোনো অংশ বাদ বা সারাংশ করতে হয়।
  • খুব দীর্ঘ context-ও অসমভাবে ব্যবহৃত হতে পারে। মাঝখানে চাপা পড়া গুরুত্বপূর্ণ তথ্য মিস হতে পারে, তাই মূল নির্দেশ স্পষ্ট রাখুন ও prompt কেন্দ্রীভূত রাখুন।
  • দীর্ঘ prompt বেশি খরচ করে ও ধীরে সাড়া দেয়।

Sampling সেটিং

  • Temperature: কম মান আউটপুট বেশি অনুমানযোগ্য ও কেন্দ্রীভূত করে, বেশি মান বেশি বৈচিত্র্যময় ও সৃজনশীল। তথ্য নিষ্কাশন ও কোডে কম, ভাবনা-মন্থনে বেশি ব্যবহার করুন।
  • Top-p ও top-k: পছন্দ সবচেয়ে সম্ভাব্য token-এ সীমিত করে।
  • Max tokens: উত্তরের দৈর্ঘ্যের সীমা।
  • Stop sequence: যে লেখায় model থামে।

কম temperature-এও প্রতিবার হুবহু একই ফল নিশ্চিত নয়।

Hallucination

Hallucination হলো আত্মবিশ্বাসী ভুল উত্তর: বানানো তথ্য, নকল উদ্ধৃতি, অস্তিত্বহীন function বা বানানো লিংক। এটি ঘটে কারণ model বিশ্বাসযোগ্য লেখার জন্য অপ্টিমাইজ করে।

কমান:

  • Model-কে উৎস উপাদান দিন (এই সিরিজের retrieval-augmented generation দেখুন)।
  • না জানলে বলতে এবং সমর্থনকারী লেখা উদ্ধৃত করতে বলুন।
  • ঠিক হতেই হবে এমন তথ্যে টুল ব্যবহার করুন: calculator, database, search।
  • গুরুত্বপূর্ণ আউটপুট নিজে বা স্বয়ংক্রিয় test দিয়ে যাচাই করুন।

LLM কীসে ভালো ও কীসে দুর্বল

ভালো: সারাংশ, নতুন করে লেখা, অনুবাদ, শ্রেণিবিন্যাস, কাঠামোবদ্ধ data নিষ্কাশন, ব্যাখ্যা, খসড়া ও কোড লেখা।

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

Model, টুল ও agent

আধুনিক সিস্টেম model-এর সাথে যোগ করে:

  • Tool use (function calling): model অ্যাপকে function (search, database query, calculator) চালাতে বলে এবং ফল ব্যবহার করে।
  • Multimodal input: লেখার পাশাপাশি ছবি, অডিও বা নথি।
  • Agent: loop যেখানে model পরিকল্পনা করে, টুল ব্যবহার করে ও ফল যাচাই করে। শক্তিশালী, তবে guardrail লাগে।

ব্যবহারিক পরামর্শ

  • নির্দেশে নির্দিষ্ট হোন এবং উদাহরণ দিন।
  • খরচ ও সময় বাঁচাতে কাজের জন্য যতটা ছোট সম্ভব prompt রাখুন।
  • শুধু demo নয়, নিজের ব্যবহারের আসল উদাহরণে পরীক্ষা করুন।
  • গোপনীয়তা ও retention শর্ত যাচাই না করা সেবায় কখনো secret বা ব্যক্তিগত গ্রাহকের data পাঠাবেন না।

মূল কথা: LLM তার context থেকে পরবর্তী token অনুমান করে। এটি তাকে খুব নমনীয় করে কিন্তু সত্যের উৎস নয়, তাই ভালো context দিন, সঠিক তথ্যে টুল ব্যবহার করুন এবং যা গুরুত্বপূর্ণ তা যাচাই করুন।


AI ও LLM সিরিজ, পর্ব ১ (language model দিয়ে বানানো): 1 নম্বর (মোট 5)।

আরও পড়ুন