هزینهی آموزش: GPU، زمان و برق
جواب کوتاه
محاسبهی آموزش یه مدل زبانی رو میشه با یه ضرب ساده تخمین زد: شش، ضرب در تعداد پارامترها، ضرب در تعداد توکنهای آموزش. برای یه مدل ۱۷۵ میلیاردی که روی ۳۰۰ میلیارد توکن آموزش دید، این میشه حدود ۳۱۵ هزار میلیارد میلیارد عمل حساب. یه مدل ۶۵ میلیاردی ۲۰۲۳ با ۲۰۴۸ پردازندهی گرافیکی حدود ۲۱ روز آموزش دید، و ساختن کل خانوادهاش حدود ۵ ماه و ۲۶۳۸ مگاواتساعت برق برد. ولی انتخاب مدل، مرکز داده و پردازنده میتونه کربنش رو تا صدها برابر کم کنه.
یه ضرب ساده
آموزش یه مدل بزرگ چقدر حساب و کتاب میخواد؟ لازم نیست کسی بهمون بگه؛ خودمون با یه ضرب حسابش میکنیم.
یه پژوهش ۲۰۲۰ یه قاعدهی ساده داد: محاسبهی آموزش تقریبا میشه شش، ضرب در تعداد پارامترها، ضرب در تعداد توکنهایی که مدل میبینه. اون مدل ۱۷۵ میلیاردی رو یادتونه که روی ۳۰۰ میلیارد توکن آموزش دید؟ شش ضرب در ۱۷۵ میلیارد ضرب در ۳۰۰ میلیارد، میشه حدود ۳۱۵ هزار میلیارد میلیارد. یعنی ۳۱۵ و بعدش بیست و یک تا صفر.
جالبه که مقالهی خود اون مدل، توی جدولش عدد ۳۱۴ هزار میلیارد میلیارد رو نوشته. یعنی با همین ضرب ساده، تقریبا به همون عدد رسیدیم.
چرا شش
این شش از کجا اومد؟ از همون دو قدمی که هر توکن آموزش طی میکنه.
رفت: مدل برای حدس کلمهی بعد، از همهی پارامترهاش رد میشه؛ هر پارامتر یه ضرب و یه جمع، یعنی حدود دو عمل. برگشت: بعد برای تنظیم پارامترها، باید حساب کنه هر کدوم چقدر توی خطا مقصر بوده؛ همون پسانتشار خطا. این تقریبا دو برابر رفت طول میکشه، یعنی حدود چهار عمل. روی هم، شش.
یعنی برای هر توکن متن آموزش، به ازای هر پارامتر، حدود شش عمل حساب. حالا اون رو ضرب کنید در میلیاردها پارامتر و صدها میلیارد توکن.
چند پردازنده، چند روز
این همه حساب رو یه کامپیوتر معمولی نمیتونه انجام بده. برای همین از هزاران پردازندهی گرافیکی با هم استفاده میشه. یه نمونهی واقعی:
نویسندههای یه مدل ۶۵ میلیاردی که سال ۲۰۲۳ منتشر شد، نوشتن هر پردازندهی گرافیکی حدود ۳۸۰ توکن در ثانیه پردازش میکرد، و ۲۰۴۸ تا از این پردازندهها با هم کار میکردن. با این سرعت، آموزش روی ۱٫۴ هزار میلیارد توکن حدود ۲۱ روز طول کشید. ما اینها رو در هم ضرب کردیم: ۳۸۰ ضرب در ۲۰۴۸ ضرب در ثانیههای ۲۱ روز، میشه حدود ۱٫۴ هزار میلیارد توکن. عددها با هم جورن.
ولی ۲۱ روز فقط یه دور آموزش نهایی بود. خودشون نوشتن ساختن کل اون خانوادهی مدل، با همهی آزمایشها و امتحانها، حدود ۵ ماه با همون ۲۰۴۸ پردازنده طول کشید.
کار رو چطور بین کارتها پخش میکنن
هیچ کارت گرافیکی تنهایی نه جای یه مدل بزرگ رو داره نه وقتش رو. پس کار پخش میشه، به سه شکل.
سادهترینش پخش دادهست: هر کارت یه کپی کامل از مدل داره و یه دستهی جدا از متن رو حساب میکنه، و آخر هر قدم، کارتها نتیجهشون رو با هم یکی میکنن. ولی وقتی مدل توی یه کارت جا نمیشه، باید خود مدل رو تیکه کرد. یه راه پخش لایههاست: لایههای اول روی یه کارت، بعدیها روی کارت بعد، مثل خط تولید. راه دیگه پخش داخل لایهست: یه پژوهش ۲۰۱۹ هر ضرب بزرگ داخل لایه رو بین چند کارت پخش کرد و یه مدل ۸٫۳ میلیاردی رو روی ۵۱۲ کارت گرافیک آموزش داد، با ۷۶ درصد بازدهی نسبت به یه کارت تنها. مدلهای خیلی بزرگ معمولا هر سه رو با هم به کار میبرن.
چقدر برق
هزاران پردازنده که هفتهها روشنان، برق زیادی میخورن. دو تا عدد واقعی:
یه پژوهش ۲۰۲۱ برآورد کرد آموزش اون مدل ۱۷۵ میلیاردی ۲۰۲۰، حدود ۱۲۸۷ مگاواتساعت برق مصرف کرده؛ یعنی حدود یک میلیون و ۲۸۷ هزار کیلوواتساعت. نویسندههای مدل ۲۰۲۳ هم برآورد کردن ساختن کل خانوادهی مدلشون، اون ۵ ماه، حدود ۲۶۳۸ مگاواتساعت برق برده و حدود ۱۰۱۵ تن معادل دیاکسید کربن تولید کرده، با فرضهایی که خودشون گفتن.
راههای کم کردن
خبر خوب اینه که همون پژوهش ۲۰۲۱ نشون داد این عددها ثابت نیستن و میشه خیلی کمشون کرد:
مدلهایی که برای هر توکن فقط بخشی از پارامترهاشون رو به کار میگیرن، میتونن کمتر از یک دهم انرژی مصرف کنن، بی اینکه دقتشون کم بشه. جای مرکز داده مهمه، چون سهم برق بیکربن جاهای مختلف ۵ تا ۱۰ برابر فرق داره. مرکز دادهی بهینه ۱٫۴ تا ۲ برابر، و پردازندههای مخصوص یادگیری ماشین ۲ تا ۵ برابر بهترن. روی هم، این انتخابها میتونن ردپای کربن رو تا ۱۰۰ تا ۱۰۰۰ برابر کم کنن.
چقدر پول
اینهمه کارت و برق، آخرش به پول تبدیل میشه.
ویکیپدیا میگه آموزش یه مدل ۲۰۱۹ با ۱٫۵ میلیارد پارامتر حدود ۵۰ هزار دلار خرج داشت، یه مدل ۲۰۲۱ با ۵۳۰ میلیارد پارامتر حدود ۱۱ میلیون دلار، و یه مدل ۲۰۲۲ با ۵۴۰ میلیارد پارامتر حدود ۸ میلیون دلار. اینها فقط هزینهی آموزش آخرن؛ آزمایشهای قبلش، آموزشهایی که خراب شدن و باید از نو شروع میشدن، و حقوق آدمها جدان. یه پژوهش ۲۰۲۲ که یه مدل ۱۷۵ میلیاردی رو آزاد منتشر کرد، یه دفترچهی کامل از گرفتاریهای سختافزاری و زیرساختیش هم منتشر کرد، و گفت ردپای کربنش حدود یک هفتم یه مدل هماندازهی ۲۰۲۰ بود.
یعنی چی برای ما
اول اینکه ساختن یه مدل پایهی بزرگ از صفر، کار سنگین و گرونیه. برای همین خیلی از کارها روی مدلهایی ساخته میشه که یه بار آموزش دیدن؛ مثلا با تنظیم دقیق یا با یه درخواست خوب. نویسندههای مدل ۲۰۲۳ هم نوشتن امیدوارن انتشار مدلهاشون به کم شدن کربن آینده کمک کنه، چون آموزش یه بار انجام شده و لازم نیست دوباره تکرار بشه.
دوم اینکه هزینهی آموزش با هزینهی استفاده فرق داره. آموزش یه بار انجام میشه؛ ولی هر بار که شما سوال میپرسید، مدل دوباره از همهی پارامترهاش رد میشه. برای همین مدل کوچیکتر، موقع استفاده ارزونتره؛ همون چیزی که توی درس پارامتر از پژوهش ۲۰۲۲ دیدیم.
چند نکته
- شش × پارامتر × توکن. با این، هر عدد محاسبهای رو میشه تخمین زد.
- رفت ارزونتره، برگشت گرونتر. دو در برابر چهار.
- چند هفته، هزاران پردازنده. و ماهها برای کل کار.
- برق، هزاران مگاواتساعت. ولی میشه صدها برابر کمش کرد.
- آموزش یه بار، استفاده هر بار. مدل کوچیکتر، استفادهی ارزونتر.
درس بعد نشون میده چرا این همه هزینه ارزششو داره، و بزرگتر شدن مدل و داده چطور کیفیت رو بالا میبره: قانونهای مقیاس.
جمعبندی. آنچه از این درس با خودتان میبرید.
- محاسبه ≈ ۶ × پارامتر × توکن.
- رفت ۲، برگشت ۴.
- هزاران پردازنده، چند هفته.
- هزاران مگاواتساعت برق.
- انتخابهای درست، هزینه رو خیلی کم میکنن.
خودتون رو بسنجید
۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو میبینید: چند تا درست، چند تا نادرست.