فشردهسازی مدل، شبکههای عصبی را کوچک میکند تا روی دستگاههای کوچکتر سریعتر اجرا شوند، در حالی که گسترش مدل، آنها را برای انجام وظایف پیچیدهتر و بهبود دقت، بزرگ میکند. هر دو رویکرد، هدف یکسانی را دنبال میکنند - عملکرد بهتر هوش مصنوعی - اما از نظر اندازه و کارایی، در دو جهت مخالف.
برجستهها
فشردهسازی، مدلها را کوچکتر و سریعتر میکند؛ انبساط، آنها را توانمندتر و دقیقتر میسازد.
مدلهای فشرده میتوانند روی تلفنها و دستگاههای لبهای اجرا شوند، در حالی که مدلهای توسعهیافته به سختافزار مرکز داده نیاز دارند.
بسیاری از سیستمهای هوش مصنوعی از هر دو رویکرد با هم استفاده میکنند - آموزش بزرگ، سپس فشردهسازی برای استقرار.
هزینه محاسباتی توسعه میلیونها دلار است؛ هزینه پیادهسازی فشردهسازی کسری از آن است.
فشردهسازی مدل چیست؟
مجموعهای از تکنیکها که اندازه و نیازهای محاسباتی شبکههای عصبی را کاهش میدهند و در عین حال دقت را تا حد امکان حفظ میکنند.
هرس کردن، کوانتیزاسیون و تقطیر دانش، سه روش فشردهسازی پرکاربرد در یادگیری عمیق مدرن هستند.
یک مدل فشردهشده گاهی اوقات میتواند ۳ تا ۱۰ برابر سریعتر از مدل فشردهنشدهاش روی همان سختافزار اجرا شود.
مدل مبتنی بر BERT گوگل به DistilBERT فشرده شد و پارامترها را حدود ۴۰ درصد کاهش داد و تنها اندکی از دقت آن کاسته شد.
کوانتیزاسیون میتواند وزنهای مدل را از اعداد اعشاری ۳۲ بیتی به اعداد صحیح ۸ بیتی یا حتی ۴ بیتی کاهش دهد.
فشردهسازی برای پیادهسازی هوش مصنوعی در دستگاههای پیشرفته مانند گوشیهای هوشمند، ساعتهای هوشمند و حسگرهای تعبیهشده ضروری است.
گسترش مدل چیست؟
راهبردی که اندازه، پارامترها یا ظرفیت شبکههای عصبی را افزایش میدهد تا توانایی یادگیری و عملکرد وظیفهای آنها را تقویت کند.
GPT-3 شامل ۱۷۵ میلیارد پارامتر است که تقریباً ۱۰۰ برابر بیشتر از مدل قبلی خود، GPT-2، است.
قوانین مقیاسبندی در یادگیری عمیق نشان میدهند که عملکرد مدل با افزایش همزمان پارامترها، دادهها و محاسبات، به طور قابل پیشبینی بهبود مییابد.
معماریهای ترکیبی از متخصصان (MoE) ظرفیت مدل را بدون فعال کردن همه پارامترها در طول هر استنتاج، افزایش میدهند.
مدلهای بزرگتر اغلب تواناییهای نوظهوری را نشان میدهند که نسخههای کوچکتر به سادگی نمیتوانند آنها را تکرار کنند.
گسترش مدل معمولاً به خوشههای عظیم GPU و مصرف انرژی قابل توجه برای آموزش نیاز دارد.
جدول مقایسه
ویژگی
فشردهسازی مدل
گسترش مدل
هدف اصلی
کاهش اندازه مدل و افزایش سرعت استنتاج
افزایش ظرفیت و بهبود دقت
تکنیکهای رایج
هرس کردن، کمیسازی، تقطیر دانش
پارامترهای مقیاسبندی، MoE، معماریهای عمیقتر
تأثیر بر اندازه مدل
مدل را به طور قابل توجهی کوچک میکند
مدل را به طور قابل توجهی رشد میدهد
الزامات سختافزاری
روی سختافزارهای معمولی از جمله دستگاههای تلفن همراه اجرا میشود
به پردازندههای گرافیکی قدرتمند یا خوشههای توزیعشده نیاز دارد
پایینتر، زیرا مدلهای کوچکتر سریعتر آموزش میبینند
بسیار بالا، اغلب میلیونها دلار
سرعت استنتاج
به دلیل عملیات کمتر، بسیار سریعتر است
کندتر در هر درخواست مگر اینکه بهینه شود
مقایسه دقیق
فلسفه و جهتگیری اصلی
فشردهسازی مدل و گسترش مدل، دو فلسفه متضاد در یادگیری عمیق را نشان میدهند. فشردهسازی میپرسد: «چگونه میتوانیم این مدل را بدون از دست دادن عملکرد زیاد، کوچکتر کنیم؟» گسترش، سوال متضادی را میپرسد: «چگونه میتوانیم این مدل را بزرگتر کنیم تا از پس مسائل دشوارتر برآید؟» هر دو مسیر نتایج چشمگیری داشتهاند و آزمایشگاههای مدرن هوش مصنوعی اغلب از آنها با هم استفاده میکنند - ابتدا یک مدل عظیم را آموزش میدهند، سپس آن را برای استقرار فشرده میکنند.
تکنیکها و روشها
فشردهسازی به روشهایی مانند هرس کردن (حذف وزنهای غیرضروری)، کوانتیزاسیون (کاهش دقت عددی) و تقطیر دانش (آموزش یک مدل دانشآموز کوچک برای تقلید از یک معلم بزرگتر) متکی است. از سوی دیگر، توسعه بر افزودن لایههای بیشتر، پارامترهای بیشتر یا ماژولهای تخصصی مانند Mixture of Experts تمرکز دارد. هر رویکرد ابزار خاص خود را دارد و انتخاب آن به شدت به سناریوی استقرار بستگی دارد.
ملاحظات سختافزاری و هزینهای
مدلهای فشردهشده برای اجرای کارآمد روی تلفنها، مرورگرها و دستگاههای اینترنت اشیا که حافظه و محاسبات محدود است، طراحی شدهاند. مدلهای توسعهیافته به مراکز دادهای مملو از پردازندههای گرافیکی سطح بالا نیاز دارند و در طول آموزش، مقادیر عظیمی برق مصرف میکنند. یک اجرای آموزشی واحد برای یک مدل در مقیاس مرزی میتواند چندین میلیون دلار فقط از نظر محاسباتی هزینه داشته باشد، در حالی که یک مدل فشردهشده ممکن است روی یک ایستگاه کاری واحد آموزش داده شود.
بدهبستانهای عملکرد
فشردهسازی معمولاً درصد کمی از دقت را در ازای افزایش چشمگیر سرعت و اندازه از دست میدهد. گسترش معمولاً دقت را بهبود میبخشد، اما به قیمت استنتاج کندتر و هزینههای عملیاتی بالاتر. جالب توجه است که تحقیقات نشان میدهد مدلهای بسیار بزرگ گاهی اوقات میتوانند سریعتر از مدلهای کوچکتر فشرده شوند، زیرا حاوی دانش اضافی بیشتری هستند که میتوان با خیال راحت آنها را حذف کرد.
کاربردهای دنیای واقعی
فشردهسازی، محصولاتی مانند تشخیص گفتار روی دستگاه، برنامههای ترجمه موبایل و طبقهبندی تصویر در لحظه را قدرتمند میکند. توسعه، سیستمهای پیشرفتهای مانند مدلهای زبانی بزرگ، مولدهای تصویر و ابزارهای تحقیقات علمی را هدایت میکند. بسیاری از شرکتها اکنون از خط لوله «آموزش بزرگ، استقرار کوچک» پیروی میکنند - از توسعه در طول توسعه و فشردهسازی برای محصول نهایی که به دست کاربران میرسد استفاده میکنند.
مزایا و معایب
فشردهسازی مدل
مزایا
+اندازه مدل کوچکتر
+استنتاج سریعتر
+استفاده کمتر از حافظه
+روی دستگاههای لبهای اجرا میشود
مصرف شده
−از دست دادن جزئی دقت
−اغلب نیاز به آموزش مجدد دارد
−راه اندازی خط لوله پیچیده
−سقف محدود پسانداز
گسترش مدل
مزایا
+دقت بالاتر
+تعمیم بهتر
+قابلیتهای نوظهور
+مهارتهای استدلال قویتر
مصرف شده
−بسیار گران
−سرعت استنتاج پایین
−مصرف انرژی بالا
−به مجموعه دادههای عظیم نیاز دارد
تصورات نادرست رایج
افسانه
مدلهای بزرگتر همیشه بهتر از مدلهای کوچکتر هستند.
واقعیت
مدلهای بزرگتر اغلب در معیارها عملکرد بهتری دارند، اما برای بسیاری از وظایف دنیای واقعی، یک مدل کوچکتر که به خوبی فشرده شده باشد میتواند با آنها مطابقت داشته باشد یا از آنها پیشی بگیرد. اندازه مناسب به مسئله، دادهها و محدودیتهای استقرار بستگی دارد، نه به تعداد پارامترهای خام.
افسانه
فشردهسازی مدل همیشه باعث افت شدید دقت میشود.
واقعیت
تکنیکهای فشردهسازی مدرن مانند آموزش مبتنی بر کوانتیزاسیون و تقطیر دانش میتوانند ۹۵ تا ۹۹ درصد از دقت مدل اصلی را حفظ کنند. افت واقعی به میزان فشردهسازی مدل و روش مورد استفاده بستگی دارد.
افسانه
مدلهای فشرده نسبت به مدلهای تمامسایز، امنیت کمتری دارند.
واقعیت
فشردهسازی ذاتاً یک مدل را در برابر حملات خصمانه آسیبپذیرتر یا کمخطرتر نمیکند. امنیت به دادههای آموزشی، معماری و تکنیکهای دفاعی اعمالشده بستگی دارد، نه به اندازه مدل.
افسانه
بسط مدل صرفاً افزودن پارامترهای بیشتر است.
واقعیت
گسترش همچنین شامل دادههای بهتر، آموزش طولانیتر، معماریهای بهبود یافته و اهداف آموزشی هوشمندانهتر میشود. صرفاً اضافه کردن پارامترهای بیشتر به یک مسئله بدون دادههای باکیفیت، اغلب منجر به کاهش بازده میشود.
افسانه
شما باید بین فشردهسازی و انبساط یکی را انتخاب کنید.
واقعیت
بیشتر سیستمهای هوش مصنوعی تولیدی از هر دو استفاده میکنند. تیمها مدلهای بزرگ را برای افزایش دقت آموزش میدهند، سپس آنها را فشرده میکنند تا محصول نهایی سریع و مقرونبهصرفه برای اجرا در مقیاس بزرگ باشد.
سوالات متداول
تفاوت بین فشردهسازی مدل و گسترش مدل چیست؟
فشردهسازی مدل، اندازه و نیازهای محاسباتی یک شبکه عصبی را از طریق تکنیکهایی مانند هرس کردن و کوانتیزاسیون کاهش میدهد، در حالی که گسترش مدل، پارامترها و ظرفیت شبکه را برای بهبود عملکرد افزایش میدهد. این دو در جهت مخالف کار میکنند، اما اغلب در خطوط لوله هوش مصنوعی مدرن با هم استفاده میشوند.
کدام یک برای استقرار هوش مصنوعی در دستگاههای تلفن همراه بهتر است؟
فشردهسازی مدل، انتخاب واضحی برای پیادهسازی در موبایل است. تکنیکهایی مانند کوانتیزاسیون میتوانند مدلها را به کسری از اندازه اصلی خود کوچک کنند و به آنها اجازه دهند تا به راحتی روی گوشیهای هوشمند با حافظه و عمر باتری محدود اجرا شوند.
چرا شرکتها مدلهای عظیم را آموزش میدهند اگر گران هستند؟
مدلهای بزرگ معمولاً در بسیاری از وظایف بهتر تعمیم داده میشوند و میتوانند الگوهایی را که مدلهای کوچکتر از دست میدهند، به تصویر بکشند. شرکتها روی گسترش سرمایهگذاری میکنند زیرا مدل حاصل میتواند بعداً فشرده شود یا به عنوان پایهای برای بسیاری از محصولات پاییندستی عمل کند و هزینه را در چندین مورد استفاده تقسیم کند.
آیا یک مدل فشرده میتواند به اندازه مدل اصلی دقیق باشد؟
در بسیاری از موارد، بله. با تکنیکهای دقیقی مانند تقطیر دانش و آموزش مبتنی بر کوانتیزاسیون، مدلهای فشردهشده میتوانند ۹۵ تا ۹۹ درصد از دقت اصلی را حفظ کنند. میزان دقیق حفظ دقت به نسبت فشردهسازی و معماری مدل بستگی دارد.
یک مدل چقدر میتواند فشرده شود؟
نسبتهای فشردهسازی بسته به روش، بسیار متفاوت است. هرس کردن میتواند ۵۰ تا ۹۰ درصد وزنها را حذف کند، در حالی که کوانتیزاسیون میتواند استفاده از حافظه را ۴ تا ۸ برابر کاهش دهد. برخی از روشهای تهاجمی، فشردهسازی ۱۰ برابر یا بیشتر را با حداقل کاهش دقت انجام میدهند.
تقطیر دانش چیست؟
تقطیر دانش، یک مدل «دانشآموز» کوچکتر را آموزش میدهد تا رفتار یک مدل «معلم» بزرگتر را تکرار کند. دانشآموز نه تنها از برچسبهای صحیح، بلکه از خروجیهای احتمال نرم معلم نیز یاد میگیرد و اغلب به دقت بهتری نسبت به آموزش فقط بر اساس برچسبها دست مییابد.
آیا مدلهای بزرگتر همیشه تواناییهای نوظهور را نشان میدهند؟
نه همیشه. تحقیقات نشان میدهد که تواناییهای نوظهور به وظیفه خاص و روش ارزیابی مورد استفاده بستگی دارند. برخی از تواناییها به طور ناگهانی در آستانههای مقیاس خاص ظاهر میشوند، در حالی که برخی دیگر به تدریج با رشد مدل بهبود مییابند.
آیا ترکیب متخصصان، انبساطی محسوب میشود یا انقباضی؟
ترکیب متخصصان نوعی بسط است زیرا کل پارامترها را افزایش میدهد، اما فقط یک زیرمجموعه را در طول هر استنتاج فعال میکند. این امر مزایای یک مدل بزرگ را به همراه دارد در حالی که هزینههای محاسباتی را به یک مدل کوچکتر نزدیکتر نگه میدارد.
قوانین مقیاسبندی چگونه به بسط مدل مربوط میشوند؟
قوانین مقیاسبندی، چگونگی بهبود عملکرد مدل را با افزایش پارامترها، دادههای آموزشی و محاسبات با هم توصیف میکنند. این قوانین، محققان را در تصمیمگیری در مورد میزان گسترش یک مدل برای دستیابی به دستاوردهای معنادار بدون اتلاف منابع راهنمایی میکنند.
آیا میتوانید مدلی را که قبلاً گسترش یافته است، فشرده کنید؟
کاملاً، و این یک روش استاندارد است. ابتدا یک مدل بزرگ و توسعهیافته را آموزش دهید، سپس تکنیکهای فشردهسازی را برای ایجاد یک نسخه کوچکتر برای تولید اعمال کنید. مدل توسعهیافته اغلب بهتر از مدلی که از ابتدا با اندازه هدف آموزش داده شده است، فشرده میشود.
حکم
فشردهسازی مدل را زمانی انتخاب کنید که به هوش مصنوعی سریع و کارآمدی نیاز دارید که روی سختافزار محدود اجرا شود یا باید در زمان واقعی پاسخ دهد. گسترش مدل را زمانی انتخاب کنید که با مسائل پیچیدهای روبرو هستید که دقت و قابلیت بیش از هزینه اهمیت دارند، یا هنگام ساخت مدلهای پایه که بعداً برای توزیع فشرده میشوند.