LeRobot documentation

Wall-OSS-0.5

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.7.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Wall-OSS-0.5

Wall-OSS-0.5 هو نموذج رؤية ولغة وإجراء بحجم 4B من XSquare Robot. يجمع بين هيكل رؤية ولغة Qwen2.5-VL وخبير إجراء مستمر يعتمد على مطابقة التدفق.

توفر LeRobot نموذج Wall-OSS-0.5 عبر نوع السياسة wall_oss_05 ونقطة التفتيش lerobot/wall-oss-0.5.

wall_oss_05 وسياسة wall_x الموجودة تستهدف إصدارات مختلفة من WALL. استخدم wall_oss_05 مع نقطة التفتيش Wall-OSS-0.5.

نظرة عامة على النموذج

تُشترط عملية توليد الإجراءات في Wall-OSS-0.5 على ملاحظات الكاميرا، وحالة الروبوت، ومهمة بلغة طبيعية. يتنبأ هذا الإجراء (Policy) بكتلة من الإجراءات المستمرة باستخدام مطابقة التدفق (Flow Matching). كما يمكن لخبير اللغة والرؤية الخاص به توليد نصوص لتعليق الصور، والإجابة على الأسئلة البصرية، والتأريض (Grounding)، والمهام الفرعية اللغوية.

يستخدم النموذج المُطلَق:

  • تمثيل قياسي للحالة والإجراء بأبعاد 26؛
  • قطع إجراءات من 32 خطوة؛
  • التطبيع حسب نطاق q01/q99؛
  • مُعيّن تدفق من 10 خطوات؛
  • Qwen2.5-VL للمدخلات البصرية واللغوية.

يُعدّ نقطة الفحص الأساسية مخصصةً للضبط الدقيق على روبوت الهدف ومجموعة بيانات المهمة قبل النشر.

ما تغطيه تكامل LeRobot

  • إعداد policy.type=wall_oss_05 القياسي وتحميل نقطة الفحص من Hub.
  • معالجة الرؤية واللغة الأصلية لنموذج Qwen2.5-VL وخبراء إجراءات Wall.
  • تدريب تدفق التنبؤ المستمر بـ x والعينة باستخدام طريقة أويلر في 10 خطوات.
  • حساب التداخل المتقاطع للنص والتدريب الدقيق المشترك للنص والإجراء بناءً على الوصفات.
  • توليد نص أصلي لمهام فهم الأسئلة البصرية، والتأريض، والتعليقات التوضيحية، والمهام الفرعية للغة.
  • توليد النص مباشرةً من خلال التمرير التفاعلي في LeRobot.
  • مدخلات الحالة والإجراء القياسية 26D باستخدام معالجات LeRobot q01/q99.
  • الضبط الدقيق باستخدام lerobot-train والاستدلال عبر واجهات برمجة التطبيقات القياسية للسياسات.

متطلبات التثبيت

يتطلب Wall-OSS-0.5 بطاقة رسومات من NVIDIA تدعم CUDA. قم بتثبيت LeRobot مع تبعيات السياسة:

pip install "lerobot[wall_oss_05]"

لنسخة LeRobot المصدر:

uv sync --extra wall_oss_05

يُنفَّذ هذا النموذج (Policy) بشكل أصلي في LeRobot. الاعتماد الوحيد الخاص بالنموذج هو Transformers؛ ولا يلزم وجود نسخة منفصلة من Wall-X. تتطلب المعالجة المدعومة بالوصفة (Recipe) أيضًا إضافة مجموعة البيانات (dataset extra). للاستعلامات اللغوية أو التدريب، ثبّت uv sync --extra wall_oss_05 --extra training (يشمل التدريب دعم مجموعة البيانات). اضبط --policy.recipe=null للمعالجة الخاصة بالإجراءات فقط دون إضافة مجموعة البيانات.

نقاط التفتيش

النوعنقطة التفتيش LeRobotالاستخدام المقصود
Base 4Blerobot/wall-oss-0.5التدريب الدقيق والنشر القياسي 26D

يتضمن نقطة التفتيش (checkpoint) تكوين السياسة، ومعالج ومقسّم Qwen، وأوزان النموذج، ومعالجات LeRobot قبل وبعد الحفظ، وإحصاءات التطبيع، وبيانات الوصف الخاصة بالتحويل. إنها نقطة تفتيش أساسية: قم بتدريبها الدقيق على الروبوت والمهمة المستهدفة قبل الإبلاغ عن النتائج على مستوى المهمة.

الاستخدام

اختر السياسة باستخدام:

--policy.type=wall_oss_05

قم بالمُبادَرة من نقطة التفتيش LeRobot باستخدام:

--policy.path=lerobot/wall-oss-0.5

استخدم --policy.path=your-org/your-finetuned-checkpoint عند تقييم أو نشر نقطة تحقق LeRobot محفوظة.

النص وVQA

يستخدم Wall-OSS-0.5 عقد نص السياسة المشترك. يوفّر وقت التشغيل query_kind وquery_text، ثم يشغّل معالج مدخلات السياسة العادي:

request = {
    **observation,
    "query_kind": "vqa",
    "query_text": "Which object is closest to the right gripper?",
}
processed_batch = preprocessor(request)
answer = policy.generate_text(processed_batch)

يحافظ vqa على سؤال المُستدعي. يطبّق next_subtask الوصفة التي يملكها WallOSS05Config. يرث السياسة generate_text(processed_batch) وتعيد تعريف supports_text_generation وgenerate_text. يستخدم التوليد رأس مفردات Qwen المرتبط في نقطة التفتيش وخبير اللغة والرؤية؛ ولا يستدعي نموذج VLM منفصلاً.

يمكن لبيئة تشغيل اللغة توليد مهمة فرعية ثم اشتراط تنبؤ وول (Wall) بالإجراء عليها:

lerobot-rollout \
  --policy.path=your-org/your-finetuned-wall-oss-0.5 \
  --policy.device=cuda \
  --task="clear the table" \
  --interactive=true

بعد /start، استخدم /vqa <question> أو /autosteer <goal> أو /subtask <text>.

يحافظ Wall على قدرات مفيدة في VQA المدمج والتأريض، لكنه متخصص لملاحظات الروبوتات ولا يُقصد به أن يحل محل VLM عام.

متطلبات البيانات

يعمل Wall-OSS-0.5 داخليًا على تخطيط قياسي للحالة والإجراء بمقدار 26D. تُطبع ميزات الحالة والإجراء الأضيق باستخدام إحصاءات مجموعة البيانات الأصلية الخاصة بها، ثم تُملأ بالأصفار حتى 26D للنموذج. يتم استبعاد أبعاد الإجراء المملوءة من خسارة التدريب. تُقص المخرجات إلى عرض إجراء مجموعة البيانات قبل إلغاء التطبيع: فحالة 8D مع إجراءات 7D تُرجع إجراءات 7D. يمكن لـ postprocess_action_dim تطبيق قص إضافي للمخرجات. لا يعيد التوسيط تعيين إحداثيات المفاصل أو اتفاقيات المتحكم؛ قم بتوفير قيم متوافقة.

قم بتكوين مدخلات الصور باستخدام camera_key_mapping. يربط هذا التخصيص كل ميزة صورة في LeRobot بفتحة كاميرا في Wall. يستخدم نقطة التفتيش الافتراضية face_view وright_wrist_view.

يُمرَّر نص مهمة مجموعة البيانات إلى السياسة بوصفه تعليماتها اللغوية. استخدم أوصافًا متسقة للمهمة عند التسجيل والتدريب والتقييم.

يتم التعامل مع تطبيع الحالة والإجراء q01/q99 بواسطة المعالج المسبق والمعالج اللاحق المحفوظين في LeRobot. أثناء الاستدلال، يتم استعادة الإحصاءات المحفوظة مع نقطة التفتيش. عند الضبط الدقيق باستخدام lerobot-train، تحل إحصاءات مجموعة بيانات التدريب محل إحصاءات المعالج المُدرَّب مسبقًا وتُحفظ مع نقطة التفتيش الجديدة.

يستخدم نقطة التفتيش المنشورة قاموس حالة سياسة LeRobot الأصلية وتنسيق المعالج المسبق/اللاحق الحالي. يتم تحميل الأوزان وحفظها عبر كود استمرارية السياسة المشترك، بما في ذلك عمليات الجمع الموزعة وبوابة الكتابة للعملية الرئيسية. يحتفظ ملف الإعداد بمراجع مستقرة لأصل المرمّز (tokenizer) ويمكن تحميله من أي مجلد عمل.

التدريب

قم بضبط نقطة التفتيش الأساسية باستخدام أمر تدريب LeRobot القياسي:

مثال على أمر التدريب

lerobot-train \
  --dataset.repo_id=your-org/your-dataset \
  --policy.path=lerobot/wall-oss-0.5 \
  --policy.repo_id=your-org/wall-oss-0.5-your-task \
  --output_dir=outputs/train/wall_oss_05 \
  --job_name=wall_oss_05_finetune \
  --policy.device=cuda \
  --batch_size=1 \
  --steps=20000

ابدأ بحجم دفعة صغير لأن Wall-OSS-0.5 هو نموذج يحتوي على 4 مليارات من المعاملات. زد حجم الدفعة وفقًا لذاكرة GPU المتاحة، أو استخدم تراكم التدرجات عبر إعداد التدريب الموزع لديك.

بالنسبة إلى مجموعات البيانات التي تحتوي على أسماء كاميرات مختلفة، قم بربط مفاتيح ميزات هذه المجموعات بمواقع كاميرات Wall. على سبيل المثال، أضف الخيار التالي لـ top و wrist:

--policy.camera_key_mapping='{"observation.images.top":"face_view","observation.images.wrist":"right_wrist_view"}'

يحلّل الضبط الدقيق أشكال الكاميرا وعرض الحالة/الإجراء من مجموعة البيانات، بما في ذلك عند تحميل نقطة التفتيش الأساسية باستخدام --policy.path.

التدريب مع التعليقات اللغوية

يستخدم الوصفة التي يملكها WallOSS05Config أعمدة اللغة الاختيارية في LeRobot افتراضيًا. وتُشرف وصفة المهام الفرعية المشتركة على استجابة المساعد وقطعة الإجراء المستمرة في تسلسل سببي واحد:

lerobot-train \
  --dataset.repo_id=your-org/your-language-annotated-dataset \
  --policy.path=lerobot/wall-oss-0.5 \
  --policy.use_language_recipe=true \
  --policy.text_loss_weight=0.1 \
  --policy.flow_loss_weight=1.0 \
  --policy.device=cuda \
  --batch_size=1 \
  --steps=20000

تحدد تدفقات الوصفة الأهداف التي تُنفَّذ لكل عينة:

  • يستقبل دور المساعد المستهدف خسارة الانتروبيا المتقاطعة لنص الرمز التالي؛
  • يستقبل الدور low_level إشرافًا مستمرًا على تدفق الإجراءات؛ و
  • يتلقى وصف low_level الذي يتضمن دورًا موجّهًا للمساعد كلا الخسارتين، مع تركيز رموز الإجراء على النص المُشرَف عليه.

يُستخدم حمولة المساعد المستهدفة فقط مع رمز <|im_end|> كوسوم للغة. أما تلميحات المستخدم، والتعبئة، والصور، والإحساس الذاتي بالموضع، ورموز استعلام الإجراء المستمر، فتُخفى من تداخل الإنتروبيا النصية. وتحتفظ الصفوف التي لا تحمل تعليقات بالتلميح الأصلي الخاص بالإجراء فقط وبالدالة الخاسرة. اضبط use_language_recipe=false لتعطيل عرض التعليقات، أو اضبط recipe=null لتعطيل كلا معالجي الوصفة. ويتجاوز المسار الصريح recipe_path الوصفة المدمجة. يعيد التدريب الدقيق الجديد بناء المعالجات من تلك الوصفة وإحصاءات التدريب؛ بينما يستعيد التدريب المتواصل والتشغيل المعالجات والإحصاءات المحفوظة في نقطة الحفظ.

راجع أعمدة اللغة والوصفات لمعرفة مخطط التسمية وهيكل الوصفة. يمكن أن يشير recipe_path إلى ملف YAML خارجي صريح للتجاوز؛ ولا يوفر LeRobot ملفات وصفة افتراضية مشتركة.

معلمات التكوين الرئيسية

معاملافتراضيالوصف
pretrained_name_or_pathlerobot/wall-oss-0.5مصدر أصول مُجزّئ النص ومعالج الصور
tokenizer_revisionNoneإصدار ثابت اختياري لمُقسِّم الرموز الأساسي، منفصل عن إصدار الأوزان
chunk_size32عدد الإجراءات المتوقعة لكل شريحة
n_action_steps32عدد الإجراءات المتوقعة التي تم تنفيذها قبل إعادة التخطيط
camera_key_mappingوجهة الوجه وجهة المعصم الأيمنيربط مفاتيح ميزات الصورة بمواقع الكاميرا في النموذج
use_language_recipetrueيتيح الوصفة المخزنة في إعدادات السياسة
recipe_pathNoneتجاوز صريح اختياري لوصفة خارجية
text_loss_weight0.1الوزن الخاص بـ cross-entropy لرموز المساعد المُشرَف
flow_loss_weight1.0الوزن لخسارة التدفق المستمر-الإجراء
tokenizer_max_length1000الحد الأقصى لطول تسلسل الرموز المشترك للرؤية واللغة والإجراء
deviceautoاستخدم cuda لـ Wall-OSS-0.5

التقييم والاستدلال

استخدم نقطة تحقق مُعدّلة مسبقًا مع سير عمل التقييم القياسي لـ LeRobot أو سير عمل تشغيل الروبوت عن طريق تمرير مستودع Hub أو المجلد المحلي الخاص بها كمسار السياسة.

يولّد Wall-OSS-0.5 مقاطع أفعال مستمرة باستخدام عيّّانه التدفّق الخاص به. يدعم نهج العمل الحالي فرع التدفّق المستمر؛ أما فرع الأفعال التوليدية الذاتية (autoregressive) فلم يُعرَض.

يقوم كل مقطع بتشفير صور الكاميرا الخاصة به وتعبئة بادئة الملاحظة/النص مرة واحدة. تعيد الخطوات العشر لأويلر استخدام مفاتيح وقيم البادئة وتفك ترميز رموز الإجراء فقط. يُعاد بناء ذاكرة التخزين المؤقت لكل ملاحظة جديدة.

للمحاكي المدعوم، قدّم نقطة الفحص المُحسَّنة والخيارات الخاصة بالبيئة عبر lerobot-eval:

lerobot-eval \
  --policy.path=your-org/your-finetuned-wall-oss-0.5 \
  --policy.device=cuda \
  --env.type=<environment> \
  --env.task=<task> \
  --eval.batch_size=1 \
  --eval.n_episodes=10

لا تقم بتقييم نقطة التفتيش الأساسية وكأنها سياسة مخصصة لمهمة معينة. يجب أن تتطابق التمثيلة القياسية، وإحصاءات التطبيع، وتوزيع المهام مع نقطة التفتيش المُحسَّنة.

المراجع

رخصة

Wall-OSS-0.5 و Wall-X متاحة بموجب ترخيص Apache 2.0.

Update on GitHub