ট্রান্সফরমার থেকে মাম্বা: এআই আর্কিটেকচারের বিবর্তনের গল্প
২০১৭ সালে যখন অরিজিনাল ট্রান্সফরমার এল, তখন এর মূল লক্ষ্য ছিল শুধু 'মেশিন ট্রান্সলেশন' বা এক ভাষা থেকে অন্য ভাষায় অনুবাদ করা। কিন্তু ২০১৮-২০১৯ সালের দিকে গবেষকরা বুঝতে পারলেন, এই মডেলের ভেতরে ভাষা শেখার যে অসাধারণ ক্ষমতা তৈরি হয়েছে, তাকে শুধু অনুবাদের কাজে আটকে রাখা বোকামি। তারা ভাবলেন, "আমরা যদি এই মডেলকে দিয়ে আগে থেকেই পুরো ইন্টারনেট পড়িয়ে রাখি (Pre-training), আর তারপর ছোটখাটো কাজগুলো করতে বলি (Fine-tuning), তাহলে কেমন হয়?"
এখান থেকেই জন্ম নিল 'ফাউন্ডেশন মডেল' (Foundation Models)-এর ধারণা। অর্থাৎ, এমন একটি বিশাল মডেল যা ভাষার একদম নাড়িনক্ষত্র বোঝে, এবং তাকে ভিত্তি বা ফাউন্ডেশন হিসেবে ধরে যেকোনো এআই-এর কাজ করানো যায়।
চলো এই যুগের সবচেয়ে যুগান্তকারী তিনটি মডেল নিয়ে বিস্তারিত আলোচনা করি:
ক) BERT (Bidirectional Encoder Representations from Transformers): ভাষা বোঝার রাজা
অরিজিনাল ট্রান্সফরমারে দুটি অংশ ছিল: এনকোডার (যে ইনপুট পড়ে) এবং ডিকোডার (যে আউটপুট দেয়)। ২০১৮ সালে গুগল ভাবল, "আমাদের তো ট্রান্সলেট করার দরকার নেই, আমাদের দরকার ভাষাকে গভীরভাবে বোঝা। তাহলে ডিকোডার বাদ দিয়ে শুধু এনকোডারকে আরও শক্তিশালী করলে কেমন হয়?" এভাবেই জন্ম নিল BERT।
এটি কীভাবে কাজ করে?
(Bidirectional & Masked Language Modeling) আগের মডেলগুলো যেকোনো বাক্য পড়ত একমুখীভাবে—হয় বাম থেকে ডানে, নাহয় ডান থেকে বামে। কিন্তু BERT একসাথে দুই দিক থেকেই পড়ে। একে বলা হয় বাইডিরেকশনাল (Bidirectional)।
বার্টকে ট্রেনিং করানোর জন্য গুগল মজার একটি খেলা খেলল, যার নাম 'Masked Language Modeling (MLM)' বা শূন্যস্থান পূরণ।
ধরো, একটি বাক্য হলো: "আমি আজ সকালে নদীর [MASK] বসে ছিলাম।"
BERT-কে বলা হলো এই লুকানো শব্দটি খুঁজে বের করতে। সে ডান দিকের শব্দ (বসে ছিলাম) এবং বাম দিকের শব্দ (নদীর) বিশ্লেষণ করে বুঝবে যে এখানে "তীরে" বা "পাড়ে" শব্দটি বসবে।
"Bank" শব্দের দুটি অর্থ হতে পারে—নদীর তীর অথবা টাকা জমানোর জায়গা।
যখন বলা হয় "I went to the bank to deposit money", তখন BERT 'deposit' এবং 'money' শব্দ দুটি দেখে বুঝতে পারে এটি কোনো নদীর পাড় নয়, বরং আর্থিক প্রতিষ্ঠান।
BERT যখন গুগলের সার্চ ইঞ্জিনে যুক্ত হলো, তখন সার্চ ইঞ্জিন আক্ষরিক অর্থের বদলে মানুষের খোঁজার 'উদ্দেশ্য' (Intent) বুঝতে শুরু করল। এটি এআই-এর ন্যাচারাল ল্যাঙ্গুয়েজ আন্ডারস্ট্যান্ডিং (NLU)-এ এক বিশাল ধাপ ছিল।
খ) GPT সিরিজ (Generative Pre-trained Transformer): গল্প বলার জাদুকর
গুগল যখন এনকোডার নিয়ে ব্যস্ত, তখন ওপেনএআই (OpenAI) ট্রান্সফরমারের অন্য অংশ অর্থাৎ 'ডিকোডার' (Decoder) নিয়ে কাজ শুরু করল। তাদের লক্ষ্য ছিল ভাষাকে শুধু বোঝা নয়, বরং নতুন ভাষা তৈরি করা (Generation)।
এটি কীভাবে কাজ করে? (Autoregressive Next-Word Prediction) GPT কাজ করে অটো-রিগ্রেসিভ (Autoregressive) পদ্ধতিতে। এর মানে হলো, এটি বাম থেকে ডানে পড়ে এবং আগের শব্দগুলো দেখে ঠিক তার পরের শব্দটি কী হতে পারে তা অনুমান করে।
তোমার স্মার্টফোনের কিবোর্ডে যেমন 'Predictive text' থাকে, তুমি "How are" লিখলে সে নিজে থেকেই "you" সাজেশন দেয়। GPT হলো এই প্রযুক্তিরই সবচেয়ে দানবীয় এবং বুদ্ধিমান ভার্সন।
তুমি যদি GPT-কে দাও: "এক দেশে ছিল এক..." সে তার বিশাল নলেজবেস থেকে হিসাব করবে যে এরপর "রাজা" শব্দটি আসার সম্ভাবনা সবচেয়ে বেশি।
এরপর সে হিসাব করবে "এক দেশে ছিল এক রাজা, তার ছিল এক..." এরপর হয়তো সে "রানী" বা "রাজকন্যা" বসাবে। এভাবেই সে একটার পর একটা শব্দ জোড়া লাগিয়ে বিশাল প্রবন্ধ, গল্প বা কোড লিখে ফেলতে পারে।
GPT প্রমাণ করল যে, একটি ডিকোডার মডেলকে যদি বিশাল পরিমাণ ডেটা দিয়ে বড় স্কেলে (Scale) ট্রেইন করা যায়, তবে সে 'জিরো-শট' (Zero-shot) লার্নিং করতে পারে। অর্থাৎ, তাকে আলাদা করে অনুবাদ করতে বা সামারি লিখতে শেখাতে হয় না। শুধু প্রম্পট দিলেই সে বুঝতে পারে তাকে কী করতে হবে। আজকের ChatGPT-এর ভিত্তিপ্রস্তর এখানেই স্থাপিত হয়েছিল।
গ) Transformer-XL: স্মৃতিশক্তি বাড়ানোর প্রথম সফল চেষ্টা
BERT এবং GPT ভাষার জগতে রাজত্ব করলেও, অরিজিনাল ট্রান্সফরমারের একটি বড় জন্মগত ত্রুটি তাদের মধ্যেও ছিল। সেটি হলো 'ফিক্সড কনটেক্সট উইন্ডো' (Fixed Context Window)। শুরুতে একটি ট্রান্সফরমার একসাথে মাত্র ৫১২টি টোকেন বা শব্দ প্রসেস করতে পারত। এর চেয়ে বড় প্যারাগ্রাফ দিলে সে আগের কথা ভুলে যেত।
ধরো, তুমি একটি থ্রিলার নভেল পড়ছ। কিন্তু তোমার ব্রেইনের মেমোরি মাত্র এক পৃষ্ঠার। তুমি যখন ২ নম্বর পৃষ্ঠায় যাবে, তখন ১ নম্বর পৃষ্ঠায় কী পড়েছিলে তা পুরোপুরি ভুলে যাবে। এভাবে কি গোয়েন্দা গল্প পড়ে খুনি বের করা সম্ভব? ট্রান্সফরমারের অবস্থাও ছিল ঠিক এমন।
Transformer-XL কীভাবে সমাধান করল? গবেষকরা এতে 'সেগমেন্ট-লেভেল রেকারেন্স' (Segment-level recurrence) নামের একটি পদ্ধতি যুক্ত করলেন।
তুমি যখন বইয়ের ২ নম্বর পৃষ্ঠা পড়ছ, তখন ১ নম্বর পৃষ্ঠার প্রতিটি লাইন তোমার মনে রাখার দরকার নেই। কিন্তু ১ নম্বর পৃষ্ঠার মূল থিম বা সারাংশটা তুমি মাথার এক কোণায় রেখে দাও (Cache)। Transformer-XL ঠিক এই কাজটিই করল। সে একটি সেগমেন্ট প্রসেস করার পর তার হিডেন স্টেটগুলো (Hidden states) মুছে না ফেলে, ক্যাশ মেমোরিতে রেখে দিল। পরের সেগমেন্ট প্রসেস করার সময় সে ওই ক্যাশ থেকে আগের কনটেক্সট মনে করতে শুরু করল।
এটি লম্বা ডকুমেন্ট, বই বা বিশাল কোডবেস পড়ার ক্ষেত্রে এআই-এর সীমাবদ্ধতা ভাঙার প্রথম এবং অন্যতম গুরুত্বপূর্ণ একটি ধাপ ছিল।
BERT, GPT আর Transformer-XL এর সাফল্যের পর এআই দুনিয়ায় যেন উৎসব শুরু হয়ে গেল। কিন্তু এই হানিমুন পিরিয়ড খুব বেশিদিন স্থায়ী হলো না। গবেষকরা যখন ট্রান্সফরমারকে দিয়ে পুরো আস্ত একটা বই, বিশাল কোনো কোডবেস অথবা লম্বা লিগ্যাল ডকুমেন্ট পড়ানোর চেষ্টা করলেন, তখন তাদের ল্যাবের দামি জিপিইউ (GPU) গুলো ধোঁয়া ছেড়ে বন্ধ হতে শুরু করল! স্ক্রিনে ভেসে উঠল সেই ভয়ংকর মেসেজ— "Out of Memory (OOM)"।
কেন এমন হলো? এর পেছনের কালপ্রিট হলো ট্রান্সফরমারের সবচেয়ে বড় সুপারপাওয়ার এবং একই সাথে তার সবচেয়ে বড় দুর্বলতা—Self-Attention এর কমপ্লেক্সিটি (Quadratic Complexity)।
চলো একজন প্রবলেম সলভারের চোখে দেখি, সমস্যাটা আসলে কোথায় ছিল এবং বিজ্ঞানীরা কীভাবে এর সমাধান করলেন।
মূল সমস্যা: "সবার সাথে সবার হাত মেলানো" বা বটলনেক
ট্রান্সফরমার যখন কোনো বাক্য পড়ে, তখন বাক্যের প্রতিটি শব্দকে অন্য প্রতিটি শব্দের সাথে তুলনা করে দেখতে হয় কার সাথে কার সম্পর্ক কতটুকু।
ধরো, তুমি একটা বিয়ের দাওয়াতে গেছ। নিয়ম হলো, সেখানে থাকা সবাইকে সবার সাথে হাত মেলাতে হবে। পার্টিতে যদি ১০ জন থাকে, তবে হাত মেলানো হবে ৪৫ বার। কিন্তু পার্টিতে যদি ১০০০ জন থাকে? তখন হাত মেলানো হবে প্রায় ৫ লাখ বার!
ইনপুট শব্দের সংখ্যা (n) যদি দ্বিগুণ হয়, তবে ট্রান্সফরমারের মেমোরি এবং কম্পিউটেশনাল খরচ বাড়ে চারগুণ ()। ৫০০ শব্দের জন্য যে মেমোরি লাগে, ৫০০০ শব্দের জন্য তার ১০০ গুণ মেমোরি লাগবে!
এই বিশাল খরচ কমানোর জন্য গবেষকরা তিন ভাগে বিভক্ত হয়ে তিন ধরনের সমাধান বের করলেন। শুরু হলো The Efficiency Era বা মেমোরি বাঁচানোর যুগ।
১. স্পার্সিটি এবং অ্যাপ্রক্সিমেশন (Linformer, Reformer)
একদল গবেষক ভাবলেন, আচ্ছা, পার্টিতে কি আসলেই সবার সাথে সবার হাত মেলানোর দরকার আছে?
ক) Linformer (অ্যাপ্রক্সিমেশন):
গবেষকরা প্রমাণ করলেন যে, বিশাল অ্যাটেনশন ম্যাট্রিক্সের অনেক তথ্যই আসলে পুনরাবৃত্তি (Redundant)। একে গাণিতিক ভাষায় বলে 'লো-র্যাংক' (Low-rank)। ক্লাসে ১০০ জন ছাত্র থাকলে সবার মতামত নেওয়ার দরকার নেই। ৫ জন ক্লাস রিপ্রেজেন্টেটিভের মতামত নিলেই পুরো ক্লাসের ধারণা পাওয়া যায়। Linformer এভাবেই বিশাল ম্যাট্রিক্সকে ছোট করে ফেলে, যার ফলে এর মেমোরি খরচ নেমে আসে লিনিয়ার বা -এ।
খ) Reformer (হ্যাশিং/LSH):
এরা আরেকটু বুদ্ধি খাটাল। তারা ব্যবহার করল Locality-Sensitive Hashing (LSH)।
বিয়ের পার্টিতে ডাক্তারদের এক জায়গায়, ইঞ্জিনিয়ারদের এক জায়গায় আর ব্যবসায়ীদের আরেক জায়গায় বসিয়ে দেওয়া হলো। বলা হলো, "তোমরা শুধু নিজেদের গ্রুপের মানুষদের সাথে হাত মেলাবে।" Reformer-ও ইনপুট ভেক্টরগুলোর মধ্যে যেগুলো কাছাকাছি (similar), সেগুলোকে হ্যাশ করে এক গ্রুপে ফেলে এবং শুধু তাদের মধ্যেই অ্যাটেনশন করায়। এতে মেমোরি খরচ অবিশ্বাস্যভাবে কমে যায়।
২. স্পার্স অ্যাটেনশন (Longformer ও BigBird)
আরেকদল গবেষক ভাবলেন, আমরা যদি শব্দের সম্পর্ক খোঁজার এই ব্যাপারটাকে একটু নিয়মের মধ্যে বেঁধে দিই, তাহলে কেমন হয়? এখান থেকেই জন্ম নিল Longformer এবং BigBird।
পরীক্ষার হলে বসা একজন ছাত্রের কথা ভাবো। সে চাইলেও হলের সবার খাতা দেখতে পারে না। সে কী করে? সে শুধু তার ডানে এবং বামে বসা ২-১ জন বন্ধুর খাতা আড়চোখে দেখার চেষ্টা করে। একে বলে Local বা Sliding-window Attention। কিন্তু মাঝেমধ্যে তো তাকে এটাও দেখতে হয় যে, হলের গার্ড বা টিচার কোথায় আছেন! এই টিচার হলেন Global Token। Longformer ঠিক এই কাজটিই করে। একটি শব্দ শুধু তার আশেপাশের কয়েকটি শব্দের দিকে তাকায় এবং ডকুমেন্টের শুরুতে থাকা দু-একটি স্পেশাল "গ্লোবাল" শব্দের দিকে তাকায়। এর ফলে ১ লাখ শব্দের ডকুমেন্টও ট্রান্সফরমার দিয়ে পড়ানো সম্ভব হলো, মেমোরি ক্র্যাশ ছাড়াই!
৩. হার্ডওয়্যার হ্যাক: FlashAttention (গেম চেঞ্জার)
ওপরের পদ্ধতিগুলো দারুণ হলেও, এদের একটা বড় সমস্যা ছিল। মেমোরি বাঁচাতে গিয়ে এরা অংকের ভেতরে কিছু শর্টকাট নিয়েছিল, যার ফলে মডেলের 'বোঝার ক্ষমতা' বা কোয়ালিটি কিছুটা কমে যাচ্ছিল।
ঠিক এই সময়ে স্ট্যানফোর্ড ইউনিভার্সিটির একদল গবেষক নিয়ে এলেন FlashAttention। এটি কোনো আর্কিটেকচার বা অংকের পরিবর্তন ছিল না, এটি ছিল জিপিইউ (GPU) হার্ডওয়্যারকে ব্যবহার করার এক অবিশ্বাস্য স্মার্ট উপায়!
সমস্যাটা কোথায় ছিল?
জিপিইউ-তে দুই ধরনের মেমোরি থাকে। একটি হলো বিশাল কিন্তু ধীরগতির HBM (High Bandwidth Memory), আরেকটি হলো খুব ছোট কিন্তু অসম্ভব দ্রুতগতির SRAM। সাধারণ ট্রান্সফরমার বারবার HBM থেকে ডেটা আনত, হিসাব করত, আবার HBM-এ রাখত। এই আনা-নেওয়াতেই তার বেশিরভাগ সময় নষ্ট হতো (যাকে বলে Memory-bound operation)।
একটি বিশাল রেস্টুরেন্টের কথা ভাবো। শেফ (Processor) রান্নাঘরে আছেন এবং তাকে প্রতিবার একটি পেঁয়াজ বা একটি মরিচ আনতে বিশাল স্টোররুমে (HBM) হেঁটে যেতে হচ্ছে। এতে রান্নার চেয়ে হাঁটাহাঁটিতেই শেফের সময় আর এনার্জি নষ্ট হচ্ছে বেশি।
FlashAttention শেফকে একটি বড় ট্রে (SRAM) দিল। শেফকে বলা হলো, "স্টোররুমে বারবার না গিয়ে, ট্রে ভরে একসাথে অনেকগুলো সবজি নিয়ে আসো এবং ব্লকে ব্লকে রান্না শেষ করো।"
কম্পিউটার সায়েন্সের ভাষায় একে বলে Tiling এবং Recomputation। FlashAttention অ্যাটেনশন ম্যাট্রিক্সকে ছোট ছোট ব্লকে বা টাইলে ভাগ করে সরাসরি দ্রুতগতির SRAM-এ নিয়ে হিসাব শেষ করে ফেলে।
মডেলের কোয়ালিটি একবিন্দুও কমল না (কারণ কোনো শর্টকাট অংক করা হয়নি), কিন্তু মেমোরি খরচ নেমে এল অর্ধেকের নিচে এবং মডেলের স্পিড বেড়ে গেল ২ থেকে ৪ গুণ! আজকের দিনে GPT-4 থেকে শুরু করে Gemini, Llama—সব আধুনিক লার্জ ল্যাঙ্গুয়েজ মডেলে (LLM) এই FlashAttention ব্যবহার করা হয়।
এই 'এফিশিয়েন্সি এরা' বা মেমোরি বাঁচানোর যুদ্ধ ট্রান্সফরমারকে ল্যাবের গণ্ডি থেকে বের করে সাধারণ মানুষের ব্যবহারোপযোগী করে তুলেছিল। বিজ্ঞানীরা বুঝতে পারলেন, শুধু ভালো অ্যালগরিদম হলেই হবে না, হার্ডওয়্যার কীভাবে কাজ করে, সেটা বোঝাও সমান জরুরি!
"Attention Is All You Need" পেপারের পর বেশ কয়েক বছর ধরে সবার ধারণা ছিল—ট্রান্সফরমার মানেই ভাষা বা টেক্সট নিয়ে কাজ করার জিনিস। এদিকে ছবি (Image) বা কম্পিউটার ভিশনের জগতে তখন একচ্ছত্র আধিপত্য কনভোলিউশনাল নিউরাল নেটওয়ার্ক বা CNN-এর (যেমন- ResNet)। CNN ছবির পিক্সেলগুলোকে খুব কাছ থেকে স্ক্যান করত, যাকে বলা হয় 'লোকালিটি' (Locality) বা ইনডাকটিভ বায়াস।
কিন্তু গবেষকদের মাথায় একটা পোকা ঢুকল। তারা ভাবলেন, "ট্রান্সফরমার যদি একগুচ্ছ শব্দের মধ্যে সম্পর্ক বুঝতে পারে, তবে সে একগুচ্ছ পিক্সেল বা অডিও সিগন্যালের মধ্যে সম্পর্ক কেন বুঝতে পারবে না?"
এখান থেকেই শুরু হলো ট্রান্সফরমারের সাম্রাজ্য বিস্তারের গল্প।
১. ViT (Vision Transformer): ছবি যখন হয়ে গেল শব্দের মতো
২০২০ সালে গুগল রিসার্চ থেকে একটি পেপার এল, যা কম্পিউটার ভিশনের দুনিয়ায় ভূমিকম্প তৈরি করে দিল। পেপারের নাম: "An Image is Worth 16x16 Words".
কীভাবে কাজ করে?
CNN-এর মতো জটিল স্ক্যানিং বাদ দিয়ে ViT একটি অত্যন্ত সহজ কিন্তু যুগান্তকারী পদ্ধতি ব্যবহার করল।
ধরো, তোমার কাছে মোনালিসার একটি ছবি আছে। তুমি ছবিটিকে একটি জিগস পাজলের (Jigsaw puzzle) মতো সমান ১৬x১৬ পিক্সেলের ছোট ছোট টুকরো বা প্যাচে (Patch) কেটে ফেললে।এবার এই প্রতিটি টুকরোকে এক একটি 'শব্দ' (Word/Token) হিসেবে ধরে ট্রান্সফরমারে পরপর সাজিয়ে ইনপুট দিয়ে দিলে।ট্রান্সফরমার তার 'সেলফ-অ্যাটেনশন' ব্যবহার করে বুঝতে শুরু করল যে, চোখের পাজল পিসটার সাথে ঠোঁটের পাজল পিসটার কী সম্পর্ক।
সবাই ভাবত, ছবির জন্য CNN-এর স্ক্যানিং মেকানিজম বাধ্যতামূলক। কিন্তু ViT প্রমাণ করল, যদি তোমার কাছে বিশাল পরিমাণ ডেটা থাকে, তবে ট্রান্সফরমারকে আলাদা করে ছবির নিয়মকানুন (Inductive bias) শেখাতে হয় না। সে নিজ থেকেই প্যাচগুলোর মধ্যকার সম্পর্ক শিখে নেয় এবং চিরাচরিত CNN-কে পারফরম্যান্সে হারিয়ে দেয়!
২. Swin Transformer: মেমোরির সমস্যার স্মার্ট সমাধান
ViT দারুণ হলেও এর একটা বড় সমস্যা ছিল। ছবির রেজোলিউশন যদি খুব বড় হয় (যেমন 4K বা 1080p), তবে পাজল পিস বা প্যাচের সংখ্যা অনেক বেড়ে যায়। আর আমরা পর্ব ২-এ দেখেছি, ইনপুটের সংখ্যা বাড়লে ট্রান্সফরমারের মেমোরি খরচ বা জ্যামিতিক হারে বাড়ে।
মাইক্রোসফট রিসার্চ এই সমস্যার সমাধানে নিয়ে এল Swin Transformer (Shifted Window Transformer)।
কীভাবে কাজ করে?
এটি দুটো দারুণ কনসেপ্ট ব্যবহার করল: 'হায়ারার্কি' (Hierarchy) এবং 'শিফটেড উইন্ডো' (Shifted Windows)।
গুগল ম্যাপের কথা চিন্তা করো। তুমি যখন জুম ইন করো, তখন শুধু তোমার রাস্তার আশেপাশের বিল্ডিংগুলো দেখো। একটু জুম আউট করলে পুরো এলাকা দেখো, আরও জুম আউট করলে পুরো শহর দেখো। Swin ঠিক এই কাজটি করে। প্রথমে সে ছোট ছোট প্যাচ নিয়ে কাজ করে, এরপর আস্তে আস্তে প্যাচগুলোকে জোড়া লাগিয়ে বড় প্যাচ তৈরি করে এবং বড় পরিসরে ছবির কনটেক্সট বোঝে।
ধরো, একটি অফিসে কয়েকটি আলাদা ডিপার্টমেন্ট (উইন্ডো) আছে। সবাই শুধু নিজের ডিপার্টমেন্টের ভেতরে মিটিং করছে (Local Attention)। এতে মেমোরি খরচ কম। কিন্তু এক ডিপার্টমেন্টের সাথে অন্য ডিপার্টমেন্টের যোগাযোগ হবে কীভাবে? এর জন্য পরের মিটিংয়ে ডিপার্টমেন্টগুলোর বর্ডার বা সীমানা একটু 'শিফট' (Shift) করে দেওয়া হলো, যাতে ভিন্ন গ্রুপের মানুষ একসাথে কথা বলতে পারে।
Swin ট্রান্সফরমার মেমোরি খরচ লিনিয়ার বা -এ নামিয়ে আনল। এর ফলে এটি শুধু ইমেজ ক্লাসিফিকেশন নয়, বরং অবজেক্ট ডিটেকশন (ছবির কোথায় গাড়ি আছে, কোথায় মানুষ আছে তা বের করা) এবং সেগমেন্টেশনের মতো জটিল কাজের জন্য সবচেয়ে সেরা 'ব্যাকবোন' (Backbone) মডেল হয়ে দাঁড়াল।
৩. Perceiver এবং Perceiver IO: সব ধরনের ডেটার এক জাদুকরী সমাধান
ViT এবং Swin ছবির সমাধান দিলেও, বিজ্ঞানীরা এমন একটি মডেল চাইলেন যা হবে সত্যিই সর্বজনীন (Universal)। অর্থাৎ, তাকে অডিও, ভিডিও, থ্রিডি পয়েন্ট ক্লাউড (3D Point Cloud) বা সেন্সরের ডেটা—যাই দেওয়া হোক না কেন, সে কোনো আর্কিটেকচার পরিবর্তন ছাড়াই সব বুঝতে পারবে। ডিপমাইন্ড (DeepMind) থেকে এল Perceiver।
কীভাবে কাজ করে? (Latent Bottleneck)
Perceiver বুঝতে পারল যে, ভিডিও বা অডিওর মতো ডেটায় ইনপুট সাইজ এতই বিশাল হয় যে সেখানে সরাসরি সেলফ-অ্যাটেনশন চালানো অসম্ভব। তাই সে 'Cross-Attention' এবং 'Latent Array' নামের একটি বুদ্ধিদীপ্ত উপায় বের করল।
ধরো, তুমি একজন অত্যন্ত ব্যস্ত সিইও (Latent Array)। তোমার কাছে প্রতিদিন লাখ লাখ পৃষ্ঠার রিপোর্ট (Raw Inputs - পিক্সেল বা অডিও ওয়েভ) আসে। তুমি নিজে সব রিপোর্ট পড়ো না। তোমার একজন স্মার্ট সেক্রেটারি (Cross-Attention) আছে। সে ওই লাখ লাখ পৃষ্ঠার রিপোর্ট পড়ে, সবচেয়ে গুরুত্বপূর্ণ তথ্যগুলো ফিল্টার করে তোমার জন্য মাত্র ৫ পৃষ্ঠার একটি সামারি তৈরি করে দেয়।
তুমি শুধু ওই ৫ পৃষ্ঠার সামারির ওপর ভিত্তি করে নিজের মধ্যে বিশ্লেষণ করো (Self-Attention) এবং সিদ্ধান্ত নাও।
Perceiver লাখ লাখ ইনপুট পিক্সেল বা সিগন্যালকে ক্রস-অ্যাটেনশনের মাধ্যমে মাত্র কয়েকশ ল্যাটেন্ট টোকেনে (Latent tokens) নামিয়ে আনে। ফলে মেমোরি খরচ ইনপুট সাইজের ওপর নির্ভর না করে, ওই ল্যাটেন্ট টোকেনের সাইজের ওপর নির্ভর করে। এটি প্রমাণ করল যে, ট্রান্সফরমার আসলে শুধু টেক্সট বা ইমেজের মডেল নয়, এটি মূলত একটি 'জেনেরিক প্যাটার্ন রেকগনাইজার' (Generic Pattern Recognizer)।
"Attention Is All You Need" পেপারের পর বেশ কয়েক বছর ধরে এআই দুনিয়ায় একটি অলিখিত নিয়ম তৈরি হয়ে গিয়েছিল—যেকোনো সমস্যার সমাধান করতে চাও? একটা বড় ট্রান্সফরমার মডেল বানিয়ে দাও! টেক্সট, ছবি, অডিও—সব জায়গাতেই সেলফ-অ্যাটেনশনের জয়জয়কার।
কিন্তু ২০২৩-২০২৪ সালের দিকে এসে গবেষকরা একটু থমকে দাঁড়ালেন। তারা একটা চরম সত্যের মুখোমুখি হলেন। ট্রান্সফরমার মডেল ট্রেনিং করার সময় অসাধারণ (কারণ সে পুরো ডেটা একসাথে প্যারালালি পড়তে পারে), কিন্তু যখন সে নতুন কিছু তৈরি করে বা আউটপুট দেয় (যাকে বলে Inference), তখন সে চরম ধীরগতির এবং মেমোরি-খেকো হয়ে যায়।
আসল সমস্যাটা কোথায়? (The KV-Cache Bottleneck)
ট্রান্সফরমার যখন একটার পর একটা শব্দ তৈরি করে, তখন তাকে আগের বলা সব শব্দের হিসাব মেমোরিতে ধরে রাখতে হয়। একে বলা হয় KV-Cache (Key-Value Cache)।
ধরো, তুমি একটি ১০০০ পৃষ্ঠার উপন্যাস লিখছ। ট্রান্সফরমারের সমস্যা হলো, ১০০১ নম্বর পৃষ্ঠা লেখার সময় তাকে আগের ১০০০ পৃষ্ঠার প্রতিটি শব্দ একেবারে 'অ্যাকটিভ মেমোরিতে' বা মাথায় ধরে রাখতে হয়। গল্প যত বড় হয়, তার মাথার ওপর চাপ (RAM/Memory) তত বাড়ে এবং তার লেখার স্পিড তত কমতে থাকে।
গবেষকরা তখন নিজেদের প্রশ্ন করলেন, "অ্যাটেনশনের সমস্যা এবং KV-cache এর এই মেমোরি-জ্যাম মেনে নিয়েই কি আমাদের চলতে হবে? সত্যিই কি সবকিছুর মূলে শুধু অ্যাটেনশন থাকাই যথেষ্ট?"
এখান থেকেই জন্ম নিল ট্রান্সফরমারকে চ্যালেঞ্জ করার নতুন কিছু আর্কিটেকচার। চলো এদের সাথে পরিচিত হই।
১. RWKV এবং RetNet: দুই দুনিয়ার সেরা জিনিসের মিলন (The Hybrids)
গবেষকরা ফিরে তাকালেন পুরোনো যুগের RNN (Recurrent Neural Network)-এর দিকে। RNN-এর একটা দারুণ গুণ ছিল—এর মেমোরি খরচ একদম ফিক্সড বা । সে আগের সব কথা একটি ছোট 'হিডেন স্টেট' (Hidden State)-এ সামারি করে রাখত। কিন্তু সমস্যা ছিল, RNN-কে ট্রেনিং করানো যেত খুব ধীরগতিতে (একটার পর একটা শব্দ ধরে)।
গবেষকরা ভাবলেন, আমরা কি ট্রান্সফরমারের প্যারালাল ট্রেনিং স্পিড এবং RNN-এর কম মেমোরি খরচের ইনফারেন্স—এই দুটোকে মেলাতে পারি না? জন্ম নিল RWKV এবং RetNet (Retentive Network)।
ধরো, তুমি বিসিএস বা বড় কোনো পরীক্ষার প্রস্তুতি নিচ্ছ। ট্রান্সফরমার হলো এমন একজন ছাত্র, যে পরীক্ষার হলেও ১০টা মূল বইয়ের বস্তা নিয়ে যায় এবং প্রতিটি প্রশ্নের উত্তর দেওয়ার সময় পুরো ১০টা বই উল্টেপাল্টে দেখে। অন্যদিকে RetNet বা RWKV হলো সেই স্মার্ট ছাত্র, যে বাসায় পড়ার সময় ১০টা বই একসাথে পড়ে (Parallel Training), কিন্তু পরীক্ষার হলে যাওয়ার আগে পুরো বইয়ের একটি ১ পৃষ্ঠার কনডেন্সড সামারি বা শর্ট-নোট তৈরি করে নেয় (Recurrent State)।
পরীক্ষার হলে (Inference) তার আর ১০টা বই হাতড়াতে হয় না। সে শুধু শর্ট-নোট দেখে ফটাফট উত্তর দিয়ে দেয়। এতে তার মেমোরি খরচ বাড়ে না এবং স্পিডও থাকে মারাত্মক ফাস্ট!
২. Mamba এবং State Space Models (SSMs): এআই-এর নতুন সেনসেশন
সবচেয়ে বড় চমকটা এল যখন Mamba নামের একটি আর্কিটেকচার এআই দুনিয়ায় ঝড় তুলল। এটি চিরাচরিত অ্যাটেনশন মেকানিজম পুরোপুরি ছুড়ে ফেলে দিয়ে State Space Models (SSMs)-এর ধারণা ফিরিয়ে আনল এবং তাতে 'Selective' বা 'বাছাই করার' ক্ষমতা যুক্ত করল।
সিলেক্টিভ স্টেট স্পেস (Selective State Space) কীভাবে কাজ করে?
ধরো, তুমি আর তোমার বন্ধু মিলে টিভিতে ৫ দিনের একটি লম্বা টেস্ট ক্রিকেট ম্যাচ দেখছ।
ট্রান্সফরমার হলো এমন একজন দর্শক, যে ওই ৫ দিনের প্রতিটা বল, প্রতিটা ঘাসের নড়াচড়া, এমনকি মাঝখানের বোরিং বিজ্ঞাপনগুলোও সমান গুরুত্ব দিয়ে মাথায় মেমোরি করে রাখে। ম্যাচ শেষে তার মাথা হ্যাং হয়ে যায়।
Mamba হলো একজন বুদ্ধিমান দর্শক। সে ইনপুটের ওপর ভিত্তি করে সিদ্ধান্ত নেয় কী মনে রাখতে হবে আর কী ভুলে যেতে হবে। যখন বোলার রান-আপ নিচ্ছে বা কোনো অ্যাড চলছে, সে সেটাকে মাথা থেকে মুছে ফেলে (Forget/Filter)। কিন্তু যেই মুহূর্তে একটা ছক্কা হলো বা উইকেট পড়ল, সে সাথে সাথে সেটা মেমোরিতে সেভ করে নেয় (Select & Update)।
যেহেতু Mamba অদরকারি জিনিস ফিল্টার করে ফেলে এবং শুধু দরকারি জিনিসের সামারি আপডেট করতে থাকে, তাই ট্রান্সফরমারের মতো একে বিশাল KV-cache মেইনটেইন করতে হয় না।
- এর ইনফারেন্স স্পিড ট্রান্সফরমারের চেয়ে প্রায় ৫ গুণ বেশি!
- এর সিকোয়েন্স যতই লম্বা হোক না কেন, মেমোরি খরচ লিনিয়ার () থাকে।
- অথচ এর ল্যাঙ্গুয়েজ বোঝার ক্ষমতা বা পারফরম্যান্স সমম্যাপের ট্রান্সফরমার মডেলের (যেমন: Llama বা Mistral) সমান বা ক্ষেত্রবিশেষে আরও ভালো!
আজ আমরা এমন এক সময়ে দাঁড়িয়ে আছি, যেখানে এআই-এর বিবর্তন কোনো একটি নির্দিষ্ট পেপার বা মেকানিজমে আটকে নেই। ট্রান্সফরমার যে নতুন রাস্তার দরজা খুলে দিয়েছিল, সেই রাস্তা ধরে বিজ্ঞানীরা এখন আরও দ্রুতগামী, কম খরচসাপেক্ষ এবং মানুষের মস্তিষ্কের আরও কাছাকাছি কোনো আর্কিটেকচার খোঁজার দৌড়ে মেতেছেন। এআই-এর এই রোমাঞ্চকর যাত্রা কেবল তো শুরু!