LeRobot documentation
WALL-OSS
WALL-OSS
WALL-OSS هو نموذج أساسي مفتوح المصدر للذكاء المتجسد، اقترحه فريق XSquare Robot في عام 2025. تم تكييف تنفيذ LeRobot من مستودعهم المفتوح المصدر WallX.
أصبح WALL-OSS من X Square Robot مدمجًا الآن في نظام LeRobot البيئي لدى Hugging Face. هذا مشروع تعاوني مثير بين فريقَي LeRobot وX Square Robot. يمكنك الآن إجراء التدريب اللاحق، والتقييم، والنشر لنموذج WALL-OSS مباشرةً عبر LeRobot. ومن خلال ذلك، نهدف إلى تسهيل مهمة مجتمع الروبوتات مفتوح المصدر في تخصيص ونشر نماذج WALL-OSS الأساسية. اقرأ واستكشف ورقة والكود الخاصين بـ WALL-OSS.
نظرة عامة على النموذج
يعمل فريق WALL-OSS على بناء نموذج أساسي متجسد لالتقاط وضغط أكثر بيانات العالم قيمةً: تدفق التفاعل الفيزيائي المستمر عالي الدقة. من خلال إنشاء حلقة تغذية راجعة مباشرة بين قرارات النموذج والتجربة الحية للجسم، يتم تمكين ظهور ذكاء قابل للتعميم حقًا — ذكاء لا يفهم فقط كيف يعمل العالم، بل كيف يتصرف بفعالية داخله.
من الناحية التقنية، يُقدّم WALL-OSS بنية متعددة الوسائط مترابطة بإحكام (بنية MoE مترابطة بإحكام) تجمع بين استراتيجيات نمذجة الإجراءات المنفصلة والمتصلة. من خلال خط تدريب على مرحلتين (Inspiration → Integration)، يوحّد النموذج تدريجياً بين الاستدلال الدلالي وتوليد الإجراءات عالية التردد. وتشمل ابتكاراته الأساسية:
- التدريب المسبق متعدد الوسائط المعزز بالإدراك المتجسد: تدريب واسع النطاق على بيانات موحدة للرؤية واللغة والإجراء لتعزيز الفهم المكاني والسببي والتلاعب.
- سلسلة التفكير الموحدة عبر المستويات (Uni-CoT): إطار قابل للاشتقاق يوحّد الاستدلال التعليمي على المستوى العالي، وتفكيك المهام الفرعية، وتوليد الإجراءات الدقيقة، ليكوّن سلسلة مستمرة من “الفهم” إلى “التنفيذ”.
- رؤوس الإجراءات من نوع خليط الخبراء (MoE): تفعيل الخبراء ديناميكيًا اعتمادًا على مرحلة المهمة، ونمذجة الإجراءات في فضاء منفصل أو متصل للحفاظ على مسبقات نموذج اللغة البصرية (VLM) مستقرة.
- Two-stage training paradigm:
- مرحلة الإلهام: حقن مسبقات إجراء منفصلة لتعزيز الفهم المكاني ومواءمة الدلالات مع الإجراءات.
- مرحلة التكامل: استخدام مطابقة التدفق لتحقيق تحكم مستمر عالي التردد.
متطلبات التثبيت
قم بتثبيت LeRobot باتباع دليل التثبيت الخاص بنا.
قم بتثبيت تبعيات WallX من خلال تشغيل الأمر التالي:
pip install -e ".[wallx]"
الاستخدام
للاستخدام WallX في LeRobot، حدد نوع السياسة على النحو التالي:
policy.type=wall_xتوليد النص والتحكم التفاعلي
تتيح WALL-OSS توليد النص الأصلي من خلال عقد السياسة من جلب سياستك الخاصة.
يوفر وقت التشغيل query_kind وquery_text المملوك للمستدعي قبل تشغيل خط أنابيب الإدخال العادي الخاص بـ WALL-OSS:
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 وصفة نقطة التفتيش قبل ${subtask}. يتجاوز WALL-X مباشرةً واجهة generate_text(processed_batch) العامة لخبير الرؤية واللغة الخاص به من Qwen، ويبلّغ عن هذه القدرة عبر supports_text_generation().
يمكن لبيئة التشغيل التفاعلية للغة توليد مهمة فرعية ثم اشتراط توقع إجراء WALL-OSS عليها:
lerobot-rollout \
--strategy.type=base \
--policy.path=your-org/your-wall-oss-checkpoint \
--robot.type=your_robot_type \
--robot.port=/dev/your_robot_port \
--task="clear the table" \
--interactive=trueبعد /start، استخدم /vqa <question> لـ VQA المستند إلى الصورة أو /autosteer <goal> لتوليد المهام الفرعية التالية المدعومة بوصفة. يتجاوز /subtask <text> التوليد ويرسل تعليمات مباشرةً إلى استنتاج الإجراء.
التدريب
لتدريب WallX، يمكنك استخدام سكربت تدريب LeRobot القياسي مع الإعداد المناسب:
lerobot-train \
--dataset.repo_id=your_dataset \
--policy.type=wall_x \
--output_dir=./outputs/wallx_training \
--job_name=wallx_training \
--policy.repo_id=your_repo_id \
--policy.pretrained_name_or_path=x-square-robot/wall-oss-flow \
--policy.prediction_mode=diffusion \
--policy.attn_implementation=eager \
--steps=3000 \
--policy.device=cuda \
--batch_size=32التدريب مع التعليقات اللغوية
يستخدم WALL-X وصفته المدمجة للتدريب من أعمدة اللغة الاختيارية في LeRobot. اضبط recipe_path فقط لاستبدال تلك الوصفة:
lerobot-train \ --dataset.repo_id=your_org/your_language_annotated_dataset \ --policy.type=wall_x \ --policy.pretrained_name_or_path=x-square-robot/wall-oss-flow \ --policy.text_loss_weight=0.01 \ --policy.flow_loss_weight=1.0 \ --policy.device=cuda \ --batch_size=1 \ --steps=20000
تستقبل دورات المساعد المستهدفة خسارة إنتروبيا متقاطعة للرمز التالي، بينما تستقبل تدابير وصفة low_level إشرافًا مستمرًا على تدفق الإجراءات. قد تستقبل الصف أيًا من الهدفين أو كلاهما معًا. يتم استبعاد موجهات المستخدم، والصور، والإحساس الذاتي بالموضع، ورموز استعلام الإجراءات، والتعبئة من خسارة النص. اضبط policy.recipe=null لاستخدام مسار التدريب الأصلي الخاص بـ WALL-OSS القائم على الإجراءات فقط.
راجع أعمدة اللغات والوصفات لمعرفة مخطط التسمية والوصفات المتاحة.
حجج التدريب
| الحُجّة | الوصف |
|---|---|
--dataset.repo_id | معرّف مستودع Hugging Face Hub الخاص بمجموعة بيانات التدريب لديك (على سبيل المثال، lerobot/aloha_sim_insertion_human) |
--policy.type | يحدد استخدام بنية سياسة WallX |
--output_dir | المجلد المحلي الذي سيتم حفظ نقاط التفتيش والتسجيلات الخاصة بالتدريب فيه |
--job_name | معرّف اسم لهذا التدريب (يُستخدم في التسجيل/التتبع) |
--policy.repo_id | معرّف مستودعك على Hugging Face Hub حيث سيتم دفع النموذج المُدرَّب |
--policy.pretrained_name_or_path | المسار إلى أوزان WallX المُدرَّبة مسبقًا للمُبادَرة منها (نقطة التفتيش الرسمية WALL-OSS) |
--policy.prediction_mode | استراتيجية التنبؤ بالإجراء: diffusion أو fast - يستخدم diffusion إزالة الضوضاء التكرارية لتوليد الإجراءات، بينما يستخدم fast التنبؤ بالرمز التالي بدلاً من ذلك |
--policy.attn_implementation | واجهة تنفيذ الانتباه - eager يستخدم انتباه PyTorch القياسي (تشمل البدائل flash_attention_2 أو sdpa) |
--steps | إجمالي عدد خطوات التدريب التي سيتم تنفيذها |
--policy.device | الجهاز الذي سيتم التدريب عليه (cuda للوحدة الرسومية، cpu لوحدة المعالجة المركزية) |
--batch_size | عدد العينات في دفعة التدريب |
يستخدم تدريب اللغة policy.text_loss_weight (الافتراضي 0.01)، وpolicy.flow_loss_weight (الافتراضي 1.0)، وpolicy.tokenizer_max_length (الافتراضي 768). يمكن لـpolicy.recipe_path أن يستبدل الوصفة المدمجة اختيارياً.
رخصة
يتبع هذا النموذج رخصة Apache 2.0، بما يتوافق مع مستودع WallX الأصلي.
Update on GitHub