LeRobot documentation

LeRobot Eğitim İçin Hesaplama Donanımı Kılavuzu

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

LeRobot Eğitim İçin Hesaplama Donanımı Kılavuzu

LeRobot politikası eğitmek için yaklaşık boyutlandırma: Her politikanın ne kadar VRAM'e ihtiyacı olduğu, eğitim süresinin nasıl göründüğü ve yerel donanım yeterli olmadığında nerede çalıştırılacağı.

Aşağıdaki sayılar gösterge niteliğindedir — donanım seçimi için büyüklük mertebesi değerleridir, kesin tahminler değildir. Verimlilik, veri seti girdi/çıkışı, görüntü çözünürlüğü, parti boyutu ve GPU sayısına büyük ölçüde bağlıdır.

Politika grubuna göre bellek

Policies, omurga boyutuna göre kümelenir; aşağıdaki gruplamalar, her politika için sayıları tekrarlamak yerine grup başına tek bir VRAM sınırı verir. Bellek, batch boyutuyla yaklaşık doğrusal olarak ölçeklenir; AdamW (LeRobot varsayılanı), yalnızca ileri+geri geçişe kıyasla ~%30–100 ekleyen optimizör durumu taşır.

GrupPolitikalarZirve VRAM (BS 8, AdamW)Uygun başlangıç GPU'ları
Light BCact, vqbet, tdmpc~2–6GBLaptop GPU (RTX 3060), L4, A10G
Diffusiondiffusion, multi_task_dit~8–14GBRTX 4070+ / L4 / A10G
Küçük VLAsmolvla~10–16GBRTX 4080+ / L4 / A10G
Büyük VLApi0, pi0_fast, pi05, xvla, wall_x~24–40GBA100 40 GB+ (BS 1'de 24 GB dar)
Çok Modallıgroot, eo1~24–40GBA100 40 GB+
RLsacconfig-dep.HIL-SERL kılavuzu

Bellek kısıtlı mı? Batch boyutunu düşürün (~doğrusal), etkin batch boyutunu geri kazanmak için gradyan biriktirme kullanın veya SmolVLA için freeze_vision_encoder=True bırakın.

Eğitim süresi

Robotik imitasyon öğrenmesi genellikle ham adım sayıları yerine veri seti üzerinde 5–10 epoch içinde yakınsar. Epoch sayısını bildiğinizde, duvar saati süresi temelde şudur:

total_frames    = sum of frames over all episodes      # 50 ep × 30 fps × 30 s ≈ 45,000
steps_per_epoch = ceil(total_frames / (num_gpus × batch_size))
total_steps     = epochs × steps_per_epoch
wall_clock      ≈ total_steps × per_step_time

Adım başına süre, politika ve GPU'ya bağlıdır. Aşağıdaki tablodaki sayılar referans noktalarıdır — kendi kurulumunuza en yakın satırı seçin ve daha uzun veya daha kısa süre eğitim yapıyorsanız total_steps ile lineer olarak ölçekleyin.

Yaygın senaryolar

~50 epizodluk bir veri setinde (~45k kare, 30 fps × 30 sn) 5 epoch için gösterge niteliğinde duvar saati süresi, varsayılan optimizör (AdamW), 640×480 görüntüler:

KurulumPolitikaTopluGerçek zaman
Tek RTX 4090 / RTX 3090 (24 GB)act8~30–60dk
Tek RTX 4090 / RTX 3090 (24 GB)diffusion8~2–4h
Tek L4 / A10G (24 GB)act8~1–2h
Tek L4 / A10G (24 GB)smolvla4~3–6h
Tek A100 40 GBsmolvla16~1–2h
Tek A100 40 GBpi0 / pi054~4–8h
4× H100 80 GB kümesi (accelerate)diffusion32~30–60dk
4× H100 80 GB kümesi (accelerate)smolvla32~1–2h
Apple Silicon M1/M2/M3 Max (MPS)act4~6–14h

Bunlar büyüklük sırası (order-of-magnitude) değerleridir. Gerçek çalıştırmalar, görüntü çözünürlüğü, veri seti girdi/çıkışı, dataloader iş parçacıkları (threading) ve tam GPU SKU'suna bağlı olarak ±%50 sapma gösterebilir. Bunlar, "bu çalıştırma bir saat mi yoksa bir gün mü sürecek?" sezgisi için faydalıdır; SLA'lar olarak kullanılmamalıdır.

Çoklu GPU çok önemlidir

accelerate launch --num_processes=N, eğitim süresini kısaltmanın en kolay yoludur. Her optimizasyon adımı, tek GPU'lu bir adımla yaklaşık aynı duvar saati süresinde N × batch_size örnek işler; bu nedenle hesaplama kısıtlı çalışmalarda 4 GPU ≈ 4× hızlanma sağlar. Tam kurulum için Multi GPU training kılavuzuna bakın.

4×H100 80 GB kümesindeki referans veri noktaları (accelerate launch --num_processes=4), 5000 adım, batch 32, AdamW, veri seti imstevenpmwork/super_poulain_draft (~50 bölüm, ~640×480 görüntüler):

PolitikaGerçek zamanupdate_sdataloading_sGPU kullanımıÖne çıkan bayraklar
diffusion16m 17s0.1670.015~90%varsayılanlar (sıfırdan eğitim)
smolvla27m 49s0.3120.011~80%--policy.path=lerobot/smolvla_base, freeze_vision_encoder=false, train_expert_only=false
pi053h 41m2.5480.014~95%--policy.pretrained_path=lerobot/pi05_base, gradient_checkpointing=true, dtype=bfloat16, görü kodlayıcı + uzman eğitildi

Eğitim günlükleri, tam yinelemeyi dataloading_s (next(dl_iter)), preprocessing_s (görsel dönüştürme ve politika hattı) ve update_s (optimizör güncellemesi) olarak ayırır. step_s bu üçünü de kapsar ve samples_per_s değerini belirler. Yukarıdaki ölçüm bu bölünmeden önce yapıldığından, dataloading_s değeri ön işleme adımını da içerir.

Zamanlama ve denetim noktaları

Eğitimi kısaltırsanız (ör. küçük bir veri setinde 5k–10k adım), LR zamanlamasını da --policy.scheduler_decay_steps≈--steps ile kısaltın. Aksi halde LR zirvesine yakın kalır ve asla azalmaz. --save_freq için de aynı durum geçerlidir.

Nerede çalıştırılacak

VRAM ilk filtredir. Bir kademede seçim, bütçeye ve erişilebilirliğe göre yapılır — $–$$$$ sütunları görecelidir; fiilen kullandığınız sağlayıcıdaki güncel fiyatları kontrol edin.

SınıfVRAMSeviyeRahat
RTX 3090 / 4090 (tüketici)24 GB$Light BC, Diffusion, SmolVLA. Batch 1'de VLAs için dar.
L4 / A10G (bulut)24 GB$–$$Aynı zarf; Google Cloud, RunPod ve AWS g5/g6 üzerinde yaygındır.
A100 40 GB40 GB$$$Makul parti boyutlarında herhangi bir politika.
A100 80 GB / H100 80 GB80 GB$$$$Çoklu GPU kümeleri; VLAs için büyük topluluklar.
Sadece CPU——Eğitim yapmayın. Colab kullanın veya bir GPU kiralayın.

Hugging Face İş İlanları

Hugging Face Jobs, GPU sahibi olmadan, saniye bazlı faturalandırılan yönetilen HF altyapısında eğitim çalıştırmanızı sağlar. lerobot-train işi sizin için gönderir ve akışını sağlar — normal bir eğitim komutuna --job.target=<flavor> eklemeniz yeterlidir:

lerobot-train \
  --policy.type=act --dataset.repo_id=<USER>/<DATASET> \
  --policy.repo_id=<USER>/act_<task> \
  --job.target=a10g-large

Notlar:

  • Göndermeden önce hf auth login komutunu bir kez çalıştırın; iş, token'ınız altında çalışır.
  • --job.target yukarıdaki tabloya karşılık gelir: t4-small/t4-medium (T4, yalnızca ACT), l4x1/l4x4 (L4 24 GB), a10g-small/large/largex2/largex4 (A10G 24 GB, ölçeklendirilmiş), a100-large (A100). Fiyatlandırma dahil güncel kataloğu hf jobs hardware ile listeleyebilir veya https://huggingface.co/docs/hub/jobs adresine bakabilirsiniz.
  • İş, varsayılan olarak 2d (48 saat) zaman aşımına sahiptir. Zaman aşımını kısaltmak veya uzatmak için --job.timeout=4h (veya başka geçerli bir süre dizgesi) ile geçersiz kılın. İş, komut tamamlandığında otomatik olarak durdurulur.
  • Tam anlatım için — veri seti yükleme, checkpoint akışı, bir işte çalışmayı sürdürme — imitation-learning eğitim kılavuzu'na bakın.
Update on GitHub