معماری مدل‌های زبانی بزرگ

معماری مدل‌های زبانی بزرگ LLM

 

ساخت یک مدل زبانی بزرگ (Large Language Model) به طراحی معماری شبکه عصبی، آماده‌سازی داده‌ها، تنظیم پارامترها و فراهم کردن زیرساخت محاسباتی مناسب نیاز دارد. هر یک از این بخش‌ها وظیفه مشخصی در فرایند پردازش اطلاعات و یادگیری الگوهای زبانی بر عهده دارند.

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

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

شناخت این اجزا کمک می‌کند درک دقیق‌تری از ساختار داخلی مدل‌های زبانی و الزامات فنی توسعه آن‌ها داشته باشیم. در ادامه، مهم‌ترین بخش‌های معماری این مدل‌ها را همراه با مثال بررسی می‌کنیم.

۱. توکن‌سازی و تبدیل متن به داده عددی

پیش از آنکه متن وارد شبکه عصبی شود، باید به واحدهای کوچک‌تری به نام توکن (Token) تقسیم شود. این فرایند که توکن‌سازی (Tokenization) نام دارد، متن را به قالبی تبدیل می‌کند که مدل بتواند آن را پردازش کند.

توکن‌ها ممکن است شامل کلمات کامل، بخش‌هایی از کلمات، اعداد یا نشانه‌های نگارشی باشند. برای مثال، یک توکن‌ساز می‌تواند عبارت انگلیسی زیر را به چند واحد تقسیم کند:

Artificial intelligence is advancing.

تقسیم‌بندی دقیق به الگوریتم توکن‌ساز بستگی دارد و ممکن است میان مدل‌های مختلف متفاوت باشد.

مثال ساده: فرض کنید ورودی مدل این جمله باشد:

«هوش مصنوعی مفید است.»

توکن‌ساز ممکن است این جمله را به واحدهایی مانند «هوش»، «مصنوعی»، «مفید» و «است» تقسیم کند. این تقسیم‌بندی صرفاً یک مثال ساده است و توکن‌ساز واقعی ممکن است کلمات فارسی را به شکل دیگری، از جمله زیرواژه‌ها، تقسیم کند.

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

مثال: در یک توکن‌ساز فرضی، ممکن است توکن «هوش» شناسه 125 و توکن «مصنوعی» شناسه 348 را داشته باشد. این اعداد صرفاً شناسه‌هایی برای نمایش توکن‌ها هستند و به‌خودی‌خود معنای کلمات را نشان نمی‌دهند. لایه تعبیه‌سازی، هر شناسه را به یک بردار عددی تبدیل می‌کند تا شبکه بتواند از آن در محاسبات خود استفاده کند.

طراحی مناسب توکن‌ساز اهمیت زیادی دارد؛ زیرا اندازه واژگان، نحوه تقسیم کلمات و عملکرد مدل در زبان‌های مختلف می‌توانند بر هزینه محاسباتی و کیفیت پردازش تأثیر بگذارند.

۲. لایه توجه؛ شناسایی ارتباط میان توکن‌ها

یکی از اجزای کلیدی معماری ترنسفورمر، سازوکار توجه (Attention Mechanism) است. این سازوکار به مدل امکان می‌دهد هنگام پردازش یک توکن، اطلاعات مرتبط با سایر توکن‌های موجود در زمینه را در نظر بگیرد.

در بسیاری از معماری‌های ترنسفورمر، توجه با استفاده از سه مؤلفه اصلی محاسبه می‌شود:

  • Query: مشخص می‌کند یک توکن به دنبال چه اطلاعاتی است.

  • Key: ویژگی‌هایی را ارائه می‌دهد که برای سنجش ارتباط با سایر توکن‌ها استفاده می‌شوند.

  • Value: اطلاعاتی را فراهم می‌کند که بر اساس میزان توجه ترکیب می‌شوند.

با محاسبه میزان سازگاری Query و Key، وزن‌های توجه به دست می‌آیند. سپس این وزن‌ها برای ترکیب اطلاعات Valueها استفاده می‌شوند.

مثال: جمله زیر را در نظر بگیرید:

«سارا کتاب را برداشت، چون می‌خواست آن را بخواند.»

برای تفسیر واژه «آن»، مدل باید ارتباط آن را با بخش‌های قبلی جمله بررسی کند. سازوکار توجه می‌تواند به مدل کمک کند اطلاعات مربوط به «کتاب» را با «آن» مرتبط کند. البته توجه به‌تنهایی تضمین نمی‌کند که مدل همیشه مرجع ضمیر را درست تشخیص دهد؛ عملکرد نهایی به کل مدل و آموزش آن بستگی دارد.

برای درک ساده‌تر Query، Key و Value، می‌توان آن‌ها را به فرایند جست‌وجوی اطلاعات تشبیه کرد: Query نشان می‌دهد چه اطلاعاتی موردنیاز است، Key برای سنجش ارتباط اطلاعات با درخواست استفاده می‌شود و Value محتوایی است که در نهایت از آن بهره گرفته می‌شود. این تشبیه صرفاً برای فهم مفهوم است؛ محاسبات واقعی با بردارهای عددی انجام می‌شوند.

در مدل‌های زبانی مولد از نوع خودبازگشتی (Autoregressive)، معمولاً از ماسک توجه علّی (Causal Attention Mask) استفاده می‌شود تا مدل هنگام پیش‌بینی هر توکن، به توکن‌های آینده دسترسی نداشته باشد.

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

۳. شبکه‌های عصبی پیش‌خور و لایه‌های ترنسفورمر

لایه توجه به‌تنهایی تمام عملیات موردنیاز برای پردازش اطلاعات را انجام نمی‌دهد. در معماری متداول ترنسفورمر، شبکه‌های عصبی پیش‌خور (Feed-Forward Networks) نیز در هر لایه نقش مهمی دارند.

یک بلوک ترنسفورمر معمولاً از بخش‌هایی مانند توجه، شبکه پیش‌خور، اتصالات باقی‌مانده (Residual Connections) و نرمال‌سازی لایه (Layer Normalization) تشکیل می‌شود. ترتیب و جزئیات این اجزا با توجه به معماری مدل متفاوت است.

شبکه پیش‌خور، بازنمایی هر موقعیت را با استفاده از تبدیل‌های غیرخطی پردازش می‌کند. اتصالات باقی‌مانده به عبور اطلاعات در شبکه کمک می‌کنند و نرمال‌سازی لایه نیز در بسیاری از معماری‌ها برای بهبود پایداری آموزش به کار می‌رود.

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

مدل‌های زبانی بزرگ معمولاً تعداد زیادی بلوک ترنسفورمر را به‌صورت متوالی در خود جای می‌دهند. خروجی هر بلوک به بلوک بعدی منتقل می‌شود و در نتیجه، شبکه می‌تواند بازنمایی‌های پیچیده‌تری از ورودی بسازد.

برای مثال، در یک مدل فرضی با ۲۴ بلوک ترنسفورمر، اطلاعات ورودی از این بلوک‌ها عبور می‌کند و در هر مرحله پردازش می‌شود. عدد ۲۴ تنها یک مثال آموزشی است؛ مدل‌های واقعی ممکن است تعداد بلوک‌های بسیار کمتر یا بیشتری داشته باشند.

تعداد لایه‌ها، ابعاد بردارهای داخلی و ساختار هر بلوک از جمله تصمیم‌های مهم هنگام طراحی معماری مدل هستند.

۴. کدگذاری موقعیتی و اطلاعات ترتیب

شبکه ترنسفورمر باید بتواند ترتیب توکن‌ها را نیز در پردازش خود لحاظ کند؛ زیرا جابه‌جایی کلمات ممکن است ساختار و معنای جمله را تغییر دهد.

برای فراهم کردن این اطلاعات، معماری‌های مختلف از روش‌های کدگذاری موقعیتی استفاده می‌کنند. یکی از روش‌های شناخته‌شده در مدل‌های جدید، کدگذاری موقعیتی چرخشی (Rotary Positional Embedding یا RoPE) است.

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

مثال: دو جمله زیر را مقایسه کنید:

  • «گربه موش را تعقیب کرد.»

  • «موش گربه را تعقیب کرد.»

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

روش‌های دیگری نیز وجود دارند؛ از جمله کدگذاری موقعیتی مطلق و روش‌های مبتنی بر موقعیت نسبی. انتخاب روش مناسب به ساختار مدل و نیازهای آن بستگی دارد.

اطلاعات موقعیتی در پردازش دنباله‌های طولانی، تحلیل کد و وظایفی که ترتیب عناصر در آن‌ها اهمیت دارد، نقش مهمی ایفا می‌کنند.

۵. پارامترها و ابعاد معماری مدل

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

چند ویژگی معماری در تعیین مقیاس مدل اهمیت دارند:

  • تعداد لایه‌ها: تعداد بلوک‌های پردازشی که داده از آن‌ها عبور می‌کند.

  • ابعاد پنهان (Hidden Dimensions): اندازه بردارهای داخلی مورد استفاده برای نمایش اطلاعات.

  • تعداد سرهای توجه (Attention Heads): تعداد بخش‌های موازی در سازوکار توجه چندسری.

  • اندازه واژگان: تعداد شناسه‌های توکنی که توکن‌ساز در اختیار مدل قرار می‌دهد.

مثال: دو مدل فرضی را در نظر بگیرید. مدل اول ۱۲ بلوک ترنسفورمر دارد و مدل دوم ۲۴ بلوک. اگر سایر شرایط نیز مشابه باشند، مدل دوم معمولاً به محاسبات و حافظه بیشتری نیاز خواهد داشت. بااین‌حال، تعداد لایه‌ها به‌تنهایی برای تعیین تعداد دقیق پارامترها یا مقایسه کیفیت دو مدل کافی نیست؛ ابعاد پنهان، ساختار لایه‌ها و سایر جزئیات نیز اهمیت دارند.

تغییر این ویژگی‌ها می‌تواند تعداد پارامترها، نیاز حافظه، هزینه محاسباتی و ظرفیت مدل را تحت تأثیر قرار دهد.

بااین‌حال، افزایش تعداد پارامترها به‌تنهایی تضمین نمی‌کند که یک مدل عملکرد بهتری داشته باشد. کیفیت داده‌ها، روش آموزش، طراحی معماری و منابع محاسباتی نیز در نتیجه نهایی نقش دارند.

۶. زیرساخت محاسباتی و آموزش توزیع‌شده

آموزش مدل‌های زبانی بزرگ به انجام حجم زیادی از عملیات ریاضی روی شبکه عصبی نیاز دارد. این محاسبات معمولاً روی پردازنده‌های گرافیکی (GPU) یا شتاب‌دهنده‌های تخصصی هوش مصنوعی اجرا می‌شوند.

وقتی مدل یا مجموعه‌داده از ظرفیت یک دستگاه فراتر می‌رود، می‌توان از آموزش توزیع‌شده (Distributed Training) استفاده کرد. در این روش، محاسبات و در صورت نیاز بخش‌هایی از مدل میان چندین دستگاه تقسیم می‌شوند.

سه رویکرد رایج عبارت‌اند از:

تقسیم داده‌ها (Data Parallelism): هر دستگاه بخشی از داده‌های آموزشی را پردازش می‌کند و اطلاعات لازم برای هماهنگ‌سازی پارامترها میان دستگاه‌ها مبادله می‌شود.

مثال: اگر چهار GPU در آموزش یک مدل مشارکت کنند، می‌توان داده‌های یک مرحله آموزشی را میان آن‌ها تقسیم کرد. هر GPU بخشی از داده‌ها را پردازش می‌کند و سپس گرادیان‌ها یا اطلاعات لازم برای به‌روزرسانی هماهنگ پارامترها با یکدیگر ترکیب می‌شوند.

تقسیم مدل (Model Parallelism): بخش‌هایی از پارامترها یا محاسبات مدل میان دستگاه‌های مختلف توزیع می‌شوند.

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

تقسیم خط لوله‌ای (Pipeline Parallelism): لایه‌های مدل روی دستگاه‌های متفاوت قرار می‌گیرند و داده‌ها به‌صورت مرحله‌ای از آن‌ها عبور می‌کنند.

مثال: در یک مدل فرضی با ۲۰ لایه، ممکن است لایه‌های ابتدایی روی GPU اول و لایه‌های بعدی روی GPU دوم قرار بگیرند. خروجی بخش اول به بخش دوم منتقل می‌شود تا پردازش ادامه پیدا کند. در آموزش عملی، برای استفاده بهتر از دستگاه‌ها می‌توان چند دسته داده را به‌صورت مرحله‌ای وارد خط لوله کرد.

این روش‌ها می‌توانند با یکدیگر ترکیب شوند. انتخاب راهکار مناسب به اندازه مدل، ظرفیت حافظه، سرعت ارتباط میان دستگاه‌ها و محدودیت‌های زیرساختی بستگی دارد.

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

۷. از معماری تا آموزش مدل

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

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

مثال: فرض کنید بخشی از متن آموزشی این باشد:

«زمین به دور خورشید ...»

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

این چرخه بارها تکرار می‌شود تا مدل بتواند الگوهای موجود در داده‌های آموزشی را بهتر یاد بگیرد.

پس از آموزش اولیه، برخی مدل‌ها با روش‌هایی مانند تنظیم دقیق نظارت‌شده (Supervised Fine-Tuning) یا یادگیری مبتنی بر ترجیحات انسانی، برای پاسخ‌گویی بهتر به دستورها و نیازهای کاربران تنظیم می‌شوند.

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

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

در آخر

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

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

درک این معماری، پایه‌ای برای شناخت عمیق‌تر مدل‌های زبانی و ارزیابی راهکارهای مبتنی بر هوش مصنوعی است؛ به‌ویژه زمانی که هدف، انتخاب، توسعه یا به‌کارگیری این فناوری‌ها در محصولات و خدمات دیجیتال باشد.

 

سوالات متداول

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

توکن‌سازی متن را به واحدهای کوچک‌تری مانند کلمات، بخش‌هایی از کلمات یا نشانه‌های نگارشی تقسیم می‌کند و سپس آن‌ها را برای پردازش به شناسه‌های عددی تبدیل می‌کند.

Attention به مدل کمک می‌کند ارتباط و میزان اهمیت توکن‌های مختلف را نسبت به یکدیگر بررسی کند و هنگام پردازش هر بخش، اطلاعات مرتبط از متن را در نظر بگیرد.

پارامترها مقادیر قابل‌آموزشی هستند که مدل در فرایند آموزش آن‌ها را تنظیم می‌کند. این پارامترها در یادگیری الگوهای پیچیده زبان نقش دارند، اما تعداد بیشتر پارامترها به‌تنهایی تضمین‌کننده عملکرد بهتر نیست.

ترتیب توکن‌ها می‌تواند معنای جمله را تغییر دهد. سازوکارهای کدگذاری موقعیتی مانند RoPE اطلاعات مربوط به موقعیت توکن‌ها را در اختیار معماری مدل قرار می‌دهند.

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

در مدل‌های خودبازگشتی، مدل معمولاً با پیش‌بینی توکن بعدی بر اساس توکن‌های قبلی آموزش می‌بیند. سپس با محاسبه خطا و به‌روزرسانی پارامترها، عملکرد مدل به‌تدریج بهبود پیدا می‌کند.

بله. برخی مدل‌ها پس از آموزش اولیه با روش‌هایی مانند تنظیم دقیق نظارت‌شده (Supervised Fine-Tuning) یا روش‌های مبتنی بر ترجیحات، برای پیروی بهتر از دستورها و نیازهای کاربران تنظیم می‌شوند.

برچسب‌ها

وبلاگ

OpenShell انویدیا چیست؟

OpenShell انویدیا چیست؟

امنیت ایجنت‌های هوش مصنوعی

ادامه
۲۰ابزار هوش مصنوعی

۲۰ابزار هوش مصنوعی

از مطالعه و تحقیق تا طراحی و تولید محتوا

ادامه
هوش مصنوعی چندوجهی

هوش مصنوعی چندوجهی

راهنمای کامل و به‌روز Multimodal AI

ادامه
وبلاگ های بیشتر