تخطَّ إلى المحتوى

verl - Cheatsheet RL بمحرك Volcano لنماذج اللغات الكبيرة

verl - Cheatsheet RL بمحرك Volcano لنماذج اللغات الكبيرة

verl (Volcano Engine Reinforcement Learning) هو إطار عمل مفتوح المصدر وعالي الأداء للتعلم التعزيزي لما بعد التدريب على نماذج اللغات الكبيرة. وهو التنفيذ العام لورقة HybridFlow، مبني حول نموذج برمجة هجين يتيح لك التعبير عن تدفقات بيانات RL معقدة — PPO و GRPO وغيرها — في بضعة أسطر مع فصل الحساب عن تبعيات البيانات. يتكامل مع FSDP و Megatron-LM و vLLM و SGLang، وهو أحد أكثر أطر عمل RL استخدامًا للنماذج الكبيرة.

التدريب بعد التعلم التعزيزي يتطلب موارد حسابية كثيفة وحساس للتكوين. تحقق من نموذج المكافأة وقم بتشغيل صغير قبل التوسع إلى عقد متعددة.

التثبيت

الطريقةالأمر
pippip install verl
من المصدرgit clone https://github.com/volcengine/verl && cd verl && pip install -e .
Dockerاستخدم الصور الرسمية المذكورة في الوثائق (CUDA و vLLM مثبتان مسبقًا)
المتطلباتوحدات معالجة رسومات NVIDIA والعتاد ذي الصلة، CUDA، PyTorch؛ vLLM أو SGLang للتجميع

المفاهيم الأساسية

المصطلحالمعنى
HybridFlowنموذج التحكم: متحكم واحد ينسق العمال الموزعين
Rolloutمرحلة التوليد التي تنتج عينات (تخدمها vLLM/SGLang)
Actor / Criticالسياسة التي يتم تدريبها وعارض القيمة (بالنسبة إلى PPO)
Rewardإشارة عددية؛ من نموذج مكافأة أو وظيفة مخصصة
Placementكيفية تعيين النماذج على مجموعات وحدات معالجة الرسومات (المترابطة أو المنقسمة)
Recipeإعدادات جاهزة مسبقًا لخوارزمية

الخوارزميات المدعومة

الخوارزميةالملاحظات
PPOاللاعب/الناقد الكلاسيكي RLHF
GRPOالنسبة بين المجموعات، لا يتطلب نموذج ناقد
ReMax / RLOOأساليب خفيفة الوزن
DAPO / Dr.GRPOمتغيرات GRPO
DPO-styleوصفات تحسين الفضل

تشغيل وظيفة تدريب

يتم قيادة verl من خلال تجاوزات إعدادات نمط Hydra على سطر الأوامر.

# مثال GRPO (مفهوم): أشر إلى البيانات والنموذج وعنق الزجاجة
python3 -m verl.trainer.main_ppo \
  algorithm.adv_estimator=grpo \
  data.train_files=$DATA/train.parquet \
  data.val_files=$DATA/val.parquet \
  actor_rollout_ref.model.path=Qwen/Qwen2.5-7B-Instruct \
  actor_rollout_ref.rollout.name=vllm \
  trainer.n_gpus_per_node=8 \
  trainer.nnodes=1
مجموعة الإعداداتالتحكم
algorithm.*الخوارزمية والمقدر المميز (مثل adv_estimator=grpo)
data.*ملفات التدريب والتحقق وأحجام الدفعات والأطوال القصوى
actor_rollout_ref.model.*مسار النموذج الأساسي ونوع البيانات
actor_rollout_ref.rollout.*عنق الزجاجة (vllm / sglang) والعينات
critic.*إعدادات نموذج الناقد (PPO)
trainer.*وحدات معالجة الرسومات في كل عقدة وعدد العقد والتسجيل والنقاط

الخوادم الخلفية والتوسع

المكونالخيارات
محرك التدريبFSDP و FSDP2 و Megatron-LM
محرك التجميعvLLM و SGLang
التوزيعوضع Ray عبر وحدات معالجة الرسومات/العقد
عارض الأجهزةوحدات معالجة الرسومات المترابطة أو المنقسمة عبر مجموعات

المكافأة والبيانات

المهمةكيفية
المكافأة المخصصةقدم وحدة دالة مكافأة من خلال الإعداد
نموذج المكافأةأشر reward_model.* إلى نموذج التصنيف
تنسيق المجموعة البيانيةParquet مع الطريقة (والإجابة للمكافآت القابلة للتحقق)
المكافآت القابلة للتحققالدعم المدمج للمكافآت ذات المطابقة الدقيقة من نمط الرياضيات/الأكواد

المراقبة

الأداةالتكامل
Weights & Biasestrainer.logger=['console','wandb']
TensorBoardخادم وسيط مدعوم
Checkpointstrainer.save_freq، استئنف من trainer.resume_mode

verl مقابل أطر عمل RL الأخرى

الجانبverlOpenRLHFART
النموذج الأساسيمتحكم HybridFlowانقسام عامل Rayعميل/خادم
محركات التدريبFSDP + MegatronDeepSpeed/FSDPUnsloth
التجميعvLLM / SGLangvLLMvLLM
الأفضل لـالإنتاجية والمرونةRLHF الإنتاجي على نطاقالوكلاء في رمزك الخاص

الموارد