نویسنده (ها): دانگره
در ابتدا منتشر شده در به سمت هوش مصنوعیبشر
معماری لاما: شیرجه عمیق به کارآیی و ریاضیات
در سالهای اخیر ، مبتنی بر ترانسفورماتور مدل های بزرگ زبان (LLMS) متحول شده اند پردازش زبان طبیعی (NLP). Llama Meta Ai (مدل بزرگ زبان متا AI) به عنوان یکی از کارآمدترین و در دسترس ترین مدلهای این دامنه است. طراحی Llama نوآوری هایی را در معماری ترانسفورماتور برای دستیابی به عملکرد رقابتی با پارامترهای کمتری از آن استفاده می کند و این امر را برای محققان و مشاغل با منابع محاسباتی محدود در دسترس تر می کند. در این مقاله اکتشافی عمیق از معماری Llama ، از جمله مبانی ریاضی آن ، نوآوری های معماری (مانند تعبیه موقعیت روتاری) و کد آموزش در سطح تولید در مورد کوچک ارائه شده است. مجموعه داده با استفاده از pytorch.
ما قبل از بررسی تغییرات خاص Llama ، با یک مرور کلی از معماری ترانسفورماتور شروع می کنیم. سپس ما از طریق ریاضیات در پشت خودآگاهی ، تعبیه های موقعیت چرخشی و تکنیک های عادی سازی مورد استفاده در لاما قدم می زنیم. سرانجام ، ما یک کد خط لوله آموزش کامل ارائه می دهیم که نشان دهنده تنظیم دقیق یک مدل Llama مانند به صورت عرف است مجموعه دادهبشر
1. زمینه: معماری ترانسفورماتور
1.1 بررسی اجمالی
ترانسفورماتورها ، معرفی شده توسط واسوانی و همکاران. در سال 2017 ، NLP را با فعال کردن پردازش موازی و ضبط وابستگی های دوربرد و بدون ساختار مکرر تبدیل کرد. مؤلفه های اصلی یک ترانسفورماتور عبارتند از:
- مکانیسم توجه خود: به هر نشانه در یک دنباله اجازه می دهد تا اهمیت هر نشانه دیگری را وزن کند.
- شبکه عصبی Feedforward (FFN): تحولات غیر خطی را به خروجی های لایه خود توجه اعمال می کند.
- عادی سازی لایه و اتصالات باقیمانده: از جریان شیب پایدار و آموزش کارآمد اطمینان حاصل کنید.
از نظر ریاضی ، برای یک دنباله ورودی که توسط یک ماتریس X (از شکل n × d برای طول توالی n و ابعاد تعبیه d) نشان داده شده است ، مکانیسم خودآگاهی به این صورت محاسبه می شود:
کجا:
- DK ابعاد بردارهای کلیدی است.
این فرمولاسیون به مدل اجازه می دهد تا به طور همزمان روی قسمت های مختلف دنباله ورودی تمرکز کند و هر دو روابط محلی و جهانی را ضبط کند.
1.2 محدودیت ترانسفورماتورهای استاندارد
در حالی که قدرتمند ، ترانسفورماتورهای استاندارد چالش هایی دارند:
- هزینه محاسباتی بالا: به خصوص هنگام مقیاس به سکانس های بزرگ.
- رمزگذاری های مثبت ثابت: به طور معمول ، رمزگذاری های موقعیتی مطلق ممکن است در زمینه های بسیار طولانی به خوبی تعمیم ندهند.
- ردپای حافظه: تعداد پارامتر بزرگ به منابع محاسباتی قابل توجهی نیاز دارد.
2. معماری لاما: نوآوری ها و پیشرفت ها
Llama ضمن معرفی چندین بهینه سازی کلیدی که برای بهبود کارآیی و مقیاس پذیری طراحی شده است ، بر روی معماری ترانسفورماتور استاندارد ساخته شده است.
2.1 طراحی ترانسفورماتور فقط رمزگشایی
لاما از ترانسفورماتور فقط رمزگذار معماری مشابه مدل های GPT. در این طرح ، این مدل متن را به صورت خودکار تولید می کند – پیش بینی یک نشانه در هر زمان با توجه به تمام نشانه های قبلی. این انتخاب با تمرکز بر مدل سازی زبان بدون نیاز به رمزگذار ، معماری را ساده می کند.
2.2 قبل از عادی سازی
به جای “پس از ظهر” سنتی (طوفان لایه ای پس از زیر لایه ها) ، لاما استخدام می کند پیش طبیعی سازی، جایی که کرم لایه ای قبل از استفاده از لایه های خود و تغذیه ای اعمال می شود. از نظر ریاضی ، اگر x ورودی به یک لایه زیر (به عنوان مثال توجه) باشد ، تحول:
این رویکرد با اطمینان از اینکه ورودی به هر لایه زیر دارای مقیاس استاندارد است ، ثبات آموزش ، به ویژه برای شبکه های بسیار عمیق را بهبود می بخشد.
2.3 تعبیه موقعیت دوار (طناب)
یکی از ویژگی های مشخصه Llama استفاده از آن است تعبیه های موقعیتی دوار (طناب). برخلاف تعبیه موضع مطلق سنتی ، رمزگذاری طناب مواضع نسبی نشانه ها به روشی زیبا و ریاضی.
توضیح ریاضی طناب
برای هر نشانه ، به جای اضافه کردن یک بردار ثابت ، طناب با توجه به موقعیت آنها ، پرس و جو و بردارهای کلیدی را در یک فضای چند بعدی می چرخاند. اگر θ یک زاویه چرخش باشد که تابعی از موقعیت توکن p و یک فرکانس پایه ω است ، یک بردار x به صورت چرخشی می چرخد:
در اینجا ، عملکرد چرخش (x) نشان دهنده چرخش 90 درجه در فضای تعبیه است. این روش دو مزیت کلیدی دارد:
- مقیاس پذیری: این توالی های طولانی تر به خوبی تعمیم می یابد زیرا زاویه نسبی بین نشانه ها همچنان سازگار است.
- کارآیی: در مقایسه با تعبیه موقعیتی آموخته شده ، هیچ پارامتری اضافی لازم نیست.
توضیح ساده
تصور کنید که شما مجموعه ای از بردارها را نشان می دهید که کلمات را نشان می دهد ، و می خواهید نه تنها کلمه هویت بلکه نظم آنها را نیز بدانید. طناب این بردارها را با زاویه ای متناسب با موقعیت آنها “می چرخاند”. هنگامی که شما دو نشانه را مقایسه می کنید ، زاویه نسبی (تفاوت در چرخش) فاصله آنها را در دنباله رمزگذاری می کند ، که برای درک زمینه ضروری است.
2.4 راندمان پارامتر و توجه گروهی (GQA)
لاما استفاده از پارامتر را از طریق تکنیک هایی مانند بهینه می کند توجه گروهی (GQA)بشر این مکانیسم بردارهای پرس و جو را به گروههایی که پارامترهای خاصی دارند ، تقسیم می کند ، در نتیجه تعداد کلی محاسبات و ردپای حافظه را بدون کاهش عملکرد قابل توجهی کاهش می دهد. ریاضیات در اینجا گسترش توجه چند سر استاندارد است ، جایی که به جای سران مستقل ، گروه هایی از سران پیش بینی های مشترک دارند:
جایی که G گروه ها را فهرست می کند. این اشتراک گذاری مدل را قادر می سازد ضمن کاهش تعداد پارامتر ، میزان بالایی از بیان را حفظ کند.
3. Llama در عمل: تولید متن خودکار
3.1 فرآیند تولید خودکار
لاما ، مانند سایر مدل های رمزگذار ، از یک خودجایی روش تولید متن. در هر مرحله ، مدل:
- دنباله فعلی نشانه ها را می گیرد.
- توجه خود را نسبت به همه نشانه ها محاسبه می کند.
- نشانه بعدی را با استفاده از یک لایه SoftMax بر روی واژگان پیش بینی می کند.
از نظر ریاضی ، اگر x1: t دنباله را نشان می دهد ، احتمالاً احتمال TOKEN NEXT XT+1 است:
جایی که F نشان دهنده گذرگاه رو به جلو ترانسفورماتور است. این روند تا زمانی که یک نشانه خاتمه تولید شود تکرار می شود.
3.2 سناریوی مثال
ورودی ورودی را در نظر بگیرید:
“پایتخت فرانسه است”
Llama نشانه ها را از طریق بلوک های چند ترانسفورماتور پردازش می کند. با استفاده از ماهیت خودکار خود ، نشانه بعدی را با بالاترین احتمال (به عنوان مثال “پاریس”) پیش بینی می کند ، آن را به دنباله ضمیمه می کند و تا زمان کامل بودن جمله ، به تولید نشانه های بیشتر ادامه می دهد.
4. مبانی ریاضی ساده شده است
بیایید مفاهیم کلیدی ریاضی را به عبارت ساده تر تجزیه کنیم:
4.1 خودآزمایی تجدید نظر شده
مکانیسم خودآگاهی روابط بین نشانه ها را محاسبه می کند. تصور کنید که یک جمله دارید: “گربه روی تشک نشست.” برای هر کلمه ، مدل محاسبه می کند:
- پرس و جو (آنچه این کلمه درخواست می کند)
- کلید (آنچه این کلمه ارائه می دهد)
- ارزش (محتوای این کلمه)
شباهت بین کلمات به عنوان محصول نقطه ای از نمایش داده ها و کلیدها محاسبه می شود. تقسیم توسط SQRT {D_K} (یک عامل مقیاس گذاری) مانع از بزرگ شدن اعداد می شود. عملکرد SoftMax سپس این نمرات را به احتمالات (وزنه ها) تبدیل می کند که جمع می شود. در آخر ، این وزن ها بردارهای ارزش را برای تولید یک مقدار وزنی ضرب می کنند ، که به خروجی آن نشانه تبدیل می شود.
4.2 تعبیه موقعیتی دوار (طناب)
طناب از نظر ریاضی بردار هر کلمه را بر اساس موقعیت خود “می چرخاند”. به هر بردار کلمه به عنوان یک فلش در فضا فکر کنید. با چرخاندن این فلش ها ، مدل می تواند کلمات را از هم جدا کند. هنگامی که دو فلش مقایسه می شوند ، تفاوت چرخش فاصله نسبی بین کلمات را به شما می گوید. این امر برای درک ساختار جمله بدون نیاز به پارامترهای اضافی برای هر موقعیت ضروری است.
4.3 قبل از عادی سازی
در قبل از طبیعی سازی ، هر ورودی به یک لایه زیر قبل از پردازش عادی می شود. این بدان معنی است که داده ها به گونه ای مقیاس بندی شده اند که میانگین آن صفر باشد و واریانس آن یکی باشد. از نظر ریاضی ، با توجه به ورودی xxx ، مقدار عادی X^:
x^= x – μ / σ+ϵ
کجا:
- μis میانگین x ،
- σ انحراف استاندارد است ،
- ϵ یک ثابت کوچک برای جلوگیری از تقسیم صفر است.
با عادی سازی ورودی ، شبکه تضمین می کند که مقیاس داده ها از لایه به لایه دیگر متفاوت نیست ، که به آموزش سریعتر و پایدار کمک می کند.
5. ملاحظات تولید و بهینه سازی
هنگام استقرار یا تنظیم دقیق مدل های Llama در تولید ، موارد زیر را در نظر بگیرید:
5.1 پیش پردازش داده
– عادی سازی و تمیز کردن: اطمینان حاصل کنید که متون ورودی تمیز می شوند (به عنوان مثال ، از بین بردن برچسب های HTML ، فضای سفید اضافی).
– Tokenization: برای اطمینان از قوام از توکن ساز مرتبط با مدل خود استفاده کنید.
5.2 زیرساخت های آموزشی
– GPU/TPU استفاده: در صورت استفاده از مجموعه داده های بزرگ ، آموزش توزیع شده را توزیع می کند.
– بازرسی: برای جلوگیری از از دست دادن پیشرفت ، به طور مرتب پاسگاه ها را ذخیره کنید.
5.3 تنظیم Hyperparameter
– برنامه های نرخ یادگیری: با برنامه های گرم و پوسیدگی آزمایش کنید.
– منظم سازی: تکنیک هایی مانند ترک تحصیل یا پوسیدگی وزن برای جلوگیری از افزایش بیش از حد بسیار مهم است.
– اندازه دسته ای و تجمع شیب: بر اساس قابلیت های سخت افزاری تنظیم کنید.
5.4 نظارت و ارزیابی
– ورود به سیستم: از ابزارهایی مانند Tensorboard برای نظارت بر از دست دادن و سایر معیارها استفاده کنید.
– معیارهای اعتبار سنجی: به طور مرتب با استفاده از یک مجموعه اعتبار سنجی برای بررسی بیش از حد ارزیابی کنید.
– تجزیه و تحلیل خطا: خطاهای مدل را برای هدایت پیشرفت های بیشتر تجزیه و تحلیل کنید.
5.5 استقرار
– فشرده سازی مدل: تکنیک هایی مانند کمیت یا تقطیر می توانند اندازه مدل را برای استقرار کاهش دهند.
– API Endpoints: از چارچوب هایی مانند FastAPI یا Flask برای ارائه مدل خود در تولید استفاده کنید.
– مقیاس گذاری: راه حل های ابری (به عنوان مثال ، AWS ، GCP) را برای مقیاس خدمات استنتاج در نظر بگیرید.
منابع
- Vaswani و همکاران ، “توجه همه شما نیاز دارید” (2017):
2.
3. Llama: مدل های زبان بنیادی باز و کارآمد
4. گله مدل Llama 3
5. Llama 2: بنیاد باز و مدل های چت تنظیم شده خوب
منتشر شده از طریق به سمت هوش مصنوعی