صرفه جویی با دقت روبرو می شود: آموزش مقرون به صرفه مدل های GPT NeoX و Pythia با AWS Trainium | خدمات وب آمازون

صرفه جویی با دقت روبرو می شود: آموزش مقرون به صرفه مدل های GPT NeoX و Pythia با AWS Trainium | خدمات وب آمازون

مدل‌های زبان بزرگ (یا LLM) به موضوع گفتگوهای روزانه تبدیل شده‌اند. پذیرش سریع آنها با مدت زمان مورد نیاز برای دستیابی به 100 میلیون کاربر مشهود است، که از "4.5 سال توسط فیس بوک" به پایین ترین زمان "2 ماه توسط ChatGPT" رسیده است. یک ترانسفورماتور از پیش آموزش‌دیده مولد (GPT) از به‌روزرسانی‌های اتورگرسیو علّی برای پیش‌بینی استفاده می‌کند. انواع وظایف مانند تشخیص گفتار، تولید متن، و پاسخ به سوال نشان داده شده است که عملکرد فوق العاده ای توسط این معماری های مدل دارد. چندین مدل اخیر مانند NeoX, شاهین, پشم لاما از معماری GPT به عنوان ستون فقرات استفاده کنید. آموزش LLM به زمان محاسباتی عظیمی نیاز دارد که میلیون ها دلار هزینه دارد. در این پست، روند آموزش GPT را خلاصه می کنیم NeoX on AWS Trainium، شتاب دهنده یادگیری ماشینی (ML) ساخته شده برای آموزش عمیق بهینه شده است. ما نحوه آموزش مقرون به صرفه (3.2 میلیون توکن/$) چنین مدل‌هایی را با AWS Trainium بدون از دست دادن کیفیت مدل توضیح خواهیم داد.

بررسی اجمالی راه حل

مدل های GPT NeoX و Pythia

GPT NeoX و پیتیا مدل‌های زبان علّی منبع باز Eleuther-AI با تقریباً 20 میلیارد پارامتر در NeoX و 6.9 میلیارد در Pythia هستند. هر دو مدل رمزگشا هستند که از طراحی معماری مشابه Chat GPT3 پیروی می کنند. با این حال، آنها چندین افزودنی نیز دارند که در مدل های اخیر مانند Llama نیز به طور گسترده ای مورد استفاده قرار گرفته است. به ویژه، آنها دارای تعبیه موقعیتی چرخشی (ROPE) با چرخش جزئی در ابعاد سر هستند. مدل‌های اصلی (NeoX و Pythia 6.9B) در دسترس آزاد آموزش داده می‌شوند مجموعه داده شمع با Deduplication و با استفاده از Megatron و Deepspeed Backend.

ما پیش‌آموزش و تنظیم دقیق این مدل‌ها را در نمونه‌های Trn1 مبتنی بر AWS Trainium با استفاده از نورون نمو کتابخانه برای اثبات مفهوم و بازتولید سریع، از یک زیرمجموعه داده ویکی‌پدیا کوچک‌تر استفاده می‌کنیم که با استفاده از رمزگذاری جفت بایت GPT2 (BPE) نشانه گذاری شده است.

خرید

مجموعه داده های ویکی پدیا را که از قبل نشانه گذاری شده است، همانطور که نشان داده شده است دانلود کنید:

export DATA_DIR=~/examples_datasets/gpt2 mkdir -p ${DATA_DIR} && cd ${DATA_DIR} wget https://s3.amazonaws.com/models.huggingface.co/bert/gpt2-vocab.json
wget https://s3.amazonaws.com/models.huggingface.co/bert/gpt2-merges.txt
aws s3 cp s3://neuron-s3/training_datasets/gpt/wikipedia/my-gpt2_text_document.bin . --no-sign-request
aws s3 cp s3://neuron-s3/training_datasets/gpt/wikipedia/my-gpt2_text_document.idx . --no-sign-request
aws s3 cp s3://neuron-s3/training_datasets/gpt/wikipedia/license.txt . --no-sign-request

هر دو NeoX 20B و Pythia 6.9B از طناب با چرخش جزئی استفاده می کنند، به عنوان مثال، 25٪ از ابعاد سر را می چرخاند و بقیه را بدون چرخش نگه می دارد. برای اجرای موثر چرخش جزئی بر روی شتاب‌دهنده AWS Trainium، به‌جای الحاق ابعاد چرخشی و غیر چرخشی، فرکانس‌های صفر را برای ابعاد غیر چرخشی اضافه می‌کنیم و سپس مجموعه کامل ابعاد سر را می‌چرخانیم. این ترفند ساده به ما کمک کرد تا توان عملیاتی (توالی های پردازش شده در هر ثانیه) را در AWS Trainium بهبود دهیم.

مراحل آموزش

برای اجرای آموزش، از ابر محاسباتی الاستیک آمازون چند گره ای مدیریت شده SLURM (آمازون EC2) خوشه Trn1، با هر گره حاوی یک نمونه trn1.32xl. هر یک trn1.32xl دارای 16 شتاب دهنده با دو کارگر در هر شتاب دهنده. بعد از دانلود آخرین نورون نمو بسته، از بسته ارائه شده استفاده کنید نئوکس و پیتیا قبل از آموزش و تنظیم دقیق اسکریپت ها با پارامترهای بهینه شده و موارد زیر را برای آموزش چهار گره اجرا کنید.

  1. کامپایل: مدل را با سه تکرار قطار برای تولید و ذخیره نمودارها از قبل کامپایل کنید:
    sbatch --nodes 4 compile.slurm ./neoX_20B_slurm.sh

  2. اجرا: آموزش را با بارگذاری نمودارهای کش شده از مراحل اول اجرا کنید
    sbatch --nodes 4 run.slurm ./neoX_20B_slurm.sh

  3. نتایج را پایش کنید
    tensorboard --logdir=nemo_experiments/megatron_neox

مراحل مشابهی برای اجرای مدل Pythia 6.9B با جایگزینی باید دنبال شود neox_20B_slurm.sh by pythia_6.9B_slurm.sh.

آزمایشات قبل از آموزش و تنظیم دقیق

ما پیش آموزش مدل های GPT-NeoX و Pythia را در AWS Trainium با استفاده از نورون نمو کتابخانه برای 10k تکرار، و همچنین تنظیم دقیق این مدل ها را برای 1k مرحله نشان می دهد. برای پیش‌آموزش، از توکنایزر GPT2 BPE در داخل NeMo استفاده می‌کنیم و همان را دنبال می‌کنیم پیکربندی همانطور که در مدل اصلی استفاده شده است. تنظیم دقیق در AWS Trainium نیازمند تغییر چند پارامتر (مانند فاکتور تقسیم اندازه واژگان) که در اسکریپت های تنظیم دقیق ارائه شده اند تا تفاوت های Megatron در مقابل NeMo و تغییرات GPU در مقابل AWS Trainium را تطبیق دهند. توان عملیاتی آموزشی توزیع شده چند گره با تعداد گره های متفاوت در جدول 1 نشان داده شده است.

مدل تانسور موازی خط لوله موازی تعداد موارد هزینه ($/ساعت) طول توالی اندازه دسته جهانی توان عملیاتی (ثانیه/ثانیه) نسبت هزینه به تولید (توکن/$)
Pythia 6.9B 8 1 1 7.59 2048 256 10.4 10,102,387
8 1 4 30.36 2048 256 35.8 8,693,881
NeoX 20B 8 4 4 30.36 2048 16384 13.60 3,302,704
8 4 8 60.72 2048 16384 26.80 3,254,134
8 4 16 121.44 2048 16384 54.30 3,296,632
8 4 32 242.88 2048 16384 107.50 3,263,241
8 4 64 485.76 2048 16384 212.00 3,217,708

جدول 1. مقایسه میانگین توان عملیاتی مدل‌های GPT NeoX و Pythia برای آموزش تا ۵۰۰ مرحله با تغییر تعداد گره‌ها. این قیمت trn1.32xl بر اساس نرخ موثر رزرو شده 3 ساله در ساعت است.

در مرحله بعد، ما همچنین مسیر تلفات آموزش مدل را در AWS Trainium ارزیابی کرده و آن را با اجرای مربوطه در یک خوشه P4d (هسته‌های GPU Nvidia A100) مقایسه می‌کنیم. همراه با از دست دادن تمرین، ما همچنین شاخص مفیدی مانند هنجار گرادیان را مقایسه می کنیم که 2-هنجار گرادیان مدل محاسبه شده در هر تکرار آموزش برای نظارت بر پیشرفت آموزش است. نتایج آموزش در شکل-1، 2 و تنظیم دقیق NeoX 20B در شکل-3 نشان داده شده است.

میانگین از دست دادن آموزش در تمام کارگران (چپ) و هنجار گرادیان (راست) در هر مرحله آموزش داده شد.

شکل 1. میانگین از دست دادن آموزش در تمام کارگران (چپ) و هنجار گرادیان (راست) در هر مرحله آموزش داده شد. NeoX 20B بر روی 4 گره با مجموعه داده ویکی کوچک در GPU و Trainium با پارامترهای آموزشی مشابه (اندازه دسته جهانی = 256) آموزش داده شده است. GPU از BF16 و دقت ترکیبی پیش‌فرض استفاده می‌کند در حالی که AWS Trainium از BF16 کامل با گرد کردن تصادفی استفاده می‌کند. مسیرهای هنجار از دست دادن و گرادیان برای GPU و AWS Trainium مطابقت دارند.

میانگین از دست دادن آموزش در همه کارگران (چپ) و هنجار گرادیان (راست) در هر مرحله آموزش (Pythia).

شکل 2. میانگین از دست دادن آموزش در تمام کارگران (چپ) و هنجار گرادیان (راست) در هر مرحله آموزش داده شد. مشابه GPT NeoX در شکل-1، Pythia 6.9B بر روی 4 گره با مجموعه داده ویکی کوچک در GPU و Trainium با پارامترهای فوق العاده آموزشی مشابه (اندازه دسته جهانی = 256) آموزش داده شده است. مسیرهای هنجار از دست دادن و گرادیان برای GPU و Trainium مطابقت دارند.

تنظیم دقیق مدل GPT NeoX 20B در GPU و AWS Trainium با میانگین افت آموزش در همه کارگران (چپ) و هنجار گرادیان (راست).

شکل 3. تنظیم دقیق مدل GPT NeoX 20B در GPU و AWS Trainium با میانگین افت آموزش در همه کارگران (چپ) و هنجار گرادیان (راست). یک مجموعه داده ویکی کوچک برای نمایش دقیق استفاده می شود. مسیرهای هنجار از دست دادن و گرادیان برای GPU و AWS Trainium مطابقت دارند.

در این پست، آموزش مقرون به صرفه LLM ها را بر روی سخت افزار یادگیری عمیق AWS نشان دادیم. ما مدل‌های GPT NeoX 20B و Pythia 6.9B را روی AWS Trn1 با کتابخانه Neuron NeMo آموزش دادیم. هزینه عملیات عادی شده برای 20 میلیارد مدل با AWS Trainium تقریباً 3.2 میلیون توکن / دلار هزینه شده است. همراه با آموزش مقرون به صرفه در AWS Trainium، ما دقت مدل مشابهی را به دست می‌آوریم که از کاهش گام تمرین و مسیر هنجار گرادیان مشهود است. همچنین نقاط بازرسی موجود را برای مدل NeoX 20B در AWS Trainium تنظیم کردیم. برای اطلاعات بیشتر در مورد آموزش توزیع شده با NeMo Megatron در AWS Trainium، ببینید مرجع نورون AWS برای NeMo Megatron. منبع خوبی برای شروع تنظیم دقیق مدل Llama را می توان در اینجا یافت، تنظیم دقیق Llama2. برای شروع با AWS Trainium مدیریت شده در آمازون SageMaker، نگاه کنید به مدل های ML خود را با AWS Trainium و Amazon SageMaker آموزش دهید.


درباره نویسنده

صرفه جویی با دقت روبرو می شود: آموزش مقرون به صرفه مدل های GPT NeoX و Pythia با AWS Trainium | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.گوراو گوپتا در حال حاضر یک دانشمند کاربردی در آزمایشگاه‌های هوش مصنوعی خدمات وب آمازون (AWS) است. دکتر گوپتا دکترای خود را از USC Viterbi به پایان رساند. علایق تحقیقاتی او در حوزه مدل سازی داده های متوالی، یادگیری معادلات دیفرانسیل جزئی، نظریه اطلاعات برای یادگیری ماشین، مدل های دینامیکی کسری و شبکه های پیچیده است. او در حال حاضر روی مسائل کاربردی و ریاضی روی رفتار آموزش LLM، مدل‌های بینایی با PDE، مدل‌های چندوجهی نظری اطلاعات کار می‌کند. دکتر گوپتا در مجلات/کنفرانس های برتر مانند Neurips، ICLR، ICML، Nature، IEEE Control Society، ACM Cyber-physical Society انتشاراتی دارد.

صرفه جویی با دقت روبرو می شود: آموزش مقرون به صرفه مدل های GPT NeoX و Pythia با AWS Trainium | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.بن اسنایدر یک دانشمند کاربردی با یادگیری عمیق AWS است. علایق تحقیقاتی او شامل مدل های بنیادی، یادگیری تقویتی و بهینه سازی ناهمزمان است. خارج از محل کار، او از دوچرخه سواری و کمپینگ در کانتری لذت می برد.

صرفه جویی با دقت روبرو می شود: آموزش مقرون به صرفه مدل های GPT NeoX و Pythia با AWS Trainium | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.آمیت (ر) مامیدالا ارشد مهندسی برنامه یادگیری ماشین در آزمایشگاه AWS Annapurna است. دکتر مامیدالا دکترای خود را در دانشگاه ایالتی اوهایو در زمینه محاسبات و ارتباطات با کارایی بالا به پایان رساند. دکتر مامیدالا در طول مدت تصدی خود در تحقیقات آی‌بی‌ام، به کلاس رایانه‌های BlueGene که اغلب در رتبه‌بندی 500 قدرتمندترین و کم مصرف‌ترین ابررایانه‌ها رهبری می‌شد، کمک کرد. این پروژه در سال 2009 مدال ملی فناوری و نوآوری را دریافت کرد. پس از مدت کوتاهی به عنوان مهندس هوش مصنوعی در یک صندوق تامین مالی، دکتر مامیدالا به آزمایشگاه‌های آناپورنا پیوست و بر آموزش مدل زبان بزرگ تمرکز داشت.

صرفه جویی با دقت روبرو می شود: آموزش مقرون به صرفه مدل های GPT NeoX و Pythia با AWS Trainium | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.جون (لوک) هوان دانشمند اصلی آزمایشگاه هوش مصنوعی AWS است. دکتر هوان روی هوش مصنوعی و علم داده کار می کند. او بیش از 180 مقاله با داوری در کنفرانس ها و مجلات برجسته منتشر کرده است. او در سال 2009 جایزه توسعه شغلی اولیه دانشکده NSF را دریافت کرد. قبل از پیوستن به AWS، او در تحقیقات بایدو به عنوان یک دانشمند برجسته و رئیس آزمایشگاه داده های بزرگ بایدو کار می کرد. او StylingAI Inc.، یک استارت آپ هوش مصنوعی را تأسیس کرد و به عنوان مدیر عامل و دانشمند ارشد در سال های 2019-2021 کار کرد. او قبل از پیوستن به صنعت، استاد چارلز ای و مری جین اسپهر در بخش EECS در دانشگاه کانزاس بود.

صرفه جویی با دقت روبرو می شود: آموزش مقرون به صرفه مدل های GPT NeoX و Pythia با AWS Trainium | خدمات وب آمازون هوش داده پلاتو بلاک چین. جستجوی عمودی Ai.شروتی کپرکار مدیر ارشد بازاریابی محصول در AWS است. او به مشتریان کمک می‌کند تا زیرساخت‌های محاسباتی شتاب‌دهی آمازون EC2 را برای نیازهای یادگیری ماشین خود کاوش، ارزیابی و استفاده کنند.

تمبر زمان:

بیشتر از آموزش ماشین AWS