LeRobot documentation
Wall-OSS-0.5
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 4B | lerobot/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_path | lerobot/wall-oss-0.5 | مصدر أصول مُجزّئ النص ومعالج الصور |
tokenizer_revision | None | إصدار ثابت اختياري لمُقسِّم الرموز الأساسي، منفصل عن إصدار الأوزان |
chunk_size | 32 | عدد الإجراءات المتوقعة لكل شريحة |
n_action_steps | 32 | عدد الإجراءات المتوقعة التي تم تنفيذها قبل إعادة التخطيط |
camera_key_mapping | وجهة الوجه وجهة المعصم الأيمن | يربط مفاتيح ميزات الصورة بمواقع الكاميرا في النموذج |
use_language_recipe | true | يتيح الوصفة المخزنة في إعدادات السياسة |
recipe_path | None | تجاوز صريح اختياري لوصفة خارجية |
text_loss_weight | 0.1 | الوزن الخاص بـ cross-entropy لرموز المساعد المُشرَف |
flow_loss_weight | 1.0 | الوزن لخسارة التدفق المستمر-الإجراء |
tokenizer_max_length | 1000 | الحد الأقصى لطول تسلسل الرموز المشترك للرؤية واللغة والإجراء |
device | auto | استخدم 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