این یک پست مهمان است که با همکاری مایکل فیل در Gradient نوشته شده است.
ارزیابی عملکرد مدلهای زبان بزرگ (LLM) یک مرحله مهم از فرآیند پیشآموزشی و تنظیم دقیق قبل از استقرار است. هرچه سریعتر و مکررتر بتوانید عملکرد را تأیید کنید، شانس بیشتری برای بهبود عملکرد مدل خواهید داشت.
At گرادیان، ما روی توسعه LLM سفارشی کار می کنیم و به تازگی راه اندازی شده است آزمایشگاه توسعه هوش مصنوعی، به سازمان های سازمانی یک سرویس توسعه شخصی و سرتاسر برای ساختن LLM های خصوصی و سفارشی و کمک خلبان های هوش مصنوعی (AI) ارائه می دهد. به عنوان بخشی از این فرآیند، ما به طور منظم عملکرد مدلهای خود (تنظیم، آموزشدیده، و باز) را در برابر معیارهای باز و اختصاصی ارزیابی میکنیم. در حالی که با تیم AWS کار می کنیم تا مدل های خود را آموزش دهیم AWS Trainium، متوجه شدیم که وقتی نوبت به ابزار اصلی برای ارزیابی LLM می شود، هم به VRAM و هم در دسترس بودن نمونه های GPU محدود شده ایم. lm-evaluation-harness. این چارچوب متنباز به شما امکان میدهد مدلهای زبان مولد مختلف را در وظایف ارزیابی و معیارهای مختلف امتیاز دهید. توسط تابلوهای امتیازاتی مانند در آغوش کشیدن صورت برای معیارهای عمومی
برای غلبه بر این چالش ها، تصمیم گرفتیم راه حل خود را بسازیم و منبع باز کنیم - یکپارچه سازی نورون AWS، کتابخانه پشت سر استنتاج AWS و Trainium، به lm-evaluation-harness
. این ادغام امکان محک زدن را فراهم کرد v-alpha-tross، نسخه اولیه مدل آلباتروس ما، در برابر سایر مدل های عمومی در طول فرآیند آموزش و پس از آن.
برای زمینه، این ادغام به عنوان یک کلاس مدل جدید در lm-evaluation-harness اجرا میشود، که استنتاج نشانهها و تخمین احتمال ورود به سیستم دنبالهها را بدون تأثیر بر کار ارزیابی واقعی انتزاع میکند. تصمیم برای انتقال خط لوله آزمایش داخلی ما به ابر محاسبه الاستیک آمازون (Amazon EC2) نمونه های inf2 (طراحی شده توسط AWS Inferentia2) ما را قادر می سازد تا به 384 گیگابایت حافظه شتاب دهنده مشترک دسترسی داشته باشیم که بدون زحمت با تمام معماری های عمومی فعلی ما سازگار است. با استفاده از نمونههای AWS Spot، ما توانستیم از ظرفیت استفادهنشده EC2 در AWS Cloud استفاده کنیم—که باعث صرفهجویی در هزینهها تا 90 درصد از قیمتهای درخواستی میشود. این امر زمان آزمایش را به حداقل می رساند و به ما امکان می داد مکرراً آزمایش کنیم زیرا می توانستیم چندین نمونه را که به راحتی در دسترس بودند آزمایش کنیم و پس از پایان کار نمونه ها را منتشر کنیم.
در این پست، تجزیه و تحلیل دقیقی از تستهای خود، چالشهایی که با آنها مواجه شدیم، و نمونهای از استفاده از مهار تست در AWS Inferentia را ارائه میدهیم.
بنچمارک در AWS Inferentia2
هدف این پروژه ایجاد امتیازات یکسانی بود که در نشان داده شده است تابلوی امتیازات LLM را باز کنید (برای بسیاری از مدلهای CausalLM موجود در Hugging Face)، در حالی که انعطافپذیری برای اجرای آن در برابر معیارهای خصوصی حفظ میشود. برای مشاهده نمونه های بیشتر از مدل های موجود به ادامه مطلب مراجعه کنید AWS Inferentia و Trainium در بغل کردن صورت.
کد مورد نیاز برای پورت کردن روی یک مدل از ترانسفورماتور Hugging Face به Hugging Face تغییر می کند نورون بهینه کتابخانه پایتون بسیار کم بود. زیرا lm-evaluation-harness استفاده می کند AutoModelForCausalLM
، کاهش استفاده از جایگزینی وجود دارد NeuronModelForCausalLM
. بدون یک مدل از پیش کامپایل شده، مدل به طور خودکار در لحظه کامپایل می شود، که می تواند 15 تا 60 دقیقه به یک کار اضافه کند. این به ما انعطاف پذیری برای استقرار آزمایش برای هر نمونه AWS Inferentia2 و پشتیبانی از مدل CausalLM را داد.
نتایج
به دلیل نحوه عملکرد معیارها و مدل ها، ما انتظار نداشتیم که نمرات دقیقاً در اجراهای مختلف مطابقت داشته باشند. با این حال، آنها باید بر اساس انحراف معیار بسیار نزدیک باشند، و همانطور که در جدول زیر نشان داده شده است، ما به طور مداوم این را دیدهایم. بنچمارک های اولیه ای که ما در AWS Inferentia2 اجرا کردیم همگی توسط تابلوی امتیازات Hugging Face تایید شدند.
In lm-evaluation-harness
، دو جریان اصلی وجود دارد که توسط تست های مختلف استفاده می شود: generate_until
و loglikelihood
. تست gsm8k در درجه اول استفاده می کند generate_until
برای ایجاد پاسخ درست مانند هنگام استنتاج. Loglikelihood
عمدتاً در محک زدن و آزمایش استفاده می شود و احتمال تولید خروجی های مختلف را بررسی می کند. هر دو در نورون کار می کنند، اما loglikelihood
روش در SDK 2.16 از مراحل اضافی برای تعیین احتمالات استفاده می کند و می تواند زمان بیشتری را صرف کند.
نتایج Lm-Evaluation-Harness | ||
پیکربندی سخت افزار | سیستم اصلی | AWS Inferentia inf2.48xlarge |
زمان با batch_size=1 برای ارزیابی mistralai/Mistral-7B-Instruct-v0.1 در gsm8k | دقیقه 103 | دقیقه 32 |
امتیاز در gsm8k (دریافت پاسخ - exact_match با std) | 0.3813 - 0.3874 (± 0.0134) | 0.3806 - 0.3844 (± 0.0134) |
با Neuron و lm-evaluation-harness شروع کنید
کد موجود در این بخش می تواند به شما در استفاده کمک کند lm-evaluation-harness
و آن را با مدل های پشتیبانی شده در Hugging Face اجرا کنید. برای دیدن چند مدل موجود به ادامه مطلب مراجعه کنید AWS Inferentia و Trainium در بغل کردن صورت.
اگر با مدلهای در حال اجرا در AWS Inferentia2 آشنا هستید، ممکن است متوجه شوید که وجود ندارد num_cores
کد ما تعداد هستههای موجود را تشخیص میدهد و بهطور خودکار آن عدد را بهعنوان پارامتر ارسال میکند. این به شما امکان می دهد بدون توجه به اندازه نمونه ای که استفاده می کنید، آزمایش را با استفاده از همان کد اجرا کنید. همچنین ممکن است متوجه شوید که ما به مدل اصلی ارجاع می دهیم، نه نسخه کامپایل شده Neuron. هارنس به صورت خودکار مدل را در صورت نیاز برای شما کامپایل می کند.
مراحل زیر نحوه استقرار Gradient را به شما نشان می دهد gradientai/v-alpha-tross
مدلی که ما تست کردیم اگر می خواهید با یک مثال کوچکتر در نمونه کوچکتر تست کنید، می توانید از آن استفاده کنید mistralai/Mistral-7B-v0.1
مدل.
- سهمیه پیشفرض برای اجرای نمونههای On-Demand Inf 0 است، بنابراین باید از طریق Service Quotas درخواست افزایش دهید. درخواست دیگری برای همه درخواستهای Inf Spot Instance اضافه کنید تا بتوانید با Spot Instanceها آزمایش کنید. برای این مثال به سهمیه 192 vCPU با استفاده از نمونه inf2.48xlarge یا سهمیه 4 vCPU برای inf2.xlarge اولیه (اگر مدل Mistral را به کار می برید) نیاز دارید. سهمیه ها مختص منطقه AWS هستند، بنابراین مطمئن شوید که درخواست خود را انجام داده اید
us-east-1
orus-west-2
. - بر اساس مدل خود در مورد نمونه خود تصمیم بگیرید. زیرا
v-alpha-tross
یک معماری 70B است، ما تصمیم گرفتیم از یک نمونه inf2.48xlarge استفاده کنیم. یک inf2.xlarge (برای مدل 7B Mistral) مستقر کنید. اگر مدل دیگری را آزمایش میکنید، ممکن است لازم باشد نمونه خود را بسته به اندازه مدل خود تنظیم کنید. - استقرار نمونه با استفاده از Hugging Face DLAMI نسخه 20240123، تا تمامی درایورهای لازم نصب شوند. (قیمت نشان داده شده شامل هزینه نمونه است و هزینه نرم افزار اضافی ندارد.)
- اندازه درایو را روی 600 گیگابایت (100 گیگابایت برای Mistral 7B) تنظیم کنید.
- کلون و نصب کنید
lm-evaluation-harness
در مورد نمونه ما یک ساخت را مشخص می کنیم تا بدانیم هر گونه واریانسی به دلیل تغییرات مدل است، نه تغییرات تست یا کد.
- دویدن
lm_eval
با نوع مدل hf-neuron و مطمئن شوید که پیوندی به مسیر بازگشت به مدل در Hugging Face دارید:
اگر مثال قبلی را با Mistral اجرا کنید، باید خروجی زیر را دریافت کنید (در inf2.xlarge کوچکتر، ممکن است 250 دقیقه اجرا شود):
پاک کردن
وقتی کارتان تمام شد، حتماً موارد EC2 را از طریق کنسول آمازون EC2 متوقف کنید.
نتیجه
تیمهای Gradient و Neuron از دیدن پذیرش گستردهتر ارزیابی LLM با این نسخه هیجانزده هستند. خودتان آن را امتحان کنید و محبوب ترین چارچوب ارزیابی را در نمونه های AWS Inferentia2 اجرا کنید. اکنون می توانید هنگام استفاده از در دسترس بودن AWS Inferentia2 بر حسب تقاضا بهره مند شوید توسعه سفارشی LLM از Gradient. با اینها میزبانی مدل ها در AWS Inferentia را شروع کنید آموزش.
درباره نویسنده
مایکل فیل مهندس هوش مصنوعی در Gradient است و قبلاً به عنوان مهندس ML در Rodhe & Schwarz و محقق در مؤسسه Max-Plank برای سیستمهای هوشمند و Bosch Rexroth کار کرده است. مایکل یکی از مشارکت کنندگان پیشرو در کتابخانه های استنباط منبع باز مختلف برای LLM ها و پروژه های منبع باز مانند StarCoder است. مایکل دارای مدرک لیسانس مکاترونیک و فناوری اطلاعات از KIT و مدرک کارشناسی ارشد رباتیک از دانشگاه فنی مونیخ است.
جیم برتافت یک معمار ارشد راهحلهای راهاندازی در AWS است و مستقیماً با استارتآپهایی مانند Gradient کار میکند. جیم یک CISSP، بخشی از انجمن میدان فنی AWS AI/ML، یک سفیر نورون است و با جامعه منبع باز کار می کند تا امکان استفاده از Inferentia و Trainium را فراهم کند. جیم دارای مدرک لیسانس ریاضیات از دانشگاه کارنگی ملون و مدرک کارشناسی ارشد در اقتصاد از دانشگاه ویرجینیا است.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/machine-learning/gradient-makes-llm-benchmarking-cost-effective-and-effortless-with-aws-inferentia/
- :است
- :نه
- $UP
- 1
- 10
- 100
- 16
- 250
- 32
- 600
- 7
- a
- قادر
- شتاب دهنده
- دسترسی
- در میان
- واقعی
- اضافه کردن
- اضافی
- تنظیم کردن
- اتخاذ
- مزیت - فایده - سود - منفعت
- موثر بر
- پس از
- در برابر
- AI
- AI / ML
- معرفی
- مجاز
- همچنین
- آمازون
- آمازون EC2
- آمازون خدمات وب
- سفیر
- an
- و
- دیگر
- هر
- معماری
- معماری
- هستند
- مصنوعی
- هوش مصنوعی
- هوش مصنوعی (AI)
- AS
- At
- بطور خودکار
- دسترس پذیری
- در دسترس
- AWS
- استنتاج AWS
- به عقب
- مستقر
- اساسی
- BE
- زیرا
- قبل از
- پشت سر
- بودن
- محک
- معیار
- معیار
- سود
- هر دو
- شاخه
- تفکیک
- گسترده تر
- ساختن
- اما
- by
- آمد
- CAN
- ظرفیت
- کارنگی ملون
- CD
- چالش ها
- شانس
- تبادل
- بار
- وارسی
- کلاس
- نزدیک
- رمز
- انجمن
- وارد
- محاسبه
- تایید شده
- همواره
- کنسول
- زمینه
- شرکت کننده
- هزینه
- صرفه جویی در هزینه
- مقرون به صرفه
- میتوانست
- جاری
- سفارشی
- مصمم
- تصمیم
- به طور پیش فرض
- درجه
- بستگی دارد
- گسترش
- استقرار
- گسترش
- دقیق
- مشخص کردن
- پروژه
- انحراف
- مختلف
- مستقیما
- با تخفیف
- انجام شده
- راندن
- درایور
- قطره
- دو
- در طی
- e
- در اوایل
- اقتصاد (Economics)
- بدون دردسر
- زحمت
- قادر ساختن
- فعال
- پشت سر هم
- مهندس
- سرمایه گذاری
- ارزیابی
- ارزیابی
- دقیق
- کاملا
- بررسی می کند
- مثال
- مثال ها
- برانگیخته
- موجود
- انتظار
- اضافی
- چهره
- آشنا
- سریعتر
- رشته
- فیلتر
- مناسب
- انعطاف پذیری
- پیروی
- برای
- چارچوب
- مکرر
- غالبا
- از جانب
- به
- تولید می کنند
- مولد
- دریافت کنید
- رفتن
- دادن
- هدف
- GPU
- مهمان
- پست مهمان
- دهنه
- آیا
- کمک
- بالاتر
- دارای
- میزبانی وب
- چگونه
- چگونه
- اما
- HTML
- HTTP
- HTTPS
- یکسان
- if
- مهم
- بهبود
- in
- شامل
- افزایش
- اول
- نصب
- نصب و راه اندازی
- نصب شده
- نمونه
- موسسه
- ادغام
- اطلاعات
- هوشمند
- داخلی
- به
- IT
- جیم
- کار
- JPG
- تنها
- دانستن
- زبان
- بزرگ
- راه اندازی
- رهبران
- مدیران
- برجسته
- اجازه می دهد تا
- کتابخانه ها
- کتابخانه
- پسندیدن
- محدود
- ارتباط دادن
- LLM
- کم
- ساخته
- اصلی
- عمدتا
- مسیر اصلی
- ساخت
- باعث می شود
- بسیاری
- کارشناسی ارشد
- مسابقه
- ریاضیات
- ممکن است..
- ملون
- حافظه
- روش
- متری
- مایکل
- قدرت
- دقیقه
- ML
- مدل
- مدل
- لحظه
- بیش
- اکثر
- محبوبترین
- حرکت
- چندگانه
- لازم
- نیاز
- ضروری
- جدید
- نه
- هیچ
- اطلاع..
- اکنون
- عدد
- of
- ارائه
- on
- بر روی تقاضا
- به سوی
- باز کن
- منبع باز
- or
- سازمان های
- اصلی
- دیگر
- ما
- خارج
- تولید
- خروجی
- روی
- غلبه بر
- پارامتر
- بخش
- گذشت
- عبور می کند
- مسیر
- کارایی
- شخصی
- انتخاب کنید
- خط لوله
- افلاطون
- هوش داده افلاطون
- PlatoData
- محبوب
- ممکن
- پست
- صفحه اصلی
- ماقبل
- قبلا
- قیمت
- قیمت
- در درجه اول
- خصوصی
- احتمالات
- روند
- ساخته
- پروژه
- پروژه ها
- اختصاصی
- عمومی
- پــایتــون
- کاملا
- به راحتی
- متوجه
- گرفتن
- تازه
- ارجاع
- بدون در نظر گرفتن
- منطقه
- به طور منظم
- آزاد
- جایگزینی
- مخزن
- درخواست
- درخواست
- ضروری
- پژوهشگر
- پاسخ
- منحصر
- نتایج
- حفظ
- رباتیک
- دویدن
- در حال اجرا
- اجرا می شود
- همان
- پس انداز
- سیاه
- نمره
- نمرات
- sdk
- بخش
- دیدن
- مشاهده گردید
- ارشد
- سرویس
- خدمات
- محیط
- به اشتراک گذاشته شده
- باید
- نشان
- نشان داده شده
- اندازه
- کوچکتر
- So
- نرم افزار
- مزایا
- برخی از
- منبع
- خاص
- Spot
- استاندارد
- آغاز شده
- شروع
- نوپا
- گام
- مراحل
- توقف
- جریان
- چنین
- پشتیبانی
- مطمئن
- سیستم های
- جدول
- گرفتن
- کار
- وظایف
- تیم
- تیم ها
- فنی
- آزمون
- آزمایش
- تست
- تست
- که
- La
- آنجا.
- اینها
- آنها
- این
- زمان
- به
- نشانه
- در زمان
- ابزار
- مشعل
- قطار
- آموزش دیده
- آموزش
- ترانسفورماتور
- امتحان
- کوک شده
- دو
- نوع
- دانشگاه
- استفاده نشده
- us
- استفاده کنید
- استفاده
- استفاده
- با استفاده از
- تصدیق
- مختلف
- نسخه
- بسیار
- از طريق
- ویرجینیا
- بازدید
- می خواهم
- بود
- مسیر..
- we
- وب
- خدمات وب
- بود
- چی
- چه زمانی
- که
- در حین
- اراده
- با
- در داخل
- بدون
- مهاجرت کاری
- مشغول به کار
- کارگر
- با این نسخهها کار
- شما
- شما
- خودت
- زفیرنت