هوش مصنوعی

ترنسفورمر چیست؟ معماری انقلابی LLMها

ترنسفورمر چیست؟ معماری انقلابی LLMها — راهنمای فارسی از مجموعهٔ «هوش مصنوعی» در وبلاگ آیرا. بازنویسی‌شده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

نوشتهٔ به‌روزرسانی: ۴ دقیقه مطالعه
تصویر مقالهٔ ترنسفورمر چیست؟ معماری انقلابی LLMها

در ۲۰۱۷، یه مقالهٔ هشت‌صفحه‌ای از محققان گوگل با عنوان «Attention Is All You Need» منتشر شد. آن مقاله معماری‌ای معرفی کرد که امروز زیرِ تقریباً هر مدل زبانی بزرگ — از GPT-4 تا Claude تا Gemini — قرار داره: ترنسفورمر. اگه می‌خوای بفهمی چرا هوش مصنوعی مکالمه‌ای الان این‌قدر خوبه، باید با این معماری آشنا بشی.

مشکلی که ترنسفورمر حل کرد

قبل از ترنسفورمر، مدل‌های پردازش زبان عمدتاً از معماری‌های بازگشتی (RNN) یا LSTM استفاده می‌کردن. این مدل‌ها متن رو کلمه‌به‌کلمه پردازش می‌کردن — مثل آدمی که داره می‌خونه و یه کلمه رو از دست می‌ده وقتی کلمهٔ بعدی می‌رسه. دو مشکل بزرگ داشتن:

۱. وابستگی بلندمدت: اگه جمله‌ای طولانی بود، مدل اطلاعات ابتدای جمله رو تا وقتی به آخرش می‌رسید فراموش می‌کرد. ۲. موازی‌پذیری نداشتن: پردازش سری (sequential) یعنی نمی‌شد روی GPU چندین قسمت رو هم‌زمان آموزش داد — آموزش خیلی کند بود.

ترنسفورمر هر دو رو با یه ایده حل کرد: Attention — مکانیزمی که بهش اجازه می‌ده هر کلمه‌ای در جمله مستقیماً با هر کلمهٔ دیگه‌ای ارتباط برقرار کنه، بدون اینکه لازم باشه از اول تا آخر به ترتیب بره.

ساختار اصلی ترنسفورمر

یه ترنسفورمر از دو بخش اصلی تشکیل می‌شه: Encoder (رمزگذار) و Decoder (رمزگشا). مدل اصلی مقاله هر دو رو داشت — مناسب ترجمه. ولی بعداً:

  • Encoder-only مثل BERT: برای فهمیدن معنی متن و تسک‌هایی مثل طبقه‌بندی
  • Decoder-only مثل GPT، Claude، Llama: برای تولید متن (اینجا هر توکن بر اساس توکن‌های قبلی تولید می‌شه)
  • Encoder-Decoder مثل T5 و مدل‌های ترجمه: ورودی رو می‌فهمه، خروجی تولید می‌کنه

اکثر چت‌بات‌هایی که الان باهاشون کار می‌کنی — از جمله آیراچت — روی معماری Decoder-only ساخته شدن.

مکانیزم Attention به زبان ساده

تصور کن می‌خوای جمله‌ٔ «علی دیروز کتابی خرید که مادرش سال‌ها دنبالش بود» رو ترجمه کنی. کلمهٔ «مادرش» به کی برمی‌گرده؟ به «علی» یا به یه نفر دیگه؟ انسان با کمک زمینه (context) این رو می‌فهمه.

Attention دقیقاً همین کار رو می‌کنه: برای هر کلمه محاسبه می‌کنه که کدام کلمه‌های دیگهٔ جمله «بیشترین اهمیت» رو دارن. این اهمیت با سه بردار محاسبه می‌شه — Query (پرسش)، Key (کلید)، Value (مقدار) — که مدل در طول آموزش یادشون می‌گیره. نتیجه یه عدد بین صفر تا یک برای هر جفت کلمه‌ست که نشون می‌ده چقدر باید بهم «توجه» کنن.

Multi-head Attention هم همین کار رو چند بار موازی انجام می‌ده — هر «head» ممکنه یه جنبهٔ مختلف از رابطهٔ کلمات رو بگیره: یکی روابط دستوری، یکی روابط معنایی، یکی ارجاعات ضمیری.

چرا ترنسفورمر روی فارسی سخت‌تر کار می‌کنه

فارسی چند چالش خاص برای ترنسفورمرها داره:

توکن‌سازی: اکثر مدل‌ها از BPE (Byte-Pair Encoding) استفاده می‌کنن که روی داده‌های انگلیسی optimize شده. کلمهٔ «می‌خواستم» ممکنه به چند توکن تقسیم بشه، در حالی که معادل انگلیسیش «wanted» یه توکنه. یعنی پردازش فارسی «گران‌تر» (به لحاظ توکن) و گاهی کم‌دقت‌تره.

داده‌های کم: نسبت به انگلیسی، فارسی در اینترنت و در مجموعه داده‌های آموزشی کمتره. مدل‌های عمومی ممکنه الگوهای نحوی فارسی رو کمتر «دیده باشن».

راست‌به‌چپ بودن: خودِ معماری مشکلی با RTL نداره، ولی Tokenizer و بعضی پیاده‌سازی‌های UI ممکنه مشکل داشته باشن.

از ترنسفورمر تا LLM: چه اتفاقی افتاد؟

ترنسفورمر یه معماری بود، نه یه محصول. برای اینکه به GPT-4 یا Claude برسیم، چند چیز لازم بود:

۱. داده‌های عظیم: مدل‌های بزرگ روی صدها گیگابایت یا حتی ترابایت متن آموزش دیدن. ۲. محاسبه در مقیاس: GPU/TPU کلاسترهای بزرگ برای آموزش هفته‌ها یا ماه‌ها کار کردن. ۳. Pre-training + Fine-tuning: ابتدا روی داده‌های عمومی pre-train، بعد با داده‌های هدفمند (مثل RLHF) برای مکالمه fine-tune. ۴. Scaling laws: محققان کشف کردن که با بزرگ‌تر کردن مدل و داده، کیفیت به صورت قابل پیش‌بینی بالا می‌ره.

امروز بزرگ‌ترین مدل‌ها صدها میلیارد پارامتر دارن — هر پارامتر یه عدد که مدل در طول آموزش یادگرفته.

ترنسفورمرها چه محدودیتی دارن؟

با تمام قدرتشون، ترنسفورمرها بی‌نقص نیستن:

  • پنجرهٔ کانتکست: Attention روی همهٔ توکن‌ها با هم محاسبه می‌شه. هرچه پنجره بزرگ‌تر، محاسبات بیشتر (مربع طول). مدل‌های مدرن با تکنیک‌هایی مثل Sliding Window Attention این رو کم‌هزینه‌تر کردن.
  • حافظهٔ واقعی ندارن: یه ترنسفورمر معمولی هر بار از صفر شروع می‌کنه. اون «حافظه» که در پنجرهٔ کانتکست می‌بینی موقتیه، نه بلندمدت. برای حافظهٔ واقعی باید لایه‌های اضافه (مثل RAG یا پایگاه داده خارجی) اضافه کرد.
  • توهم‌زایی (Hallucination): مدل تولید متن می‌کنه — نه جستجوی اطلاعات. وقتی مطمئن نیست، ممکنه اطلاعات اشتباه بسازه.

آنچه باید بدانی

ترنسفورمر معماری‌ای نیست که «قدیمی» بشه یا جایش رو بگیرن — بهبودهایی مثل Mixture of Experts، Flash Attention، و معماری‌های State-Space (مثل Mamba) همگی یا روش رو بهینه می‌کنن یا برای حالت‌های خاص جایگزین می‌شن، ولی پایهٔ اکثر مدل‌های زبانی هنوز همین ساختار Attention-based است.

اگه یه AI مثل آیراچت می‌تونه مکالمات قبلی‌ات رو به خاطر بیاره و از شناخت پیوسته بهره ببره، این در لایهٔ معماری پایین‌تر از ترنسفورمره — ولی ترنسفورمر موتوری‌ه که هر پیام رو می‌فهمه و پاسخ می‌ده.


همچنین بخوان

#هوش مصنوعی#transformer

ادامهٔ مسیر

همهٔ مقاله‌ها ←

بیشتر در «هوش مصنوعی»