রোডম্যাপ
PHASE 5 · অধ্যায় 25

জিপিটি মডেল

GPT Models

Generative power — ChatGPT-এর পেছনের technology।

ভূমিকা

BERT যেখানে বুঝতে পারে, GPT সেখানে লিখতে পারে। OpenAI এর GPT family (GPT-1 → GPT-4) সম্পূর্ণ revolution এনেছে — ChatGPT এর behind এ এই decoder-only transformer। শুধু 'next word predict' task এ massive data এ train করে, একটা model পারে translation, summarization, coding, reasoning — সব।

ধারণা

GPT (Generative Pre-trained Transformer) একটি decoder-only transformer যা causal language modeling এ train — input হিসেবে token sequence, output হিসেবে পরের token predict। Causal mask দিয়ে future token দেখা বন্ধ। Scale বাড়লে (parameters, data, compute) — emergent ability দেখা যায় (few-shot learning, chain-of-thought)।

সহজ ব্যাখ্যা

ভাবুন একজন writer — সে এক শব্দ লেখে, তারপর সেটা সহ পুরো লেখা পড়ে পরের শব্দ ভাবে, এভাবে চলতে থাকে। GPT ও তাই — autoregressive generation। 'The capital of France is ___' দিলে probability distribution দেয়, সেখান থেকে sample বা greedy pick করে 'Paris', তারপর সেটা সহ আবার generate। Scale করলে এই simple objective থেকে reasoning emerge করে।

বাস্তব ব্যবহার

  • ChatGPT, GPT-4, Claude, Gemini, LLaMA — সব decoder-only।
  • Code generation — Copilot, Cursor।
  • Content writing — blog, email, marketing।
  • Chatbot, customer support automation।
  • Reasoning, math, code — agentic systems।

ধাপে ধাপে বিশ্লেষণ

1
Step 1 — Tokenize
BPE tokenizer দিয়ে text → token id।
2
Step 2 — Forward pass
Causal masked self-attention, prev token only।
3
Step 3 — Logits
Final hidden → vocab logits।
4
Step 4 — Sample/Decode
Greedy, top-k, top-p (nucleus), temperature।
5
Step 5 — Loop
Generated token append, আবার forward, EOS পর্যন্ত।

Python কোড

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")
model.eval()

prompt = "Natural language processing is"
inputs = tokenizer(prompt, return_tensors="pt")

with torch.no_grad():
    output = model.generate(
        **inputs,
        max_new_tokens=40,
        do_sample=True,
        top_k=50,
        top_p=0.95,
        temperature=0.8,
        pad_token_id=tokenizer.eos_token_id,
    )

generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_text)
ব্যাখ্যা

AutoModelForCausalLM GPT-2 (decoder-only) load করে। model.generate() autoregressive generation handle করে — top_k 50টা most likely token থেকে, top_p 95% cumulative probability mass থেকে sample। temperature 0.8 দিয়ে randomness control (1.0 = neutral, <1 = focused, >1 = creative)।

সাধারণ ভুল

  • Temperature 0 দিয়ে creative writing চাওয়া — সব deterministic, boring।
  • max_new_tokens খুব বড় — model rambling করতে থাকে।
  • Pad token না দিলে warning/error।
  • প্রতিটা generation এ random seed না set করা — reproducibility নষ্ট।

অনুশীলন

  1. gpt2-medium দিয়ে story generate, top-p vs greedy compare।
  2. Temperature 0.2, 0.7, 1.3 — তিনটায় same prompt চালিয়ে output দেখুন।
  3. Custom prompt template বানান — few-shot example দিয়ে।
  4. Beam search vs sampling — quality difference observe।

ছোট প্রজেক্ট

AI Story Generator CLI

একটা command-line tool যা user prompt নেয়, GPT-2 দিয়ে story generate করে (configurable length, temperature, top-p), এবং final output সুন্দর করে print করে। Multiple variation generate করার option রাখুন।

সারাংশ

  • GPT = decoder-only transformer, causal LM।
  • Autoregressive — এক token, পরের predict, loop।
  • Scale = parameters + data + compute → emergent ability।
  • Sampling: greedy, top-k, top-p, temperature।
  • ChatGPT, Claude, Gemini — সব এই family এর।