LeRobot documentation
Wall-OSS-0.5
Wall-OSS-0.5
Wall-OSS-0.5, XSquare Robot tarafından geliştirilen 4B görme-dil-aksiyon modelidir. Qwen2.5-VL görme-dil omurgasını sürekli akış eşleştirme (flow-matching) aksiyon uzmanıyla birleştirir.
LeRobot, Wall-OSS-0.5'i wall_oss_05 politika türü ve lerobot/wall-oss-0.5 kontrol noktası aracılığıyla sağlar.
wall_oss_05ve mevcutwall_xpolitikası farklı WALL sürümlerini hedefler.wall_oss_05'i Wall-OSS-0.5 kontrol noktasıyla kullanın.
Model Genel Bakış
Wall-OSS-0.5, eylem üretimini kamera gözlemlerine, robot durumuna ve doğal dilde bir göreve koşullandırır. Politika, akış eşleştirmesi (flow matching) ile sürekli eylemlerin bir dilimini tahmin eder. Görsel-dil uzmanı, altyazı oluşturma, görsel soru-cevap, yerelleştirme (grounding) ve dil alt görevleri için metin de üretebilir.
Yayınlanan model şunları kullanır:
- 26 boyutlu kanonik durum ve eylem temsili;
- 32 adımlık eylem parçaları;
- q01/q99 aralığı normalizasyonu;
- 10 adımlı bir akış örnekleyici;
- Görsel ve dil girdileri için Qwen2.5-VL.
Temel kontrol noktası, dağıtım öncesinde hedef robot ve görev veri seti üzerinde ince ayar yapmak için tasarlanmıştır.
LeRobot Entegrasyonunun Kapsamı
- Standart
policy.type=wall_oss_05yapılandırması ve Hub kontrol noktası yükleme. - Yerel Qwen2.5-VL görme-dil işleme ve Wall eylem uzmanları.
- Sürekli x-tahmin akış eğitimi ve 10 adımlı Euler örneklemesi.
- Tarife dayalı metin çapraz entropisi ve ortak metin/aksiyon ince ayarı.
- VQA, yerelleştirme, altyazı ve dil alt görevleri için yerel metin üretimi.
- LeRobot'un etkileşimli dağıtımı (rollout) aracılığıyla doğrudan metin üretimi.
- LeRobot q01/q99 işlemcilerini kullanarak 26D durum ve eylem girdilerini standart hale getirin.
lerobot-trainile ince ayar ve standart politika API'leri üzerinden çıkarım.
Kurulum Gereksinimleri
Wall-OSS-0.5, CUDA destekli bir NVIDIA GPU gerektirir. LeRobot'u politika bağımlılıklarıyla yükleyin:
pip install "lerobot[wall_oss_05]"LeRobot kaynak kodu denetimi için:
uv sync --extra wall_oss_05Politika, LeRobot içinde yerel olarak uygulanmıştır. Tek politika özel bağımlılığı Transformers'tır; ayrı bir Wall-X kopyası gerekmez. Tarif destekli işleme ayrıca veri seti ekini gerektirir. Dil sorguları veya eğitim için uv sync --extra wall_oss_05 --extra training komutunu çalıştırın (eğitim, veri seti desteğini içerir). Veri seti ekinden bağımsız, yalnızca eylem işleme için --policy.recipe=null değerini ayarlayın.
Kontrol Noktaları
| Varyant | LeRobot kontrol noktası | Kullanım amacı |
|---|---|---|
| Base 4B | lerobot/wall-oss-0.5 | Kanonik 26D ince ayarı ve dağıtımı |
Kontrol noktası, politika yapılandırmasını, Qwen işlemcisini ve belirteç oluşturucuyu, model ağırlıklarını, kaydedilmiş LeRobot ön/son işlemcilerini, normalizasyon istatistiklerini ve dönüştürme meta verilerini içerir. Bu bir temel kontrol noktasıdır: görev düzeyinde sonuçları raporlamadan önce, hedef robot ve görev üzerinde ince ayar yapın.
Kullanım
Şu politikayı seçin:
--policy.type=wall_oss_05
LeRobot kontrol noktasından şu komutla başlatın:
--policy.path=lerobot/wall-oss-0.5
Kaydedilmiş bir LeRobot kontrol noktasını değerlendirirken veya dağıtırken --policy.path=your-org/your-finetuned-checkpoint kullanın.
Metin ve VQA
Wall-OSS-0.5, paylaşılan politika metni sözleşmesini kullanır. Çalışma zamanı query_kind ve query_text değerlerini sağlar, ardından normal politika girdi işleyicisini çalıştırır:
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 çağıranın sorusunu korur. next_subtask, WallOSS05Config'e ait olan tarifi uygular. Politika, generate_text(processed_batch) metodunu devralır ve supports_text_generation ile generate_text metodlarını yeniden tanımlar. Üretim, kontrol noktasının bağlı Qwen sözlük başlığını ve görsel-dil uzmanını kullanır; ayrı bir VLM çağrısı yapılmaz.
Dil çalışma zamanı bir alt görev oluşturabilir ve ardından Wall’ın eylem tahminini buna koşullandırabilir:
lerobot-rollout \
--policy.path=your-org/your-finetuned-wall-oss-0.5 \
--policy.device=cuda \
--task="clear the table" \
--interactive=true/start komutundan sonra /vqa <question>, /autosteer <goal> veya /subtask <text> kullanın.
Wall, faydalı gömülü VQA ve yerelleştirme yeteneklerini korur; ancak robot gözlemleri için özelleştirilmiştir ve genel amaçlı bir VLM'nin yerini alması amaçlanmamaktadır.
Veri Gereksinimleri
Wall-OSS-0.5, içsel olarak standart bir 26D durum ve eylem düzeninde çalışır.
Daha dar durum ve eylem özellikleri, yerel veri seti istatistikleriyle normalize edilir ve ardından model için 26D'ye sıfır dolgusuyla genişletilir. Dolgulu eylem boyutları eğitim kaybından hariç tutulur. Çıktılar, normalizasyonun kaldırılmasından önce veri setinin eylem genişliğine kırpılır: 8D durum ve 7D eylemler, 7D eylemler döndürür. postprocess_action_dim ek bir çıktı kırpma uygulayabilir. Dolgu, eklem koordinatlarını veya denetleyici kurallarını yeniden eşlemez; uyumlu değerler sağlayın.
Görsel girdileri camera_key_mapping ile yapılandırın. Eşleme, her LeRobot görsel özelliğini bir Wall kamera yuvasıyla ilişkilendirir. Varsayılan checkpoint face_view ve right_wrist_view kullanır.
Veri seti görev dizisi, dil talimatı olarak politika iletilir. Kayıt, eğitim ve değerlendirme sırasında tutarlı görev açıklamaları kullanın.
Durum ve eylem q01/q99 normalizasyonu, kaydedilmiş LeRobot ön işleyicisi ve son işleyicisi tarafından yönetilir. Çıkarım, checkpoint ile kaydedilen istatistikleri geri yükler. lerobot-train ile ince ayar yapıldığında, eğitim veri seti istatistikleri ön eğitilmiş işleyici istatistiklerinin yerini alır ve yeni checkpoint ile birlikte kaydedilir.
Yayınlanan checkpoint, yerel LeRobot policy durum sözlüğünü ve güncel ön/son işlemci biçimini kullanır. Ağırlıklar, dağıtık toplama işlemlerini ve ana süreç yazma kapısını içeren paylaşılan policy kalıcılık kodu üzerinden yüklenir ve kaydedilir. Yapılandırma, kararlı bir tokenizer varlık referansını korur ve herhangi bir çalışma dizininden yüklenebilir.
Eğitim
Standart LeRobot eğitim komutuyla temel kontrol noktasını ince ayarlayın:
Eğitim Komutu Örneği
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, 4B parametreli bir model olduğu için küçük bir batch size ile başlayın. Mevcut GPU belleğine göre artırın veya dağıtık eğitim yapılandırmanız aracılığıyla gradient accumulation kullanın.
Farklı kamera adlarına sahip veri setleri için, özellik anahtarlarını Wall kamera yuvalarına eşleyin. Örneğin, top ve wrist için aşağıdaki seçeneği ekleyin:
--policy.camera_key_mapping='{"observation.images.top":"face_view","observation.images.wrist":"right_wrist_view"}'Fine-tuning, temel checkpoint'i --policy.path ile yüklerken dahil olmak üzere, kamera şekillerini ve durum/aksiyon genişliklerini veri setinden çözer.
Dil açıklamalarıyla eğitin
WallOSS05Config tarafından sahip olunan tarif, varsayılan olarak LeRobot'un isteğe bağlı dil sütunlarını kullanır. Birleşik alt görev tarifi, asistan yanıtını ve sürekli eylem parçasını tek bir nedensel dizide denetler:
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=20000Tarif akışları, her örnek için hangi hedeflerin çalıştırılacağını belirler:
- hedefli bir asistan turu, sonraki token metin çapraz entropisini alır;
- a
low_leveldönüşü sürekli akış-aksiyon denetimi alır; ve - a
low_leveltarifi, hedeflenmiş bir asistan turu içerdiğinde, her iki kaybı da alır; eylem jetonları, denetimli metne dikkat eder.
Yalnızca hedeflenen asistan yükü ve <|im_end|> token'ı dil etiketleri olarak kullanılır. Kullanıcı istemleri, dolgu, görüntüler, propriosepsiyon ve sürekli eylem-sorgu token'ları metin çapraz entropisinden maskelenir. Anotasyonu olmayan satırlar, orijinal yalnızca eylem içeren istem ve kaybı korur. Anotasyon işleme devre dışı bırakmak için use_language_recipe=false değerini ayarlayın veya her iki tarife işleyicisini de devre dışı bırakmak için recipe=null değerini ayarlayın. Açıkça belirtilen bir recipe_path, yerleşik tarifin üzerine yazar. Yeni ince ayar, işlemcileri bu tariften ve eğitim istatistiklerinden yeniden oluşturur; devam eden eğitim ve dağıtım ise kontrol noktasında kaydedilen işlemcileri ve istatistikleri geri yükler.
Annotasyon şeması ve reçete yapısı için Dil sütunları ve reçeteler bölümüne bakın. recipe_path, açık bir harici YAML geçersiz kılma dosyasına işaret edebilir; LeRobot ortak varsayılan reçete dosyaları sağlamaz.
Temel Yapılandırma Parametreleri
| Parametre | Varsayılan | Açıklama |
|---|---|---|
pretrained_name_or_path | lerobot/wall-oss-0.5 | Tokenizer ve image-processor varlık kaynağı |
tokenizer_revision | None | Ağırlık revizyonundan ayrı, isteğe bağlı temel belirleyici sabitleme |
chunk_size | 32 | Her parça için tahmin edilen eylem sayısı |
n_action_steps | 32 | Yeniden planlamadan önce yürütülen tahmini eylem sayısı |
camera_key_mapping | yüz ve sağ bilek görünümleri | Görüntü özellik anahtarlarını model kamera yuvalarıyla ilişkilendirir |
use_language_recipe | true | Yapılandırma politikasında saklanan tarifi etkinleştirir |
recipe_path | None | İsteğe bağlı açık dış tarif geçersiz kılma |
text_loss_weight | 0.1 | Gözetimli asistan-jetonu çapraz entropisi için ağırlık |
flow_loss_weight | 1.0 | Sürekli akış-aksiyon kaybı için ağırlık |
tokenizer_max_length | 1000 | Maksimum ortak görü-dil-aksiyon belirteç dizisi uzunluğu |
device | auto | Wall-OSS-0.5 için cuda kullanın |
Değerlendirme ve Çıkarım
Standart LeRobot değerlendirme veya robot rollout iş akışlarında, ince ayarlanmış bir kontrol noktasını kullanmak için Hub deposunu veya yerel dizinini politika yolu olarak iletin.
Wall-OSS-0.5, akış örnekleyicisiyle sürekli eylem parçacıkları üretir. Mevcut politika, sürekli akış dalını destekler; otoregresif eylem dalı dışa açılmamıştır.
Her parça, kamera görüntülerini kodlar ve gözlem/metin önekini bir kez önceden doldurur. On Euler adımı, önek anahtarlarını ve değerlerini yeniden kullanır ve yalnızca eylem jetonlarını çözer. Önbellek, her yeni gözlem için yeniden oluşturulur.
Desteklenen bir simülatör için, ince ayarlanmış kontrol noktasını ve ortamla ilgili seçenekleri lerobot-eval üzerinden sağlayın:
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
Taban kontrol noktasını görev-özel bir politika gibi değerlendirmeyin. Kanonik gösterim, normalizasyon istatistikleri ve görev dağılımı ince ayarlanmış kontrol noktasıyla eşleşmelidir.
Referanslar
Lisans
Wall-OSS-0.5 ve Wall-X, Apache 2.0 Lisansı altında yayınlanmıştır.
Update on GitHub