مدلهای زبانی بزرگ (LLMs): درک، کاربردها و بهینهسازی
در سال ۲۰۱۷، تیمی در گوگل برین (Google Brain) یک مدل پیشرفتهی هوش مصنوعی (AI) مبتنی بر یادگیری عمیق به نام ترنسفورمر (Transformer) را معرفی کرد. از آن زمان، ترنسفورمر به استانداردی برای حل مسائل مختلف پردازش زبان طبیعی (NLP) در دانشگاهها و صنایع تبدیل شده است. احتمالاً شما هم در سالهای اخیر بدون اینکه متوجه شوید، با مدل ترنسفورمر تعامل داشتهاید، زیرا گوگل از BERT برای بهبود موتور جستجوی خود و درک بهتر جستجوهای کاربران استفاده میکند. خانوادهی مدلهای GPT از OpenAI نیز به دلیل تواناییشان در تولید متن و تصاویر شبیه به انسان، مورد توجه قرار گرفتهاند.
این ترنسفورمرها اکنون برنامههایی مانند Copilot گیتهاب (توسعهیافته توسط OpenAI با همکاری مایکروسافت) را تقویت میکنند. Copilot میتواند نظرات و قطعههای کد را به کد منبع کاملاً کاربردی تبدیل کند که حتی میتواند از سایر مدلهای زبانی بزرگ (LLM) (همانطور که در Listing 1.1 نشان داده شده) برای انجام وظایف NLP کمک بگیرد.
""مدلهای زبانی بزرگ (LLMs) ابزارهای قدرتمندی هستند که میتوانند درک ما از زبان را متحول کنند و به ما در حل مسائل پیچیده کمک کنند.
مدلهای زبانی بزرگ (LLMs) چه هستند؟
مدلهای زبانی بزرگ (LLMs) مدلهای هوش مصنوعی هستند که معمولاً (اما نه لزوماً) از معماری ترنسفورمر مشتق شدهاند و برای درک و تولید زبان انسان، کد و... طراحی شدهاند. این مدلها بر روی حجم عظیمی از دادههای متنی آموزش داده میشوند و به آنها اجازه میدهند تا پیچیدگیها و ظرافتهای زبان انسان را درک کنند. LLMها میتوانند طیف گستردهای از وظایف مربوط به زبان، از طبقهبندی متن ساده تا تولید متن، را با دقت، روان بودن و سبک بالا انجام دهند.
در صنعت مراقبتهای بهداشتی، LLMها برای پردازش پروندههای الکترونیکی پزشکی (EMR)، تطبیق کارآزماییهای بالینی و کشف دارو استفاده میشوند. در امور مالی، آنها برای تشخیص تقلب، تحلیل احساسات اخبار مالی و حتی استراتژیهای معاملاتی استفاده میشوند. LLMها همچنین برای اتوماسیون خدمات مشتری از طریق رباتهای گفتگو (چتباتها) و دستیاران مجازی استفاده میشوند. به دلیل تطبیقپذیری و عملکرد بالایشان، LLMهای مبتنی بر ترنسفورمر به طور فزایندهای به یک دارایی ارزشمند در صنایع و کاربردهای مختلف تبدیل میشوند.
نکته: "درک" در اینجا به "درک زبان طبیعی" (NLU) اشاره دارد - شاخهای از NLP که بر توسعه الگوریتمها و مدلهایی تمرکز دارد که میتوانند زبان انسان را به طور دقیق تفسیر کنند.
تاریخچهی مختصر NLP و ظهور ترنسفورمرها
موفقیت LLMها و ترنسفورمرها به دلیل ترکیب چندین ایده است. بیشتر این ایدهها سالها وجود داشتند، اما در همان زمان به طور فعال مورد تحقیق قرار میگرفتند. مکانیزمهایی مانند توجه (Attention)، یادگیری انتقالی (Transfer Learning) و مقیاسبندی شبکههای عصبی، که چارچوب ترنسفورمرها را فراهم میکنند، تقریباً در همان زمان شاهد پیشرفتهای چشمگیری بودند.
معماری ترنسفورمر
معماری ترنسفورمر به خودی خود بسیار چشمگیر است. میتوان آن را به صورت موازی و در مقیاسهایی پیادهسازی کرد که مدلهای NLP پیشرفتهی قبلی نمیتوانستند. این امر به آن اجازه میدهد تا به مجموعه دادههای بسیار بزرگتر و زمانهای آموزش طولانیتری نسبت به مدلهای NLP قبلی دست یابد. ترنسفورمر از نوع خاصی از محاسبهی توجه به نام خود-توجهی (Self-Attention) استفاده میکند تا به هر کلمه در یک دنباله اجازه دهد تا به تمام کلمات دیگر در دنباله "توجه کند" (برای درک زمینه به آنها نگاه کند)، و آن را قادر میسازد تا وابستگیهای بلند-برد و روابط متنی بین کلمات را درک کند.
محدودیتهای ترنسفورمر
البته، هیچ معماریای بینقص نیست. ترنسفورمرها هنوز به یک پنجرهی متنی ورودی محدود هستند، که حداکثر طول متنی را که میتوانند در هر لحظه پردازش کنند، نشان میدهد.
کتابخانهی Transformers و اکوسیستم آن
از زمان ظهور معماری ترنسفورمر در سال ۲۰۱۷، اکوسیستم استفاده و استقرار ترنسفورمرها به شدت گسترش یافته است. کتابخانهی "Transformers" و بستههای پشتیبانیکنندهی آن، متخصصان را قادر ساخته تا از مدلها استفاده کنند، آنها را آموزش دهند و به اشتراک بگذارند، و به طور چشمگیری پذیرش این مدل را تسریع کردهاند، تا جایی که اکنون توسط هزاران سازمان (و در حال افزایش) استفاده میشود. مخازن LLM محبوب مانند Hugging Face پدید آمدهاند و دسترسی به مدلهای متنباز قدرتمند را برای عموم فراهم میکنند. به طور خلاصه، استفاده و تجاریسازی یک ترنسفورمر هرگز آسانتر نبوده است.
تعریف LLMها و وظیفهی مدلسازی زبان
مدلسازی زبان زیرشاخهای از NLP است که شامل ایجاد مدلهای آماری/یادگیری عمیق برای پیشبینی احتمال یک دنباله از توکنها در یک واژگان مشخص (مجموعهای محدود و شناختهشده از توکنها) است.
توکن: کوچکترین واحد معنایی است که با شکستن یک جمله یا قطعه متن به واحدهای کوچکتر ایجاد میشود. توکنها میتوانند کلمات باشند، اما میتوانند "زیر-کلمات" نیز باشند.
دو نوع وظیفهی مدلسازی زبان وجود دارد:
وظایف خودرمزگذار (Autoencoding)
این مدلها برای بازسازی جملهی اصلی از یک نسخهی خرابشدهی ورودی آموزش داده میشوند. این مدلها با بخش رمزگذار (Encoder) مدل ترنسفورمر مطابقت دارند و به ورودی کامل بدون هیچ ماسکی دسترسی دارند. مدلهای خودرمزگذار یک نمایش دوطرفه از کل جمله ایجاد میکنند. آنها را میتوان برای انواع وظایف مانند تولید متن تنظیم دقیق کرد، اما کاربرد اصلی آنها طبقهبندی جمله یا طبقهبندی توکن است. یک مثال معمولی از این نوع مدل BERT است.
وظایف خودرگرسیو (Autoregressive)
این مدل ها برای پیش بینی توکن بعدی در یک جمله، تنها بر اساس توکن های قبلی در عبارت، آموزش داده می شوند. این مدلها با بخش رمزگشا (Decoder) مدل ترنسفورمر مطابقت دارند و یک ماسک به کل جمله اعمال میشود تا سرهای توجه (Attention Heads) بتوانند فقط توکنهایی را که قبل از آن آمدهاند ببینند. مدلهای خودرگرسیو برای تولید متن ایدهآل هستند. یک مثال خوب از این نوع مدل GPT است.
جمعبندی ویژگیهای LLMها
به طور خلاصه، LLMها مدلهای زبانی هستند که ممکن است خودرگرسیو، خودرمزگذار یا ترکیبی از این دو باشند. LLMهای مدرن معمولاً بر اساس معماری ترنسفورمر هستند (که در این مقاله از آن استفاده خواهیم کرد)، اما میتوانند بر اساس معماری دیگری نیز باشند. ویژگیهای تعیینکنندهی LLMها اندازهی بزرگ و مجموعه دادههای آموزشی بزرگ آنها است که آنها را قادر میسازد تا وظایف پیچیدهی زبانی، مانند تولید و طبقهبندی متن را با دقت بالا و با تنظیم دقیق کم یا بدون تنظیم دقیق انجام دهند.
ویژگیهای کلیدی LLMها
معماری اصلی ترنسفورمر، همانطور که در سال ۲۰۱۷ طراحی شد، یک مدل دنباله به دنباله (Sequence-to-Sequence) بود، که به این معنی است که دو جزء اصلی داشت:
- رمزگذار (Encoder): وظیفهی دریافت متن خام، تقسیم آن به اجزای اصلیاش (بعداً در مورد این موضوع بیشتر توضیح خواهیم داد)، تبدیل آن اجزا به بردارها (مشابه فرآیند Word2vec) و استفاده از توجه برای درک زمینهی متن را بر عهده دارد.
- رمزگشا (Decoder): در تولید متن با استفاده از نوع اصلاحشدهای از توجه برای پیشبینی بهترین توکن بعدی، عالی است.
همانطور که قبلاً ذکر شد، به طور کلی، LLMها را میتوان به سه دستهی اصلی طبقهبندی کرد:
- مدلهای خودرگرسیو (Autoregressive): مانند GPT، که توکن بعدی را در یک جمله بر اساس توکنهای قبلی پیشبینی میکنند. این LLMها در تولید متن آزاد منسجم و متناسب با یک زمینهی معین، موثر هستند.
- **مدلهای خودرمزگذار (Autoencoding):**مانند BERT، که با پوشاندن برخی از توکنهای ورودی و تلاش برای پیشبینی آنها از توکنهای باقیمانده، یک نمایش دوطرفه از یک جمله ایجاد میکنند. این LLMها در درک سریع و در مقیاس بزرگ روابط متنی بین توکنها مهارت دارند، که آنها را به گزینههای عالی برای وظایف طبقهبندی متن، برای مثال، تبدیل میکند.
- ترکیبی از خودرگرسیو و خودرمزگذار: مانند T5، که میتواند از رمزگذار و رمزگشا برای همهکارهتر و انعطافپذیرتر بودن در تولید متن استفاده کند. چنین مدلهای ترکیبی میتوانند متن متنوعتر و خلاقانهتری را در زمینههای مختلف در مقایسه با مدلهای خودرگرسیو مبتنی بر رمزگشای خالص تولید کنند، زیرا توانایی آنها در درک زمینهی اضافی با استفاده از رمزگذار است.
LLMها چگونه کار میکنند؟
نحوهی پیشآموزش و تنظیم دقیق یک LLM تفاوت بین یک مدل با عملکرد متوسط و یک LLM پیشرفته و بسیار دقیق را ایجاد میکند.
پیشآموزش (Pre-training)
هر LLM موجود در بازار بر روی یک پیکرهی متنی بزرگ و بر روی وظایف خاص مرتبط با مدلسازی زبان، پیشآموزش داده شده است. در طول پیشآموزش، LLM سعی میکند زبان عمومی و روابط بین کلمات را یاد بگیرد و درک کند. هر LLM بر روی پیکرههای مختلف و بر روی وظایف مختلف آموزش داده میشود.
به عنوان مثال، BERT در ابتدا بر روی دو پیکرهی متنی در دسترس عموم پیشآموزش داده شد:
- ویکیپدیای انگلیسی: مجموعهای از مقالات از نسخهی انگلیسی ویکیپدیا، یک دانشنامهی آنلاین رایگان.
- BookCorpus: مجموعهی بزرگی از کتابهای داستانی و غیرداستانی.
BERT همچنین بر روی دو وظیفهی خاص مدلسازی زبان پیشآموزش داده شد:
- وظیفهی مدلسازی زبان پوشیده (Masked Language Modeling - MLM) (وظیفهی خودرمزگذاری): به BERT کمک میکند تا تعاملات توکنها را در یک جمله تشخیص دهد.
- وظیفهی پیشبینی جملهی بعدی (Next Sentence Prediction - NSP): به BERT کمک میکند تا بفهمد توکنها چگونه با یکدیگر بین جملات تعامل دارند.
یادگیری انتقالی (Transfer Learning)
یادگیری انتقالی تکنیکی است که در یادگیری ماشین برای استفاده از دانش بهدستآمده از یک وظیفه برای بهبود عملکرد در یک وظیفهی مرتبط دیگر استفاده میشود. یادگیری انتقالی برای LLMها شامل گرفتن یک LLM است که بر روی یک پیکرهی متنی پیشآموزش داده شده است و سپس تنظیم دقیق آن برای یک وظیفهی "پاییندستی" خاص، مانند طبقهبندی متن یا تولید متن، با بهروزرسانی پارامترهای مدل با دادههای خاص وظیفه است.
تنظیم دقیق (Fine-Tuning)
هنگامی که یک LLM پیشآموزش داده شد، میتوان آن را برای وظایف خاص تنظیم دقیق کرد. تنظیم دقیق شامل آموزش LLM بر روی یک مجموعه دادهی کوچکتر و خاص وظیفه برای تنظیم پارامترهای آن برای وظیفهی خاص در دست است. این به LLM اجازه میدهد تا از دانش پیشآموزشدادهشدهی خود در مورد زبان برای بهبود دقت خود برای وظیفهی خاص استفاده کند.
توجه (Attention)
توجه مکانیزمی است که در مدلهای یادگیری عمیق (نه فقط ترنسفورمرها) استفاده میشود و وزنهای متفاوتی را به بخشهای مختلف ورودی اختصاص میدهد و به مدل اجازه میدهد تا مهمترین اطلاعات را در حین انجام وظایفی مانند ترجمه یا خلاصهسازی اولویتبندی و تأکید کند.
فراتر از مدلسازی زبان: همترازی + RLHF
همترازی (Alignment) در مدلهای زبانی به این اشاره دارد که مدل چقدر میتواند به درخواستهای ورودی که با انتظارات کاربر مطابقت دارند پاسخ دهد. محققان در حال ارائهی روشهای مقیاسپذیر و کارآمد برای همتراز کردن مدلهای زبانی با هدف کاربر هستند. یکی از این روشهای گسترده برای همتراز کردن مدلهای زبانی، از طریق ترکیب یادگیری تقویتی (RL) در حلقهی آموزش است.
یادگیری تقویتی از بازخورد انسانی (Reinforcement Learning from Human Feedback - RLHF) یک روش محبوب برای همتراز کردن LLMهای پیشآموزشدادهشده است که از بازخورد انسانی برای بهبود عملکرد آنها استفاده میکند.
توکنسازی (Tokenization)
توکنسازی، همانطور که قبلاً ذکر شد، شامل شکستن متن به کوچکترین واحد درک - توکنها - است. این توکنها تکههای اطلاعاتی هستند که در معنای معنایی جاسازی شدهاند و به عنوان ورودی برای محاسبات توجه عمل میکنند. توکنها واژگان ثابت یک LLM را تشکیل میدهند و همیشه کل کلمات را نشان نمیدهند. به عنوان مثال، توکنها میتوانند علائم نگارشی، کاراکترهای منفرد یا حتی یک زیر-کلمه را نشان دهند، اگر کلمهای برای LLM شناختهشده نباشد.
دو نوع توکنسازی از نظر حروف بزرگ و کوچک وجود دارد:
- بدون حروف بزرگ (Uncased): همهی توکنها با حروف کوچک هستند و معمولاً علائم نگارشی از حروف حذف میشوند.
- با حروف بزرگ (Cased): حروف بزرگ توکنها حفظ میشود.
جاسازیها (Embeddings)
جاسازیها نمایشهای ریاضی کلمات، عبارات یا توکنها در یک فضای بزرگ-بعدی هستند. در NLP، جاسازیها برای نشان دادن کلمات، عبارات یا توکنها به گونهای استفاده میشوند که معنای معنایی و روابط آنها با کلمات دیگر را درک کند. انواع مختلفی از جاسازیها امکانپذیر است، از جمله جاسازیهای موقعیت (Position Embeddings)، که موقعیت یک توکن را در یک جمله کدگذاری میکنند، و جاسازیهای توکن (Token Embeddings)، که معنای معنایی یک توکن را کدگذاری میکنند.
مدلهای LLM محبوب و مدرن
BERT، GPT و T5 سه LLM محبوب هستند که به ترتیب توسط گوگل، OpenAI و گوگل توسعه یافتهاند. این مدلها از نظر معماری تفاوتهای چشمگیری با یکدیگر دارند، اگرچه همهی آنها ترنسفورمر را به عنوان جد مشترک خود دارند.
BERT
BERT یک مدل خودرمزگذار است که از توجه برای ساختن یک نمایش دوطرفه از یک جمله استفاده میکند. این رویکرد آن را برای وظایف طبقهبندی جمله و طبقهبندی توکن ایدهآل میکند.
GPT-3 و ChatGPT
GPT، برخلاف BERT، یک مدل خودرگرسیو است که از توجه برای پیشبینی توکن بعدی در یک دنباله بر اساس توکنهای قبلی استفاده میکند. خانوادهی الگوریتمهای GPT (که شامل ChatGPT و GPT-3 میشود) عمدتاً برای تولید متن استفاده میشوند و به دلیل تواناییشان در تولید متن طبیعی و شبیه به انسان شناخته شدهاند.
T5
T5 یک مدل ترنسفورمر رمزگذار/رمزگشای خالص است که برای انجام چندین وظیفهی NLP، از طبقهبندی متن گرفته تا خلاصهسازی و تولید متن، به صورت پیشفرض طراحی شده است.
مدل های LLM خاص دامنه (Domain-Specific LLMs)
مدل های LLM خاص دامنه، LLM هایی هستند که در یک حوزه موضوعی خاص، مانند زیست شناسی یا امور مالی آموزش دیده اند. برخلاف LLM های همه منظوره، این مدل ها برای درک زبان و مفاهیم خاص مورد استفاده در دامنه ای که روی آن آموزش دیده اند، طراحی شده اند.
""استفاده از LLM های خاص دامنه به دلیل آموزش آنها بر روی مجموعه خاصی از متون، مزیت دارد. این پیش آموزش نسبتاً محدود، اما گسترده، به آنها اجازه می دهد تا زبان و مفاهیم مورد استفاده در دامنه خاص خود را بهتر درک کنند، که منجر به بهبود دقت و روان بودن برای وظایف NLP می شود که در آن دامنه وجود دارد.
کاربردهای LLM ها
همانطور که قبلاً دیدیم، کاربردهای LLM ها بسیار متنوع هستند و محققان همچنان به یافتن کاربردهای جدید LLM ها ادامه می دهند. ما در این مقاله از LLM ها به طور کلی به سه روش استفاده خواهیم کرد:
- استفاده از توانایی LLM برای پردازش و تولید متن بدون نیاز به تنظیم دقیق.
- تنظیم دقیق LLM برای انجام یک وظیفه خاص با استفاده از یادگیری انتقالی.
- درخواست از یک LLM از پیش آموزش داده شده برای حل وظیفه ای که برای حل آن آموزش دیده است.
وظایف کلاسیک NLP
اکثریت قریب به اتفاق کاربردهای LLM ها ارائه نتایج پیشرفته در وظایف بسیار رایج NLP مانند طبقه بندی و ترجمه است.
- طبقه بندی متن (Text Classification): وظیفه طبقه بندی متن یک برچسب را به یک قطعه متن داده شده اختصاص می دهد.
- وظایف ترجمه (Translation Tasks): در ترجمه ماشینی، هدف ترجمه خودکار متن از یک زبان به زبان دیگر با حفظ معنا و زمینه است.
- تولید متن آزاد (Free-Text Generation): توانایی LLM ها در نوشتن آزادانه وبلاگ ها، ایمیل ها و حتی مقالات دانشگاهی.
بازیابی اطلاعات / جستجوی معنایی عصبی (Information Retrieval/Neural Semantic Search)
LLM ها اطلاعات را مستقیماً از طریق پیش آموزش و تنظیم دقیق در پارامترهای خود کدگذاری می کنند، اما به روز نگه داشتن آنها با اطلاعات جدید دشوار است.
ربات های گفتگو (Chatbots)
ظرفیت LLM ها برای برقراری مکالمه از طریق سیستم هایی مانند ChatGPT و حتی GPT-3 مشهود است.
جمعبندی
LLMها مدلهای پیشرفتهی هوش مصنوعی هستند که حوزهی NLP را متحول کردهاند. LLMها بسیار همهکاره هستند و برای انواع وظایف NLP، از جمله طبقهبندی متن، تولید متن و ترجمهی ماشینی استفاده میشوند. آنها بر روی پیکرههای متنی بزرگ پیشآموزش داده میشوند و سپس میتوانند برای وظایف خاص تنظیم دقیق شوند.