رفتن به محتوای اصلی
توضیح کوهستانفشرده‌سازی مدلتوضیح فنی· 6 دقیقه مطالعه· در هوش مصنوعی

چگونه کوانتیزاسیون ۸-بیتی، حافظه مورد نیاز مدل‌های زبانی بزرگ را با کمترین افت دقت تا ۷۵٪ کاهش می‌دهد

با تبدیل پارامترهای ممیز شناور ۳۲-بیتی به اعداد صحیح ۸-بیتی، فرآیند کوانتیزاسیون حافظه مورد نیاز برای اجرای مدل‌های زبانی بزرگ را تا ۷۵٪ کاهش می‌دهد. تکنیک‌های پیشرفته با جداسازی مقادیر پرت و حیاتی، از افت دقتی که معمولاً در هوش مصنوعی با دقت پایین رخ می‌داد، جلوگیری می‌کنند.

به قلم ندا وزیری

این خبر را به اشتراک بگذارید

به‌طور خلاصه

  • کوانتیزاسیون اعداد صحیح ۸-بیتی، ردپای حافظه مدل‌های زبانی بزرگ را در مقایسه با دقت ممیز شناور ۳۲-بیتی تا ۷۵٪ کاهش می‌دهد.
  • تلاش‌های اولیه برای کوانتیزاسیون ۸-بیتی شکست خوردند زیرا وزن‌های پرت و حیاتی را از بین می‌بردند و باعث فروپاشی دقت مدل می‌شدند.
  • الگوریتم LLM.int8() این مشکل را با جداسازی ۰٫۱٪ از ویژگی‌های پرت و محاسبه آن‌ها در دقت ۱۶-بیتی حل می‌کند.

در آگوست ۲۰۲۲، پژوهشگران دانشگاه واشنگتن و Meta AI با یک بن‌بست ریاضی مواجه شدند: یک مدل زبانی با ۱۷۵ میلیارد پارامتر، تنها برای بارگذاری در یک سرور به ۳۵۰ گیگابایت حافظه نیاز داشت.

در دقت ۱۶-بیتی، که فرمت استاندارد برای توزیع مدل‌های آموزش‌دیده است، حجم عظیم پارامترها به این معنا بود که اجرای یک هوش مصنوعی پرچمدار نیازمند خوشه‌ای از سخت‌افزارهای تخصصی با هزینه ده‌ها هزار دلار است. هوش این مدل کاملاً در همین اعداد نهفته بود، اما سخت‌افزار لازم برای نگهداری آن‌ها، دسترسی را تنها به چند آزمایشگاه با بودجه‌های کلان محدود می‌کرد.[1][2]

راهکار عبور از این گلوگاه، تکنیک فشرده‌سازی خاصی به نام کوانتیزاسیون (Quantization) است. در هسته خود، یک مدل زبانی مجموعه‌ای عظیم از وزن‌هاست؛ مقادیر یادگیری‌شده‌ای که نحوه پردازش زبان توسط شبکه را تعیین می‌کنند. در طول آموزش، این وزن‌ها معمولاً به صورت اعداد ممیز شناور ۳۲-بیتی (FP32) ذخیره می‌شوند که برای نمایش مقادیر اعشاری با دقت بالا، به چهار بایت برای هر وزن نیاز دارند. با تبدیل این پارامترهای ۳۲-بیتی به اعداد صحیح ۸-بیتی (INT8)، کوانتیزاسیون ردپای حافظه مدل را دقیقاً ۷۵٪ کوچک می‌کند.[5]

یک مدل ۱۷۵ میلیارد پارامتری که در حالت FP32 حدود ۷۰۰ گیگابایت حافظه مصرف می‌کند، با کوانتیزه شدن به INT8 تنها به ۱۷۵ گیگابایت فضا نیاز خواهد داشت. این کاهش چشمگیر به مدل‌های عظیم اجازه می‌دهد تا روی سخت‌افزارهای رده مصرف‌کننده یا دستگاه‌های لبه (Edge Devices) اجرا شوند؛ دستگاه‌هایی که در غیر این صورت زیر بار چنین حافظه‌ای از کار می‌افتادند.[1][3]

تبدیل یک مدل ۱۷۵ میلیارد پارامتری از دقت ممیز شناور ۳۲-بیتی به عدد صحیح ۸-بیتی، ردپای حافظه آن را تا ۷۵٪ کاهش می‌دهد.

ذخیره یک عدد با ۸ بیت به جای ۳۲ بیت، ذاتاً با از دست رفتن داده‌ها همراه است. یک عدد صحیح ۸-بیتی تنها می‌تواند ۲۵۶ مقدار مجزا را نشان دهد، در حالی که یک ممیز شناور ۳۲-بیتی میلیون‌ها مقدار را پوشش می‌دهد. فرآیند کوانتیزاسیون، این طیف وسیع از مقادیر ممیز شناور را با مقیاس‌بندی و گرد کردن به نزدیک‌ترین عدد صحیح موجود، در این فضای محدود ۸-بیتی نگاشت می‌کند.[2][5]

در گذشته، این کاهش دقت باعث افت فاجعه‌باری در عملکرد مدل می‌شد. در تلاش‌های اولیه برای کوانتیزه کردن مدل‌های بزرگ ترانسفورمر، عملکرد به قدری افت می‌کرد که خروجی هوش مصنوعی به نویزهای تصادفی تبدیل می‌شد. خطاهای گرد کردن در میان میلیاردها پارامتر روی هم انباشته شده و روابط ظریفی را که مدل در طول آموزش یاد گرفته بود، از بین می‌برد.[1][2]

پیشرفت زمانی حاصل شد که پژوهشگران علت اصلی این افت را شناسایی کردند: ویژگی‌های پرت نوظهور (Emergent outlier features). در مدل‌های بزرگتر از ۶٫۷ میلیارد پارامتر، یک الگوی بسیار سیستماتیک در لایه‌های ترانسفورمر پدیدار می‌شود. کسر کوچکی از ابعاد ویژگی‌ها — تقریباً ۰٫۱٪ — مقادیر عددی بسیار بزرگی پیدا می‌کنند که عملکرد پیش‌بینی مدل را تحت سلطه خود درمی‌آورند.[1][2]

از آنجا که این مقادیر پرت بسیار بزرگ هستند، مقیاس کوانتیزاسیون را منحرف می‌کنند. اگر یک الگوریتم سعی کند هم وزن‌های عادی و هم مقادیر پرت شدید را در همان محدوده ۲۵۶ مقداری جای دهد، وزن‌های عادی در یک نوار بسیار باریک از اعداد صحیح فشرده شده و ظرافت آن‌ها از بین می‌رود. از سوی دیگر، اگر مقادیر پرت برای حفظ وزن‌های عادی برش داده شوند، مدل اطلاعات حیاتی نهفته در آن مقادیر شدید را از دست می‌دهد.[1][2]

برای حل این مشکل، الگوریتم LLM.int8() یک طرح تجزیه با دقت ترکیبی (Mixed-precision decomposition) را معرفی کرد. به جای اینکه هر عدد به زور در یک فرمت ۸-بیتی گنجانده شود، این الگوریتم در طول فرآیند ضرب ماتریس، ابعاد ویژگی‌های پرت را به صورت پویا شناسایی می‌کند.[1][2]

آن ۹۹٫۹٪ از مقادیری که در یک توزیع نرمال قرار می‌گیرند، با دقت ۸-بیتی ضرب می‌شوند تا از مزایای عظیم محاسبات اعداد صحیح در سرعت و حافظه بهره‌مند شوند. در همین حال، ۰٫۱٪ مقادیر پرت جدا شده و با دقت ممیز شناور ۱۶-بیتی ضرب می‌شوند.[1][2]

الگوریتم LLM.int8() برای جلوگیری از افت دقت، ۰٫۱٪ از ویژگی‌های پرت شدید را در دقت ۱۶-بیتی جدا می‌کند.

پس از اتمام ضرب‌های جداگانه، نتایج ۸-بیتی دوباره به ۱۶-بیتی دیکوانتیزه (Dequantize) شده و با نتایج مقادیر پرت ترکیب می‌شوند تا خروجی نهایی به دست آید. از آنجا که مقادیر پرت کسر بسیار کوچکی از کل پارامترها را تشکیل می‌دهند، محاسبه آن‌ها با دقت بالاتر، عملاً هیچ بار اضافی بر حافظه سیستم تحمیل نمی‌کند.[1][2]

نتایج تجربی این رویکرد دقت ترکیبی ثابت کرد که کوانتیزاسیون ۸-بیتی می‌تواند بدون هیچ‌گونه افت عملکردی محقق شود. یک مدل ۱۷۵ میلیارد پارامتری که با LLM.int8() کوانتیزه شده بود، از نظر پرپلکسیتی (Perplexity) و دقت در وظایف Zero-shot کاملاً با نسخه ۱۶-بیتی خود برابری می‌کرد، در حالی که تنها به نیمی از حافظه پایه FP16 و یک‌چهارم حافظه پایه FP32 نیاز داشت.[1][2]

فراتر از صرفه‌جویی در حافظه، کوانتیزاسیون ۸-بیتی سرعت استنتاج را نیز افزایش می‌دهد. شتاب‌دهنده‌های سخت‌افزاری مدرن و پردازنده‌های مرکزی (CPU) به شدت برای محاسبات اعداد صحیح ۸-بیتی بهینه‌سازی شده‌اند. با پردازش محاسبات در حالت INT8، سخت‌افزار می‌تواند ضرب ماتریس‌ها را به مراتب سریع‌تر انجام دهد که منجر به نرخ تولید توکن بالاتر و کاهش مصرف انرژی می‌شود.[4]

با کاهش نیازمندی‌های حافظه، کوانتیزاسیون به اپراتورها اجازه می‌دهد مدل‌های بیشتری را روی پردازنده‌های گرافیکی کمتری قرار دهند و هزینه‌های استنتاج ابری را بیش از ۶۰٪ کاهش دهند.

این کارایی مستقیماً به صرفه‌جویی در هزینه‌ها در محیط‌های عملیاتی ترجمه می‌شود. هزینه‌های استنتاج ابری برای مدل‌های بزرگ می‌تواند با استفاده از کوانتیزاسیون بیش از ۶۰٪ کاهش یابد، زیرا کاهش ردپای حافظه به اپراتورها اجازه می‌دهد مدل‌های بیشتری را روی پردازنده‌های گرافیکی (GPU) کمتری قرار دهند. همان‌طور که تونی هیگینز (Tonny Higgins)، استراتژیست فناوری، در یک بنچمارک صنعتی در سال ۲۰۲۶ اشاره کرد: «یک مدل بزرگ که به خوبی کوانتیزه شده باشد، اغلب یک مدل کوچکتر با دقت کامل و ردپای حافظه مشابه را شکست می‌دهد.»

در حالی که کوانتیزاسیون ۸-بیتی اکنون به یک رویه استاندارد تبدیل شده است، صنعت همچنان در حال جابجا کردن مرزهای فشرده‌سازی است. پژوهشگران تکنیک‌های کوانتیزاسیون ۴-بیتی مانند GPTQ و AWQ را توسعه داده‌اند که مدل‌ها را ۵۰٪ دیگر نیز فشرده می‌کنند. با این حال، این نرخ‌های فشرده‌سازی تهاجمی نیازمند داده‌های کالیبراسیون پیچیده‌ای هستند و اغلب باعث افت ۱ تا ۲ درصدی دقت می‌شوند؛ موضوعی که کوانتیزاسیون ۸-بیتی را به انتخاب ارجح برای استقرارهایی تبدیل می‌کند که در آن‌ها دقت حرف اول را می‌زند.

در حالی که کوانتیزاسیون ۸-بیتی اکنون به یک رویه استاندارد تبدیل شده است، صنعت همچنان در حال جابجا کردن مرزهای فشرده‌سازی است.

واقعیت ریاضی کوانتیزاسیون ۸-بیتی ثابت می‌کند که هوش یک مدل زبانی بزرگ، صرفاً به دقت بالای تک‌تک پارامترها وابسته نیست. با محافظت از ۰٫۱٪ وزن‌های پرت و حیاتی و فشرده‌سازی بقیه آن‌ها، توسعه‌دهندگان توانسته‌اند مقیاس مدل‌های هوش مصنوعی را از هزینه‌های تصاعدی سخت‌افزاری که زمانی آن‌ها را محدود می‌کرد، جدا کنند. مرز بعدی فشرده‌سازی نشان خواهد داد که آیا با عبور مدل‌ها از آستانه ۱ تریلیون پارامتر، این جداسازی هدفمند همچنان کارایی خود را حفظ خواهد کرد یا خیر.[1][6]

اصطلاحات کلیدی

کوانتیزاسیون
فرآیند کاهش دقت وزن‌های یک مدل از یک فرمت با حافظه بالا به فرمتی با حافظه پایین‌تر برای صرفه‌جویی در فضا.
FP32 (ممیز شناور ۳۲-بیتی)
یک فرمت عددی با دقت بالا که از چهار بایت حافظه برای هر عدد استفاده می‌کند و معمولاً در طول آموزش اولیه مدل‌های هوش مصنوعی به کار می‌رود.
INT8 (عدد صحیح ۸-بیتی)
یک فرمت عددی با دقت پایین‌تر که از یک بایت حافظه برای هر عدد استفاده می‌کند و امکان نمایش ۲۵۶ مقدار مجزا را فراهم می‌سازد.
مقادیر پرت نوظهور
ابعاد ویژگی خاصی در مدل‌های بزرگ که مقادیر عددی شدیدی پیدا کرده و دقت پیش‌بینی مدل را تحت سلطه خود درمی‌آورند.
پرپلکسیتی
معیاری که برای ارزیابی میزان موفقیت یک مدل زبانی در پیش‌بینی یک نمونه متن استفاده می‌شود؛ پرپلکسیتی پایین‌تر نشان‌دهنده عملکرد بهتر است.

بررسی عمیق دیدگاه‌ها

دیدگاه پژوهشگران هوش مصنوعی

بر وفاداری ریاضی مدل و کشف ویژگی‌های پرت نوظهور تمرکز دارد.

برای پژوهشگرانی که معماری شبکه‌های عصبی را مطالعه می‌کنند، موفقیت کوانتیزاسیون ۸-بیتی ویژگی‌های بنیادینی را درباره نحوه یادگیری ترانسفورمرها آشکار کرد. کشف این موضوع که مدل‌های بزرگتر از ۶٫۷ میلیارد پارامتر، ویژگی‌های پرت بسیار سیستماتیکی تولید می‌کنند — جایی که کسر کوچکی از وزن‌ها عملکرد پیش‌بینی را تحت سلطه دارند — تمرکز فشرده‌سازی را از گرد کردن کلی به دقت هدفمند تغییر داد. پژوهشگران به LLM.int8() نه فقط به عنوان یک ترفند برای صرفه‌جویی در حافظه، بلکه به عنوان یک ابزار تشخیصی نگاه می‌کنند که ثابت می‌کند اکثریت قریب به اتفاق پارامترهای یک مدل برای عملکرد، به دقت ریاضی بسیار کمی نیاز دارند.

دیدگاه پذیرندگان سازمانی

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

از منظر تجاری، کوانتیزاسیون یک ضرورت اقتصادی است. اجرای یک مدل ۷۰ میلیارد پارامتری با دقت کامل، نیازمند ده‌ها هزار دلار سخت‌افزار اختصاصی GPU است. با اتخاذ کوانتیزاسیون ۸-بیتی، سازمان‌ها می‌توانند هزینه‌های استنتاج ابری خود را بیش از ۶۰٪ کاهش داده و مدل‌های بیشتری را روی سرورهای کمتری قرار دهند. برای این پذیرندگان، افت ۰ درصدی دقت در INT8 آن را به استاندارد ایده‌آل تولید تبدیل می‌کند که صرفه‌جویی مالی عظیمی را بدون به خطر انداختن کیفیت خروجی هوش مصنوعی ارائه می‌دهد.

دیدگاه توسعه‌دهندگان متن‌باز

بر دموکراتیزه شدن هوش مصنوعی از طریق امکان اجرای مدل‌های عظیم روی سخت‌افزارهای معمولی تأکید دارد.

جامعه متن‌باز به کوانتیزاسیون به عنوان یک عامل برابرکننده بزرگ در صنعت هوش مصنوعی نگاه می‌کند. پیش از توسعه تکنیک‌هایی مانند LLM.int8()، مدل‌های پیشرفته پشت سد مالی دیتاسنترهای عظیم قفل شده بودند. با کوچک کردن یک مدل ۱۴ گیگابایتی به زیر ۴ گیگابایت، کوانتیزاسیون به توسعه‌دهندگان مستقل اجازه می‌دهد تا مدل‌های پیشگام را روی لپ‌تاپ‌های استاندارد و دستگاه‌های لبه اجرا، تنظیم دقیق (Fine-tune) و آزمایش کنند و به این ترتیب، انحصار آزمایشگاه‌های دارای بودجه کلان را بشکنند.

پژوهشگران هوش مصنوعی 30%پذیرندگان سازمانی هوش مصنوعی 30%توسعه‌دهندگان متن‌باز 30%تیم تحریریه فکتلن 10%
پژوهشگران هوش مصنوعی
تمرکز بر وفاداری ریاضی مدل و کشف ویژگی‌های پرت نوظهوری که عملکرد ترانسفورمر را دیکته می‌کنند.
پذیرندگان سازمانی هوش مصنوعی
ارزش‌گذاری بر صرفه‌جویی در هزینه‌ها و دسترسی سخت‌افزاری، با اولویت دادن به تعادل بین کاهش حافظه و حفظ دقت در سطح عملیاتی.
توسعه‌دهندگان متن‌باز
تأکید بر دموکراتیزه شدن هوش مصنوعی، چرا که کوانتیزاسیون اجازه می‌دهد مدل‌های عظیم روی سخت‌افزارهای معمولی و دستگاه‌های لبه اجرا شوند.
تیم تحریریه فکتلن
ترکیب شواهد برای نشان دادن اینکه چگونه کوانتیزاسیون، مقیاس مدل را از هزینه‌های تصاعدی سخت‌افزار جدا می‌کند.

دیدگاه‌هایی که این گزارش پوشش نداده

  • تولیدکنندگان سخت‌افزار
  • توسعه‌دهندگان برنامه‌های کاربردی نهایی

منابع

پوشش منابع

6 منبع

4 دیدگاه شناسایی‌شده

پژوهشگران هوش مصنوعی 30%پذیرندگان سازمانی هوش مصنوعی 30%توسعه‌دهندگان متن‌باز 30%تیم تحریریه فکتلن 10%
  1. [1]arXivپژوهشگران هوش مصنوعی

    LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

    مطالعه در arXiv →
  2. [2]Hugging Faceپژوهشگران هوش مصنوعی

    A Gentle Introduction to 8-bit Matrix Multiplication for transformers at scale

    مطالعه در Hugging Face →
  3. [3]Towards AIتوسعه‌دهندگان متن‌باز

    Quantization and Fine-Tuning in LLM: Cut Model Size by 75% Without Losing Accuracy

    مطالعه در Towards AI →
  4. [4]Lightning AIتوسعه‌دهندگان متن‌باز

    8-bit Quantization

    مطالعه در Lightning AI →
  5. [5]IBMپذیرندگان سازمانی هوش مصنوعی

    What is quantization?

    مطالعه در IBM →
  6. [6]تیم سردبیری کوهستانتیم تحریریه فکتلن

    تحلیل تیم سردبیری کوهستان

    مطالعه در تیم سردبیری کوهستان →

نظرات

همیشه در جریان باشید

هر زاویه. هر روز.

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