মূল লেখায় যাও
AI Engineering
English

Part ০১

LLM-এর মূল ভিত্তি

একজন engineer-এর চোখে

দশটি বিষয়ের একটি ঘন, citation-সহ রেফারেন্স। প্রত্যেক ML engineer, applied researcher আর platform builder-এর এগুলো ভালোভাবে বোঝা দরকার: token, model family, sampling, structured output, tool use, multimodal, embedding, reasoning, আর production-এ কোন model চলবে তা ঠিক করে দেওয়া trade-off। প্রতিটি section দুই ভাবে লেখা: engineer-এর ভার্সন (technical, code আর diagram-সহ) এবং প্রতিটি টপিকের শেষে সাধারণ পাঠকের ভার্সন (সহজ ভাষায়, উপমা দিয়ে)। প্রতিটি টপিকের শেষে বাংলা ব্যাখ্যাও আছে।

১০টি section · ২৬টি source · তিনভাবে ব্যাখ্যা

01

Token, tokenization আর context-এর খরচ

Model যা কিছু করে — attention, generation, খরচ — সবকিছুর হিসাব হয় token দিয়ে, অক্ষর বা শব্দ দিয়ে নয়। আপনার prompt যদি 800 token থেকে কমে 200 token হয়, তাহলে খরচ কমল 75%, আর latencyও উল্লেখযোগ্যভাবে কমল। আপনার হাতে থাকা সবচেয়ে বড় engineering সুবিধা এটাই।

অনুশীলন · ১টি task

যেকোনো free AI chat খোলো: ChatGPT · Claude · Gemini

অনুশীলন কীভাবে করবে
  • নতুন chat মানে একদম নতুন কথোপকথন, আগের কোনো history নেই। ChatGPT, Claude বা Gemini-তে New chat-এ click করো। সাধারণত এটা উপরে বাঁ দিকে থাকে।
  • একই chat মানে: যে chat খোলা আছে, সেখানেই লিখতে থাকো। আগে যা পাঠিয়েছ, AI তা মনে রাখে।
  • Prompt ব্যবহার করতে: Copy-তে click করো, chat-এর message box-এ click করো, paste করো (Ctrl+V, বা phone-এ চেপে ধরে রাখো), তারপর Enter চাপো।
  • AI-এর উত্তর প্রতিবার একটু আলাদা হয়। তোমার উত্তর example-এর সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখো।
  • শুধু বানানো data ব্যবহার করো। নিজের বা অন্যের ব্যক্তিগত তথ্য chat-এ paste করবে না।

Task ১

Prompt ছোট করো, উত্তর একই রাখো

এটা কেন দরকার

একটা support bot যখন মাসে লাখ লাখ ticket পড়ে, prompt-এর প্রতিটা বাড়তি শব্দের দাম প্রতি call-এ আবার দিতে হয়। ছোট prompt দিয়ে সত্যিকারের টাকা বাঁচানো যায়।

  1. ধাপ ১
    নতুন chat

    এই লম্বা prompt টা copy করো, paste করে Enter চাপো। উত্তরটা লিখে রাখো। (prompt টা English-এ রাখা হয়েছে, কারণ এখানে English শব্দের দৈর্ঘ্য তুলনা হচ্ছে।)

    Prompt
    Hello! I hope you are having a wonderful day. I am working on a customer support system and I would really appreciate your kind help with a small task. Below you will find a customer ticket. Could you please read the ticket very carefully and then tell me which one of the following categories it belongs to? The categories are: billing, shipping, defect, account. Please choose only one category. When you answer, please do not write any explanation, any greeting, or any extra sentence. Just write the single category word. Thank you so much for your help!
    
    Ticket: My order #48213 arrived yesterday and the screen is cracked. I want my money back.

    তুমি দেখবে: একটা শব্দ, সম্ভবত defect।

    Example উত্তর
    defect

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  2. ধাপ ২
    নতুন chat

    এই ছোট prompt টা copy করো, paste করে Enter চাপো। উত্তরটা লিখে রাখো।

    Prompt
    Classify the ticket as one of: billing, shipping, defect, account. Reply with the category only.
    
    Ticket: My order #48213 arrived yesterday and the screen is cracked. I want my money back.

    তুমি দেখবে: একই শব্দ, defect, অথচ prompt টা ৩ গুণের বেশি ছোট।

    Example উত্তর
    defect

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  3. ধাপ ৩
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো। calculator দিয়ে সংখ্যাগুলো মিলিয়ে নাও।

    Prompt
    একটা support bot প্রতি call-এ 800 input token পাঠায়। একটা ছোট prompt প্রতি call-এ পাঠায় 200 input token। দাম প্রতি 1 million input token-এ $0.50। bot মাসে 2 million বার call করে। দুই prompt-এর মাসিক input cost আলাদা করে বের করো, আর কত শতাংশ সাশ্রয় হলো তাও বলো। প্রতিটা ধাপ দেখাও।

    তুমি দেখবে: লম্বা prompt-এর জন্য মাসে $800, ছোটটার জন্য $200, আর 75% সাশ্রয়।

    Example উত্তর
    লম্বা prompt: 800 token x 2,000,000 call = 1,600,000,000 token (1,600 million)। 1,600 x $0.50 = মাসে $800।
    ছোট prompt: 200 token x 2,000,000 call = 400,000,000 token (400 million)। 400 x $0.50 = মাসে $200।
    সাশ্রয়: $800 - $200 = মাসে $600।
    শতাংশ: $600 / $800 = 75%।

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

এইমাত্র কী হলো

AI তোমার লেখা পড়ে token হিসেবে (শব্দের ছোট ছোট টুকরো)। তুমি যত token পাঠাও, প্রতি call-এ তত token-এর দাম দিতে হয়। লম্বা prompt-এর ভদ্রতার বাড়তি শব্দগুলো উত্তর বদলায়নি, কিন্তু সেগুলো বাড়তি token ছিল। মাসে 2 million call হলে প্রতি call-এ 600 token কম মানে মাসে $600 সাশ্রয়।

কাজ শেষ, যখন দুটো prompt থেকেই একই এক শব্দের উত্তর পেয়েছ, আর তোমার কাছে $800, $200 আর 75% সংখ্যাগুলো আছে।

নিজেকে যাচাই করোউত্তর একই থাকলে prompt ছোট করলে টাকা বাঁচে কেন?উত্তর দেখো

API প্রতি token-এর হিসেবে টাকা নেয়, আর model প্রতি call-এ সব input token পড়ে। 75% কম token-এর prompt-এ input-এর খরচও 75% কম, আর পড়ার কাজ কম বলে উত্তরও দ্রুত আসতে পারে।

আরেকটু কঠিন করে দেখোছোট prompt টা আরও ছোট করো, কিন্তু উত্তর যেন না বদলায়। তারপর AI-কে জিজ্ঞেস করো: একই বাক্য কি Bangla-তে English-এর চেয়ে বেশি token নেয়?

ভিডিও দেখো · ৪টি

02

Model family আর trade-off

2025 সালে frontier-এ পাঁচটি family-র দাপট। প্রতিটির architecture আর ব্যবসার দর্শন আলাদা। “সেরা model কোনটা” — এই প্রশ্নটাই ভুল। সঠিক প্রশ্ন হলো: কোন trade-off আপনার workload-এর মূল চাহিদার সাথে মেলে।

অনুশীলন · ১টি task

যেকোনো free AI chat খোলো: ChatGPT · Claude · Gemini

অনুশীলন কীভাবে করবে
  • নতুন chat মানে একদম নতুন কথোপকথন, আগের কোনো history নেই। ChatGPT, Claude বা Gemini-তে New chat-এ click করো। সাধারণত এটা উপরে বাঁ দিকে থাকে।
  • একই chat মানে: যে chat খোলা আছে, সেখানেই লিখতে থাকো। আগে যা পাঠিয়েছ, AI তা মনে রাখে।
  • Prompt ব্যবহার করতে: Copy-তে click করো, chat-এর message box-এ click করো, paste করো (Ctrl+V, বা phone-এ চেপে ধরে রাখো), তারপর Enter চাপো।
  • AI-এর উত্তর প্রতিবার একটু আলাদা হয়। তোমার উত্তর example-এর সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখো।
  • শুধু বানানো data ব্যবহার করো। নিজের বা অন্যের ব্যক্তিগত তথ্য chat-এ paste করবে না।

Task ১

প্রতিটা কাজের জন্য ঠিক model বাছো

এটা কেন দরকার

তোমার team যখন নতুন AI feature শুরু করে, তখন একটা model বাছতে হয়। ভুল model বাছলে মাসে হাজার হাজার dollar বেশি লাগতে পারে, বা privacy-র নিয়ম ভাঙতে পারে।

  1. ধাপ ১
    নতুন chat

    prompt-এর তিনটা কাজ পড়ো, আর প্রতিটার জন্য নিজের choice (X, Y বা Z) লিখে রাখো। তারপর prompt টা copy করে paste করো, Enter চাপো।

    Prompt
    আমাকে প্রতিটা কাজের জন্য একটা করে model বেছে নিতে হবে। তিনটা model-ই বানানো (কাল্পনিক)।
    
    Model X: বড়, reasoning-এ খুব শক্তিশালী, ধীর, প্রতি token-এ দামি, closed API।
    Model Y: ছোট, দ্রুত, প্রতি token-এ সস্তা, সহজ কাজে ভালো, closed API।
    Model Z: মাঝারি, open weights, তুমি নিজের server-এ চালাও, GPU আর পরিচালনার খরচ তোমার।
    
    কাজগুলো:
    1. একটা chat helper মাসে 5 million ছোট support ticket 4টা category-তে ভাগ করে।
    2. একটা coding agent অনেক file জুড়ে কঠিন bug ঠিক করে। দিনে মাত্র 200টা কাজ।
    3. এমন একটা দেশের হাসপাতাল, যেখানে রোগীর data কখনো ভবনের বাইরে যেতে পারে না। প্রশ্নগুলো মাঝারি কঠিন।
    
    প্রতিটা কাজের জন্য X, Y বা Z বেছে নাও। trade-off নিয়ে একটা বাক্য লেখো। তারপর বলো, "কোন model সবচেয়ে ভালো" প্রশ্নটা কেন ভুল।

    তুমি দেখবে: প্রতিটা কাজের জন্য একটা choice আর এক বাক্যের কারণ। বেশিরভাগ chat কাজ 1-এ Y, কাজ 2-এ X, আর কাজ 3-এ Z বাছে।

    Example উত্তর
    1. Model Y। এটা সহজ কাজ, কিন্তু volume অনেক বেশি। তাই সস্তা আর দ্রুত হওয়াটাই সবচেয়ে জরুরি।
    2. Model X। অনেক file জুড়ে কঠিন bug ঠিক করতে সবচেয়ে শক্তিশালী reasoning লাগে, আর দিনে 200টা কাজ মানে volume কম, তাই খরচ সমস্যা না।
    3. Model Z। রোগীর data ভবনের ভেতরেই থাকতে হবে, তাই শুধু নিজের server-এর model-ই চলে।
    
    "কোন model সবচেয়ে ভালো" প্রশ্নটা ভুল, কারণ প্রতিটা model আলাদা trade-off-এ জেতে: খরচ, মান, বা data-র নিয়ন্ত্রণ।

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  2. ধাপ ২
    একই chat

    AI-র choice তোমার choice-এর সাথে মেলাও। যে কাজে আলাদা বেছেছ, সেটা খুঁজে বের করো, আর ঠিক করো কে ঠিক।

    তুমি দেখবে: বেশিরভাগ কাজ মিলবে। কোনোটা না মিললে AI-র কারণে অন্য একটা trade-off দেখা যাবে, সেটা সবসময় ভুল উত্তর না।

  3. ধাপ ৩
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো।

    Prompt
    একটা Mixture-of-Experts model-এ মোট 671B parameter, কিন্তু প্রতিটা token-এ active থাকে মাত্র 37B। একটা dense model-এ 70B parameter, আর প্রতিটা token-এ সবগুলোই active। কোন model load করতে বেশি GPU memory লাগে? কোন model প্রতি token-এ কম computing করে? 3টা ছোট বাক্যে উত্তর দাও।

    তুমি দেখবে: MoE-তে বেশি memory লাগে (671B জমা রাখতে হয়), আর MoE প্রতি token-এ কম computing করে (37B ব্যবহার হয়)।

    Example উত্তর
    Mixture-of-Experts model-এ বেশি GPU memory লাগে, কারণ মোট 671B parameter-ই load করতে হয়। dense model-এ কম memory লাগে, মাত্র 70B। প্রতি token-এ Mixture-of-Experts model কম computing করে, কারণ সে শুধু 37B parameter ব্যবহার করে, আর dense model ব্যবহার করে পুরো 70B।

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

এইমাত্র কী হলো

Model বাছা মানে মান, গতি, খরচ আর data-র নিয়ন্ত্রণের মধ্যে একটা trade-off। চারটাতেই সেরা, এমন model নেই, তাই "সেরা model" নির্ভর করে কাজের ওপর। MoE (mixture of experts) model অনেকগুলো expert অংশ দিয়ে তৈরি, আর প্রতিটা token মাত্র কয়েকটা অংশ ব্যবহার করে। সব অংশ GPU memory-তে রাখতে হয়, কিন্তু কাজ করে শুধু active অংশ, তাই MoE-তে memory বেশি লাগে আর প্রতি token-এ computing কম লাগে।

কাজ শেষ, যখন ৩টা কাজের প্রতিটার জন্য তোমার একটা model choice আছে, আর তুমি জানো দুটো বড় model-এর কোনটায় বেশি memory লাগে।

নিজেকে যাচাই করোMoE model 70B dense model-এর চেয়ে বেশি memory নেয়, কিন্তু প্রতি token-এ কম computing করে। কেন?উত্তর দেখো

সব expert memory-তে load করতে হয়, তাই মোট parameter (671B) memory ঠিক করে। প্রতিটা token যায় মাত্র কয়েকটা expert-এর কাছে, তাই শুধু active parameter (37B) computing করে।

আরেকটু কঠিন করে দেখোকাজ 1 বদলে মাসে মাত্র 500টা ticket করো। AI-কে জিজ্ঞেস করো, তার choice বদলায় কি না, আর কেন।

ভিডিও দেখো · ৩টি

03

Closed বনাম open-weight model

“Open” দুই দলে ভাগ হয়, আর engineer-রাও প্রায়ই দুটো গুলিয়ে ফেলেন: open-weight (model ডাউনলোড করে নিজে চালাতে পারবেন) আর open-source (এর সাথে training code, data, আর বদলে আবার বিলি করার licenseও পাবেন)। বেশিরভাগ “open” LLM আসলে open-weight।

অনুশীলন · ১টি task

যেকোনো free AI chat খোলো: ChatGPT · Claude · Gemini

অনুশীলন কীভাবে করবে
  • নতুন chat মানে একদম নতুন কথোপকথন, আগের কোনো history নেই। ChatGPT, Claude বা Gemini-তে New chat-এ click করো। সাধারণত এটা উপরে বাঁ দিকে থাকে।
  • একই chat মানে: যে chat খোলা আছে, সেখানেই লিখতে থাকো। আগে যা পাঠিয়েছ, AI তা মনে রাখে।
  • Prompt ব্যবহার করতে: Copy-তে click করো, chat-এর message box-এ click করো, paste করো (Ctrl+V, বা phone-এ চেপে ধরে রাখো), তারপর Enter চাপো।
  • AI-এর উত্তর প্রতিবার একটু আলাদা হয়। তোমার উত্তর example-এর সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখো।
  • শুধু বানানো data ব্যবহার করো। নিজের বা অন্যের ব্যক্তিগত তথ্য chat-এ paste করবে না।

Task ১

নিজের server কখন লাভজনক, বের করো

এটা কেন দরকার

তোমার team যখন জিজ্ঞেস করে "আমরা কি নিজের model চালাব?", উত্তর নির্ভর করে মাসে কত token ব্যবহার হয় তার ওপর। ভুল অনুমানে হাজার হাজার dollar নষ্ট হতে পারে।

  1. ধাপ ১
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো। break-even সংখ্যাটা (যেখানে দুই option-এর খরচ সমান) লিখে রাখো।

    Prompt
    একই text কাজের জন্য দুটো option তুলনা করো।
    
    Option 1, closed API: প্রতি 1 million token-এ $3 (input আর output মিলিয়ে)। আর কোনো খরচ নেই।
    Option 2, নিজের server-এ open-weight model: GPU server-এর জন্য মাসে $2,200, আর engineer-এর সময়ের জন্য মাসে $1,500। এটা মাসে সর্বোচ্চ 2 billion token চালাতে পারে। প্রতি token-এ কোনো fee নেই।
    
    মাসে কত token হলে দুটো option-এর খরচ সমান হয়? formula আর ধাপগুলো দেখাও। মাসে 200 million token হলে কোন option সস্তা? 1.8 billion token হলে কোনটা?

    তুমি দেখবে: মাসে প্রায় 1.23 billion token-এ break-even। 200 million-এ API সস্তা, আর 1.8 billion-এ নিজের server সস্তা।

    Example উত্তর
    নিজের server-এর খরচ = $2,200 + $1,500 = মাসে $3,700, volume যা-ই হোক।
    API-র খরচ = প্রতি 1 million token-এ $3।
    দুটোর খরচ সমান হয় যখন (million-এ token) x $3 = $3,700, অর্থাৎ token = 3,700 / 3 = 1,233.3 million, মানে প্রায় 1.23 billion token প্রতি মাসে।
    200 million token-এ: API = 200 x $3 = $600। নিজের server = $3,700। API সস্তা।
    1.8 billion token-এ: API = 1,800 x $3 = $5,400। নিজের server = $3,700। নিজের server সস্তা।

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  2. ধাপ ২
    একই chat

    নিজে calculator দিয়ে হিসাবটা মিলিয়ে নাও: $2,200 আর $1,500 যোগ করো, তারপর $3 দিয়ে ভাগ করো। ফল লেখো million token-এ।

    তুমি দেখবে: 3,700 / 3 = 1,233.3 million token। এটা AI-র সংখ্যার সাথে মেলে।

  3. ধাপ ৩
    নতুন chat

    চারটা company পড়ো আর প্রতিটার জন্য নিজের choice লিখে রাখো। তারপর prompt টা copy করে paste করো, Enter চাপো।

    Prompt
    নিচের প্রতিটা company-র জন্য একটা বেছে নাও: closed API, open-weight self-host, বা hybrid (সহজ query যাবে ছোট local model-এ, কঠিন query যাবে সেরা API-তে)। প্রতিটার জন্য এক বাক্যে কারণ লেখো।
    
    Company 1: একটা ছোট start-up, মাসে 50,000 query, কোনো ML engineer নেই।
    Company 2: একটা bank, যাকে সব customer text নিজের data centre-এর ভেতরে রাখতে হয়। তাদের GPU চালানোর মতো team আছে।
    Company 3: একটা shopping app, মাসে 100 million query। 80% সহজ, আর 20%-এ সেরা মান লাগে।
    Company 4: একটা team, যাদের আজকের সবচেয়ে শক্তিশালী coding agent ব্যবহার করতেই হবে।

    তুমি দেখবে: প্রতিটা company-র জন্য একটা choice আর একটা কারণ। বেশিরভাগ chat company 1 আর 4-এর জন্য closed API, company 2-এর জন্য open-weight, আর company 3-এর জন্য hybrid বাছে।

    Example উত্তর
    Company 1: Closed API। 50,000 query খুব কম volume, আর server চালানোর মতো engineer তাদের নেই।
    Company 2: Open-weight self-host। customer text data centre-এর ভেতরে থাকতে হবে, আর তারা GPU চালাতে পারে।
    Company 3: Hybrid। 80% সহজ query ছোট local model-এ, আর 20% কঠিন query সেরা API-তে পাঠাও।
    Company 4: Closed API। আজকের সবচেয়ে শক্তিশালী coding agent-গুলো closed model।

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  4. ধাপ ৪
    একই chat

    AI-র choice তোমার choice-এর সাথে মেলাও। যে company-তে তোমার মত আলাদা, সেটা বেছে লেখো: অন্য option কেন না?

    তুমি দেখবে: AI একটা কারণ দেবে, প্রায়ই volume, data-র নিয়ম বা লোকবল নিয়ে। কারণটা জোরালো কি না, নিজে ঠিক করো।

এইমাত্র কী হলো

Closed API প্রতি token-এ টাকা নেয়, আর কোনো fixed খরচ নেই। open-weight model (যে model-এর file তুমি download করে নিজে চালাতে পারো) চালাতে server আর লোকের জন্য মাসে একটা fixed খরচ লাগে, volume যা-ই হোক। break-even হলো সেই volume, যেখানে দুই option-এর খরচ সমান। তার নিচে API সস্তা। তার ওপরে নিজের server সস্তা।

কাজ শেষ, যখন তোমার কাছে একটা break-even সংখ্যা (প্রায় 1.23 billion token) আর ৪টা company-র প্রতিটার জন্য একটা choice আছে।

নিজেকে যাচাই করোopen-weight model-এ প্রতি token-এ fee নেই, তবু ছোট team-এর জন্য closed API সস্তা হতে পারে কেন?উত্তর দেখো

open weights-এ server আর engineer-এর fixed খরচ দিতে হয়, volume কম হলেও। token কম হলে সেই fixed খরচ API-র bill-এর চেয়ে বেশি হয়। volume, data-র নিয়ম বা fine-tuning-এর দরকার বেশি হলে open-weight জেতে।

আরেকটু কঠিন করে দেখোপ্রথম prompt আবার চালাও, কিন্তু এবার server-এর খরচ মাসে $6,000 আর সে মাসে 5 billion token পর্যন্ত চালাতে পারে। engineer-এর $1,500 একই রাখো। নতুন break-even কোথায়, আর সেটা কি server-এর limit-এর ভেতরে?

ভিডিও দেখো · ৩টি

04

Sampling parameter-এর ব্যবহার

Model তার vocabulary-র প্রতিটি token-এর উপর একটি probability distribution দেয়। Sampling হলো সেই distribution থেকে text বানানোর উপায়। একই logits থেকে যান্ত্রিক তালিকা, সৃজনশীল গদ্য, কিংবা বানানো ভুল তথ্য (hallucination) — যেকোনোটি আসতে পারে, পাঁচটি knob কীভাবে ঘোরান তার উপর।

অনুশীলন · ১টি task

যেকোনো free AI chat খোলো: ChatGPT · Claude · Gemini

অনুশীলন কীভাবে করবে
  • নতুন chat মানে একদম নতুন কথোপকথন, আগের কোনো history নেই। ChatGPT, Claude বা Gemini-তে New chat-এ click করো। সাধারণত এটা উপরে বাঁ দিকে থাকে।
  • একই chat মানে: যে chat খোলা আছে, সেখানেই লিখতে থাকো। আগে যা পাঠিয়েছ, AI তা মনে রাখে।
  • Prompt ব্যবহার করতে: Copy-তে click করো, chat-এর message box-এ click করো, paste করো (Ctrl+V, বা phone-এ চেপে ধরে রাখো), তারপর Enter চাপো।
  • AI-এর উত্তর প্রতিবার একটু আলাদা হয়। তোমার উত্তর example-এর সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখো।
  • শুধু বানানো data ব্যবহার করো। নিজের বা অন্যের ব্যক্তিগত তথ্য chat-এ paste করবে না।

Task ১

sharp আর flat word chance দেখো

এটা কেন দরকার

তুমি যখন chatbot বানাবে, তখন জানতে হবে AI কখন তার পরের শব্দ নিয়ে প্রায় নিশ্চিত (তথ্য), আর কখন অনেক শব্দই মানায় (গল্প)। এতে বোঝা যায় কোথায় উত্তর প্রতিবার বদলাবে।

  1. ধাপ ১
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো। সবচেয়ে বড় percentage টা দেখো। (prompt টা English-এ রাখা হয়েছে, কারণ এখানে English বাক্যের পরের শব্দ দেখা হচ্ছে।)

    Prompt
    Estimate the next-word probabilities for this sentence start. List the 5 most likely next words, each with a percentage. The percentages must add up to about 100%. Reply with the list only.
    
    The capital of France is

    তুমি দেখবে: একটা শব্দ, Paris, প্রায় পুরো chance নিয়ে, যেমন 90% বা তার বেশি।

    Example উত্তর
    Paris - 97%
    Lyon - 1%
    the - 1%
    Marseille - 0.5%
    a - 0.5%

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  2. ধাপ ২
    একই chat

    এই prompt টা copy করো, paste করে Enter চাপো। এই list টা প্রথমটার সাথে তুলনা করো।

    Prompt
    Estimate the next-word probabilities for this sentence start. List the 5 most likely next words, each with a percentage. The percentages must add up to about 100%. Reply with the list only.
    
    Once upon a time, there was a little

    তুমি দেখবে: chance কয়েকটা শব্দের মধ্যে ছড়িয়ে আছে, যেমন girl, boy, fox। কোনো একটা শব্দ প্রায় সবটা নেয়নি।

    Example উত্তর
    girl - 35%
    boy - 25%
    fox - 15%
    rabbit - 13%
    princess - 12%

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  3. ধাপ ৩
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো। শব্দটা লিখে রাখো।

    Prompt
    Complete this sentence with one word only. Reply with the word and nothing else.
    
    Once upon a time, there was a little

    তুমি দেখবে: একটা শব্দ, যেমন girl।

    Example উত্তর
    girl

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  4. ধাপ ৪
    নতুন chat

    ধাপ 3 আরও দুইবার করো, প্রতিবার নতুন chat-এ। তিনটা শব্দই লিখে রাখো।

    তুমি দেখবে: প্রায়ই 2টা বা 3টা আলাদা শব্দ, যেমন girl, fox, boy।

এইমাত্র কী হলো

পরের শব্দের জন্য AI-র কাছে অনেক শব্দের chance থাকে। "capital of France"-এ একটা শব্দই প্রায় পুরো chance নেয়। গল্পে অনেক শব্দের chance কাছাকাছি। Sampling মানে এই chance ধরে পরের শব্দ বাছা, তাই গল্পের শব্দ chat-এ chat-এ বদলায়। তুমি যে percentage দেখলে, সেগুলো AI-র নিজের অনুমান, ভেতরের আসল সংখ্যা না।

কাজ শেষ, যখন তোমার কাছে দুটো percentage list (একটা sharp, একটা flat) আর ৩টা গল্পের শব্দ আছে।

নিজেকে যাচাই করোAI যদি সবসময় সবচেয়ে সম্ভাব্য একটা শব্দই বাছত, তাহলে গল্পের বাক্যে কী বদলে যেত?উত্তর দেখো

প্রতিবার একই শব্দ আসত। একে বলে greedy decoding, আর এটা temperature প্রায় 0 করার মতো। Sampling সব শব্দ থেকে chance ধরে বাছে, তাই flat list-এ আলাদা আলাদা শব্দ আসে, আর temperature বাড়ালে list আরও flat হয়।

আরেকটু কঠিন করে দেখো2 + 2 equals বাক্যের শুরুর জন্যও একই list চাও। এটা কি Paris list-এর চেয়ে বেশি sharp, নাকি গল্পের list-এর চেয়ে বেশি flat? কেন?

ভিডিও দেখো · ৪টি

05

Streaming বনাম non-streaming

Generation ধাপে ধাপে হয় — token আসে একটা একটা করে। Streaming মানে token তৈরি হওয়ার সাথে সাথেই পাঠিয়ে দেওয়া, Server-Sent Events বা chunked HTTP দিয়ে। ফলে বাকিটা তৈরি হতে থাকার মধ্যেই UI প্রথম শব্দটা দেখাতে পারে। Non-streaming পুরো response তৈরি হওয়া পর্যন্ত অপেক্ষা করে।

অনুশীলন · ১টি task

যেকোনো free AI chat খোলো: ChatGPT · Claude · Gemini

অনুশীলন কীভাবে করবে
  • নতুন chat মানে একদম নতুন কথোপকথন, আগের কোনো history নেই। ChatGPT, Claude বা Gemini-তে New chat-এ click করো। সাধারণত এটা উপরে বাঁ দিকে থাকে।
  • একই chat মানে: যে chat খোলা আছে, সেখানেই লিখতে থাকো। আগে যা পাঠিয়েছ, AI তা মনে রাখে।
  • Prompt ব্যবহার করতে: Copy-তে click করো, chat-এর message box-এ click করো, paste করো (Ctrl+V, বা phone-এ চেপে ধরে রাখো), তারপর Enter চাপো।
  • AI-এর উত্তর প্রতিবার একটু আলাদা হয়। তোমার উত্তর example-এর সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখো।
  • শুধু বানানো data ব্যবহার করো। নিজের বা অন্যের ব্যক্তিগত তথ্য chat-এ paste করবে না।

Task ১

প্রথম শব্দ আর শেষ শব্দের সময় মাপো

এটা কেন দরকার

chat window বানালে ফাঁকা screen দেখে user চলে যায়। streaming কোন সমস্যা মেটায়, আর কোন step-এ পুরো উত্তর লাগে বলে streaming সমস্যা করে, সেটা তোমার জানা দরকার।

  1. ধাপ ১
    নতুন chat

    একটা stopwatch নাও (ফোনেরটাই চলবে)। এই prompt-এ Enter চাপার সাথে সাথে চালু করো। প্রথম শব্দ আসতে আর শেষ শব্দ আসতে কত সেকেন্ড লাগল, লিখে রাখো।

    Prompt
    ঢাকার একজন রিকশাচালক বর্ষাকালে একটা হারানো ছাতা খুঁজে পায়। এই নিয়ে প্রায় 400 শব্দের একটা গল্প লেখো।

    তুমি দেখবে: বেশিরভাগ chat-এ প্রথম শব্দ আসে 1 থেকে 3 সেকেন্ডে। পুরো গল্প শেষ হতে তারপর আরও অনেক সেকেন্ড লাগে।

  2. ধাপ ২
    নতুন chat

    stopwatch আবার চালু করো। এই prompt টা copy করো, paste করে Enter চাপো। উত্তর সম্পূর্ণ হতে কত সেকেন্ড লাগল, লিখে রাখো।

    Prompt
    শুধু OK শব্দটা লেখো, আর কিছু না।

    তুমি দেখবে: প্রথম শব্দ আর পুরো উত্তর প্রায় একসাথে আসে, প্রায় 1 বা 2 সেকেন্ডে।

    Example উত্তর
    OK

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  3. ধাপ ৩
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো। প্রায় 2 সেকেন্ড পর Stop button চাপো। অসম্পূর্ণ text টা পড়ো। Stop button না থাকলে 2 সেকেন্ডে screen-এ যা আছে তা পড়ো। (prompt টা English-এ রাখা হয়েছে, কারণ JSON-এর field-এর নাম English।)

    Prompt
    Return only a JSON object, with no other text and no code fence. The object has these fields: id, name, email, city, plan, signup_date, last_login, tags (an array of 5 strings), and notes (a 2 sentence string). Use made-up values.

    তুমি দেখবে: মাঝপথে থেমে যাওয়া text, শেষে বন্ধ করার } নেই। কোনো program এটাকে এখনো JSON হিসেবে পড়তে পারবে না।

    Example উত্তর
    {
      "id": 1042,
      "name": "Amina Rahman",
      "email": "amina.rahman@example.com",
      "city": "Chattogram",
      "plan": "pro",
      "signup_date": "2024-0

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

এইমাত্র কী হলো

Streaming মানে AI উত্তরটা কয়েকটা কয়েকটা শব্দ করে পাঠায়, তাই তুমি প্রথম শব্দ আগেই দেখতে পাও। এতে পুরো উত্তর দ্রুত হয় না: মোট সময় একই থাকে। chat window-এর জন্য এটা দারুণ, কারণ user সাথে সাথে অগ্রগতি দেখে। কিন্তু যে program-এর পুরো JSON লাগে, তার জন্য অর্ধেক উত্তর কোনো কাজের না, তাই সেই step-এ সম্পূর্ণ উত্তরের জন্য অপেক্ষা করতে হয়।

কাজ শেষ, যখন গল্পের জন্য তোমার কাছে প্রথম শব্দের আর শেষ শব্দের সময় আছে, আর তুমি এমন একটা অর্ধেক JSON দেখেছ যেটা কোনো program ব্যবহার করতে পারে না।

নিজেকে যাচাই করোchat window-এর জন্য streaming ভালো, কিন্তু data pipeline-এর একটা step-এর জন্য প্রায়ই খারাপ। কেন?উত্তর দেখো

Streaming AI-কে দ্রুত করে না। শব্দগুলো আসার সাথে সাথে দেখায় মাত্র, তাই মানুষ আগে অগ্রগতি দেখে। pipeline-এর যে step JSON পড়ে বা যাচাই করে, তার পুরো উত্তর লাগে, তাই তাকে সম্পূর্ণ উত্তরের জন্য অপেক্ষা করতে হয়।

আরেকটু কঠিন করে দেখো1,000 শব্দের একটা গল্প চাও। 400 শব্দের গল্পের তুলনায় প্রথম শব্দ আসার সময় কি বেশি বদলায়? এ থেকে app কত দ্রুত মনে হয়, সে সম্পর্কে কী বোঝা যায়?

ভিডিও দেখো · ৩টি

06

Structured output আর JSON mode

ইচ্ছেমতো লেখা text-কে নির্দিষ্ট type-এর schema-য় বাঁধলে LLM বড় pipeline-এর একটি ভরসাযোগ্য অংশ হয়ে ওঠে। এর তিনটি উপায় আছে, একটার চেয়ে আরেকটা ধাপে ধাপে বেশি কঠোর।

অনুশীলন · ১টি task

যেকোনো free AI chat খোলো: ChatGPT · Claude · Gemini

অনুশীলন কীভাবে করবে
  • নতুন chat মানে একদম নতুন কথোপকথন, আগের কোনো history নেই। ChatGPT, Claude বা Gemini-তে New chat-এ click করো। সাধারণত এটা উপরে বাঁ দিকে থাকে।
  • একই chat মানে: যে chat খোলা আছে, সেখানেই লিখতে থাকো। আগে যা পাঠিয়েছ, AI তা মনে রাখে।
  • Prompt ব্যবহার করতে: Copy-তে click করো, chat-এর message box-এ click করো, paste করো (Ctrl+V, বা phone-এ চেপে ধরে রাখো), তারপর Enter চাপো।
  • AI-এর উত্তর প্রতিবার একটু আলাদা হয়। তোমার উত্তর example-এর সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখো।
  • শুধু বানানো data ব্যবহার করো। নিজের বা অন্যের ব্যক্তিগত তথ্য chat-এ paste করবে না।

Task ১

ঢিলেঢালা আর কড়া JSON অনুরোধ তুলনা করো

এটা কেন দরকার

তোমার code যখন AI-র উত্তর পড়ে, তখন একটা বাড়তি বাক্য বা একটা ভুল field-এর নামেই program crash করতে পারে। code ব্যবহার করতে পারে এমন output কীভাবে চাইতে হয়, সেটা তোমার জানা দরকার।

  1. ধাপ ১
    নতুন chat

    এই ঢিলেঢালা prompt টা copy করো, paste করে Enter চাপো। উত্তরটা দেখো: একটা program কি এটা যেমন আছে তেমন পড়তে পারবে? (JSON-এর key English-এ রাখা হয়েছে।)

    Prompt
    এই note-এর মানুষদের তথ্য JSON-এ লেখো।
    
    Note: সবাইকে জানাচ্ছি, রহিম উদ্দিন গত সপ্তাহে আমাদের নতুন data engineer হিসেবে যোগ দিয়েছেন। তাঁর বয়স চৌত্রিশ। আর সাদিয়া আক্তার (QA lead) সোমবার থেকে শুরু করছেন। তাঁর বয়স আমি এখনো জানি না।

    তুমি দেখবে: প্রায়ই JSON-এর আগে একটা বাড়তি বাক্য, একটা code fence, বানানো field-এর নাম, বা age শব্দ হিসেবে, যেমন চৌত্রিশ।

    Example উত্তর
    অবশ্যই! এই নাও JSON:
    
    ```json
    {
      "people": [
        {"name": "রহিম উদ্দিন", "job": "data engineer", "age": "চৌত্রিশ"},
        {"name": "সাদিয়া আক্তার", "job": "QA lead", "age": "অজানা"}
      ]
    }
    ```

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  2. ধাপ ২
    নতুন chat

    এই কড়া prompt টা copy করো, paste করে Enter চাপো। উত্তরটা দেখো।

    Prompt
    note থেকে মানুষদের তথ্য বের করো। শুধু JSON লেখো। JSON-এর আগে বা পরে কোনো text না। markdown code fence না।
    
    JSON একটা array হতে হবে। প্রতিটা item এই schema মানবে:
    {"name": string, "age": integer or null, "role": string}
    age সংখ্যা দিয়ে লেখো, শব্দ দিয়ে না। note-এ age না থাকলে null লেখো। আর কোনো field যোগ করো না।
    
    Note: সবাইকে জানাচ্ছি, রহিম উদ্দিন গত সপ্তাহে আমাদের নতুন data engineer হিসেবে যোগ দিয়েছেন। তাঁর বয়স চৌত্রিশ। আর সাদিয়া আক্তার (QA lead) সোমবার থেকে শুরু করছেন। তাঁর বয়স আমি এখনো জানি না।

    তুমি দেখবে: শুধু JSON array। রহিমের age সংখ্যা হিসেবে 34, আর সাদিয়ার age null।

    Example উত্তর
    [
      {"name": "রহিম উদ্দিন", "age": 34, "role": "data engineer"},
      {"name": "সাদিয়া আক্তার", "age": null, "role": "QA lead"}
    ]

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  3. ধাপ ৩
    একই chat

    দুটো উত্তর মেলাও। প্রতিটার জন্য দেখো: শুধু JSON, বাড়তি বাক্য নেই? age সংখ্যা? সাদিয়ার age null?

    তুমি দেখবে: কড়া উত্তরটা বেশিরভাগ check পাস করে। ঢিলেঢালা উত্তরটা প্রায়ই এক বা একাধিক check-এ ফেল করে।

এইমাত্র কী হলো

Program-এর একটা নির্দিষ্ট format লাগে। তুমি শুধু "JSON" বললে field-এর নাম, type আর বাড়তি text AI নিজে ঠিক করে। Schema (কোন field থাকবে আর তার type কী, তার বিবরণ) AI-কে বলে দেয় কী ফেরত দিতে হবে, আর উত্তর অনেক পরিষ্কার হয়। কিন্তু চাইলেই গ্যারান্টি পাওয়া যায় না। কিছু AI provider format জোর করে বসিয়ে দিতে পারে, তখন ভুল উত্তর আসাই সম্ভব না। একে বলে structured outputs।

কাজ শেষ, যখন তোমার কাছে দুটো উত্তর আছে, আর তুমি দেখেছ কড়া উত্তরে age 34 সংখ্যা হিসেবে আছে এবং সাদিয়ার age null।

নিজেকে যাচাই করোformat জোর করে বসানো আর prompt-এ JSON চাওয়ার মধ্যে পার্থক্য কী?উত্তর দেখো

prompt শুধু AI-কে format মানতে বলে, তাই ভুল হতে পারে। provider যখন format জোর করে, তখন schema ভাঙবে এমন প্রতিটা শব্দ আটকে দেয়, তাই output-এর আকার সবসময় ঠিক থাকে।

আরেকটু কঠিন করে দেখোnote-এ তৃতীয় একজন মানুষ যোগ করো, যার দুটো role, যেমন designer আর team lead। schema-তে একটাই role-এর জায়গা। AI-কে schema মানতে বলো, আর দেখো সে এটা কীভাবে সামলায়।

ভিডিও দেখো · ৪টি

07

Function calling আর tool use

Function calling-এ model সাধারণ গদ্য না লিখে একটি structured অনুরোধ পাঠায়, যাতে একটি tool চালানো যায় (function, API, বা database query)। Model নিজে চালায় না — সে ঠিক করে কোনটা call করবে আর কী argument দিয়ে। আপনার code tool চালায় এবং ফলাফল model-কে ফেরত দেয়। প্রতিটি LLM agent-এর ভিত্তি এটাই।

অনুশীলন · ১টি task

যেকোনো free AI chat খোলো: ChatGPT · Claude · Gemini

অনুশীলন কীভাবে করবে
  • নতুন chat মানে একদম নতুন কথোপকথন, আগের কোনো history নেই। ChatGPT, Claude বা Gemini-তে New chat-এ click করো। সাধারণত এটা উপরে বাঁ দিকে থাকে।
  • একই chat মানে: যে chat খোলা আছে, সেখানেই লিখতে থাকো। আগে যা পাঠিয়েছ, AI তা মনে রাখে।
  • Prompt ব্যবহার করতে: Copy-তে click করো, chat-এর message box-এ click করো, paste করো (Ctrl+V, বা phone-এ চেপে ধরে রাখো), তারপর Enter চাপো।
  • AI-এর উত্তর প্রতিবার একটু আলাদা হয়। তোমার উত্তর example-এর সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখো।
  • শুধু বানানো data ব্যবহার করো। নিজের বা অন্যের ব্যক্তিগত তথ্য chat-এ paste করবে না।

Task ১

tool-calling loop-এ নিজে tool হও

এটা কেন দরকার

তুমি যখন আবহাওয়া, order বা booking দেখে এমন AI assistant বানাবে, AI একা সেটা পারবে না। তোমার code-কে tool চালাতে হবে। এখানে সেই কাজটা তুমি হাতে করে দেখবে।

  1. ধাপ ১
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো। উত্তরটা দেখো। এটা শুধু একটা tool call হওয়া উচিত, কোনো উত্তর না। (prompt টা English-এ রাখা হয়েছে, কারণ JSON-এর key আর tool-এর নাম English।)

    Prompt
    You can use these tools. You cannot run them yourself. To use a tool, reply with ONLY a JSON object: {"tool": name, "arguments": {...}}. No other text.
    
    Tools:
    [
      {"name": "get_weather", "description": "Get the current weather for a city.", "parameters": {"type": "object", "properties": {"location": {"type": "string"}, "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}}, "required": ["location"]}},
      {"name": "search_flights", "description": "Search flights between two airports.", "parameters": {"type": "object", "properties": {"origin": {"type": "string"}, "destination": {"type": "string"}, "depart_date": {"type": "string"}}, "required": ["origin", "destination", "depart_date"]}}
    ]
    
    User question: Is it hot in Dhaka right now? Should I wear a jacket?

    তুমি দেখবে: উদাহরণের মতো ছোট একটা JSON text। এতে tool get_weather আর শহর Dhaka আছে। আবহাওয়ার কোনো উত্তর নেই।

    Example উত্তর
    {"tool": "get_weather", "arguments": {"location": "Dhaka", "unit": "celsius"}}

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  2. ধাপ ২
    একই chat

    এবার তুমি tool। এই বানানো result টা copy করে একই chat-এ paste করো, Enter চাপো।

    Prompt
    তোমার call-এর tool result:
    {"location": "Dhaka", "temp_c": 38, "condition": "humid and sunny"}
    
    এবার শুধু এই result ব্যবহার করে user-এর প্রশ্নের উত্তর দুই বাক্যে দাও। বাংলায় উত্তর দাও।

    তুমি দেখবে: দুই বাক্যের একটা উত্তর, যাতে তোমার বানানো 38 ডিগ্রি ব্যবহার হয়েছে, আর বলা আছে জ্যাকেট লাগবে না।

    Example উত্তর
    হ্যাঁ, ঢাকায় এখন খুব গরম: 38 ডিগ্রি সেলসিয়াস, আর আবহাওয়া আর্দ্র ও রৌদ্রোজ্জ্বল। তোমার জ্যাকেট পরার দরকার নেই।

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  3. ধাপ ৩
    একই chat

    প্রথম উত্তরটা আবার দেখো। AI কোন tool বেছেছে আর কোন শহর দিয়েছে, লিখে রাখো।

    তুমি দেখবে: tool হলো get_weather, search_flights না, আর শহর Dhaka।

এইমাত্র কী হলো

AI আবহাওয়া খুঁজে দেখেনি। সে শুধু একটা tool call লিখেছে (একটা ছোট JSON note, যাতে লেখা কোন tool কোন input দিয়ে চালাতে হবে)। আসল app-এ তোমার code tool চালায় আর result chat-এ যোগ করে। তুমি সেটা হাতে করলে, আর AI তোমার বানানো 38 ডিগ্রি ব্যবহার করল। AI get_weather বেছেছে, কারণ tool-এর নাম আর বিবরণ তার prompt-এরই অংশ।

কাজ শেষ, যখন তুমি উত্তর ছাড়া একটা tool call দেখেছ, তারপর এমন একটা চূড়ান্ত উত্তর দেখেছ যেটা তোমার বানানো 38 ডিগ্রি ব্যবহার করেছে।

নিজেকে যাচাই করোfunction calling-এ tool কে চালায়: AI, নাকি তোমার code?উত্তর দেখো

তোমার code tool চালায়। AI শুধু ঠিক করে কোন tool কোন input দিয়ে call হবে। তারপর সে chat-এ যোগ করা result পড়ে। call, চালানো, result যোগ করা আর আবার করা, এই loop-ই প্রতিটা AI agent-এর ভিত্তি।

আরেকটু কঠিন করে দেখোget_weather-এর description বদলে শুধু Get data লেখো, আর নতুন chat-এ প্রথম prompt চালাও। AI কি এখনো ঠিক tool বাছে? tool-এর description নিয়ে এ থেকে কী বোঝা যায়?

ভিডিও দেখো · ৪টি

08

Multimodal input (ছবি, audio, PDF)

আধুনিক frontier model শুধু text নয়, আরও অনেক কিছু নেয়: ছবি, audio, video frame, আর PDF-এর পাতা। এগুলো token হয়ে যায়, যার উপর transformer attention দিতে পারে। মূল কৌশলটা এক: যেকোনো modality-কে embedding vector-এর একটি sequence-এ বদলে text sequence-এর সাথে জুড়ে দেওয়া হয়।

অনুশীলন · ১টি task

যেকোনো free AI chat খোলো: ChatGPT · Claude · Gemini

অনুশীলন কীভাবে করবে
  • নতুন chat মানে একদম নতুন কথোপকথন, আগের কোনো history নেই। ChatGPT, Claude বা Gemini-তে New chat-এ click করো। সাধারণত এটা উপরে বাঁ দিকে থাকে।
  • একই chat মানে: যে chat খোলা আছে, সেখানেই লিখতে থাকো। আগে যা পাঠিয়েছ, AI তা মনে রাখে।
  • Prompt ব্যবহার করতে: Copy-তে click করো, chat-এর message box-এ click করো, paste করো (Ctrl+V, বা phone-এ চেপে ধরে রাখো), তারপর Enter চাপো।
  • AI-এর উত্তর প্রতিবার একটু আলাদা হয়। তোমার উত্তর example-এর সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখো।
  • শুধু বানানো data ব্যবহার করো। নিজের বা অন্যের ব্যক্তিগত তথ্য chat-এ paste করবে না।

Task ১

স্পষ্ট আর ছোট text-এ AI-র vision পরীক্ষা করো

এটা কেন দরকার

তুমি যখন invoice, ID card বা screenshot পড়ে এমন app বানাবে, তখন জানতে হবে AI কখন image ভালো পড়তে পারে, আর কখন শুধু আন্দাজ করে।

  1. ধাপ ১
    নতুন chat

    এই section-এর "Capability comparison" table টা খুঁজে বের করো। শুধু ওই table-এর screenshot নাও, স্বাভাবিক size-এ। কোনো private data রেখো না। তোমার chat-এ image upload করা যেতে হবে।

    তুমি দেখবে: তোমার computer-এ table-এর একটা পরিষ্কার ছবি। এখনো কিছু পাঠানো হয়নি।

  2. ধাপ ২
    একই chat

    screenshot টা chat-এ attach করো। তারপর এই prompt টা copy করে paste করো, Enter চাপো।

    Prompt
    সংযুক্ত image-টা দেখো। table-টা text-এ copy করো, প্রতি লাইনে একটা row, শব্দ আর চিহ্ন ঠিক যেমন আছে তেমন। copy করার পর যে cell-গুলোর text নিয়ে তুমি নিশ্চিত না, সেগুলোর তালিকা দাও।

    তুমি দেখবে: table-এর text copy: একটা header আর 5টা row। সাধারণত ভুল কম বা নেই, আর অনিশ্চিত cell-এর ছোট একটা list।

    Example উত্তর
    Model | Image | Audio in/out | Video | PDF | Notes
    GPT-4o / GPT-5 | native | input via Whisper, output TTS | frames | via vision | High-quality image reasoning
    Claude 4 | native | input only (transcribe) | frames | via vision | Best on chart/diagram reading
    Gemini 1.5 / 2.5 | native | native in+out | native frames | native | Most natively multimodal
    ...
    যে cell নিয়ে নিশ্চিত না: নেই।

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  3. ধাপ ৩
    নতুন chat

    browser zoom কমিয়ে প্রায় 30% করো। একই table-এর নতুন screenshot নাও। সেটা attach করো, তারপর নিচের একই prompt paste করে Enter চাপো।

    Prompt
    সংযুক্ত image-টা দেখো। table-টা text-এ copy করো, প্রতি লাইনে একটা row, শব্দ আর চিহ্ন ঠিক যেমন আছে তেমন। copy করার পর যে cell-গুলোর text নিয়ে তুমি নিশ্চিত না, সেগুলোর তালিকা দাও।

    তুমি দেখবে: ভুল বেশি: row বাদ পড়া, ভুল শব্দ, বা আন্দাজ করা cell। অনেক chat অনিশ্চিত cell-ও বেশি দেখায়।

    Example উত্তর
    Model | Image | Audio | Video | PDF | Notes
    GPT-4o | native | Whisper | frames | vision | image reasoning
    Claude 4 | native | input only | ? | via vision | chart reading
    Gemini 2.5 | native | native | native | native | multimodal
    ...
    যে cell নিয়ে নিশ্চিত না: Claude 4-এর video, Notes column-এর বেশিরভাগ, শেষ দুটো row।

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  4. ধাপ ৪
    একই chat

    দুটো copy-ই আসল table-এর সাথে মেলাও। প্রতিটা copy-তে কয়টা cell ভুল বা বাদ গেছে, গুনে দুটো সংখ্যা লিখে রাখো।

    তুমি দেখবে: স্পষ্ট screenshot-এ সংখ্যা কম, ছোটটায় বেশি। chat ভেদে সংখ্যা আলাদা হবে।

এইমাত্র কী হলো

AI একটা image-কে অনেকগুলো সংখ্যার তালিকায় (যাদের বলে embedding) বদলে নেয়, আর সেগুলো text-এর মতো পড়ে। ছোট screenshot-এ অক্ষরের জন্য pixel খুব কম, তাই সংখ্যার তালিকায় details থাকে কম, আর AI আন্দাজ করে। আন্দাজও প্রায়ই সঠিক পড়ার মতোই নিশ্চিত শোনায়। invoice বা ID-র মতো নিখুঁত text-এর জন্য OCR tool (image থেকে শুধু text পড়ার জন্য বানানো software) ব্যবহার করো।

কাজ শেষ, যখন তোমার কাছে table-এর দুটো copy আছে, প্রতিটার ভুলের সংখ্যা আছে, আর স্পষ্ট copy-তে ভুল কম।

নিজেকে যাচাই করোimage-এর text ছোট হলে AI খারাপ করে কেন?উত্তর দেখো

image সংখ্যার তালিকায় বদলায়, যেটা AI শব্দের মতো পড়ে। ছোট text-এর details ওই তালিকায় খুব কম থাকে, তাই AI আন্দাজ করে। invoice বা ID-র মতো নিখুঁত text-এর জন্য আলাদা OCR tool বেশি নির্ভরযোগ্য।

আরেকটু কঠিন করে দেখোহাতে লেখা একটা ছোট note-এর ছবি তোলো (বা কাগজে লিখে নাও)। একই prompt দিয়ে পাঠাও, আর দেখো AI কোন শব্দগুলো ভুল পড়ে।

ভিডিও দেখো · ৩টি

09

Embedding model আর reranker model

দুটি বিশেষ ধরনের model। LLM-এর সাথে মিলে এরা retrieval-augmented generation (RAG)-এর স্ট্যান্ডার্ড stack বানায়। Embedding text-কে একটি vector-এ চেপে আনে, যাতে একই অর্থের জিনিস কাছাকাছি থাকে। Reranker cross-attention দিয়ে (query, document) জোড়ার score দেয়, ফলে আরও নিখুঁত ফলাফল মেলে।

অনুশীলন · ১টি task

যেকোনো free AI chat খোলো: ChatGPT · Claude · Gemini

অনুশীলন কীভাবে করবে
  • নতুন chat মানে একদম নতুন কথোপকথন, আগের কোনো history নেই। ChatGPT, Claude বা Gemini-তে New chat-এ click করো। সাধারণত এটা উপরে বাঁ দিকে থাকে।
  • একই chat মানে: যে chat খোলা আছে, সেখানেই লিখতে থাকো। আগে যা পাঠিয়েছ, AI তা মনে রাখে।
  • Prompt ব্যবহার করতে: Copy-তে click করো, chat-এর message box-এ click করো, paste করো (Ctrl+V, বা phone-এ চেপে ধরে রাখো), তারপর Enter চাপো।
  • AI-এর উত্তর প্রতিবার একটু আলাদা হয়। তোমার উত্তর example-এর সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখো।
  • শুধু বানানো data ব্যবহার করো। নিজের বা অন্যের ব্যক্তিগত তথ্য chat-এ paste করবে না।

Task ১

শব্দ না, অর্থ দিয়ে বিচার করো

এটা কেন দরকার

তুমি যখন এমন search box বা support bot বানাবে, যেটা তোমার document থেকে উত্তর খোঁজে, তখন শুধু শব্দ মেলানো যথেষ্ট না। AI-কে এমন document খুঁজতে হবে, যার অর্থ প্রশ্নের অর্থের সাথে মেলে।

  1. ধাপ ১
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো। প্রতিটা pair-এর score দেখো। (prompt টা English-এ রাখা হয়েছে, কারণ bank শব্দের দুটো অর্থ English-এ ধরা পড়ে।)

    Prompt
    Rate how similar the meaning of each pair is, from 0 (unrelated) to 1 (same meaning). Reply with one line per pair: the pair number and the score only.
    
    1. 'How do I reset my password?' / 'Steps to recover access to my account when I forgot my login secret'
    2. 'The bank was flooded after heavy rain.' / 'I deposited money at the bank this morning.'
    3. 'How do I reset my password?' / 'How do I reset my router?'
    4. 'How do I reset my password?' / 'Best street food in Old Dhaka'

    তুমি দেখবে: Pair 1-এ শব্দ কম মিললেও score বেশি। Pair 2 আর 3-এ শব্দ মিললেও score কম। Pair 4-এ প্রায় 0।

    Example উত্তর
    1. 0.92
    2. 0.10
    3. 0.30
    4. 0.00

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  2. ধাপ ২
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো। কোন document সবচেয়ে বেশি score পায়, দেখো।

    Prompt
    প্রশ্ন: 40 দিন পরে কি laptop ফেরত দেওয়া যায়?
    
    Documents:
    D1: box খোলা না হলে delivery-র 14 দিনের মধ্যে laptop ফেরত দেওয়া যায়।
    D2: Laptop deals: এই সপ্তাহে laptop-এ 20% ছাড়, আর প্রতিটা laptop-এ free delivery।
    D3: সাধারণ জিনিস 30 দিনের মধ্যে ফেরত দেওয়া যায়। Electronics-এর সময় এর চেয়ে কম।
    D4: ফেরত পাঠানোর জন্য laptop কীভাবে pack করবে: আসল box ব্যবহার করো আর দুই স্তর tape দাও।
    D5: প্রতিটা laptop-এ 12 মাসের warranty আছে। ত্রুটিপূর্ণ laptop ওই সময়ের মধ্যে যেকোনো সময় মেরামত বা বদল করা যায়।
    
    প্রশ্নের উত্তর দিতে প্রতিটা document কতটা কাজে লাগে, 0 থেকে 10 নম্বর দাও। তারপর document-গুলো সবচেয়ে ভালো থেকে সবচেয়ে খারাপ ক্রমে সাজাও। প্রতিটার জন্য একটা ছোট কারণ লেখো।

    তুমি দেখবে: D1 আর D3 সবচেয়ে বেশি score পায়, কারণ তারা ফেরতের প্রশ্নের উত্তর দেয়। D2 আর D4 কম score পায়।

    Example উত্তর
    D1: 9। ফেরতের সীমা (14 দিন) বলেছে, তাই 40 দিন দেরি হয়ে গেছে।
    D3: 8। বলেছে electronics-এর সময় 30 দিনের চেয়ে কম।
    D5: 4। শুধু laptop ত্রুটিপূর্ণ হলে কাজে লাগে।
    D4: 3। pack করা নিয়ে, সময়ের সীমা নিয়ে না।
    D2: 0। এটা বিজ্ঞাপন, ফেরতের সাথে সম্পর্ক নেই।
    সেরা থেকে খারাপ: D1, D3, D5, D4, D2।

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  3. ধাপ ৩
    একই chat

    যে document-এ laptop শব্দটা সবচেয়ে বেশি আছে (D2), সেটা খুঁজে বের করো। তার score লেখো আর বলো কেন কম।

    তুমি দেখবে: D2-তে laptop তিনবার আছে, তবু score 0 বা তার কাছাকাছি। এটা একটা বিজ্ঞাপন, প্রশ্নের উত্তর দেয় না।

এইমাত্র কী হলো

দুটো text-এ অনেক শব্দ এক হলেও অর্থ আলাদা হতে পারে, যেমন নদীর bank আর টাকার bank। search system প্রথমে দ্রুত একটা পদ্ধতিতে অনেক সম্ভাব্য document বের করে, embedding দিয়ে (সংখ্যার একটা তালিকা, যেটা একই অর্থের জিনিসকে কাছাকাছি রাখে)। তারপর reranker (দ্বিতীয় একটা model, যে প্রশ্ন আর একটা document একসাথে পড়ে) সেরাগুলো বাছে। এখানে তোমার chat AI দুটোর কাজই করেছে, তাই তার score মোটামুটি আন্দাজ।

কাজ শেষ, যখন তোমার কাছে ৪টা pair আর ৫টা document-এর score আছে, আর তুমি বলতে পারো D2 কেন কম পেল।

নিজেকে যাচাই করোsearch system কেন আগে embedding ধাপ আর পরে reranker ব্যবহার করে?উত্তর দেখো

embedding প্রতিটা text-এর জন্য একবারই বানানো হয়, তাই system লাখ লাখ text খুব দ্রুত খুঁজতে পারে, কিন্তু মিলটা কম নিখুঁত। reranker প্রশ্ন আর একটা document একসাথে পড়ে, তাই বেশি নিখুঁত কিন্তু ধীর। তাই সে শুধু সেরা কয়েকটা document আবার score করে।

আরেকটু কঠিন করে দেখোএকটা D6 document যোগ করো, যেটা প্রশ্নের নিখুঁত উত্তর দেয় কিন্তু আলাদা শব্দ ব্যবহার করে: অনলাইনে কেনা জিনিস পৌঁছানোর দুই সপ্তাহ পর্যন্ত refund-এর জন্য ফেরত পাঠানো যায়। এটা কোথায় rank করে?

ভিডিও দেখো · ৪টি

10

Reasoning model আর extended thinking

নতুন ধরনের model, যাদের শেখানো হয়েছে কঠিন সমস্যায় inference-এর সময় বেশি compute খরচ করতে। সাথে সাথে উত্তর না দিয়ে এরা ভেতরে একটি চিন্তার ধারা (“thinking token”) লেখে, তারপর চূড়ান্ত উত্তর দেয়। GPT-4-এর পর এটাই সবচেয়ে গুরুত্বপূর্ণ সক্ষমতার পরিবর্তন।

অনুশীলন · ১টি task

যেকোনো free AI chat খোলো: ChatGPT · Claude · Gemini

অনুশীলন কীভাবে করবে
  • নতুন chat মানে একদম নতুন কথোপকথন, আগের কোনো history নেই। ChatGPT, Claude বা Gemini-তে New chat-এ click করো। সাধারণত এটা উপরে বাঁ দিকে থাকে।
  • একই chat মানে: যে chat খোলা আছে, সেখানেই লিখতে থাকো। আগে যা পাঠিয়েছ, AI তা মনে রাখে।
  • Prompt ব্যবহার করতে: Copy-তে click করো, chat-এর message box-এ click করো, paste করো (Ctrl+V, বা phone-এ চেপে ধরে রাখো), তারপর Enter চাপো।
  • AI-এর উত্তর প্রতিবার একটু আলাদা হয়। তোমার উত্তর example-এর সাথে হুবহু মিলতে হবে না। একই ধারণা আছে কি না, সেটা দেখো।
  • শুধু বানানো data ব্যবহার করো। নিজের বা অন্যের ব্যক্তিগত তথ্য chat-এ paste করবে না।

Task ১

দ্রুত উত্তর আর ধাপে ধাপে ভাবার তুলনা করো

এটা কেন দরকার

AI feature বানানোর সময় ধাপে ধাপে ভাবলে কঠিন সমস্যায় ভুল উত্তর ঠিক হতে পারে। কিন্তু সহজ প্রশ্নে এতে শুধু খরচ আর অপেক্ষা বাড়ে। কোনটা কখন, সেটা তোমার জানা দরকার।

  1. ধাপ ১
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো। টাকার অঙ্কটা লিখে রাখো।

    Prompt
    একটা bakery 8টা tray-তে প্রতিটায় 25টা করে bun বানায়। সব bun-এর 12% পুড়ে যায়, আর ফেলে দেওয়া হয়। বাকিগুলো 6টার পুরো box-এ বিক্রি হয়, প্রতি box $4.50 দামে। যে bun দিয়ে একটা box পূর্ণ হয় না, সেগুলো বিনা পয়সায় দিয়ে দেওয়া হয়। bakery মোট কত টাকা আয় করে? শুধু শেষ অঙ্কটা লেখো। কোনো হিসাব দেখিও না।

    তুমি দেখবে: শুধু টাকার একটা অঙ্ক, কোনো হিসাব ছাড়া। অনেক আধুনিক chat ঠিক উত্তর দেয়। হিসাব না দেখালে ভুল অঙ্ক আসার সম্ভাবনা বেশি।

    Example উত্তর
    $130.50

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  2. ধাপ ২
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো। উত্তরটা ধাপ 1-এর সাথে মেলাও, আর কত লম্বা হলো দেখো।

    Prompt
    একটা bakery 8টা tray-তে প্রতিটায় 25টা করে bun বানায়। সব bun-এর 12% পুড়ে যায়, আর ফেলে দেওয়া হয়। বাকিগুলো 6টার পুরো box-এ বিক্রি হয়, প্রতি box $4.50 দামে। যে bun দিয়ে একটা box পূর্ণ হয় না, সেগুলো বিনা পয়সায় দিয়ে দেওয়া হয়। bakery মোট কত টাকা আয় করে? ধাপে ধাপে ভাবো। তারপর শেষ লাইনটা এভাবে লেখো: Answer: $amount

    তুমি দেখবে: ধাপের একটা তালিকা (200 bun, 24 পোড়া, 176 বাকি, 29 পুরো box), তারপর Answer: $130.50। এটা ধাপ 1-এর চেয়ে অনেক লম্বা।

    Example উত্তর
    ধাপ 1: মোট bun = 8 x 25 = 200।
    ধাপ 2: পোড়া bun = 200-এর 12% = 24।
    ধাপ 3: বাকি bun = 200 - 24 = 176।
    ধাপ 4: পুরো box = 176 / 6 = 29টা (29 x 6 = 174), আর 2টা bun বাড়তি, সেগুলো বিনা পয়সায় যায়।
    ধাপ 5: আয় = 29 x $4.50 = $130.50।
    Answer: $130.50

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  3. ধাপ ৩
    নতুন chat

    এই prompt টা copy করো, paste করে Enter চাপো। এত সহজ প্রশ্নের জন্য কতটা text ফেরত এলো, খেয়াল করো।

    Prompt
    ধাপে ধাপে ভাবো, তারপর উত্তর দাও: জাপানের রাজধানী কী?

    তুমি দেখবে: প্রায়ই একটা এক-শব্দের প্রশ্নের জন্য কয়েক লাইনের ধাপ, উত্তর যেমন টোকিও। এটা বাড়তি কাজ, যেটা দরকার ছিল না।

    Example উত্তর
    ধাপ 1: প্রশ্নে জাপানের রাজধানী শহর জানতে চাওয়া হয়েছে।
    ধাপ 2: জাপানের সরকার আর সম্রাট টোকিওতে থাকেন।
    ধাপ 3: তাই রাজধানী টোকিও।
    Answer: টোকিও

    তোমার উত্তরের ভাষা একটু আলাদা হবে।

  4. ধাপ ৪
    একই chat

    এবার calculator দিয়ে নিজে হিসাবটা করো। শুরু করো 8 x 25 দিয়ে। তোমার শেষ অঙ্ক ধাপ 1 আর 2-এর অঙ্কের সাথে মেলাও।

    তুমি দেখবে: তোমার উত্তর $130.50। ধাপ 1-এ অন্য অঙ্ক এলে দ্রুত উত্তরটা ভুল ছিল।

এইমাত্র কী হলো

ধাপ 2-এ AI আগে তার ভাবনা লিখেছে, তাই প্রতিটা ছোট ধাপ সহজ ছিল আর তুমি সেগুলো মিলিয়ে দেখতে পেরেছ। এটাই reasoning model-এর ধারণা (যে model শেষ উত্তরের আগে অনেক ভাবনার শব্দ লেখে)। ভাবনা লিখতে বেশি শব্দ লাগে, তাই খরচ আর সময়ও বেশি লাগে। বহু ধাপের সমস্যায় এটা কাজে লাগে, কিন্তু "জাপানের রাজধানী"-তে শুধু শব্দ নষ্ট হলো।

কাজ শেষ, যখন তোমার কাছে bakery-র দুটো উত্তর আছে, আর calculator থেকে পাওয়া সঠিক অঙ্ক $130.50।

নিজেকে যাচাই করোreasoning model কেন 5 থেকে 50 গুণ বেশি token ব্যবহার করে, আর কখন সেটা সার্থক?উত্তর দেখো

শেষ উত্তরের আগে তারা thinking token লেখে, তাই প্রতিটা প্রশ্নে বেশি compute খরচ হয়। কঠিন অঙ্ক, code আর planning-এ এটা কাজে লাগে। এতে খরচ আর অপেক্ষা বাড়ে, তাই সহজ chat বা তথ্য বের করার কাজে সাধারণ model ভালো।

আরেকটু কঠিন করে দেখোতোমার chat-এ Think বা Reasoning mode থাকলে সেটা চালু করো, আর নতুন chat-এ ধাপ 1-এর prompt আবার পাঠাও। উত্তর কি বদলায়? সময় কি বেশি লাগে?

ভিডিও দেখো · ৩টি

তথ্যসূত্র

Sources

সব citation মূল paper (arXiv), vendor-এর docs (OpenAI, Anthropic, Google) বা official team blog-এ যায়। প্রতিটি পাতা খুলে citation-এর তথ্য যাচাই করা হয়েছে।

  1. [1]Brown et al., "Language Models are Few-Shot Learners" — GPT-3 (NeurIPS 2020)
  2. [2]Touvron et al., "Llama 2: Open Foundation and Fine-Tuned Chat Models" — Meta AI, 2023
  3. [3]Dubey et al., "The Llama 3 Herd of Models" — Meta AI, 2024
  4. [4]Jiang et al., "Mistral 7B" — Mistral AI, 2023
  5. [5]Jiang et al., "Mixtral of Experts" — Mistral AI, 2024
  6. [6]DeepSeek-AI, "DeepSeek-V3 Technical Report" — 2024
  7. [7]Guo et al., "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning" — 2025
  8. [8]Qwen Team, "Qwen2.5 Technical Report" — Alibaba, 2024
  9. [9]Qwen Team, "Qwen3 Technical Report" — Alibaba, 2025
  10. [10]Gemini Team, "Gemini: A Family of Highly Capable Multimodal Models" — Google DeepMind, 2023
  11. [11]Gemini Team, "Gemini 1.5: Unlocking multimodal understanding across millions of tokens of context" — 2024
  12. [12]Gemini Team, "Gemini 2.5: Pushing the Frontier with Advanced Reasoning, Multimodality, Long Context, and Next Generation Agentic Capabilities" — 2025
  13. [13]OpenAI, "OpenAI o1 System Card" — 2024
  14. [14]OpenAI, "GPT-4 Technical Report" — 2023
  15. [15]Sennrich et al., "Neural Machine Translation of Rare Words with Subword Units" — BPE paper, 2016
  16. [16]Kudo & Richardson, "SentencePiece: A simple and language independent subword tokenizer" — 2018
  17. [17]Patil et al., "Gorilla: Large Language Model Connected with Massive APIs" — Berkeley, 2023
  18. [18]Schick et al., "Toolformer: Language Models Can Teach Themselves to Use Tools" — Meta AI, 2023
  19. [19]Gao et al., "Efficient Tool Use with Chain-of-Abstraction Reasoning" — 2024
  20. [21]Wang et al., "Text Embeddings by Weakly-Supervised Contrastive Pre-training" (E5) — 2022
  21. [22]Santhanam et al., "ColBERTv2: Effective and Efficient Retrieval via Lightweight Late Interaction" — 2022
  22. [24]Lightman et al., "Let's Verify Step by Step" — process reward models, OpenAI, 2023
  23. [25]Bai et al., "Constitutional AI: Harmlessness from AI Feedback" — Anthropic, 2022
  24. [26]OpenAI — Structured Outputs documentation (JSON mode / schema-constrained decoding)
  25. [27]Anthropic — Tool use / function calling documentation
  26. [28]Qwen Team — Qwen3 blog announcement (May 2025)