CH 2Phase 0 · Mathematical Mindset Foundation

Number System Fundamentals

সংখ্যা পদ্ধতির ভিত্তি

১৫–২৫ মিনিট বাংলা · Math · Python
📖 একটি ছোট গল্প

কল্পনা করুন — একজন শেফ রান্না শিখতে এসেছেন কিন্তু তিনি জানেন না "১ চা চামচ" আর "১ কাপ"-এর পার্থক্য কী। তিনি যতই দামি recipe পড়ুন, রান্না কখনো ঠিক হবে না। AI-তেও ঠিক একই কথা — neural network, transformer, diffusion model — এগুলোর প্রতিটি formula দাঁড়িয়ে আছে সংখ্যার উপর

কোন সংখ্যা কোথায় বসে, কোনটা কতটুকু "ছোট" বা "বড়", computer-এ সেগুলো কীভাবে সংরক্ষিত হয় — এই foundation ছাড়া পরের সব অধ্যায় কাগজের ঘর।

Intuitive Explanation

AI-তে আমরা যে data নিয়ে কাজ করি — image-এর pixel, audio-র amplitude, text-এর token id, model-এর weight — সব শেষ পর্যন্ত সংখ্যা। তাই সংখ্যা পদ্ধতি বোঝা মানে AI-এর "বর্ণমালা" শেখা।

চারটি প্রশ্ন মাথায় রাখুন এই পুরো অধ্যায় জুড়ে:

  • সংখ্যা কত রকমের হতে পারে? (ℕ, ℤ, ℚ, ℝ)
  • খুব বড় বা খুব ছোট সংখ্যা কীভাবে লিখি? (exponent, scientific notation)
  • "কতবার গুণ করলে এই সংখ্যা পাবো" — সেটা মাপি কীভাবে? (logarithm)
  • Computer এই সংখ্যা সংরক্ষণ করে কীভাবে? (float32, float16, int8)

সংখ্যার প্রকারভেদ

৪টি মূল set

  • ℕ — Natural numbers: 1, 2, 3, … (counting) — token id, batch size, epoch count
  • ℤ — Integers: …, −2, −1, 0, 1, 2, … — class label, index offset
  • ℚ — Rationals: p/q আকারে লেখা যায় — 1/2, 3/4, 0.25
  • ℝ — Real numbers: rational + irrational (π, √2, e) — model-এর প্রতিটি weight
💡 ইনসাইট
ML-এ ৯৯% সংখ্যা -এ থাকে, কিন্তু computer-এ সেটা approximate করে রাখা হয় floating point দিয়ে। এই approximation থেকেই আসে famous "numerical instability"।

Exponents & Powers

Exponent হলো বারবার গুণ করার short-hand:

an = a × a × a × … (n বার)

৫টি অপরিহার্য নিয়ম

am · an = am+n
am / an = am−n
(am)n = am·n
a0 = 1, a−n = 1 / an
a1/n = ⁿ√a
✨ টিপ
AI-তে আপনি প্রতিদিন দেখবেন: ex (softmax-এ), 2n (binary, attention head),10−4 (learning rate)। এই নিয়মগুলো না জানলে formula অর্ধেক বুঝবেন।

Scientific Notation

GPT-3-এর parameter সংখ্যা = 175,000,000,000। এত শূন্য কে গুণে? তাই আমরা লিখি:

1.75 × 1011

সাধারণ pattern: a × 10n, যেখানে 1 ≤ |a| < 10

  • Learning rate: 3 × 10−4 (Karpathy-র famous "best lr")
  • Dataset size: 1.2 × 1012 tokens
  • Float32-এর smallest positive: ≈ 1.18 × 10−38

Logarithms — গণিতের সবচেয়ে কাজের অস্ত্র

Logarithm হলো exponent-এর বিপরীত প্রশ্ন:

যদি ax = b, তবে loga(b) = x

উদাহরণ: log2(8) = 3, কারণ 23 = 8

৩টি বিশেষ base

  • log2 — information theory, bits, entropy
  • log10 — decibel, scale
  • ln = loge — calculus, cross-entropy loss, softmax

৪টি অপরিহার্য নিয়ম

log(a·b) = log(a) + log(b)
log(a/b) = log(a) − log(b)
log(an) = n · log(a)
loga(b) = ln(b) / ln(a) (change of base)
💡 কেন AI-তে log এত গুরুত্বপূর্ণ?
ML-এ probability সংখ্যা অনেক ছোট হয় (যেমন 10−40)। সরাসরি গুণ করলে computer-এ "underflow" হয়ে 0 হয়ে যায়। তাই আমরা log নিই — গুণ পরিণত হয় যোগে, ছোট সংখ্যা পরিণত হয় manageable negative সংখ্যায়। এজন্যই log-likelihood, cross-entropy loss এত জনপ্রিয়।

Computer-এ সংখ্যা: Float32, Float16, Int8

Computer-এর memory-তে real number হুবহু রাখা যায় না — তাই IEEE 754 standard ব্যবহার করে approximate করে রাখা হয়।

  • float32 (FP32) — 32 bit, ~7 decimal digit precision। default training type।
  • float16 (FP16) / bfloat16 — 16 bit, কম precision কিন্তু দ্রুত ও কম memory। modern LLM training।
  • int8 — 8 bit integer, inference-এ quantization-এর জন্য (4× ছোট, 2-4× দ্রুত)।
⚠️ সতর্কতা
Precision কমালে দুটো জিনিস ঘটে — speed বাড়ে, কিন্তু numerical error-ও বাড়ে। তাই LLM training-এ "mixed precision" (FP16 forward + FP32 master weights) ব্যবহার করা হয়।

Python Implementation

হাতে-কলমে দেখি — exponent, log, এবং precision।

pythonPython · NumPy
import math
import numpy as np

# 1) Exponent & log are inverses
x = 5.0
print(math.log(math.exp(x)))   # -> 5.0
print(math.exp(math.log(x)))   # -> 5.0

# 2) Why we use log in ML: avoid underflow
probs = [1e-20, 2e-25, 3e-30, 5e-18]
prod  = 1.0
for p in probs:
    prod *= p
print("direct product:", prod)        # -> 0.0 (underflow!)

log_sum = sum(math.log(p) for p in probs)
print("log of product:", log_sum)     # -> a normal negative number

# 3) Float precision matters
a = np.float32(0.1) + np.float32(0.2)
b = np.float64(0.1) + np.float64(0.2)
print(a, b, a == 0.3, b == 0.3)       # neither equals 0.3 exactly

# 4) Scientific notation
lr = 3e-4          # 3 x 10^-4  — common learning rate
params = 1.75e11   # GPT-3 parameter count
print(lr, params)

মূল শিক্ষা

  1. explog পরস্পরের বিপরীত — একটা অন্যটাকে cancel করে।
  2. খুব ছোট probability সরাসরি গুণ করলে underflow হয় → তাই log
  3. Float-এ 0.1 + 0.2 ≠ 0.3 — এটা bug নয়, এটা hardware।

AI/ML-এ সরাসরি যেখানে লাগে

  • Softmax: exi / Σ exj — exponent ছাড়া অসম্ভব।
  • Cross-entropy loss: −Σ y · log(ŷ) — log-এর সরাসরি প্রয়োগ।
  • Learning rate schedule: lrt = lr0 · γt — exponential decay।
  • Perplexity: 2H — log-এর বিপরীত যাত্রা।
  • Quantization: float32 → int8 — number representation-এর সরাসরি প্রয়োগ।

Common Mistakes

  • log(0) = −∞ — তাই code-এ সবসময় log(x + ε) লিখি (ε ≈ 1e−9)।
  • log(a + b) ≠ log(a) + log(b) — এটা শুধু গুণের জন্য।
  • Float32-এ equality check (a == b) — সবসময় |a − b| < ε দিয়ে compare করুন।
  • Learning rate 0.0003 না লিখে 3e-4 লিখতে অভ্যস্ত হোন — কম ভুল হবে।

Practice Tasks

  1. হাতে হিসাব করুন: log2(1024), log10(0.001), ln(e5)
  2. Scientific notation-এ লিখুন: 0.0000042, 9,200,000,000।
  3. Python-এ verify করুন: log(8) / log(2) = 3
  4. একটি list-এ ১০০টি 0.01 probability-র গুণফল বের করুন — direct ও log উভয়ে। পার্থক্য দেখুন।

Assignment

একটি ছোট Python script লিখুন যা ব্যবহারকারী থেকে দুটি সংখ্যা a, b নেবে এবং print করবে: a+b, a−b, a·b, a/b, ab, loga(b)। Edge case সামলান (b=0, a≤0 etc.)।

Interview Questions

  1. ML loss function-এ log কেন ব্যবহার হয়?
  2. FP16 ও FP32-এর tradeoff কী?
  3. Softmax-এ exponent কেন? সরাসরি probability নিলে কী সমস্যা?
  4. Underflow ও overflow কী, কীভাবে এড়ান?

Mini Project

Project: "Numeric Stability Visualizer"।

একটি script বানান যেটি দেখায় — n=10, 50, 100, 500 probability (প্রত্যেকে 0.01) গুণ করলে direct method কখন 0 হয়ে যায়, আর log method কীভাবে stable থাকে। matplotlib দিয়ে graph আঁকুন: x-axis = n, y-axis = log(product)।

Summary · সারসংক্ষেপ

  • সংখ্যার চারটি জগৎ — ℕ, ℤ, ℚ, ℝ। AI মূলত ℝ-এ কাজ করে।
  • Exponent বারবার গুণের short-hand, log তার বিপরীত প্রশ্ন।
  • Log গুণকে যোগে পরিণত করে — তাই ML-এ underflow এড়াতে অপরিহার্য।
  • Float32/16/Int8 — speed ও precision-এর tradeoff।
  • Softmax, cross-entropy, perplexity, lr schedule — সব এই অধ্যায়ের ভিত্তির উপর দাঁড়িয়ে।
✨ পরবর্তী পদক্ষেপ
Chapter 3-এ আমরা Algebra-র foundation দেখব — variable, function, equation — যা ছাড়া y = f(x; θ)-র অর্থই বোঝা যায় না।