نحوهی کارکرد مدلهای بزرگ زبانی: از صفر تا ChatGPT
این مقاله به بررسی نحوهی کارکرد مدلهای بزرگ زبانی (LLMs) میپردازد و سعی دارد با زبانی ساده و به دور از پیچیدگیهای فنی، مفاهیم کلیدی را به خوانندگان مبتدی منتقل کند.
مقدمهای بر هوش مصنوعی و مدلهای بزرگ زبانی
هوش مصنوعی (AI) حوزهای گسترده است که به ماشینهای هوشمند میپردازد. یادگیری ماشین (ML) زیرمجموعهای از AI است که بر شناسایی الگوها در دادهها تمرکز دارد. یادگیری عمیق (Deep Learning) نیز زیرمجموعهای از ML است که بر دادههای غیرساختیافته مانند متن و تصویر متمرکز است و از شبکههای عصبی مصنوعی بهره میبرد. مدلهای بزرگ زبانی (LLMs) به طور خاص با متن سروکار دارند و موضوع اصلی این مقاله هستند.
""هوش مصنوعی مانند یک اقیانوس پهناور است که مدلهای زبانی تنها قطرهای از آن هستند.
یادگیری ماشین: یافتن الگوها در دادهها
هدف یادگیری ماشین، کشف الگوهای موجود در دادههاست. به عبارت دیگر، یافتن رابطهای بین ورودی و خروجی. برای مثال، فرض کنید میخواهیم بین دو سبک موسیقی رگتون و R&B تمایز قائل شویم. میتوانیم با اندازهگیری ضربآهنگ و انرژی آهنگها و برچسبگذاری آنها با ژانر مربوطه، یک مدل یادگیری ماشین را آموزش دهیم تا این رابطه را یاد بگیرد.
مثال: تشخیص ژانر موسیقی
- ورودی: ضربآهنگ (Tempo) و انرژی (Energy) آهنگ
- خروجی: ژانر (رگتون یا R&B)
- وظیفه: مدل باید بتواند با دریافت ضربآهنگ و انرژی یک آهنگ جدید، ژانر آن را پیشبینی کند.
این یک مسئلهی دستهبندی است، زیرا خروجی (ژانر) میتواند یکی از چند دستهی ثابت (رگتون یا R&B) باشد. در مقابل، در مسائل رگرسیون، خروجی یک مقدار پیوسته است (مانند دما).
پیچیدگی مدلها
هرچه رابطهی بین ورودی و خروجی پیچیدهتر باشد، به مدل یادگیری ماشین پیچیدهتر و قدرتمندتری نیاز داریم. تعداد ورودیها و تعداد دستهها نیز بر پیچیدگی مدل تأثیر میگذارند.
پردازش تصویر و متن: چالشهای جدید
در مثال تشخیص ژانر موسیقی، ورودیها (ضربآهنگ و انرژی) اعداد بودند. اما چگونه میتوان تصاویر یا متن را به عنوان ورودی به یک مدل یادگیری ماشین داد؟
پردازش تصویر
تصاویر از پیکسلها تشکیل شدهاند که هر کدام دارای مقادیر عددی برای رنگهای قرمز، سبز و آبی هستند. بنابراین، در تئوری میتوان پیکسلهای یک تصویر را مستقیماً به یک مدل یادگیری ماشین داد. اما مشکل اینجاست که حتی یک تصویر کوچک هم میتواند صدها هزار پیکسل داشته باشد، که تعداد ورودیها را به شدت افزایش میدهد.
پردازش متن
برای پردازش متن، از روشی به نام تعبیهی کلمه (Word Embedding) استفاده میشود. تعبیهی کلمه، معنای معنایی و نحوی هر کلمه را به صورت عددی نشان میدهد. به این ترتیب، میتوان یک جمله را به دنبالهای از اعداد تبدیل کرد و به مدل یادگیری ماشین داد. طول این دنبالهها با توجه به اندازه ی تعبیه های کلمه میتواند زیاد باشد.
یادگیری عمیق: مدلهای قدرتمند برای وظایف پیچیده
برای حل مسائلی مانند پردازش تصویر و متن که دارای ورودیهای زیاد و روابط پیچیده هستند، به مدلهای قدرتمندتری نیاز داریم. اینجاست که شبکههای عصبی وارد میشوند.
شبکههای عصبی
شبکههای عصبی مدلهای یادگیری ماشینی هستند که میتوانند روابط بسیار پیچیده را مدلسازی کنند. آنها از لایههای متعددی از "نورونهای" متصل به هم تشکیل شدهاند که سیگنال ورودی از آنها عبور میکند تا خروجی پیشبینی شود. شبکههای عصبی میتوانند بسیار بزرگ باشند. برای مثال، ChatGPT بر اساس یک شبکهی عصبی با 176 میلیارد نورون ساخته شده است.
مدلهای بزرگ زبانی: یادگیری پیشبینی کلمهی بعدی
اکنون میتوانیم به سراغ مدلهای بزرگ زبانی برویم. "بزرگ" به تعداد زیاد نورونها (پارامترها) در شبکهی عصبی اشاره دارد. اما "مدل زبانی" چیست؟
مدلسازی زبان
مدلسازی زبان به معنای یادگیری پیشبینی کلمهی بعدی در یک دنبالهی کلمات است. به عبارت دیگر، مدل باید بتواند با دریافت یک دنباله از کلمات، کلمهی بعدی را حدس بزند.
- ورودی: دنبالهای از کلمات
- خروجی: کلمهی بعدی
- وظیفه: مدل باید بتواند با دریافت یک دنباله از کلمات، کلمهی بعدی را با بیشترین احتمال ممکن پیشبینی کند.
این یک مسئلهی دستهبندی است، اما با تعداد بسیار زیادی دسته (به اندازهی تعداد کلمات موجود در دایرهی واژگان).
دادههای آموزشی
برای آموزش یک مدل زبانی، به حجم عظیمی از متن نیاز داریم. خوشبختانه، متنهای زیادی در اینترنت، کتابها و مقالات وجود دارد. میتوانیم از این متنها برای ایجاد یک مجموعه دادهی بزرگ استفاده کنیم. نکتهی جالب این است که نیازی به برچسبگذاری دستی دادهها نداریم، زیرا کلمهی بعدی خود به عنوان برچسب عمل میکند (یادگیری خودنظارتی).
تولید متن
با اموزش مدل زبانی میتوان به تولید متن پرداخت. به این صورت که با دادن یک دنباله از کلمات به مدل، مدل میتواند کلمه به کلمه به تولید متن بپردازد.
ChatGPT: مدل زبانی Generative Pre-trained Transformer
اکنون میتوانیم به سراغ ChatGPT برویم. GPT مخفف Generative Pre-trained Transformer است.
- Generative (مولد): به این معنی که مدل برای تولید متن آموزش دیده است.
- Pre-trained (پیشآموزشدیده): به این معنی که مدل ابتدا با حجم عظیمی از دادهها آموزش داده شده است (مرحلهی پیشآموزش).
- Transformer (تبدیلکننده): نوعی معماری شبکهی عصبی است که در مدلهای زبانی استفاده میشود.
پیشآموزش و تنظیم دقیق
مدلهای بزرگ زبانی مانند ChatGPT در چند مرحله آموزش داده میشوند:
- پیشآموزش (Pre-training): در این مرحله، مدل با حجم عظیمی از دادهها آموزش داده میشود تا کلمهی بعدی را پیشبینی کند. در این مرحله، مدل گرامر و نحو زبان را یاد میگیرد و دانش زیادی در مورد جهان کسب میکند.
- تنظیم دقیق (Fine-tuning): در این مرحله، مدل با مجموعهای از دادههای باکیفیتتر که شامل دستورالعملها و پاسخهای مربوطه هستند، آموزش داده میشود. این کار باعث میشود مدل به یک دستیار مفید تبدیل شود که میتواند به سؤالات پاسخ دهد و دستورالعملها را دنبال کند.
- تنظیم دقیق دستورالعمل (Instruction Fine-tuning): مدل با داده های با کیفیت بالا که شامل دستورالعمل و پاسخ های مرتبط هستند اموزش داده می شود.
- یادگیری تقویتی با بازخورد انسانی Reinforcement Learning from Human Feedback (RLHF): هدف این مرحله نیز شبیه به تنظیم دقیق دستورالعمل است و باعث بهبود همسویی خروجی مدل با ارزش ها و ترجیحات انسانی می گردد.
چرا مدلهای زبانی میتوانند کارهای مختلفی انجام دهند؟
خلاصهسازی
مدلهای زبانی میتوانند متنهای طولانی را خلاصه کنند، زیرا در طول آموزش با خلاصههای زیادی مواجه شدهاند.
پاسخ به سؤالات
مدلهای زبانی میتوانند به سؤالات دانش عمومی پاسخ دهند، زیرا دانش زیادی را در طول پیشآموزش کسب کردهاند.
""مدل زبانی مانند کتابخانهای است که اطلاعات زیادی در خود دارد، اما برای یافتن پاسخ مناسب، باید بدانید چگونه سؤال کنید.
توهم (Hallucination)
گاهی اوقات مدلهای زبانی اطلاعات نادرستی تولید میکنند که به آن "توهم" میگویند. این اتفاق میافتد زیرا مدلها فقط برای تولید متن آموزش داده شدهاند، نه برای تولید متن درست.
زمینهسازی (Grounding)
برای کاهش توهم و افزایش دقت پاسخها، میتوان به مدل زمینه (Context) داد. به عنوان مثال، اگر میخواهیم از مدل بپرسیم رئیسجمهور فعلی کلمبیا کیست، میتوانیم مقالهای در مورد تاریخ سیاسی کلمبیا را به عنوان زمینه به مدل بدهیم.
تواناییهای نوظهور مدلهای زبانی
مدلهای بزرگ زبانی تواناییهای نوظهوری دارند، یعنی میتوانند کارهایی را انجام دهند که به طور خاص برای آنها آموزش داده نشدهاند.
Zero-shot
مدلهای زبانی میتوانند وظایف جدیدی را بدون دیدن هیچ مثالی انجام دهند (zero-shot). فقط کافی است دستورالعمل را به مدل بدهیم.
Few-shot
اگر مدل در انجام یک وظیفه به صورت zero-shot مشکل داشت، میتوانیم چند مثال به آن بدهیم (few-shot). این کار به مدل کمک میکند تا وظیفه را بهتر درک کند.
تفکر گامبهگام (Chain-of-Thought)
برای وظایف پیچیدهتر، میتوانیم از مدل بخواهیم "گامبهگام فکر کند". این کار به مدل اجازه میدهد تا مسائل را به مراحل کوچکتر تقسیم کند و راهحل را به تدریج بسازد.
""کلمات کلیدی مانند نقشهای هستند که خواننده را به مقصد میرسانند
جمعبندی
مدلهای بزرگ زبانی ابزارهای قدرتمندی هستند که میتوانند کارهای مختلفی انجام دهند. آنها با حجم عظیمی از دادهها آموزش داده میشوند تا کلمهی بعدی را پیشبینی کنند و در این فرآیند، دانش زیادی در مورد جهان کسب میکنند. با این حال، آنها کامل نیستند و ممکن است دچار توهم شوند. با استفاده از تکنیکهایی مانند زمینهسازی و تفکر گامبهگام، میتوان دقت و قابلیت اطمینان آنها را افزایش داد.
مدلهای بزرگ زبانی هنوز در حال توسعه هستند و پتانسیل زیادی برای تغییر نحوهی تعامل ما با فناوری دارند.