breadcrumbs_delimiter هوش مصنوعی breadcrumbs_delimiter کد آموزش LLM برای مدل های MosaicML
هوش مصنوعی

کد آموزش LLM برای مدل های MosaicML

اردیبهشت 19, 1402 0010

مخزن کد شامل مجموعه ای جامع از ابزارها برای آموزش LLM، تنظیم دقیق، ارزیابی و استقرار با استفاده از Composer و پلت فرم MosaicML است. پایگاه کد به گونه‌ای طراحی شده است که کاربر پسند، کارآمد و سازگار باشد و امکان آزمایش آسان با تکنیک‌های پیشرفته را فراهم کند.

در این مقاله قصد داریم کد آموزش LLM برای مدل های MosaicML را یاد بگیریم. مقاله را بخوانید و کدگذاری آموزش LLM را نصب کنید.

MPT

MosaicML سازمانی است که بر تولید ابزارهای یادگیری ماشینی سریع و مقیاس‌پذیر متمرکز است و مدل زبانی «Mosaic Propagation Transformer» (MPT) را ایجاد کرده است. مدل‌های MPT مشابه مدل‌های GPT OpenAI هستند، اما با برخی تفاوت‌های عمده معماری و آموزشی.

MPT-7B، مدلی در سری بنیاد MosaicML، یک مدل زبان به سبک GPT است که بر روی 1 تریلیون توکن از یک مجموعه داده تنظیم شده توسط MosaicML آموزش داده شده است. این منبع باز و از نظر تجاری قابل دوام است، با معیارهای ارزیابی قابل مقایسه با LLaMa 7B.

طراحی MPT از جدیدترین رویکردهای مدل‌سازی LLM استفاده می‌کند، مانند Flash Attention برای افزایش کارایی، Alibi برای برون‌یابی طول زمینه، و بهبودهای پایداری برای کاهش افزایش تلفات.

انواع مختلفی از مدل MPT وجود دارد، از جمله یک مدل تنظیم شده با طول زمینه 64K، که برای استفاده در دسترس هستند.

65536

مدل طول متن استفاده تجاری
MPT-7B 2048 بله
MPT-7B-Instruct 2048 بله
MPT-7B-Chat 2048 خیر
MPT-7B-StoryWriter بله
مدل MPT

MPT-7B یک مدل زبان همه منظوره است که بر روی یک مجموعه متن بزرگ آموزش داده شده است. در نظر گرفته شده است که محتوای با کیفیت بالا در چندین سناریو از جمله تکمیل متن، خلاصه‌سازی و ترجمه تولید کند.

MPT-7B-Instruct یک نسخه MPT-7B است که به طور خاص برای تولید مطالب آموزشی بهینه شده است. می‌تواند دستورالعمل‌های گام به گام را برای انواع کارها، از جمله دستور العمل‌های غذا، پروژه‌های DIY، و راهنماهای فنی ایجاد کند.

MPT-7B-Chat شکل مکالمه ای از مدل MPT-7B است که پاسخ های واقع بینانه و جذابی را به ورودی کاربر ارائه می دهد. این دارای طیف گسترده ای از برنامه ها، از جمله ربات های گفتگو، دستیاران مجازی، و کمک به مشتری است.

MPT-7B-StoryWriter یک نسخه مدل MPT-7B است که برای تولید نوشته های خلاقانه مانند داستان های کوتاه بهینه شده است. شعرها و متن ها می توان از آن به عنوان ابزاری برای الهام گرفتن و تولید ایده توسط نویسندگان و دیگر خلاقان استفاده کرد.

پیش نیازها

این چیزی است که برای شروع کار با پشته LLM ما نیاز دارید:

  • از یک تصویر Docker با PyTorch 1.13+ استفاده کنید، به عنوان مثال. تصویر پایه PyTorch در MosaicML
    • برچسب توصیه شده: mosaicml/pytorch:1.13.1_cu117-python3.10-ubuntu20.04
    • این تصویر با وابستگی های زیر از قبل پیکربندی شده است:
      • نسخه PyTorch: 1.13.1
      • نسخه CUDA: 11.7
      • نسخه پایتون: 3.10
      • نسخه اوبونتو: 20.04
      • هسته‌های FlashAttention از HazyResearch
  • از سیستمی با پردازنده‌های گرافیکی NVIDIA استفاده کنید

نصب

1. ترمینال یا خط فرمان خود را باز کنید و به دایرکتوری که می‌خواهید مخزن را شبیه‌سازی کنید، بروید.

2. دستور زیر را برای کلون کردن مخزن اجرا کنید:

کلون git https://github.com/mosaicml/llm-foundry.git

3. دایرکتوری کاری فعلی خود را به مخزن کلون شده تغییر دهید:

cd llm-foundry

4. (اختیاری) ایجاد و استفاده از یک محیط مجازی برای مدیریت وابستگی ها بسیار توصیه می شود. برای ایجاد و فعال کردن یک محیط مجازی جدید دستور زیر را اجرا کنید:

python -m venv llmfoundry-venv
منبع llmfoundry-venv/bin/activate

5. بسته های مورد نیاز را با اجرای:

نصب کنید

pip install -e ".[gpu]"

اگر پردازنده گرافیکی NVIDIA ندارید، می‌توانید در عوض این موارد را اجرا کنید:

pip install -e .

شروع اجرای LLM

در اینجا نحوه تهیه بخشی از مجموعه داده C4، آموزش یک مدل MPT-125M برای 10 دسته، تبدیل مدل به فرمت HuggingFace، ارزیابی مدل در چالش Winograd و ایجاد پاسخ به درخواست ها آمده است.

اگر یک نشانه تأیید هویت HuggingFace دارید که قابلیت نوشتن را دارد، می‌توانید مدل خود را در هاب آپلود کنید! به سادگی توکن خود را به صورت زیر صادر کنید: و نظر را از خط حاوی –hf_repo_for_upload… حذف کنید.

صادر کردن HUGGING_FACE_HUB_TOKEN=your-auth-token

یادآوری این نکته مهم است که کد زیر شروع سریعی برای نمایش ابزارها است. برای به دست آوردن نتایج با کیفیت بالا، LLM باید برای بیش از ده دسته آموزش داده شود.

دایرکتوری را به اسکریپت تغییر دهید:

اسکریپت های سی دی

با اجرای دستور زیر مجموعه داده C4 را به قالب StreamingDataset تبدیل کنید:

python data_prep/convert_dataset_hf.py 
  --dataset c4 --data_subset en 
  --out_root my-copy-c4 -- splits train_small val_small 
  --concat_tokens 2048 --tokenizer EleutherAI/gpt-neox-20b --eos_text ''

با اجرای دستور زیر یک مدل MPT-125m را برای 10 دسته آموزش دهید:

composer train/train.py 
  train/yamls/mpt/125m.yaml 
  data_local=my-copy-c4 
  train_loader.dataset.split=train_small 
  eval_loader.dataset.split=val_small 
  max_duration=10ba 
  eval_interval=0 
  save_folder=mpt-125m

با اجرای دستور زیر مدل را به فرمت HuggingFace تبدیل کنید:

استنتاج پایتون/convert_composer_to_hf.py 
  --composer_path mpt-125m/ep0-ba10-rank0.pt 
  --hf_output_path mpt-125m-hf 
  --output_precision bf16 
  # --hf_repo_for_upload user-org/repo-name

مدل را در Winograd با اجرای دستور زیر ارزیابی کنید:

python eval/eval.py 
  eval/yamls/hf_eval.yaml 
  icl_tasks=eval/yamls/winograd.yaml 
  model_name_or_path=mpt-125m-hf

با اجرای دستور زیر به درخواست‌ها پاسخ ایجاد کنید:

python inference/hf_generate.py 
  --name_or_path mpt-125m-hf 
  --max_new_tokens 256 
  --اعراض 
    "پاسخ به زندگی، جهان و شادی است" 
    "در اینجا یک دستور العمل سریع برای پخت کوکی های شکلاتی چیپسی آمده است: شروع کنید"

همچنین نحوه نصب MLC LLM.

این مقاله به شما کمک می کند تا کد آموزش LLM را برای مدل های پایه MosaicML یاد بگیرید. ما اطمینان داریم که برای شما مفید بوده است. لطفاً نظرات و انتقادات خود را در بخش نظرات زیر به اشتراک بگذارید.

به این نوشته امتیاز بدهید!

افراد نیوز

افراد نیوز

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  • ×