چطور میتوان بدون ورشکستگی، الگوهای زبانی را آموزش داد؟
صرفهجویی اقتصادی در بهکارگیری تراشههای هوش مصنوعی
این موضوع به خصوص در زمان بهینهسازی سختافزارهایی مانند GPUها (تراشههای پیشرفته) برای مدیریت موثر نیازهای محاسباتی عظیم آموزشی و تنظیم دقیق مدلهای زبانی بزرگ، به خوبی مشهود است. در حالی که غولهای بزرگ تکنولوژی میتوانند میلیونها و گاهی میلیاردها دلار صرف آموزش و بهینهسازی کنند، کسبوکارهای کوچک تا متوسط و استارتآپهای تازهکارتر اغلب خودشان را در حاشیه میبینند. به این ترتیب است که در جهانی که انتظار میرود هوش مصنوعی تاثیر چشمگیری بر آینده آن داشته باشد، باید دید کدام استراتژیها برای بهرهوری و رونق بیشتر اقتصاد تراشههای پیشران هوش مصنوعی بهتر هستند و حتی به توسعهدهندگان با محدودیت منابع هم این امکان را میدهند تا مدلهای هوش مصنوعی را بدون ورشکستگی و صرف هزینه بالا آموزش دهند.
برای یک سکه، برای یک دلار
همانطور بسیاری از ما میدانی که تولید و معرفی یک محصول هوش مصنوعی - چه یک مدل پایه/مدل زبانی بزرگ (LLM) باشد یا یک برنامه کاربردی تنظیمشده/استریمشده - بهشدت به تراشههای تخصصی هوش مصنوعی و البته بهطور ویژه پردازندههای گرافیکی (GPU) وابسته است. این پردازندهها آنقدر گران هستند و دسترسی به آنها سخت است که بعضیها در دنیای یادگیری ماشینی اصطلاحات «غنی از GPU» و «دارای کمبود GPU» را ابداع کردند. آموزش الگوهای زبانی بزرگ عمدتا به خاطر هزینههای مرتبط با سختافزار، از جمله خرید و نگهداری آنها به جای الگوریتمهای یادگیری ماشینی یا دانش تخصصی، میتواند پرهزینه باشد. آموزش این الگوها مستلزم انجام محاسبات گسترده روی مجموعه تراشههای قدرتمند است که برای الگوهای زبانی بزرگتر حتی بیشتر هم زمان میبرد. به عنوان مثال، آموزش LLaMA ۲ ۷۰B شامل قرار دادن ۷۰ میلیارد پارامتر در معرض ۲تریلیون توکن است. به این ترتیب اگر از نظر GPU ضعیف باشید، باید تسلیم شوید؟ خیر.
استراتژیهای جایگزین
امروزه چندین استراتژی وجود دارد که شرکتهای تکنولوژی از آنها برای یافتن راهحلهای جایگزین، کاهش وابستگی به سختافزارهای پرهزینه و در نهایت صرفهجویی در هزینههای خود استفاده میکنند. یک رویکرد شامل بهینهسازی و سادهسازی سختافزار آموزشی است. اگرچه این مسیر هنوز تا حد زیادی آزمایشی و همچنین وابسته به سرمایهگذاری است، اما نویدبخش بهینهسازی آینده در مسیر آموزش الگوهای بزرگ زبانی است. نمونههایی از چنین راهحلهای مرتبط با سختافزار عبارتند از تراشههای هوش مصنوعی سفارشی از مایکروسافت و متا، ابتکارات جدید Nvidia و OpenAI در زمینه نیمهرساناها، مجموعههای محاسباتی منفرد از Baidu، پردازندههای گرافیکی اجارهای از Vast و تراشههای Sohu و... اگرچه این گام مهمی برای پیشرفت است، این روش هنوز برای بازیگران بزرگی مناسبتر است که میتوانند در حال حاضر سرمایهگذاری هنگفتی برای کاهش هزینههایشان داشته باشند و برای تازهواردان با منابع مالی محدود که مایل به تولید محصولات هوش مصنوعی هستند، موثر نیست.
نرمافزارهای خلاقانه
با در نظر گرفتن بودجه کم، راهحل دیگری برای بهینهسازی آموزش الگوهای بزرگ زبانی و کاهش هزینهها وجود دارد که به کمک نرمافزارهای خلاقانه محقق میشود. این رویکرد برای اکثر مهندسان یادگیری ماشینی مقرون بهصرفهتر و قابل دسترستر است، حتی اگر آنها متخصصان با تجربه باشند یا مشتاقان هوش مصنوعی و توسعهدهندگان نرمافزار که به دنبال نفوذ بیشتر به این حوزه هستند. در اینجا برخی از این ابزارهای بهینهسازی مبتنی بر کد را با جزئیات بیشتری بررسی میکنیم:
آموزش دقیق ترکیبی: تصور کنید شرکت شما ۲۰ کارمند دارد، اما شما فضای اداری را برای ۲۰۰ نفر اجاره میکنید و بهطور مشخص اتلاف منابع برای شما اتفاق میافتد. درست نوعی ناکارآمدی مشابه در طول آموزش الگوی زبانی اتفاق میافتد؛ جایی که چارچوبهای یادگیری ماشینی اغلب حافظه بیشتری را نسبت به آنچه واقعا لازم است، به خود اختصاص میدهند. آموزش دقیق ترکیبی به کمک بهینهسازی، سرعت و استفاده از حافظه را بهبود میبخشد.
کنترل فعالسازی: اگر با محدودیت حافظه مواجه هستید، اما در عین حال مایل به صرف زمان بیشتری هستید، کنترل و نظارت ممکن است تکنیک مناسبی برای شما باشد. بهطور خلاصه، به حداقل رساندن محاسبات به کاهش قابلتوجه مصرف حافظه کمک میکند و در نتیجه امکان آموزش الگوی بزرگ زبانی را بدون ارتقای سختافزار هم فراهم میکند.
آموزش همزمان چند پردازنده پیشرفته: تصور کنید که یک نانوایی کوچک نیاز به تولید سریع یک مجموعه بزرگ نان باگت دارد. اگر یک نانوا به تنهایی کار کند، احتمالا زمان زیادی طول خواهد کشید و قطعا با وجود با دو نانوا این روند سرعت میگیرد. وقتی نانوای سوم را اضافه کنید، حتی سریعتر پیش میرود. آموزش چند تراشه پیشرفته (GPU) هم تقریبا به همین صورت عمل میکند.
با این اوصاف استفاده از تکنیکهایی مانند آموزش دقیق ترکیبی، کنترل و نظارت فعالسازی و استفاده از چند پردازنده پیشرفته، حتی برای شرکتهای کوچک و متوسط هم میتواند پیشرفت چشمگیری در فرآیند آموزش هوش مصنوعی به همراه داشته باشد؛ هم در تنظیم دقیق الگوی بزرگ زبانی و هم در تولید محصولات مبتنی بر هوش مصنوعی. این ابزارها کارآیی محاسباتی را افزایش و زمان اجرا و هزینههای کلی را کاهش میدهند. علاوه بر این، آنها امکان آموزش الگوهای زبانی بزرگتر روی سختافزار موجود را فراهم میآورند و نیاز به ارتقای سختافزاری هزینهبر و گرانقیمت را کاهش میدهند. با همهگیر کردن دسترسی به قابلیتهای پیشرفته هوش مصنوعی، این رویکردها طیف وسیعتری از شرکتهای تکنولوژی را قادر میسازند تا بتوانند با سرعت مناسبی در این حوزه در حال تحول به شکلی نوآورانه با هم رقابت کنند.
همانطور که گفته میشود، هوش مصنوعی جایگزین شما نمیشود، اما کسی که از هوش مصنوعی استفاده میکند جایگزین خواهد شد. بنابراین دیگر وقت آن است که به استقبال هوش مصنوعی بروید، آن را در آغوش بگیرید و با استراتژیهای مناسب و دقیق، بهکارگیری این تکنولوژی و ابزارهایش را حتی با بودجه کم نیز امکانپذیر کنید.