LLM چیست؟
LLM یا Large Language Model یا مدل زبانی بزرگ یکی از داغترین مباحث این روزهای دنیای هوش مصنوعی هست. پیوسته درمورد LLM مطالعه میکنم و علاقهمندم آنچه آموختم را با شما به اشتراک بگذارم. با من و هوسم همراه باشید…
LLM چیست؟
همانطور که میدانید LLM مخفف عبارت زیر است:
Large Language Model
عبارت بالا، حاوی کلمات و عبارتهای مهمی هست:
- Model
- Language Model
- Large Language Model
بین سه مورد بالا، مورد اول به مدل یادگیری ماشین اشاره دارد. پس LLM یک مدل یادگیری ماشین هست. بیش از این درمورد مدل یادگیری ماشین و ویژگیهای آن توضیح نمیدهم. اگر نمیدانید، آموزش یادگیری ماشین چیست را بخوانید. اما مورد دوم، Language Model یا مدل زبانی، نیاز به توضیح دارد. اخیرا، یک آموزش با موضوع مدل زبانی چیست نوشتهام. هرچند در ادامه، درباره Language Model کمی توضیح میدهم، اما پیشنهاد میکنم ابتدا آموزش مدل زبانی را بخوانید. پس از تعریف مختصر Language Model، وارد قلمروی Large Language Model میشویم…
مدل زبانی یا Language Model چیست؟
تعریف کار سختی است! بهصورت ساده و مختصر، مدل زبانی یا Language Model را میتوان اینگونه تعریف کرد:
یک مدل یادگیری ماشین که مانند انسان قادر به درک و تولید متن است.
درک تعریف بالا با مشاهده مثال زیر سادهتر میشود. در شکل زیر، یک متن کوتاه با عبارت “Language modeling is” به مدل زبانی آموزشدیده داده شده است. سپس، مدل زبانی این متن را ادامه میدهد که متن تولیدیاش در خروجی مدل قابل مشاهده هست.
انواع مدل زبانی
روشهای مختلفی برای ساخت مدل زبانی وجود دارد. مدل زبانی N-grams سادهترین مدل زبانی است که با بهرهگیری از احتمالات، کلمات بعدی یک دنباله را تولید میکند. ساخت مدل زبانی مبتنی بر شبکه های عصبی عمیق روشی رایج و قدرتمند محسوب میشود. مدل زبانی مبتنی بر شبکه عصبی محدود به یک نوع شبکه عصبی خاص نیست. بلکه، شبکه های عصبی مختلفی مانند شبکه بازگشتی، شبکه ترنسفورمر و حتی شبکه کانولوشنی میتوانند استفاده شوند. البته، در سالهای اخیر، ترنسفورمر نسبت به سایر شبکه های عصبی عملکرد بهتری در مدلسازی زبان داشته است. با همین شبکه ترنسفورمر، مدلهای زبانی در مقیاس بزرگ (بیلیون پارامتری) ساخته شده که ثمره آن را در چتباتها (مانند ChatGPT) میبینیم. در این آموزش، تمرکز ما روی مدل زبانی مبتنی بر شبکه ترنسفورمر است.
مدل زبانی چگونه کار میکند؟
در این بخش، میخواهم بهصورت کلی به شما نشان دهم که مدل زبانی چگونه کار میکند؟ در واقع، منظورم این هست که چگونه مدل زبانی متن تولید میکند. فرض بر این هست که مدل زبانی ما یک مدل از جنس شبکه عصبی (مثلا شبکه ترنسفورمر) است که آن را قبلا آموزش دادهایم و حالا قرار هست برای ما متن تولید کند. در انیمیشن زیر، نحوه تولید متن مدل GPT-2 از شرکت OpenAI را بهصورت کلی نشان دادهام.
LLM یا مدل زبانی بزرگ
تا اینجا، با ماهیت مدل زبانی یا Language Model آشنا شدید. حالا وقت این رسیده که معنی کلمه بزرگ (Large) در مدل زبانی بزرگ (LLM) را درک کنید:
LLM یعنی یک مدل زبانی با حجم بسیار زیادی پارامتر که روی حجم بسیار زیادی داده متنی آموزش دیده است.
شاید عبارت “حجم بسیار زیاد” برای شما قابل درک نباشد. یک مثال میزنم؛ مدل Llama-2-70b از شرکت متا، یک شبکه ترنسفورمر است که حدود 70 بیلیون (میلیارد) پارامتر دارد. این مدل روی حدود 10 ترابایت داده متنی آموزش داده شده است. برای آموزش این مدل بزرگ با این حجم داده از GPU کلاستر با 6000 GPU به مدت 12 روز استفاده شده است! هزینه آموزش چنین مدلی حدود 2 میلیون دلار هست! حجم مدل نهایی ذخیرهشده در هارد حدود 140 گیگابایت هست! فَکِّت افتاد یا نه؟! 😃 پس نتیجه میگیریم که آن کلمه Large فقط به سایز مدل یا حجم داده آموزش اشاره ندارد. بلکه، به خیلی چیزها مانند میزان GPU-ها، پوووول و غیره هم اشاره دارد!
جایگاه LLM در هوش مصنوعی
جایگاه مدل زبانی بزرگ یا LLM در شکل زیر به خوبی نشان داده شده است. زیرشاخهای از یادگیری عمیق است که البته با Generative AI یا هوش مصنوعی مولد در ارتباط است. هوش مصنوعی مولد هم زیرشاخهای از یادگیری عمیق است؛ در GenAI با کمک شبکه عصبی عمیق محتواهای جدیدی مانند متن، تصویر، صوت و غیره تولید میشود. حتما، تصاویر تولیدشده با هوش مصنوعی را بارها دیدهاید. دلیل همپوشانی GenAI و LLM این هست که LLM قابلیت تولید متن باکیفیت بالا را دارد.
معماری LLM
معمولا معماری LLM مبتنی بر شبکه عصبی ترنسفورمر است. ما در وبلاگ یک آموزش جامع درباره شبکه ترنسفورمر داریم که پیشنهاد میکنم آن را مطالعه کنید. شکل معروف زیر شبکه ترنسفورمر را نشان میدهد که اولین بار برای حوزه ترجمه ماشینی یا Machine Translation ارائه شد.
شبکه ترنسفورمر را میتوانیم بهصورت زیر ساده کنیم تا قابل فهم شود. این شبکه شامل دو بخش Encoder Stack و Decoder Stack که بهترتیب هرکدام شامل مجموعهای از لایههای متوالی Encoder و Decoder هستند.
ساختار داخلی لایه Encoder و Decoder در شبکه ترنسفورمر به شکل زیر است:
برای ساخت مدل زبانی معمولا تنها از بخش Encoder Stack یا Decoder Stack استفاده میشود. البته، ماژول Encoder-Decoder Attention در Decoder حذف میشود. در شکل زیر، دو نمونه اولیه و معروف از مدل زبانی مبتنی بر انکدر و دیکدر را نشان دادهام.
- شبکه BERT از گوگل که مجموعهای از لایههای متوالی از Encoder هست.
- شبکه GPT-2 از OpenAI که مجموعهای از لایههای متوالی از Decoder است.
البته، خالی از لطف نیست که به شبکه Transformer XL هم اشاره کنیم. شبکهای که ترکیبی از شبکه ترنسفورمر و شبکه بازگشتی است. در شکل بالا، مشاهده میکنید که مجموعهای متوالی از لایههای Recurrent Decoder یک مدل زبانی را ساختهاند. همچنین، اخیرا شبکه xLSTM پیشنهاد شده که یک LLM تماما مبتنی بر شبکه LSTM است. در مجله هوش مصنوعی درباره شبکه xLSTM مختصری توضیح دادهایم.
استفاده از Decoder در LLM رایجتر است. همچنین، میدانید که این مدل GPT از شرکت OpenAI جریانساز شد و نهایتا منجر به ظهور ChatGPT شد. پس، درادامه بیشتر روی GPT تمرکز میکنیم.
مدل زبانی GPT
GPT مخفف عبارت Generative Pre-trained Transformer است. تاکنون نسخههای مختلفی از GPT ارائه شده که اطلاعات نسخههای اولی مانند GPT-1 و GPT-2 در دسترس هست. اما نسخههای GPT-3 و GPT-4 دیگر Open Source نیستند و تجاری شدهاند.
معمولا، مدلهای یادگیری عمیق در قالب یک خانواده با اندازههای مختلف ارائه میشوند. به عنوان نمونه، شبکه GPT-2 در چهار اندازه مختلف ارائه شده است. در شکل زیر مشاهده میکنید که کوچکترین شبکه GPT-2 Small نام دارد که 117 میلیون پارامتر دارد. بزرگترین شبکه هم GPT-2 Extra Large با 1.5 بیلیون پارامتر هست! 😯 تعجب نکنید، امروزه شبکههای بسیار بزرگتر از این داریم. اصلا دیگر شبکه 1.5 بیلیون پارامتری LLM نیست، بلکه SLM است! یعنی مدل زبانی کوچک یا Small Language Model! 😁 مثلا، شبکه Llama-2-70b، حدود 70 بیلیون پارامتر دارد که دهها برابر بزرگتر از GPT-2 است.
حالا بیایید، کمی وارد جزئیات این مدلها شویم. در شکل زیر، تعداد لایهها و سایز ویژگی مدلهای خانواده GPT-2 نشان داده شده است. با بزرگ شدن مدل، تعداد لایه و ابعاد ویژگی بزرگتر میشود. بنابراین، تفاوت مدلها در ساختار نیست، بلکه در هایپرپارامترهایی مانند تعداد لایه، تعداد Head، ابعاد ویژگی و غیره هست.
خلاصه، جالب است که مدل Extra Large دارای 48 لایه دیکدر با ابعاد ویژگی 1600 هست. خانواده GPT-2 در سال 2019 ارائه شد. حالا بیایید به خانواده Llama-2 محصول 2023 از متا نگاهی بیندازیم؛ خانواده Llama-2 شامل سه عضو است:
- مدل Llama-2-7B با 32 لایه و ابعاد ویژگی 4096
- مدل Llama-2-13B با 40 لایه و ابعاد ویژگی 5120
- مدل Llama-2-70B با 80 لایه و ابعاد ویژگی 8192
صحبت زیاد هست و این پست ادامه دارد. در ادامه میخواهم درمورد آموزش، فاین تیون کردن مدلهای LLM صحبت کنم. خوشحال میشوم نظرتان برای من کامنت کنید. رفرنسهایم برای مطالعه و نگارش این متن را بعد از تکمیل کار در این پست ذکر خواهم کرد.
مطالب زیر را حتما مطالعه کنید
شبکه عصبی mlp
شبکه ترنسفورمر
مدل MobileLLM
یادگیری عمیق چیست
آموزش یادگیری عمیق رایگان
شبکه عصبی کانولوشن
5 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
درود بر شما
آیا امکانش هست که آموزشی رو تهیه کنید که در اون از GPT برای متون اختصاصی خودمون استفاده کنیم.
یعنی بتونیم مجموعه اطلاعات خودمون رو بهش بدیم و بعدا ازش راجع به این اطلاعات سوال بپرسیم؟
سپاسگزارم
سلام
ما فعلا تهیه چنین آموزشی رو در برنامه نداریم. اما، در یوتوب آموزشهای متعددی وجود داره. کار پیچیدهای نیست، احتمالا از طریق سرچ و صحبت با چتجیپیتی میتونید آموزش لازم رو پیدا کنید و به هدفتون برسید.
موفق باشید 😊✌
ما همچنان منتظریم لطفا …
ممنونم، مثل همیشه عالی.
منتظر ادامه پست های بعدی هستیم.
ممنون 😊🙏🌹