مصفوفة تدريب AY-Robots مع خمس سياسات كصفوف وأربعة أذرع روبوت كأعمدة، كل خلية عبارة عن رابط لدليل ضبط دقيق محدد
Pi0.5مطابقة التدفقتدريب VLALeRobotالضبط الدقيق

كيفية تدريب Pi0.5 على بيانات الروبوت الخاصة بك

AY-Robots ResearchAugust 23, 202616 دقيقة قراءة

اضبط بدقة Pi0.5، نموذج VLA لمطابقة التدفق من Physical Intelligence، على بيانات الروبوت الخاصة بك. أوامر حقيقية لـ openpi و lerobot pi05، مخاطر تنسيق مجموعة البيانات، وحدود VRAM وزمن الوصول.

Pi0.5 هو النموذج الذي تلجأ إليه عندما يتعين على سياسة ما العمل في غرفة لم ترها من قبل. وهو أيضًا الأكثر صعوبة من بين الخمسة السياسات القابلة للتدريب هنا لـ الضبط الدقيق يدويًا: المستودع الأصلي يعتمد على JAX أولاً، ونقل منفذ LeRobot النشر خارج lerobot-record في الإصدار 0.6.0 وجعل التثبيت الأساسي صغيرًا جدًا للتدريب به، ولا يتسع الضبط الدقيق الكامل على 4090. أدناه: ما هي تكلفة مطابقة التدفق عند الاستدلال، ومساري الأوامر، ورقم 485 ms الذي يحدد ما إذا كانت النتيجة قابلة للاستخدام.

ما تحتاج لمعرفته

  • VLA لمطابقة التدفق: نموذج PaliGemma VLM بحجم 3 مليار معلمة بالإضافة إلى خبير إجراءات بحجم 300 مليون معلمة يفك تشفير أجزاء الإجراءات المستمرة. مساران للضبط الدقيق، openpi و LeRobot pi05، بفارق 0.65 نقطة في متوسط LIBERO.
  • يتطلب الضبط الدقيق الكامل أكثر من 70 GB من ذاكرة الفيديو (VRAM). يدرج openpi تقنية LoRA بحجم 22.5 GB، على مسار JAX الخاص به فقط.
  • يجب أن تكون مجموعة البيانات LeRobotDataset v3.0 مع الكوانتيلات q01 و q99 في meta/stats.json، وإلا سيحدث خطأ في الدفعة الأولى.
  • تحقق من إصدار lerobot الخاص بك أولاً: الإصدار 0.6.0 جعل الحزمة الأساسية خفيفة الوزن ونقل النشر خارج lerobot-record.
  • هنا يعمل بسرعة 485 ms لكل خطوة إجراء، ويتطلب 50 حلقة، ويكلف حوالي 4 to 12 USD لكل تشغيل.

ما هو Pi0.5 في الواقع

نشرت Physical Intelligence نموذج pi0 في أكتوبر 2024: وهو نموذج لمطابقة التدفق نموذج الرؤية واللغة والإجراءات على نموذج VLM مدرب مسبقًا: PaliGemma بـ 3 مليارات معلمة بالإضافة إلى خبير إجراءات بحجم 300 مليون معلمة تم تهيئته من الصفر، بإجمالي 3.3 مليار. تشير الورقة إلى التدريب المسبق على أكثر من 10,000 ساعة من بيانات الروبوت عبر 7 تكوينات روبوت و 68 مهمة. المزيد في مقالة pi0.

يحتفظ Pi0.5 (arXiv 2504.16054, 22 April 2025) بهذا الهيكل ويغير نظام التدريب: بيانات الويب، اكتشاف الكائنات، التعليمات اللفظية من البشر الذين يدربون الروبوت، تسميات المهام الفرعية، بيانات التجسيد المتقاطع من الروبوتات في العديد من المنازل. والنتيجة هي روبوت ينظف المطابخ في المنازل التي لم تكن ضمن مجموعة التدريب. يضيف ملف README الخاص بـ openpi تفصيلاً لا يذكره العنوان: تم تدريب pi0.5 الذي تم إصداره باستخدام عزل المعرفة (arXiv 2505.23705).

الخاصيةpi0pi0.5
متغير العمود الفقري لـ VLMgemma_2b (PaliGemma)gemma_2b (PaliGemma)
متغير خبير الإجراءاتgemma_300mgemma_300m
action_dim3232
action_horizon default5050
max_token_len48200
discrete_state_inputfalsetrue, يتم تقسيم الحالة إلى فئات في المطالبة
نقطة التحقق الأساسيةgs://openpi-assets/checkpoints/pi0_basegs://openpi-assets/checkpoints/pi05_base
ما هو متاح للعامة ليس الورقة البحثية بأكملها

يوضح ملف README الخاص بـ openpi صراحةً: يدعم المستودع رأس مطابقة التدفق فقط، لتدريب واستدلال pi0.5 على حد سواء. تصف الورقة البحثية مرحلتين ويحتوي الكود على الثانية فقط: يمثل التدريب المسبق كل إجراء كرموز منفصلة من خلال FAST tokenizer، وعند النشر يستنتج النموذج مهمة فرعية عالية المستوى قبل كل جزء من الإجراء. لا يوجد أي من هذين الأمرين في المستودع. توفر بطاقة lerobot/pi05_base نفس القائمة وتضيف RL، على الرغم من أن ورقة pi0.5 لا تصف أي مرحلة تعلم معزز على الإطلاق. يرث منفذ LeRobot هذا النطاق، وكذلك كل مدرب مستضاف عليه، بما في ذلك المدرب الموجود هنا. الترخيص مقسم أيضًا: تقول صفحة وثائق pi05 إنها Apache 2.0، وبطاقة lerobot/pi05_base موسومة بـ license: gemma.

ما يغيره مطابقة التدفق في التدريب والاستدلال

سياسة يمكنك تدريبها على SO-100 إما أن تتراجع عن الإجراءات مباشرة (ACT) أو تقوم بتحويلها إلى رموز وفك تشفيرها بشكل تلقائي (pi0-FAST). مطابقة التدفق لا تفعل أياً من ذلك: فهي تتعلم مجالاً متجهًا ينقل الضوضاء إلى جزء عمل نظيف، ثم تقوم بدمجه. تستخدم ورقة pi0 10 خطوات تكامل بحجم خطوة 0.1؛ يحمل تكوين pi05 الخاص بـ LeRobot نفس num_inference_steps: int = 10.

  • التدريب: يتراجع الفقد عن جزء عمل مشوش. لا يوجد مُرمز لضبطه، ولا يوجد تقطيع لزوايا مفاصلك.
  • الاستدلال: يكلف جزء واحد عشر تمريرات أمامية عبر خبير الإجراءات. هذا هيكلي، وليس مشكلة ضبط.
  • الإخراج: إجراءات مستمرة ذات أبعاد 32، مبطنة داخليًا، يتم أخذ الفقد على الأبعاد التي يمتلكها روبوتك. يستخدم ذراع 6-درجات حرية بالإضافة إلى القابض 7.
python
# openpi/src/openpi/models/pi0_config.py - the defaults every pi05 config inherits
@dataclasses.dataclass(frozen=True)
class Pi0Config(_model.BaseModelConfig):
    dtype: str = "bfloat16"
    paligemma_variant: _gemma.Variant = "gemma_2b"
    action_expert_variant: _gemma.Variant = "gemma_300m"

    action_dim: int = 32
    action_horizon: int = 50
    max_token_len: int = None      # 200 if pi05 else 48

    pi05: bool = False             # flips discrete_state_input to True
قُرئ من src/openpi/models/pi0_config.py على الفرع الرئيسي لـ openpi، 23 أغسطس 2026.

العمود الفقري لـ PaliGemma، والبوابة أمامه

PaliGemma (arXiv 2407.07726) هو مُشفّر رؤية SigLIP-So400m على نموذج لغة Gemma-2B، بحوالي 3 مليار معلمة. يرث Pi0.5 أداة الترميز الخاصة به، وتوجد أداة الترميز هذه في مستودع مغلق. هذه هي الطريقة الأكثر شيوعًا لفشل التشغيل الأول، قبل خطوة التدريب.

اقبل الترخيص المقيد قبل استئجار وحدة معالجة رسوميات

توضح وثائق LeRobot pi05 الأمر بوضوح: يستخدم pi0.5 أداة الترميز المغلقة google/paligemma-3b-pt-224، لذا اقبل ترخيصها على Hub وقم بتشغيل hf auth login أولاً. يتم منح الوصول يدويًا، وليس فورًا. تخطى هذه الخطوة، وابدأ تشغيلًا سحابيًا مدفوعًا، وستدفع مقابل وحدة لا يمكنها تنزيل أداة ترميز.

قبل أن تبدأ: تنسيق مجموعة البيانات، الحلقات، الأجهزة

يقرأ Pi0.5 في LeRobot مجموعة بيانات LeRobot بتنسيق v3.0، والذي صدر مع lerobot 0.4.0 في أكتوبر 2025: حلقات متعددة لكل ملف Parquet و MP4 بدلاً من ملف واحد لكل حلقة، مع تحديد الحدود في meta/episodes/ بدلاً من أسماء الملفات. سجل باستخدام عميل سطح المكتب أو اتبع سجل مجموعة بياناتك الأولى وستحصل عليها.

الوضعذاكرة GPU المطلوبةمثال على GPU
الاستدلالأكثر من 8 GBRTX 4090
الضبط الدقيق، LoRAأكثر من 22.5 GBRTX 4090
الضبط الدقيق، كاملأكثر من 70 GBA100 80 GB or H100
فخ الإصدار الذي يكلف يومًا كاملاً

يتطلب Pi0.5 و SmolVLA إصدار LeRobot v3.0. GR00T N1.7 و GR00T N1.5 يتطلبان v2.0 أو v2.1 ويتعطلان عند استخدام مجموعة بيانات v3.0. لا يمكن لجلسة تسجيل واحدة أن تغذي كليهما بدون تحويل، ولا يذكر الخطأ "إصدار مجموعة البيانات خاطئ". انظر مجموعة البيانات مرفوضة: v3 مطلوب.

bash
# v2.1 -> v3.0, run against a dataset already on the Hub
python -m lerobot.scripts.convert_dataset_v21_to_v30 --repo-id=<HF_USER/DATASET_ID>

# aggregates episode-0000.parquet, episode-0001.parquet, ... -> file-0000.parquet
# aggregates episode-0000.mp4, episode-0001.mp4, ...         -> file-0000.mp4
# rewrites meta/episodes/* with per-episode lengths, tasks and offsets
من وثائق LeRobotDataset v3.0.

تتطلب المنصة 50 حلقة على الأقل لـ Pi0.5، وهو نفس الحد الأدنى لـ GR00T و ACT. يقوم التدريب المسبق بالعمل الشاق، لذا فإن 50 حلقة نظيفة أفضل من 200 حلقة غير دقيقة. هل أنت جديد في هذا؟ ابدأ بـ دليل جمع البيانات.

صفحة سياسات AY-Robots تقارن السياسات الخمس القابلة للتدريب حسب المعلمات، فئة وحدة معالجة الرسوميات، زمن الاستجابة، والحد الأدنى للحلقات.
يقع Pi0.5 في فئة A100 و H100 بسرعة 485 مللي ثانية لكل خطوة إجراء، بحد أدنى 50 حلقة.

المسار أ: الضبط الدقيق باستخدام مستودع openpi

التطبيق المرجعي: JAX أولاً، تم اختباره على Ubuntu 22.04 فقط، مدفوعًا بكائنات التكوين بدلاً من العلامات. وصل مسار PyTorch في سبتمبر 2025، وتم التحقق منه على LIBERO. ثلاث خطوات: تحويل بياناتك، تحديد تكوين، تدريب وتقديم.

  1. 1
    استنساخ وتثبيت

    يستخدم openpi أداة uv. تسمح GIT_LFS_SKIP_SMUDGE لـ LeRobot بالعمل كاعتمادية بدون كائنات LFS الثنائية.

    bash
    git clone --recurse-submodules git@github.com:Physical-Intelligence/openpi.git
    cd openpi
    
    GIT_LFS_SKIP_SMUDGE=1 uv sync
    GIT_LFS_SKIP_SMUDGE=1 uv pip install -e .
  2. 2
    تحويل بياناتك إلى مجموعة بيانات LeRobot

    يقدم المصدر المحولات لـ LIBERO و DROID ويتوقع منك تكييف أحدها. العمل يكمن في تعيين المفاتيح.

    bash
    uv run examples/libero/convert_libero_data_to_lerobot.py --data_dir /path/to/your/data
  3. 3
    إضافة تكوين تدريب

    التكوينات هي إدخالات TrainConfig في src/openpi/training/config.py. هذا التكوين يكيف pi05_droid_finetune، مع توجيه محمل الأوزان إلى pi05_base.

    python
    TrainConfig(
        name="pi05_so100",
        model=pi0_config.Pi0Config(
            pi05=True,
            action_dim=32,        # pi05 is trained with 32-dim actions
            action_horizon=16,
        ),
        # Copy LeRobotLiberoDataConfig in the same file and rewrite the key
        # mapping for your camera names, then reference your copy here.
        data=LeRobotLiberoDataConfig(
            repo_id="your_hf_username/my_so100_dataset",
            base_config=DataConfig(prompt_from_task=True),
        ),
        weight_loader=weight_loaders.CheckpointWeightLoader(
            "gs://openpi-assets/checkpoints/pi05_base/params"
        ),
        batch_size=32,
        num_train_steps=20_000,
    )
  4. 4
    حساب إحصائيات المعيار

    يعمل مقابل اسم التكوين، وليس مجموعة البيانات. تخطيه هو الفشل الكلاسيكي الأول هنا.

    bash
    uv run scripts/compute_norm_stats.py --config-name pi05_so100
  5. 5
    تدريب

    يسمح المتغير لـ JAX باستخدام 90 بالمائة من ذاكرة وحدة معالجة الرسوميات بدلاً من 75 بالمائة الافتراضية. على بطاقة 80 جيجابايت، يحدد ذلك ما إذا كان التشغيل سينجح.

    bash
    XLA_PYTHON_CLIENT_MEM_FRACTION=0.9 uv run scripts/train.py pi05_so100 \
        --exp-name=my_experiment \
        --overwrite
  6. 6
    تقديمه

    يستمع الخادم على المنفذ 8000 ويجيب على استعلامات المراقبة؛ وقت تشغيل الروبوت الخاص بك هو العميل.

    bash
    uv run scripts/serve_policy.py policy:checkpoint \
        --policy.config=pi05_so100 \
        --policy.dir=checkpoints/pi05_so100/my_experiment/20000
مسار PyTorch ليس مسار JAX

تطبيق PyTorch الخاص بـ openpi لا يدعم أوزان pi0-FAST، الدقة المختلطة، FSDP، LoRA أو EMA، لذا فإن LoRA الذي يصل إلى 22.5 جيجابايت هو JAX فقط، من خلال متغيري gemma_2b_lora و gemma_300m_lora. والأسوأ من ذلك: يقوم الإعداد بنسخ الملفات المصححة فوق حزمة transformers 4.53.2 المثبتة لديك، ويحذر ملف README من أن وضع الارتباط الثابت الافتراضي لـ uv يقوم بتعديل transformers بشكل دائم في ذاكرة التخزين المؤقت لـ uv ويمكن أن يتسرب إلى مشاريع أخرى. تراجع عن ذلك باستخدام uv cache clean transformers.

المسار ب: الضبط الدقيق باستخدام lerobot pi05

منفذ LeRobot يغلف نفس الأوزان في واجهة سطر الأوامر التي تستخدمها بالفعل لـ ACT و SmolVLA. تم التحقق من كل ما يلي مقابل lerobot 0.6.1، الإصدار منذ 3 أغسطس 2026، ووثائق pi05 بتاريخ 23 أغسطس 2026. الإصدارات مهمة هنا: وصلت مجموعات بيانات v3.0 مع 0.4.0 في أكتوبر 2025، ومدونة 0.5.0 بتاريخ 9 مارس 2026 تقدم pi0-FAST و Real-Time Chunking، و 0.6.0 بتاريخ 6 يوليو 2026 جعلت الحزمة الأساسية خفيفة الوزن ونقلت النشر إلى lerobot-rollout.

شيء واحد لم يتغير: كان lerobot-train و lerobot-record بالفعل نقاط دخول في 0.3.2، أغسطس 2025. البرنامج التعليمي الذي لا يزال يستدعي python -m lerobot.scripts.train يسبق عامًا من التغييرات ويستحق عدم الثقة في البقية أيضًا.

  1. 1
    التثبيت مع الملحقات الصحيحة

    منذ الإصدار 0.6.0، يتضمن التثبيت الأساسي تبعيات التعلم الآلي الأساسية فقط، ولا يضيف الملحق pi أي بيانات أو كود تدريب، لذا فإن الضبط الدقيق يتطلب الملحق التدريبي أيضًا. الأوامر القديمة ذات السطر الواحد تفشل هنا عند وقت الاستيراد.

    bash
    # policy dependencies plus the training stack
    pip install 'lerobot[pi,training]'
    
    # from a source checkout
    pip install -e ".[pi,training]"
    
    # driving an SO-100 afterwards needs the robot extras too
    pip install 'lerobot[core_scripts,feetech]'
  2. 2
    المصادقة

    اقبل ترخيص paligemma-3b-pt-224 في المتصفح، ثم سجل الدخول على الجهاز الذي يقوم بالتدريب.

    bash
    hf auth login
  3. 3
    إضافة إحصائيات الكوانتيل

    يقوم Pi0.5 بتطبيع STATE و ACTION باستخدام الكوانتيلات، لذا يحتاج meta/stats.json إلى q01 و q99. مجموعات البيانات القديمة تحتوي فقط على min, max, mean, std.

    bash
    lerobot-edit-dataset \
        --repo_id your_dataset \
        --new_repo_id your_dataset \
        --operation.type recompute_stats \
        --operation.overwrite true
  4. 4
    الضبط الدقيق من lerobot/pi05_base

    اضبط حجم الدفعة (batch size) بما يتناسب مع قدرة بطاقتك؛ تستخدم الوثائق 64 على LIBERO بسعة 80 جيجابايت. مرر bfloat16 بشكل صريح، الافتراضي في الإعدادات هو float32.

    bash
    lerobot-train \
        --dataset.repo_id=${HF_USER}/my_so100_dataset \
        --policy.type=pi05 \
        --policy.pretrained_path=lerobot/pi05_base \
        --policy.gradient_checkpointing=true \
        --policy.dtype=bfloat16 \
        --policy.device=cuda \
        --policy.push_to_hub=false \
        --output_dir=./outputs/pi05_so100 \
        --job_name=pi05_so100 \
        --batch_size=4 \
        --num_workers=8 \
        --steps=30000 \
        --save_freq=5000 \
        --seed=1000
  5. 5
    تشغيله على الذراع

    في الإصدار 0.6.x، هذا هو lerobot-rollout: يرفض lerobot-record سياسة ويرفض أسماء مجموعات بيانات eval_. يقوم Base بتحريك الذراع، ويقوم sentry بتسجيل عملية النشر.

    bash
    lerobot-rollout \
        --strategy.type=base \
        --policy.path=${HF_USER}/my_policy \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM1 \
        --robot.cameras="{ up: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30}}" \
        --task="Put lego brick into the transparent box" \
        --duration=60
    
    # same run, recorded into an eval_ dataset
    lerobot-rollout \
        --strategy.type=sentry \
        --policy.path=${HF_USER}/my_policy \
        --robot.type=so100_follower \
        --robot.port=/dev/ttyACM1 \
        --dataset.repo_id=${HF_USER}/eval_so100 \
        --dataset.single_task="Put lego brick into the transparent box" \
        --duration=600
العلامةماذا تفعلملاحظة
--policy.type=pi05تحدد Pi0.5مطلوبة مع pretrained_path، تُحذف مع --policy.path
--policy.pretrained_pathتحمل الأوزان فقطأسماء الميزات من مجموعة بياناتك، يتم إعادة تعيين الإعدادات المخزنة
--policy.pathالأوزان بالإضافة إلى ملف config.json الخاص بنقطة التحققيتم توريث الإعدادات المخزنة مثل n_action_steps
--policy.n_action_stepsالخطوات المستهلكة لكل جزءيعود إلى 50، لا يتجاوز chunk_size (الافتراضي 50)
--policy.train_expert_onlyيجمد VLM، ويدرب الخبيرالافتراضي false، ذاكرة أقل، بعض التكلفة في النجاح
--policy.gradient_checkpointingإعادة الحساب بدلاً من تخزين التنشيطاتالافتراضي false، الرافعة الأولى عندما لا يتناسب التشغيل
--peft.method_type=LORAمحولات LoRA بدلاً من الأوزان الكاملةتحتاج إلى ملحق peft، المثال الموثق هو SmolVLA
--policy.rtc_training_max_delayتكييف بادئة الإجراء لـ RTCالفرع الرئيسي فقط، ليس في 0.6.1، يجب أن يبقى أقل من chunk_size
--rename_mapيربط أعمدة مجموعة البيانات بميزات السياسةمطلوب عندما تختلف مفاتيح الكاميرا الخاصة بك
الخطأ الذي يصادف معظم التشغيلات الأولى

بدون الكوانتيلات، ستحصل على ValueError: QUANTILES normalization mode requires q01 and q99 stats في الدفعة الأولى. أعد حساب الإحصائيات، ولكن النتيجة تهبط في $HF_LEROBOT_HOME/your_dataset، وليس في ذاكرة التخزين المؤقت التي يقرأها --dataset.repo_id، لذا قم بالتدريب باستخدام --dataset.root الذي يشير إلى هناك أو ادفع إلى Hub. أو تخطى الكوانتيلات باستخدام --policy.normalization_mapping='{"ACTION": "MEAN_STD", "STATE": "MEAN_STD", "VISUAL": "IDENTITY"}'، كما يفعل أمر LIBERO المرجعي.

ثلاث مجموعات من الإعدادات الافتراضية، وأيها يصل إلى المدرب

تُعد TrainConfig من openpi هي المرجع، وPI05Config من LeRobot هي ما يستخدمه lerobot-train عندما لا تحدد شيئًا، ويرسل النموذج هنا مجموعة ثالثة. المفاجأة هي معدل التعلم: كلا الإعدادات الافتراضية الأصلية تصل إلى 2.5e-5، بينما ترفع إعدادات pi05_libero الخاصة بـ openpi وهذه المنصة المعدل إلى 5e-5.

الإعدادopenpi TrainConfiglerobot pi05 and lerobot-trainما ترسله AY-Robots
حجم الدفعة3281
معدل التعلم الأقصى2.5e-5, تضاؤل جيبيoptimizer_lr 2.5e-55e-5
خطوات التدريب30,000100,00030,000
فترة نقطة التحقق1,000 خطوة20,000 خطوةليس في النموذج
البذرة421,000في النموذج
كتلة الإجراءaction_horizon 50chunk_size 50, n_action_steps 50ليس في النموذج
نوع بيانات الوزنbfloat16float32 حتى تمرر --policy.dtypeليس في النموذج
تراكم التدرجلا يوجد مثل هذا الخيار، fsdp_devices بدلاً من ذلكغائب عن كل إصدار حتى الآن16، وقد تم إسقاطه

هل المنفذ موثوق؟ قام فريق LeRobot بضبط النموذج الأساسي LIBERO بدقة لـ 6 آلاف خطوة إضافية وقارنوه بأرقام openpi المرجعية على أربع مجموعات: متوسط 97.5 بالمائة مقابل 96.85، متقدمًا في Libero 10، ومتأخرًا في Spatial. المسار هو خيار أدوات، وليس خيار جودة.

الضبط الدقيق لـ Pi0.5 على بياناتك الخاصة
المزايا
  • أكثر من 10,000 ساعة من التدريب المسبق للروبوت خلفه، لذا 50 حلقة من مهمتك قد تكون كافية.
  • إجراءات مستمرة: لا يوجد مُحلل رموز لضبطه، ولا حد أدنى للتقطيع على زوايا مفاصلك.
  • يحقق منفذ LeRobot نسبة 97.5 بالمائة في متوسط LIBERO مقابل 96.85 لـ openpi، لذا فإن واجهة سطر الأوامر الأكثر ودية لا تكلف شيئًا قابلاً للقياس.
  • مسارات فعالة من حيث المعلمات على كلا الجانبين: متغيرات JAX LoRA من openpi، وتكامل PEFT من LeRobot.
المقايضات
  • يتطلب الضبط الدقيق الكامل أكثر من 70 جيجابايت. رقم LoRA البالغ 22.5 جيجابايت هو رقم JAX الخاص بـ openpi؛ لم يتم نشر أي رقم لـ pi05 تحت PEFT.
  • 485 مللي ثانية لكل خطوة إجراء، الأبطأ من بين الخمسة هنا: ضعف SmolVLA، وأربعة وعشرون ضعف ACT.
  • LeRobot v3.0 مطلوب، لذا مجموعة بيانات مسجلة لـ GR00T تشغيل تحتاج إلى تحويل، والعكس صحيح.
  • الخيارات الجديدة تصل إلى main أولاً: ذاكرة RTC وMEM أثناء التدريب ليست موجودة في 0.6.1، لذا أحدث الوثائق قد تعني التثبيت من git.

واقع 485 مللي ثانية، ومتى يصبح غير قابل للاستخدام

هذا يحدد مشروعك، لذا يأتي قبل جدول التكلفة. الـ زمن استجابة الاستدلال لكل خطوة إجراء تم قياسها هنا لـ Pi0.5 هي 485 مللي ثانية. مقارنة بالنماذج الأربعة الأخرى:

السياسةالاستدلال لكل خطوة إجراءالمعلماتفئة وحدة معالجة الرسومياتالحد الأدنى للحلقات
ACT20 ms~80 MRTX 4090 or any 24 GB card50
GR00T N1.7152 ms~3 BA100 80 GB or H100 80 GB50
GR00T N1.5165 ms~3 BA100 80 GB or H100 80 GB50
SmolVLA245 ms~450 MRTX 4090 or any 24 GB card30
Pi0.5485 ms~3 BA100 80 GB or H100 80 GB50
صفحة المقارنة المباشرة لـ AY-Robots بين GR00T N1.7 و Pi0.5، مع المعلمات، فئة وحدة معالجة الرسوميات، زمن الاستجابة، وتنسيق مجموعة البيانات
نفس فئة وحدة معالجة الرسوميات، نفس الحد الأدنى للحلقات، إصدار مختلف لمجموعة البيانات، فجوة زمن استجابة ثلاثية.
يجب أن يكون الاستدلال بجانب المحركات المؤازرة

تستغرق حلقة التحكم عبر هذه النماذج الخمسة من 20 إلى 485 مللي ثانية لكل خطوة إجراء. تؤدي رحلات الذهاب والإياب عبر الإنترنت العام، بالإضافة إلى 485 مللي ثانية، إلى تحويل سياسة عمل فعالة إلى سياسة مترددة. الاستدلال عن بعد ممكن لمهام الالتقاط والوضع البطيئة، وليس للحركة التفاعلية السريعة. نفضل أن نقول ذلك بدلاً من بيع عرض توضيحي يعمل فقط على شبكة محلية (LAN). إذا توقف ذراعك مؤقتًا بين الأجزاء، فابدأ من توقف السياسة في منتصف الحركة.

لدى المصدر حلاً، ونصفه موجود بالفعل في الإصدار الذي يمكنك تثبيته. توليد الأجزاء في الوقت الفعلي (Real-Time Chunking) يولد الجزء التالي بينما لا يزال الذراع ينفذ الجزء الحالي، ثم يوجه الخطوات المتداخلة للجزء الجديد للبقاء قريبة من الجزء الذي تم تنفيذه بالفعل، بحيث لا يتوقف الذراع أو يهتز عند نقطة الالتقاء. الشكل الخاص بوقت الاستدلال الذي تم شحنه في سجل التغييرات 0.4.2 لـ Pi0 و Pi0.5 و SmolVLA هو علامة نشر (rollout flag)، وليس إعادة تدريب:

bash
lerobot-rollout \
    --strategy.type=base \
    --policy.path=${HF_USER}/my_policy \
    --inference.type=rtc \
    --inference.rtc.execution_horizon=10 \
    --inference.rtc.max_guidance_weight=10.0 \
    --robot.type=so100_follower \
    --robot.port=/dev/ttyACM1 \
    --robot.cameras="{ up: {type: opencv, index_or_path: /dev/video10, width: 640, height: 480, fps: 30}}" \
    --task="Put lego brick into the transparent box" \
    --duration=60
يمثل execution_horizon عدد الخطوات من الجزء السابق التي يجب أن يتوافق معها الجزء الجديد؛ توفر وثائق RTC نطاقًا يتراوح عادةً من 8 إلى 12. الواجهة الخلفية الافتراضية للاستدلال هي --inference.type=sync.

هذا لا يجعل النموذج أسرع. إنه يخفي الفجوة: لا تزال 485 مللي ثانية تُستهلك، ولكن خارج المسار الحرج، بحيث لا تجف قائمة الانتظار بين الأجزاء. النسخة الخاصة بوقت التدريب من arXiv 2512.05964 تذهب أبعد من ذلك: يتعلم النموذج التكيّف مع بادئة إجراء نظيفة، لذلك عند الاستدلال يتم ملء التداخل بقوة باستخدام خطوات زمنية لتدفق كل إجراء بدلاً من التوجيه، ويختفي التمرير الخلفي للتوجيه. أثناء التدريب، يقوم بأخذ عينة من طول بادئة لكل مثال ويحسب خسارة التدفق على اللاحقة المتبقية. توجد هذه العلامة في الفرع الرئيسي (main) فقط، وليس في 0.6.1، ويجب أن يظل التأخير الذي تدرب عليه أقل من chunk_size.

طريقتان للحصول على نقطة فحص Pi0.5

يمكنك استئجار أو امتلاك بطاقة بسعة 80 جيجابايت، وتثبيت أحد المكدسات المذكورة أعلاه، وتحويل مجموعة البيانات الخاصة بك، ومراقبة التشغيل. تحتفظ بكل خيار: JAX LoRA من openpi، ومحولات PEFT من LeRobot، والإجراءات النسبية، وتعيينات المفاتيح المخصصة. كما أنك تحتفظ بكل فشل.

  • الأجهزة: A100 80 جيجابايت أو H100، أو بطاقة 24 جيجابايت على مسار JAX LoRA الخاص بـ openpi.
  • الإعداد: فترة ما بعد الظهر للتشغيل الأول، ومعظمها لتعيين المفاتيح والمُحلل اللغوي المُتحكم به.
  • غير متوفر في النموذج المستضاف: محولات PEFT، والإجراءات النسبية، وRTC وقت التدريب، وذاكرة MEM.
bash
lerobot-train \
    --dataset.repo_id=${HF_USER}/my_so100_dataset \
    --policy.type=pi05 \
    --policy.pretrained_path=lerobot/pi05_base \
    --policy.rtc_training_max_delay=10 \
    --policy.gradient_checkpointing=true \
    --policy.dtype=bfloat16 \
    --batch_size=4 --steps=30000 --seed=1000
الأمر الذي لا يتم تشغيله بواسطة أي نموذج مستضاف، ولا يمكن لـ pip تثبيته: RTC وقت التدريب هو علامة فرع رئيسي.

عندما لا يعمل

العرضالسبب الأكثر احتمالاً
تم رفض التشغيل قبل أن يبدأمجموعة البيانات v2.1 ولكن Pi0.5 يتطلب v3.0، أو العكس لـ GR00T
ImportError، حزمة datasets مفقودةlerobot 0.6.x بدون الإضافات التدريبية
ValueError حول q01 و q99 في الدفعة الأولىلا توجد كميات في meta/stats.json؛ أعد الحساب أو استخدم MEAN_STD
CUDA نفاد الذاكرة عند الخطوة 0ضبط دقيق كامل أقل من 70 جيجابايت؛ جرب نقطة الفحص أو train_expert_only
خطأ 401 أو خطأ في المستودع المقيدترخيص PaliGemma tokenizer غير مقبول
الخسارة تنخفض، الروبوت لا يفعل شيئًاعدم تطابق في التطبيع، أو السياسة تنسخ الحالة
الذراع يتوقف بين الأجزاءزمن استجابة لكل خطوة بالإضافة إلى الذهاب والإياب؛ قائمة الانتظار للأجزاء فارغة
يعمل في إعداد واحد، ويفشل في آخرعدد قليل جدًا من الحلقات، أو كلها في تكوين واحد

تكلفة التشغيل الواحد

يقع Pi0.5 في الفئة باهظة الثمن لأنه يحتاج إلى بطاقة 80 جيجابايت، وتتغير أسعار السوق الفورية، لذا فإن الرقم هو نطاق بدلاً من سعر محدد. للعديد من مهام SO-100، قم بتدريب SmolVLA أو ACT على فئة 24 جيجابايت أولاً، وتأكد من أن المهمة قابلة للتعلم على الإطلاق، ثم اقضِ ساعات A100 عليها. تدريب سياستك الأولى يشرح هذه الحلقة الأقل تكلفة، و التسعير يعرض الفئات الحالية.

الفئةالسياساتالتشغيل النموذجيالسعر لكل ساعةالتكلفة لكل تشغيل
A100 80 جيجابايت أو H100Pi0.5, GR00T N1.7, GR00T N1.53 إلى 6 ساعات1.20 to 2.00 USDحوالي 4 إلى 12 دولار أمريكي
RTX 4090 أو أي بطاقة 24 جيجابايتSmolVLA, ACT2 إلى 5 ساعات0.30 to 0.60 USDحوالي 1 إلى 3 دولار أمريكي
جدول تكاليف AY-Robots يوضح أي وحدة معالجة رسوميات (GPU) تحتاجها كل سياسة، ووقت التشغيل والسعر النموذجيين، وعدد الحلقات المطلوبة قبل أن تصبح السياسة مفيدة
نفس المستويين في صفحة المنتج: Pi0.5 يستأجر بطاقة 80 جيجابايت، وSmolVLA وACT يتناسبان مع 4090.

قبل الالتزام بأمسية: GR00T N1.7 مقابل Pi0.5 و Pi0.5 مقابل SmolVLA تعرض نفس الأرقام وجهاً لوجه. الـ ساحة المقارنة تحتوي على 85 نموذج VLA مع 332 نتيجة معيارية، كل منها مرتبط بمصدره، والخلفية عن هذه الفئة موجودة في نظرة عامة على VLA الخاصة بنا.

تدريب Pi0.5 دون بناء المكدس

اختر مجموعة البيانات والمعاملات الفائقة في نموذج. يقوم الواجهة الخلفية باستئجار بطاقة 80 جيجابايت من السوق الفورية، ويشغل المدرب ويكتب نقاط الحفظ إلى تخزين الكائنات. أدلة لـ SO-100، SO-101، Koch v1.1 و LeKiwi.

افتح أدلة التدريب
هل يمكنني ضبط Pi0.5 بدقة على RTX 4090؟

ليس ضبطًا دقيقًا كاملاً: openpi يسرد أكثر من 70 جيجابايت لذلك، لذا يلزم A100 80 جيجابايت أو H100. رقم LoRA البالغ 22.5 جيجابايت ينتمي إلى مسار JAX؛ تطبيق PyTorch لا يحتوي على LoRA. تكامل PEFT الخاص بـ LeRobot موجود، لكن مثاله الموثق هو SmolVLA ولم يتم نشر رقم VRAM لـ pi05.

كم عدد الحلقات التي أحتاجها؟

خمسون، وهو نفس الحد الأدنى لـ GR00T وACT؛ فقط SmolVLA ينخفض إلى 30. تحمل نقطة الحفظ الأساسية أكثر من 10,000 ساعة من التدريب المسبق، لذا فإن الضبط الدقيق يتكيف بدلاً من التعلم من الصفر: 50 حلقة نظيفة ومتنوعة تتفوق على مائتي حلقة من تكوين واحد.

ما الفرق بين --policy.path و --policy.pretrained_path؟

--policy.path يحمل الأوزان وملف config.json الخاص بنقطة الحفظ، لذا يتم توريث الإعدادات المخزنة مثل n_action_steps ويجب حذف --policy.type. أما --policy.pretrained_path فيحمل الأوزان فقط: تأتي أسماء الميزات من مجموعة البيانات الخاصة بك، وتُعاد تعيين الإعدادات المخزنة، ويكون --policy.type مطلوبًا. لهذا السبب يمرر أمر LIBERO n_action_steps=10 و empty_cameras=1 بشكل صريح؛ وإلا فإنهما يعودان إلى 50 و 0.

هل توفر لي النسخة المفتوحة Pi0.5 الكاملة من الورقة البحثية؟

لا. كلاهما يدعم رأس الإجراء المطابق للتدفق فقط. لم يتم إصدار مرحلة التدريب المسبق للرموز المنفصلة مع مُحلل الإجراء FAST وتوقع المهام الفرعية عالية المستوى، وتضيف بطاقة lerobot/pi05_base التعلم المعزز (RL) إلى تلك القائمة على الرغم من أن ورقة pi0.5 لا تصف أي مرحلة تعلم معزز. أنت تدرب سياسة منخفضة المستوى مشروطة بسلسلة لغوية توفرها، وليس نموذجًا يفكك مهمة طويلة بنفسه.

ما هي الإصدارات التي كُتب هذا الدليل بناءً عليها؟

openpi على الفرع الرئيسي و lerobot 0.6.1، الإصدار منذ 3 أغسطس 2026، وكلاهما قُرئ في 23 أغسطس 2026. وصلت مجموعات بيانات v3.0 مع 0.4.0 في أكتوبر 2025. جعل 0.6.0 الحزمة الأساسية خفيفة الوزن، لذا لم يعد lerobot[pi] وحده يثبت مكدس تدريب، ونقل النشر إلى lerobot-rollout. RTC وقت التدريب موجود على الفرع الرئيسي فقط؛ المدرب المستضاف هنا يعمل بالإصدار 0.5.1.

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started