اندازه های LLM را درک کنید

مود نالپاس
Maud Nalpas

در حالی که "L" در مدل های زبان بزرگ (LLMs) مقیاس بزرگ را نشان می دهد، واقعیت ظریف تر است. برخی از LLM ها حاوی تریلیون ها پارامتر هستند و برخی دیگر به طور موثر با بسیار کمتر عمل می کنند.

به چند مثال واقعی و مفاهیم عملی اندازه های مختلف مدل نگاهی بیندازید.

اندازه ها و کلاس های اندازه LLM

به عنوان توسعه دهندگان وب، ما تمایل داریم که اندازه یک منبع را اندازه دانلود آن بدانیم. اندازه مستند یک مدل در عوض به تعداد پارامترهای آن اشاره دارد. به عنوان مثال، Gemma 2B نشانگر Gemma با 2 میلیارد پارامتر است.

LLM ها ممکن است صدها هزار، میلیون ها، میلیاردها یا حتی تریلیون ها پارامتر داشته باشند.

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

ممکن است متوجه شده باشید که اندازه های مدل خاص، مانند 2 میلیارد یا 7 میلیارد، رایج هستند. به عنوان مثال، Gemma 2B، Gemma 7B ، یا Mistral 7B . کلاس های اندازه مدل، گروه بندی های تقریبی هستند. به عنوان مثال، Gemma 2B تقریباً 2 میلیارد پارامتر دارد، اما دقیقاً نه.

کلاس های اندازه مدل روشی عملی برای سنجش عملکرد LLM ارائه می دهند. آنها را مانند کلاس های وزنی در بوکس در نظر بگیرید: مدل های هم رده با هم قابل مقایسه هستند. دو مدل 2B باید عملکرد مشابهی ارائه دهند.

گفته می شود، یک مدل کوچکتر می تواند همان عملکرد یک مدل بزرگتر برای کارهای خاص باشد .

عکس صفحه چک باکس های اندازه مدل HuggingFace.
کلاس های اندازه مدل در HuggingFace . این کلاس ها استانداردهای صنعتی نیستند، بلکه به صورت ارگانیک به وجود آمده اند.

در حالی که اندازه مدل های جدیدترین LLM ها، مانند GPT-4 و Gemini Pro یا Ultra، همیشه فاش نمی شود، اعتقاد بر این است که آنها در صدها میلیارد یا تریلیون ها پارامتر هستند.

اندازه مدل می تواند بسیار متفاوت باشد. در این تصویر، DistilBERT یک نقطه کوچک در مقایسه با Gemini Pro غول پیکر است.

همه مدل ها تعداد پارامترها را در نام خود نشان نمی دهند. برخی از مدل ها با شماره نسخه خود پسوند می شوند. به عنوان مثال، Gemini 1.5 Pro به نسخه 1.5 مدل (به دنبال نسخه 1) اشاره دارد.

LLM یا نه؟

چه زمانی یک مدل برای LLM بسیار کوچک است؟ تعریف LLM می تواند در جامعه هوش مصنوعی و ML تا حدودی روان باشد.

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

LLM های کوچکتر برای موارد استفاده روی دستگاه

LLM های بزرگتر به فضای ذخیره سازی و قدرت محاسباتی زیادی برای استنتاج نیاز دارند. آنها باید روی سرورهای قدرتمند اختصاصی با سخت افزار خاص (مانند TPU) اجرا شوند.

یکی از مواردی که ما به عنوان توسعه دهندگان وب به آن علاقه مندیم این است که آیا یک مدل به اندازه کافی کوچک است که بتوان آن را دانلود کرد و روی دستگاه کاربر اجرا کرد.

اما، پاسخ به این سوال سخت است! از امروز، هیچ راه آسانی برای شما وجود ندارد که بدانید «این مدل می‌تواند روی اکثر دستگاه‌های میان‌رده اجرا شود»، به چند دلیل:

  • قابلیت‌های دستگاه در حافظه، مشخصات GPU/CPU و موارد دیگر بسیار متفاوت است. یک تلفن اندرویدی ارزان قیمت و یک لپ تاپ NVIDIA® RTX بسیار متفاوت هستند. ممکن است در مورد دستگاه‌هایی که کاربران شما دارند اطلاعاتی داشته باشید. ما هنوز تعریفی برای دستگاه پایه مورد استفاده برای دسترسی به وب نداریم.
  • یک مدل یا چارچوبی که در آن اجرا می شود ممکن است برای اجرا بر روی سخت افزار خاصی بهینه شده باشد.
  • هیچ روش برنامه‌ای برای تعیین اینکه آیا می‌توان یک LLM خاص را بارگیری کرد و روی دستگاه خاصی اجرا کرد وجود ندارد. قابلیت دانلود یک دستگاه به میزان VRAM موجود در GPU و سایر عوامل بستگی دارد.

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

مثلا:

این یک میدان نوپا است. شما می توانید انتظار داشته باشید که چشم انداز تکامل یابد:

  • با نوآوری‌های WebAssembly و WebGPU، WebGPU از فرود در کتابخانه‌های بیشتر، کتابخانه‌های جدید و بهینه‌سازی‌ها پشتیبانی می‌کند، انتظار می‌رود دستگاه‌های کاربر به طور فزاینده‌ای قادر به اجرای کارآمد LLM با اندازه‌های مختلف باشند.
  • انتظار داشته باشید که LLMهای کوچکتر و با کارایی بالا به طور فزاینده ای از طریق تکنیک های کوچک شدن در حال ظهور رایج شوند.

ملاحظات برای LLM های کوچکتر

هنگام کار با LLM های کوچکتر، همیشه باید عملکرد و اندازه دانلود را در نظر بگیرید.

کارایی

توانایی هر مدل به شدت به مورد استفاده شما بستگی دارد! ممکن است یک LLM کوچکتر تنظیم شده برای استفاده شما بهتر از یک LLM عمومی بزرگتر عمل کند.

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

اسکرین شات پانل شبکه Chrome DevTools.
امتیاز Gemma 2B کمتر از Gemma 7B است.
منبع: HuggingFace Open LLM Leaderboard ، آوریل 2024

اندازه دانلود

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

در حالی که تکنیک هایی برای محاسبه اندازه دانلود مدل بر اساس تعداد پارامترها وجود دارد، این می تواند پیچیده باشد.

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

اسکرین شات پانل شبکه Chrome DevTools.
در پانل Chrome DevTools Network، Gemma 2B و DistilBERT برای استنتاج درون مرورگر، روی دستگاه در یک برنامه وب. حجم دانلود به ترتیب 1.3 و 67 مگابایت است.

Gemma با MediaPipe LLM Inference API استفاده می شود. DistilBERT با Transformers.js استفاده می شود.

تکنیک های کوچک کردن مدل

تکنیک های متعددی برای کاهش قابل توجه نیازهای حافظه یک مدل وجود دارد:

  • LoRA (انطباق با رتبه پایین) : تکنیک تنظیم دقیق که در آن وزنه های از پیش تمرین شده منجمد می شوند. در LoRA بیشتر بخوانید .
  • هرس : حذف وزنه های کمتر مهم از مدل برای کاهش اندازه آن.
  • کوانتیزاسیون : کاهش دقت وزن ها از اعداد ممیز شناور (مانند 32 بیت) به نمایش های بیت پایین (مانند 8 بیت).
  • تقطیر دانش : آموزش یک مدل کوچکتر برای تقلید از رفتار یک مدل بزرگتر و از قبل آموزش دیده.
  • به اشتراک گذاری پارامتر : استفاده از وزن های یکسان برای بخش های مختلف مدل، کاهش تعداد کل پارامترهای منحصر به فرد.