LeRobot documentation

WALL-OSS

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

and get access to the augmented documentation experience

to get started

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 على بناء نموذج أساسي متجسد لالتقاط وضغط أكثر بيانات العالم قيمةً: تدفق التفاعل الفيزيائي المستمر عالي الدقة. من خلال إنشاء حلقة تغذية راجعة مباشرة بين قرارات النموذج والتجربة الحية للجسم، يتم تمكين ظهور ذكاء قابل للتعميم حقًا — ذكاء لا يفهم فقط كيف يعمل العالم، بل كيف يتصرف بفعالية داخله.

An overview of WALL-OSS

من الناحية التقنية، يُقدّم WALL-OSS بنية متعددة الوسائط مترابطة بإحكام (بنية MoE مترابطة بإحكام) تجمع بين استراتيجيات نمذجة الإجراءات المنفصلة والمتصلة. من خلال خط تدريب على مرحلتين (Inspiration → Integration)، يوحّد النموذج تدريجياً بين الاستدلال الدلالي وتوليد الإجراءات عالية التردد. وتشمل ابتكاراته الأساسية:

  • التدريب المسبق متعدد الوسائط المعزز بالإدراك المتجسد: تدريب واسع النطاق على بيانات موحدة للرؤية واللغة والإجراء لتعزيز الفهم المكاني والسببي والتلاعب.
  • سلسلة التفكير الموحدة عبر المستويات (Uni-CoT): إطار قابل للاشتقاق يوحّد الاستدلال التعليمي على المستوى العالي، وتفكيك المهام الفرعية، وتوليد الإجراءات الدقيقة، ليكوّن سلسلة مستمرة من “الفهم” إلى “التنفيذ”.
  • رؤوس الإجراءات من نوع خليط الخبراء (MoE): تفعيل الخبراء ديناميكيًا اعتمادًا على مرحلة المهمة، ونمذجة الإجراءات في فضاء منفصل أو متصل للحفاظ على مسبقات نموذج اللغة البصرية (VLM) مستقرة.
  • Two-stage training paradigm:
    • مرحلة الإلهام: حقن مسبقات إجراء منفصلة لتعزيز الفهم المكاني ومواءمة الدلالات مع الإجراءات.
    • مرحلة التكامل: استخدام مطابقة التدفق لتحقيق تحكم مستمر عالي التردد.

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

  1. قم بتثبيت LeRobot باتباع دليل التثبيت الخاص بنا.

  2. قم بتثبيت تبعيات 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