Large language model — مدل‌های زبانی بزرگ

From Systems analysis wiki
Jump to navigation Jump to search

مدل زبانی بزرگ (large language model، LLM) — نوعی مدل Machine Learning است که با استفاده از یک شبکه عصبی عمیق با تعداد زیادی پارامتر (معمولاً میلیاردها یا بیشتر) پیاده‌سازی شده و روی حجم بسیار زیادی از داده‌های متنی آموزش دیده است. واژه «بزرگ» در این زمینه هم به مقیاس پارامترها و هم به حجم مجموعه داده آموزشی اشاره دارد که در سیستم‌های مدرن به چندین پتابایت و تریلیون‌ها token می‌رسد. مدل‌های LLM عمدتاً با روش خود-نظارتی یا نیمه-خودنظارتی (self-/semi-supervised) آموزش می‌بینند و با پیش‌بینی token بعدی در یک دنباله، الگوهای آماری زبان را فرا می‌گیرند. افزایش پارامترها، داده‌ها و مراحل محاسباتی منجر به بهبود قابل پیش‌بینی کیفیت می‌شود که scaling laws آن را تأیید می‌کنند.

پس از ظهور BERT (2017) و به‌ویژه GPT-3 (2020)، رویکرد LLM در پردازش زبان طبیعی به رویکرد غالب تبدیل شد. مدل‌های مدرن (GPT-4o، Claude 3، Gemini 1.5، LLaMA 3 و غیره) بدون تنظیم ویژه می‌توانند متن و کد برنامه‌نویسی بنویسند، ترجمه کنند، خلاصه‌سازی کنند، به سوالات پاسخ دهند و زنجیره‌های استدلالی بسازند؛ نسخه‌های مولتی‌مدال تصویر، صدا و ویدیو را نیز تحلیل می‌کنند. تطبیق با وظایف کاربردی از طریق fine-tuning یا مهندسی دستور (prompt engineering، in-context learning) انجام می‌شود. در کنار دستاوردهایشان، مدل‌های LLM سوگیری‌ها و خطاهای داده‌های منبع را به ارث می‌برند، مستعد «توهم‌زایی» هستند و به منابع محاسباتی بزرگی نیاز دارند؛ از این رو پژوهش‌های امروز بر هم‌راستاسازی رفتار، فیلترسازی مجموعه داده‌ها و معماری‌های انرژی‌کارآمد متمرکز است.

معماری

در مدل‌های LLM مدرن تقریباً همیشه از معماری Transformer (ترانسفورمر) — شبکه‌ای با مکانیسم self-attention — استفاده می‌شود. مدل ترانسفورمر برای اولین بار در مقاله Attention is All You Need توسط توسعه‌دهندگان Google در سال 2017 معرفی شد.

معماری Transformer — یک طرح پایه شبکه عصبی برای کار با دنباله‌هاست که شامل دو ماژول منطقی است: انکودر (ورودی را رمزگذاری می‌کند) و دیکودر (خروجی را تولید می‌کند). یک دنباله به عنوان ورودی دریافت می‌شود، بازنمایی برداری آن (embedding) ایجاد می‌شود، بردار رمزگذاری موقعیتی به آن افزوده می‌شود، سپس مجموعه عناصر بدون در نظر گرفتن ترتیب در دنباله وارد مؤلفه رمزگذار (پردازش موازی) می‌شود، و پس از آن مؤلفه رمزگشا بخشی از این دنباله و خروجی رمزگذار را به عنوان ورودی دریافت می‌کند. در نتیجه یک دنباله خروجی جدید تولید می‌شود.

مؤلفه رمزگذار ترانسفورمر از چندین لایه رمزگذار یکسان تشکیل شده است؛ مؤلفه رمزگشا نیز به همین شکل ساختار یافته است. خود ترانسفورمر دنباله‌ای از مدل‌های attention است که دنباله اصلی بردارها را به دنباله جدیدی تبدیل می‌کند که در آن هر عنصر زمینه سایر عناصر را در نظر می‌گیرد. رمزگذار بازنمایی‌های پنهان داده‌های ورودی را با حفظ اطلاعات روابط بین عناصر شکل می‌دهد. رمزگشا بر اساس بازنمایی‌های پنهان، دنباله جدیدی از embedding‌ها برای token‌های خروجی ایجاد می‌کند. سپس بر اساس این embedding‌ها با استفاده از مدل زبانی، عناصر خروجی نهایی تولید می‌شوند.

از آنجا که ترانسفورمرها در ابتدا برای وظایفی مانند ترجمه ماشینی طراحی شده بودند، معماری آن‌ها شامل انکودر (پردازش متن ورودی، مثلاً جمله مبدأ) و دیکودر (تولید خروجی، مثلاً ترجمه) می‌شود. با این حال در بسیاری از مدل‌های زبانی تنها بخش دیکودر در حالت خودبازگشتی استفاده می‌شود.

ترانسفورمرها در سه پیکربندی اصلی به کار می‌روند که هر کدام از انکودر و دیکودر به شیوه متفاوتی استفاده می‌کنند و برای دسته‌ای خاص از وظایف مناسب هستند:

  • ترانسفورمرهای انکودر (دوطرفه) برای بازسازی قطعات متنی که عمداً پنهان شده‌اند آموزش می‌بینند، بنابراین برای وظایف «درک» — طبقه‌بندی، استخراج اطلاعات، جستجوی معنایی — مناسب هستند.
  • ترانسفورمرهای دیکودر (خودبازگشتی) بر پیش‌بینی token بعدی بهینه‌سازی می‌شوند و در جایی که خروجی جریانی نیاز است استفاده می‌شوند: عامل‌های مکالمه، تکمیل خودکار کد، تولید خلاقانه.
  • طرح‌های کامل «انکودر + دیکودر» هر دو رویکرد را ترکیب می‌کنند: انکودر بازنمایی کل متن ورودی را می‌سازد و دیکودر با تکیه بر آن، نتیجه را به تدریج شکل می‌دهد. این پیکربندی برای ترجمه ماشینی، خلاصه‌سازی و سیستم‌های پرسش و پاسخ کارآمدترین است.

توکن‌سازی

توکن‌سازی — مرحله اولیه کلیدی پردازش متن در مدل‌های زبانی بزرگ است. در این مرحله رشته پیوسته نمادها به واحدهای جداگانه — token‌ها — تقسیم می‌شود. توکن‌سازی وظیفه تبدیل دنباله نمادها به دنباله‌ای از عناصر ساختارمند را انجام می‌دهد که کارکرد کارآمد شبکه عصبی را فراهم می‌سازد.

از دیدگاه زبان‌شناختی، توکن‌سازی تا حدی می‌تواند با فرآیند استخراج حداقل واحدهای زبانی دارای معنای مستقل یا بار کارکردی، مانند کلمات، تکواژها یا قطعاتی از آن‌ها، مطابقت داشته باشد. با این حال، اغلب یک token صرفاً دنباله‌ای از نمادهاست که از نظر آماری پرتکرار است، بنابراین مهم است که اهمیت زبان‌شناختی همه token‌ها بیش از حد ارزیابی نشود. بسته به طرح انتخاب‌شده، یک token می‌تواند باشد: یک کلمه کامل، زیرکلمه، یک نماد جداگانه، یک نشانه خدماتی (مثلاً نشانگرهای شروع و پایان دنباله).

توکن‌سازی اجازه می‌دهد:

  • اندازه واژگان را در مقیاس قابل قبول محدود کرد;
  • کلمات نادر و جدید را به درستی پردازش کرد;
  • نگاشت یکتا از متن به دنباله شناسه‌های عددی را تضمین کرد.

برای تقسیم متن از الگوریتم‌های زیرکلمه‌ای استفاده می‌شود که رایج‌ترین آن‌ها Byte Pair Encoding (BPE)، WordPiece و UnigramLM هستند. هر یک از آن‌ها واژگانی از پرتکرارترین قطعات مجموعه داده می‌سازند و از آن برای تقسیم متوالی هر متن ورودی استفاده می‌کنند.

پس از مرحله توکن‌سازی، هر واحد متن — token — به یک بازنمایی عددی قابل فهم برای شبکه عصبی تبدیل می‌شود. این فرآیند شامل چند مرحله متوالی است:

  • تبدیل token‌ها به شناسه‌ها: هر token بر اساس واژگان token‌های از پیش ساخته‌شده با یک شاخص عددی منحصربه‌فرد متناظر می‌شود. token‌های متنی با شناسه‌های عددی منحصربه‌فرد (ID) خود جایگزین می‌شوند. هر ID شماره token در واژگان از پیش ساخته‌شده است که به شبکه عصبی اجازه می‌دهد با اعداد به جای کلمات کار کند.
  • تبدیل شناسه‌ها به embedding‌ها: برای هر شناسه token، بردار متناظری با ابعاد ثابت — embedding — استخراج یا محاسبه می‌شود. این بازنمایی عددی چندبُعدی جایگزین ID می‌شود و از پیش حاوی اطلاعاتی درباره معنا و ویژگی‌های زمینه‌ای token است. همه embedding‌ها برای سهولت پردازش طول یکسانی دارند.
  • افزودن رمزگذاری‌های موقعیتی: از آنجا که معماری Transformer به خودی خود ترتیب عناصر را در نظر نمی‌گیرد، رمزگذاری‌های موقعیتی (positional encodings) به embedding‌ها اضافه می‌شوند که اطلاعات موقعیت token در دنباله را ارائه می‌دهند. به عبارت دیگر، به لطف این کار مدل «می‌داند» کدام token اول، دوم، سوم و به همین ترتیب در جمله قرار دارد.
  • شکل‌گیری ماتریس‌های ورودی: در خروجی ماتریسی با ابعاد [длина последовательности × размерность эмбеддинга] به دست می‌آید که به عنوان بازنمایی اولیه متن عمل می‌کند و به عنوان ورودی به شبکه عصبی، به‌ویژه به بلوک‌های self-attention ترانسفورمر، ارسال می‌شود. هر ردیف این ماتریس به یک token مربوط می‌شود و بردار موجود در آن هم معنای آن (embedding) و هم اطلاعات موقعیت آن در متن (رمزگذاری موقعیتی) را در بر دارد.
Текст → Токены → Идентификаторы → Эмбеддинги + Позиционные кодировки → Вход в модель

مکانیسم توجه

مکانیسم توجه (attention mechanism) — مؤلفه کلیدی معماری Transformer است که امکان در نظر گرفتن وابستگی‌های بین token‌ها را صرف نظر از فاصله بین آن‌ها در دنباله فراهم می‌کند. پس از اینکه متن ورودی به دنباله‌ای از بردارها تبدیل شد، این دنباله وارد عنصر مرکزی ترانسفورمر — بلوک توجه (attention block) — می‌شود.

مکانیسم توجه روشی است برای شبکه عصبی تا تعیین کند هنگام پردازش هر عنصر دنباله باید به کدام بخش‌های داده‌های ورودی توجه بیشتری کند. به لطف آن، بردارهای قطعات جداگانه متن می‌توانند با یکدیگر تعامل داشته باشند، با اطلاعات غنی شوند و مقادیر خود را با در نظر گرفتن زمینه اطراف به‌روز کنند. از این طریق مدل می‌تواند هم وابستگی‌های محلی و هم وابستگی‌های دوردست بین token‌ها را به طور موثر دریابد که توانایی آن برای تفسیر ساختارهای پیچیده متن را به طور قابل توجهی افزایش می‌دهد.

در زبان طبیعی معنای یک کلمه یا عبارت به صورت منفرد تعریف نمی‌شود — بلکه به زمینه، یعنی سایر کلمات و ساختارهای اطراف بستگی دارد. در شبکه‌های عصبی متن از طریق بازنمایی‌های برداری — embedding‌ها — رمزگذاری می‌شود که ویژگی‌های واژگانی و نحوی token‌ها را به صورت عددی منعکس می‌کنند. بدون مکانیسم توجه مستقیم (مانند Transformer)، اطلاعات زمینه‌ای یا در فواصل طولانی گم می‌شد (مانند مدل‌های ساده) یا به صورت متوالی منتقل می‌شد که برای دریافتن پیوندهای دوردست کمتر کارآمد است. اما در زبان طبیعی معنای یک کلمه یا ساختار نحوی پویاست و تفسیر آن باید بسته به زمینه تطبیق یابد. مکانیسم توجه زمینه‌سازی بازنمایی‌های برداری را انجام می‌دهد، که به معنای' (یا صرفاً :) است:

  • هر token «اهمیت» خود را نسبت به سایر token‌های جمله ارزیابی می‌کند.
  • در فرآیند به‌روزرسانی، بازنمایی‌های برداری با اطلاعات متقابل غنی می‌شوند و وابستگی‌های نحوی، نقش‌های معنایی و زمینه کاربردشناختی را منعکس می‌کنند.

در نتیجه این تبادل اطلاعات، بردارهای به‌روزشده شروع به رمزگذاری نه‌تنها معنای خود token، بلکه پیوندهای دستوری آن (نحو)، نقش آن در موقعیت توصیف‌شده (معناشناسی) و معنای کلی در زمینه (کاربردشناسی) می‌کنند.

Входные векторы токенов (с позициями) → Механизм Внимания (Взаимодействие векторов) → Контекстуализированные векторы токенов (Векторы обогащенные информацией о связях с другими токенами)

پیاده‌سازی فنی مکانیسم توجه

ساختار داخلی مکانیسم توجه شامل چندین گام و مؤلفه محاسباتی کلیدی است. برای هر بردار ورودی سه بردار تولید می‌شود: پرسش (Query)، کلید (Key) و مقدار (Value). بر اساس تعامل آن‌ها وزن‌های توجه محاسبه می‌شوند که سپس برای به دست آوردن بازنمایی‌های برداری به‌روزشده و زمینه‌سازی‌شده به کار می‌روند. رویکرد رایج استفاده از معماری چندسری (Multi-Head Attention) برای پردازش موازی اطلاعات است.

پرسش (Query)، کلید (Key)، مقدار (Value)

اساس محاسبه مکانیسم توجه تبدیل هر بردار ورودی (که حاصل جمع embedding توکن و رمزگذاری موقعیتی آن است) به سه بازنمایی برداری متفاوت است: پرسش (Query، Q)، کلید (Key، K) و مقدار (Value، V).

از نظر مفهومی این سه بردار نقش‌های زیر را در مکانیسم توجه ایفا می‌کنند:

  • پرسش (Query): بردار token جاری را نشان می‌دهد که فرآیند جستجوی اطلاعات مرتبط در دنباله را آغاز می‌کند. می‌توان آن را به عنوان «سوال» یا «کاوشگر» در نظر گرفت که برای ارزیابی اهمیت سایر token‌ها نسبت به token جاری استفاده می‌شود.
  • کلید (Key): به عنوان شناسه یا «برچسبی» عمل می‌کند که جنبه‌ای از محتوای هر token را توصیف می‌کند. بردار پرسش (Q) token جاری با تمام بردارهای کلید (K) در دنباله (از جمله کلید خودش) مقایسه می‌شود تا میزان تطابق یا مرتبط بودن آن‌ها تعیین شود.
  • مقدار (Value): حاوی اطلاعات یا بازنمایی واقعی مرتبط با هر token است که به جلو منتقل می‌شود. پس از محاسبه وزن‌های توجه بر اساس تعامل پرسش‌ها و کلیدها، این وزن‌ها به بردارهای مقدار اعمال می‌شوند تا بازنمایی وزنی نهایی تشکیل شود که همان خروجی مکانیسم توجه برای آن token است.

آموزش مدل‌های زبانی بزرگ

آموزش LLM عمدتاً در دو مرحله انجام می‌شود:

  1. پیش‌آموزش (Pretraining) در این مرحله مدل روی مجموعه‌های بزرگ متن بدون برچسب با روش خود-نظارتی (self-supervised learning) آموزش می‌بیند. وظیفه عبارت است از پیش‌بینی token بعدی در دنباله (خودبازگشتی) یا بازسازی قطعات پنهان‌شده (آموزش ماسک‌دار). پیش‌آموزش به مدل اجازه می‌دهد الگوهای آماری گسترده زبان، دستور زبان، اطلاعات درباره جهان و اشکال پایه استدلال را فرا گیرد.
  2. تنظیم دقیق (Fine-tuning) پس از پیش‌آموزش، مدل روی داده‌های تخصصی برای انجام وظایف مشخص، مثلاً تولید پاسخ، طبقه‌بندی متن یا اجرای دستورالعمل‌ها، آموزش بیشتری می‌بیند. رویکردهای مدرن شامل:
    • تنظیم دقیق روی dataset‌های برچسب‌دار (supervised fine-tuning).
    • یادگیری تقویتی با بازخورد انسانی (RLHF، reinforcement learning from human feedback) برای اصلاح رفتار مدل بر اساس معیارهای هدف کیفیت، ایمنی و سودمندی.

مشکلات و محدودیت‌ها

علی‌رغم پیشرفت چشمگیر، مدل‌های زبانی بزرگ (LLM) مدرن دارای تعدادی مشکل و محدودیت هستند:

I. محدودیت‌های محاسباتی و معماری

  1. هزینه‌های محاسباتی بالا: آموزش و بهره‌برداری از LLM نیازمند توان محاسباتی، زمان و انرژی قابل توجهی است که منجر به هزینه‌های اقتصادی و زیست‌محیطی بالا می‌شود. علاوه بر این، ماهیت خودبازگشتی تولید (ایجاد متوالی token‌ها) موازی‌سازی را محدود کرده و سرعت استنتاج را در مقایسه با رویکردهای غیرخودبازگشتی کاهش می‌دهد.
  2. محدودیت طول زمینه: معماری ترانسفورمر وابستگی درجه دوم هزینه‌های محاسباتی و نیازهای حافظه به طول دنباله دارد. این امر اجبار به تعیین حد ثابت (پنجره زمینه) برای حجم متنی که مدل می‌تواند به یکباره پردازش کند، منجر به برش اسناد طولانی و از دست رفتن اطلاعات خارج از پنجره می‌شود.

II. مشکلات قابلیت اطمینان و دقت تولید

  1. توهم‌زایی: تولید اطلاعات واقعاً نادرست اما قانع‌کننده. این با فقدان درک واقعی مدل از جهان، تکیه بر الگوهای آماری در داده‌ها و ناتوانی در تأیید ادعاهای تولیدشده مرتبط است.
  2. انباشت خطا (Error Propagation): فرآیندی که در آن خطاهای رخ داده در مراحل اولیه تولید تقویت می‌شوند و منجر به تجمع نادرستی‌ها در مراحل بعدی می‌شوند که کیفیت کلی و انسجام متن را کاهش می‌دهد.
  3. ترکیب‌پذیری محدود: دشواری در وظایف نیازمند استنتاج منطقی چندمرحله‌ای یا محاسبات دقیق (مثلاً ضرب اعداد چندرقمی، حل معماها). دقت مدل‌ها در چنین وظایفی با افزایش پیچیدگی به دلیل ماهیت خودبازگشتی تولید به شدت کاهش می‌یابد.
  4. تکرار: تمایل به تکرار بیش از حد کلمات یا عبارات که اطلاعاتی بودن و خوانایی متن را کاهش می‌دهد. با ویژگی‌های آموزش و الگوریتم‌های رمزگشایی (انتخاب token بعدی) مرتبط است.
  5. لعنت معکوس (Reversal Curse): ناتوانی مدل در تعمیم خودکار دانش در جهت معکوس: پس از آموزش روی گزاره «A هست B»، مدل اغلب نمی‌تواند «B هست A» را استنتاج کند.
  6. مصالحه «خلاقیت-دقت»: ضرورت ایجاد تعادل بین تولید پاسخ‌های متنوع و اصیل و حفظ دقت واقعی. بهبود یک جنبه اغلب تأثیر منفی بر جنبه دیگر دارد، مثلاً خلاقیت بالا می‌تواند با افزایش توهم‌زایی همبستگی داشته باشد.

III. مشکلات تعامل و مدیریت:

  1. کنترل‌پذیری پایین: دشواری کنترل دقیق بر سبک، لحن، محتوای متن تولیدشده یا پیروی از دستورالعمل‌های پیچیده. کنترل‌پذیری به شدت به کیفیت دستورالعمل‌های ورودی («prompt‌ها») و روش‌های fine-tuning بستگی دارد.
  2. حساسیت به فرمول‌بندی: تغییرات جزئی در پرسش ورودی (prompt) می‌توانند به پاسخ‌های کاملاً متفاوتی منجر شوند، حتی اگر معناشناسی پرسش حفظ شده باشد. این امر به دست آوردن نتایج پایدار و قابل پیش‌بینی را دشوار می‌سازد.

IV. جنبه‌های اخلاقی و اجتماعی:

  1. مشکلات سوگیری و انصاف: مدل‌ها می‌توانند کلیشه‌های اجتماعی، سوگیری یا سمیت موجود در داده‌های آموزشی را بازتولید و تقویت کنند. تضمین انصاف و ایمنی مدل‌ها وظیفه پیچیده‌ای است.
  2. مشکل هم‌راستاسازی (LLM Alignment): مشکل عمومی‌تری که بند قبلی را نیز در بر می‌گیرد. این وظیفه تضمین مطابقت رفتار مدل با ارزش‌های انسانی، نیات و هنجارهای اخلاقی است. شامل مبارزه با سوگیری، توهم‌زایی، تولید محتوای مضر و افزایش کنترل‌پذیری می‌شود.
  3. خطرات سوءاستفاده: امکان استفاده از مدل‌های زبانی بزرگ برای ایجاد و انتشار گسترده اطلاعات نادرست، فیشینگ، هرزنامه، کد مخرب یا تولید متون تقلبی قانع‌کننده که تهدیداتی برای امنیت اطلاعاتی و شخصی ایجاد می‌کند و اعتماد اجتماعی را تضعیف می‌کند.

منابع:

  • «مدل زبانی بزرگ» // ویکی‌پدیا (نسخه روسی)
  • Large Language Model // Wikipedia (English version)
  • Grand Modèle de Langage // Wikipédia (Version française)
  • Sprachmodell // Wikipedia (Deutsche version)
  • Naveed H. و دیگران. // A Comprehensive Overview of Large Language Models // arXiv:2307.06435، 2023

ادبیات

  • Vaswani, A. et al. (2017). Attention Is All You Need. arXiv:1706.03762.
  • Devlin, J. et al. (2019). BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
  • Brown, T. et al. (2020). Language Models Are Few-Shot Learners. arXiv:2005.14165.
  • Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. arXiv:2001.08361.
  • Hoffmann, J. et al. (2022). Training Compute-Optimal Large Language Models. arXiv:2203.15556.
  • Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
  • Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
  • Bubeck, S. et al. (2023). Sparks of Artificial General Intelligence: Early Experiments with GPT-4. arXiv:2303.12712.
  • OpenAI. (2023). GPT-4 Technical Report. arXiv:2303.08774.
  • Touvron, H. et al. (2024). The Llama 3 Herd of Models. arXiv:2407.21783.