AY-Robots नीति तुलना तालिका जिसमें GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA और ACT के लिए पैरामीटर गणना, GPU टियर और अनुमान विलंबता शामिल है
SmolVLATinyVLAछोटे VLAउपभोक्ता GPULeRobot

छोटे VLA मॉडल: TinyVLA, SmolVLA और सब-1B केस

AY-Robots ResearchAugust 23, 202619 मिनट का पठन

TinyVLA और SmolVLA 1 बिलियन पैरामीटर के तहत एक कार्यशील VLA प्रदान करते हैं। दोनों पेपरों से वास्तविक संख्याएँ, lerobot डिफ़ॉल्ट, मापी गई विलंबता, और 24 GB कार्ड पर एक रन की लागत।

लगभग हर विजन-लैंग्वेज-एक्शन मॉडल जिसके बारे में लिखा जाता है, वह एक डेटासेंटर कार्ड मानता है। OpenVLA में 7 बिलियन पैरामीटर हैं। GR00T N1.7 और Pi0.5 लगभग 3 बिलियन हैं और फाइन-ट्यून करने के लिए एक A100 80 GB चाहते हैं। यदि आपके डेस्क पर कार्ड 4090 है, तो उस श्रेणी का मॉडल पहुंच से बाहर है।

दो पेपर तर्क देते हैं कि आपको इसकी आवश्यकता नहीं है। TinyVLA (arXiv 2409.12514, फरवरी 2025 में IEEE रोबोटिक्स एंड ऑटोमेशन लेटर्स द्वारा स्वीकृत) 400 मिलियन से 1.3 बिलियन बैकबोन और एक डिफ्यूजन एक्शन हेड से एक VLA बनाता है। SmolVLA (arXiv 2506.01844, 2 जून 2025 को प्रस्तुत) 450 मिलियन पैरामीटर खुले वज़न, खुले डेटा और एक स्क्रिप्ट के साथ भेजता है जो एक उपभोक्ता कार्ड पर चलती है। यहां बताया गया है कि दोनों ने क्या मापा, और जहां सब-1 बिलियन का तर्क मान्य नहीं रहता।

आपको क्या जानने की आवश्यकता है

  • TinyVLA तीन आकार में आता है: 422 मिलियन कुल जिसमें 101 मिलियन प्रशिक्षित करने योग्य हैं, 740 मिलियन जिसमें 138 मिलियन हैं, 1.3 बिलियन जिसमें 143 मिलियन हैं। केवल पहले दो 1 बिलियन से कम हैं।
  • इसकी तालिका IV एक A6000 पर TinyVLA-1B के लिए प्रति एक्शन प्रेडिक्शन 14 मिलीसेकंड मापती है, जबकि OpenVLA-7B के लिए 292 मिलीसेकंड और एक सिकुड़े हुए OpenVLA-1B के लिए 140 मिलीसेकंड।
  • हेड उस गति को बनाए रखता है, न कि बैकबोन: TinyVLA-H के डिफ्यूजन हेड को ACT हेड से बदलें और पांच वास्तविक-रोबोट कार्य 94.0 औसत से एकल अंकों में गिर जाते हैं। एक MLP हेड हर जगह 0 स्कोर करता है।
  • SmolVLA 450 मिलियन है, जिसमें से लगभग 100 मिलियन एक्शन एक्सपर्ट है, जिसे 481 सामुदायिक LeRobot डेटासेट और 10.6 मिलियन फ़्रेम पर प्रीट्रेन किया गया है। यह LIBERO पर 87.3 रिपोर्ट करता है, जबकि 3.3 बिलियन पर रोबोटिक्स-प्रीट्रेन किए गए Pi0 के लिए 86.0, और तीन वास्तविक SO-100 कार्यों पर 78.3, जबकि 3.5 बिलियन पर Pi0 के लिए 61.7।
  • उस प्रीट्रेनिंग के बिना एकल-कार्य पर प्रशिक्षित, SmolVLA उन कार्यों पर 40.0 तक गिर जाता है, जो ACT के 48.3 से कम है। छोटा होना स्वचालित रूप से आसान नहीं है।
  • TinyVLA में कोई LeRobot एकीकरण नहीं है और यह एक CUDA 11.7 व्हील स्टैक को पिन करता है। SmolVLA lerobot में है और यहां 24 GB टियर पर प्रति रन लगभग 1 से 3 USD खर्च होता है।

वास्तव में एक छोटा VLA क्या माना जाता है

एक मॉडल कार्ड पर पैरामीटर गणना एक संख्या नहीं होती है। इसका मतलब कुल भार, अनुमान के समय लोड किए गए भार, या वे भार हो सकते हैं जिन्हें ग्रेडिएंट प्राप्त होते हैं । TinyVLA दोनों की रिपोर्ट करता है, और अंतर बड़ा है: TinyVLA-H कुल 1.3 B है लेकिन 143 M प्रशिक्षित करने योग्य है, क्योंकि विजन टावर और अधिकांश भाषा मॉडल स्थिर रहते हैं जबकि LoRA एडेप्टर और एक्शन हेड चलते हैं। पेपर में प्रशिक्षित करने योग्य हिस्सेदारी लगभग 5 प्रतिशत बताई गई है।

मॉडलपैरामीटर्सबैकबोनएक्शन हेडस्रोत
TinyVLA-S422 M कुल, 101 M प्रशिक्षित करने योग्यLlava-Pythia ~400 MDiffusion (droid_diffusion U-Net)arXiv 2409.12514
TinyVLA-B740 M कुल, 138 M प्रशिक्षित करने योग्यLlava-Pythia ~700 MDiffusionarXiv 2409.12514
TinyVLA-H1.3 B कुल, 143 M प्रशिक्षित करने योग्यLlava-Pythia ~1.3 BDiffusionarXiv 2409.12514
SmolVLA450 M, ~100 M एक्शन विशेषज्ञSmolVLM2-500M-Video-InstructFlow matching expertarXiv 2506.01844
Octo-Small27 MViT-S स्केल, T5-बेस टेक्स्ट एनकोडरDiffusionocto-small-1.5 card
ACT~80 MResNet, कोई भाषा मॉडल नहींडायरेक्ट चंक रिग्रेशनAY-Robots catalog
OpenVLA7 BLlama 2 7 B, DINOv2 and SigLIP encodersऑटोरिग्रेसिव एक्शन टोकनarXiv 2406.09246

दो पंक्तियों पर बहस करने लायक है। लगभग 80 M पर यहाँ बाकी सभी से छोटा है लेकिन इसमें कोई भाषा मॉडल नहीं है, इसलिए यह VLA नहीं है: यह एक कार्य सीखता है और इसे दूसरा करने के लिए नहीं कहा जा सकता। 27 M पर T5-बेस टेक्स्ट एनकोडर के माध्यम से कंडीशन किया जाता है, न कि LLM बैकबोन के माध्यम से। अच्छे बेसलाइन, लेकिन कोई भी आपको वह निर्देश पालन नहीं देता है जो लेबल इंगित करता है।

1 B की सीमा मनमानी है

TinyVLA-H, वह वेरिएंट जो मुख्य परिणाम देता है, 1.3 B है और इस सीमा से ऊपर है। बेहतर सवाल यह है कि क्या एक मॉडल प्रशिक्षण के दौरान 24 GB में फिट होता है और अनुमान के समय आपकी नियंत्रण दर को पूरा करता है। आप यहाँ जिन पाँच नीतियों को प्रशिक्षित कर सकते हैं, वे नीतियों के पृष्ठ पर हैं; यदि आप इसके नंबर दूसरों के साथ देखना चाहते हैं तो TinyVLA का एक एरेना एंट्री है।

TinyVLA: गति हेड से आती है, बैकबोन से नहीं

स्पष्ट व्याख्या यह है कि उन्होंने भाषा मॉडल को छोटा कर दिया, जिससे वह तेज़ हो गया। पेपर का एब्लेशन इसके विपरीत कहता है। OpenVLA के 7 B बैकबोन को लगभग 1 B वाले से बदलने पर प्रति-एक्शन प्रेडिक्शन 292 ms से घटकर 140 ms हो गया, जो 2x का लाभ है। TinyVLA-H, तुलनीय पैरामीटर गणना पर, उसी कार्ड पर 14 ms पर चलता है। अन्य 10x एक्शन हेड है।

मॉडलप्रति-एक्शन प्रेडिक्शनमापा गया
OpenVLA-7B292 mssingle A6000
OpenVLA-1B, backbone swapped for TinyVLA's140 mssingle A6000
TinyVLA-1B (TinyVLA-H)14 mssingle A6000

OpenVLA भाषा मॉडल हेड के माध्यम से असतत टोकन के रूप में एक्शन उत्सर्जित करता है, प्रति एक्शन आयाम एक, ऑटोरेग्रेसिव रूप से। TinyVLA एक डिफ्यूजन डिकोडर संलग्न करता है जो पूरे चंक को एक ही बार में उत्पन्न करता है। तालिका V TinyVLA-H पर आर्किटेक्चर को दर्शाती है और उसी पांच वास्तविक-रोबोट कार्यों पर केवल हेड को बदलती है। यह किसी भी पेपर में इस तर्क के लिए सबसे स्पष्ट प्रमाण है कि फ्लो मैचिंग नीतियां बनाती हैं, और यही कारण है कि Pi0 टोकन डिकोडिंग से दूर चला गया

TinyVLA-H पर हेडटेनिस रखेंमग पलटेंक्यूब्स स्टैक करेंदराज बंद करेंबॉक्स खोलें
डिफ्यूजन (droid_diffusion)90.098.398.396.786.7
एक्शन चंकिंग ट्रांसफार्मर13.38.38.313.323.3
मल्टी-लेयर परसेप्ट्रॉन00000
TinyVLA के नंबर क्या दर्शाते हैं

292 / 140 / 14 ms के आंकड़े तालिका IV के हैं, सभी एक A6000 पर। ये प्रति एक्शन भविष्यवाणी के लिए हैं और इसमें कैमरा कैप्चर, प्रीप्रोसेसिंग और सर्वो को सीरियल राइट शामिल नहीं है। प्रकाशित विलंबता को निचली सीमा मानें, कभी भी नियंत्रण दर के रूप में नहीं। हमारे अपने नंबरों की भी यही सीमा है: इन्फ्रेंस विलंबता देखें।

TinyVLA ने क्या स्कोर किया

बेंचमार्कप्रोटोकॉलTinyVLA-Hबेसलाइन
मेटावर्ल्ड, 50 कार्य, सिममल्टी-टास्क, 50 डेमो, 3 सीड्स77.6 / 21.5 / 11.4 / 15.8 कठिनाई के अनुसार, औसत 31.6डिफ्यूजन पॉलिसी औसत 10.5
रियल फ्रैंका पांडा, 5 कार्यप्रति कार्य 100 ट्रेजेक्टरी, 20 परीक्षण94.0 औसतओपनवीएलए 68.3, डिफ्यूजन पॉलिसी 35.3
द्वि-मैनुअल UR5, 3 कार्यमल्टी-टास्क, प्रति कार्य 10 परीक्षण76.7 / 36.7 / 30.0ओपनवीएलए 0 / 0 / 0, डिफ्यूजन पॉलिसी 40.3 / 31.3 / 43.0

द्वि-मैनुअल पंक्ति की एक नीरस व्याख्या है जो पेपर स्वयं देता है: OpenVLA को Open X-Embodiment पर प्रीट्रेन किया गया है, जिसमें पूरी तरह से सिंगल-आर्म डेटा शामिल है, इसलिए दो-आर्म एक्शन स्पेस डिस्ट्रीब्यूशन से बाहर है और यह शून्य स्कोर करता है। डिफ्यूजन पॉलिसी बेसलाइन उन तीन कार्यों में से दो पर TinyVLA-H को हरा देती है। पृष्ठभूमि ओपन एक्स-एम्बॉडमेंट राइट-अप.

AY-Robots एरिना लीडरबोर्ड, 85 VLA मॉडलों की एक सॉर्टेबल तालिका जिसमें 332 बेंचमार्क परिणाम हैं, प्रत्येक मान उस पेपर या मॉडल कार्ड से जुड़ा हुआ है जहाँ से यह आया है
क्रॉस-मॉडल बेंचमार्क संख्याएँ तभी तुलनीय होती हैं जब आप देख सकें कि प्रत्येक कहाँ से आई है।

TinyVLA रेपो, अगस्त 2026 तक

यह पेपर अच्छा है। कोड एक रिसर्च ड्रॉप है। रिपॉजिटरी github.com/liyaxuanliyaxuan/TinyVLA है; इसकी README कोड रिलीज़ की तारीख 17 फरवरी 2025 और अंतिम कमिट 11 मार्च 2025 बताती है। एक पेपर को पुनरुत्पादित करने के लिए ठीक है, लेकिन यदि आप एक अनुरक्षित लाइब्रेरी चाहते हैं तो यह एक समस्या है।

bash
git clone https://github.com/liyaxuanliyaxuan/TinyVLA
conda create -n tinyvla python=3.10 -y
conda activate tinyvla
pip install --upgrade pip
pip install -r requirements.txt
cd policy_heads && pip install -e .
cd ../llava-pythia && pip install -e .
TinyVLA README से इंस्टॉलेशन अनुक्रम, 2026-08-23 को रिपॉजिटरी के विरुद्ध जाँच की गई।
डिपेंडेंसी पिन एक दिन बर्बाद करने वाला जाल है

requirements.txt pins torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4, and the CUDA stack to the 11.x wheels: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. The README asks for Python 3.10; lerobot 0.6.1 requires 3.12 or newer, so the two cannot share an environment. Confirm a torch 2.0.1 build exists for your GPU generation first. If a run dies on VRAM instead, the आउट-ऑफ-मेमोरी चेकलिस्ट अनुमान लगाने से तेज़ है।

TinyVLA भी नहीं पढ़ता है LeRobot डेटासेट. इसका प्रारूप ACT-शैली का HDF5 है: एक्शन, language_raw, और मल्टी-व्यू इमेज, joint_positions, qpos और qvel के साथ एक ऑब्जर्वेशन ग्रुप। रेपो RLDS इनपुट के लिए data_utils/rlds_to_h5py.py भेजता है, और प्रत्येक कार्य को aloha_scripts/constants.py में उसके dataset_dir, episode_len और camera_names के साथ मैन्युअल रूप से पंजीकृत किया जाता है। यदि आपके एपिसोड lerobot या डेस्कटॉप क्लाइंट से आए हैं, तो रूपांतरण की जिम्मेदारी आपकी है।

bash
# scripts/train.sh, the real flags from the repository
ACTION_HEAD=droid_diffusion

deepspeed --master_port 29600 --num_gpus=8 --num_nodes=1 ./train_tinyvla.py \
  --deepspeed scripts/zero2.json \
  --lora_enable True \
  --lora_module 'vit llm' \
  --lora_r 64 \
  --lora_alpha 256 \
  --non_lora_lr 2e-5 \
  --task_name "example_task_config" \
  --model_name_or_path /path/to/pretrained_vlm \
  --freeze_vision_tower True \
  --freeze_backbone True \
  --bf16 True \
  --max_steps 10000 \
  --per_device_train_batch_size 32 \
  --gradient_accumulation_steps 1 \
  --learning_rate 2e-4 \
  --lr_scheduler_type "cosine" \
  --warmup_ratio 0.005 \
  --save_steps 1000 \
  --action_head_type $ACTION_HEAD \
  --use_state True \
  --window_size 6
scripts/train.sh से संक्षिप्त। ऊपर दिया गया प्रत्येक फ़्लैग और मान भेजी गई फ़ाइल में है।
  • --num_gpus=8 एक आठ-कार्ड नोड मानता है। इसे 1 पर सेट करें और बैच आकार को 32 से काफी नीचे कर दें। कोई भी सिंगल-GPU वेरिएंट अपस्ट्रीम शिप नहीं होता है, इसलिए कमांड को 4090 पर हूबहू नहीं चलाया जा सकता है।
  • --deepspeed scripts/zero2.json एक ऐसी फ़ाइल की ओर इशारा करता है जो टॉप-लेवल स्क्रिप्ट्स डायरेक्टरी में नहीं है। DeepSpeed कॉन्फ़िग llava-pythia/scripts/zero2.json पर शिप होते हैं। अपनी पहली रन से पहले पाथ को ठीक करें।
  • README के लिए आवश्यक है कि आउटपुट डायरेक्टरी के नाम में llava_pythia शामिल हो, साथ ही यदि LoRA सक्षम है तो lora भी हो।
  • बैकबोन एक अलग डाउनलोड है: lesjie/Llava-Pythia-400M, -700M या -1.3B। कोई एक बेस चेकपॉइंट नहीं है जिस पर आप एक पॉलिसी को इंगित कर सकें, जैसे आप lerobot/smolvla_base पर इंगित करते हैं।

SmolVLA: वह सब-1 B मॉडल जिसे आप आज दोपहर चला सकते हैं

SmolVLA एक अनुरक्षित लाइब्रेरी के भीतर वही तर्क प्रस्तुत करता है। यह SmolVLM2-500M-Video-Instruct बैकबोन पर 450 M पैरामीटर का है, और दक्षता उन सेटिंग्स से आती है जिन्हें आप configuration_smolvla.py से पढ़ सकते हैं, न कि छोटे होने के दावे से।

configuration_smolvla.py में सेटिंगडिफ़ॉल्टयह क्या प्रदान करता है
num_vlm_layers16केवल पहले 16 भाषा मॉडल लेयर चलते हैं
expert_width_multiplier0.75एक्शन एक्सपर्ट का हिडन आकार VLM के 75 प्रतिशत है
self_attn_every_n_layers2क्रॉस-अटेंशन के साथ सेल्फ-अटेंशन इंटरलीव्ड
chunk_size / n_action_steps50 / 50एक पास 50 क्रियाएँ उत्सर्जित करता है और सभी 50 निष्पादित की जाती हैं
num_steps10फ्लो मैचिंग डीनोइजिंग 10 स्टेप्स पर फिक्स किया गया
tokenizer_max_length48निर्देश को 48 टोकन तक छोटा किया गया है
freeze_vision_encoder / train_expert_onlyTrue / Trueफाइन-ट्यूनिंग विशेषज्ञ को स्थानांतरित करती है, न कि विजन टावर को
optimizer_lr, warmup, decay1e-4, 1000 steps, to 2.5e-6 over 30000पेपर की रेसिपी नहीं: इसके प्रीट्रेनिंग में 200000 स्टेप्स पर 100-स्टेप वार्मअप का उपयोग किया गया था

प्रीट्रेनिंग में 481 कम्युनिटी LeRobot डेटासेट, 22.9 K एपिसोड और 10.6 M फ़्रेम का उपयोग 4 GPUs पर, 256 के ग्लोबल बैच पर 200000 स्टेप्स के लिए किया गया; पेपर के अनुसार पूरे प्रोजेक्ट में लगभग 30 K GPU घंटे लगे। एक संख्या जिस पर ध्यान देना है: Hugging Face लॉन्च ब्लॉग में 487 क्यूरेटेड डेटासेट का उल्लेख है जबकि पेपर की तालिका में 481 कहा गया है। हम पेपर के आंकड़े का उपयोग करते हैं और इस असहमति को चिह्नित करते हैं।

AY-Robots पर SmolVLA मॉडल पेज, जिसमें पैरामीटर गणना, 24 GB GPU टियर, प्रति एक्शन स्टेप अनुमान विलंबता और न्यूनतम एपिसोड गणना दिखाई गई है।
प्लेटफ़ॉर्म का SmolVLA पेज: 450 M पैरामीटर, प्रति एक्शन स्टेप 245 ms, RTX 4090 टियर, न्यूनतम 30 एपिसोड।
बेंचमार्कSmolVLA 0.45 BSmolVLA 2.25 BPi0ACT
LIBERO औसत, मल्टी-टास्क87.388.7586.0 (3.3 B, robotics-pretrained)-
Meta-World औसत, मल्टी-टास्क57.368.2447.9 (3.5 B, robotics-pretrained)-
वास्तविक SO-100, 3 कार्य, मल्टी-टास्क प्रशिक्षण78.3-61.7 (3.5 B)-
वास्तविक SO-100, 3 कार्य, सिंगल-टास्क, कोई रोबोटिक्स प्रीट्रेनिंग नहीं40.0--48.3
SO-101 लेगो पिक-प्लेस, सिंगल-टास्क, इन-डिस्ट्रीब्यूशन90--70
SO-101 लेगो पिक-प्लेस, सिंगल-टास्क, आउट-ऑफ-डिस्ट्रीब्यूशन50--40
पूरी तालिका पढ़ें, न कि केवल शीर्षक पंक्ति

LIBERO सिमुलेशन है और अब वहां सभी सक्षम स्कोर अस्सी के दशक में हैं। वास्तविक SO-100 पंक्ति, जहां एक 450 M मॉडल 3.5 B वाले को 16.6 अंकों से हराता है, वह दिलचस्प है; इसके नीचे की पंक्ति इसका प्रतिभार है। कम्युनिटी प्रीट्रेनिंग और मल्टी-टास्क प्रशिक्षण को हटाने पर वही मॉडल ACT के तहत 40.0 तक गिर जाता है। बचाव योग्य दावा यह है कि एक छोटा मॉडल स्वचालित रूप से खराब नहीं होता, न कि वह बेहतर होता है।

एक संयोग सहायक है: SmolVLA पेपर की मेटा-वर्ल्ड तालिका में TinyVLA के अपने प्रकाशित नंबरों को एक आधार रेखा के रूप में शामिल किया गया है, इसलिए एक बार के लिए दोनों मॉडल एक ही तालिका में हैं, SmolVLA-0.45B 57.3 पर TinyVLA-H के 31.6 के मुकाबले। यह यह भी बताता है कि SmolVLA की ट्रेनिंग Pi0 की तुलना में लगभग 40 प्रतिशत तेज़ और 6 गुना कम मेमोरी पर होती है। यह सब SmolVLA के लेखकों से आता है; अखाड़ा प्रविष्टि प्रत्येक मान को उसके स्रोत से जोड़ता है।

SmolVLA अपना समय कहाँ व्यतीत करता है

AY-Robots SmolVLA को प्रति एक्शन स्टेप 245 ms और ACT को 20 ms पर नीति कैटलॉग में सूचीबद्ध करता है। TinyVLA प्रति एक्शन प्रेडिक्शन 14 ms की रिपोर्ट करता है। ये संख्याएँ तुलनीय नहीं हैं, और उन्हें ऐसा मानना इस विषय में सबसे आम गलती है: कुछ एक फॉरवर्ड पास का समय लेते हैं, कुछ उस पास को एक चंक में विभाजित करते हैं जब एक्शन चंकिंग इसे अमोर्टाइज़ करता है।

  • SmolVLA प्रति फॉरवर्ड पास 50 एक्शन उत्सर्जित करता है और सभी 50 को निष्पादित करता है। 30 fps पर, जिसका उपयोग पेपर वास्तविक रोबोटों पर करता है, एक इन्फेरेंस लगभग 1.7 सेकंड की गति को कवर करता है।
  • एसिंक्रोनस इन्फेरेंस अगले चंक की गणना करता है जबकि वर्तमान वाला अभी भी निष्पादित हो रहा होता है: 13.75 s सिंक्रोनस के मुकाबले 9.7 s औसत कार्य पूर्णता, लगभग 30 प्रतिशत तेज़, और एक निश्चित 60-सेकंड की विंडो में 9 के मुकाबले 19 पिक-एंड-प्लेस चक्र।
  • सफलता दर बेहतर होने के बजाय तुलनीय थी, 73.3 एसिंक्रोनस के मुकाबले 78.3 सिंक्रोनस। एसिंक थ्रूपुट खरीदता है, सटीकता नहीं।
  • चंकिंग कंप्यूट लेटेंसी को छुपाता है, नेटवर्क लेटेंसी को नहीं, और यह नीति को कम प्रतिक्रियाशील बनाता है क्योंकि यह 50 एक्शन के लिए प्रतिबद्ध है।
रिमोट इन्फेरेंस मुफ्त नहीं है, और कोई भी प्लेटफॉर्म भौतिकी को ठीक नहीं करता

AY-Robots एक क्लाउड GPU पॉड को स्वतः-प्रावधानित कर सकता है जो आपकी पॉलिसी को सेवा प्रदान करता है जबकि स्थानीय रोबोट क्लाइंट उस एंडपॉइंट से बात करता है, और पॉड में एक निष्क्रिय वॉचडॉग होता है ताकि वह चुपचाप बिलिंग करने के बजाय खुद को नष्ट कर दे। जो यह नहीं करता वह सार्वजनिक-इंटरनेट राउंड ट्रिप को हटाना है। यहां की पांच पॉलिसियों में कंट्रोल लूप किसी भी नेटवर्क से पहले प्रति एक्शन स्टेप 20 से 485 ms है, इसलिए रिमोट इन्फेरेंस धीमी पिक-एंड-प्लेस के लिए व्यवहार्य है, न कि तेज़ प्रतिक्रियाशील गति के लिए।

AY-Robots पॉलिसियों की तुलना तालिका जिसमें GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA और ACT को पैरामीटर गणना, आवश्यक GPU टियर, प्रति एक्शन स्टेप इन्फेरेंस लेटेंसी और प्रत्येक के लिए आवश्यक एपिसोड की न्यूनतम संख्या के साथ दिखाया गया है।
SmolVLA लगभग 450 M और ACT लगभग 80 M पर दो ऐसे हैं जो 24 GB कार्ड में फिट होते हैं। अन्य तीन को A100 या H100 80 GB की आवश्यकता होती है।

एक उपभोक्ता कार्ड पर SmolVLA की फाइन-ट्यूनिंग

मैनुअल तरीका, lerobot 0.6.1 पर, जो 23 अगस्त 2026 तक की वर्तमान PyPI रिलीज़ है। नीचे दी गई सभी जानकारी उसी दिन प्राप्त की गई Hugging Face lerobot SmolVLA डॉक्यूमेंटेशन से आती है; निर्देशित संस्करण अधिक सौम्य है।

  1. 1
    smolvla अतिरिक्त के साथ lerobot स्थापित करें

    SmolVLA निर्भरताएँ एक वैकल्पिक अतिरिक्त हैं, जो मूल इंस्टॉलेशन का हिस्सा नहीं हैं। इसे स्थापित किए बिना और फिर यह सोचने में कि नीति का प्रकार अज्ञात क्यों है, आमतौर पर आधा घंटा बर्बाद हो जाता है।

    bash
    git clone https://github.com/huggingface/lerobot.git
    cd lerobot
    pip install -e ".[smolvla]"
  2. 2
    पर्याप्त एपिसोड वाला डेटासेट प्राप्त करें

    दस्तावेज़ लगभग 50 एपिसोड की सलाह देते हैं और बताते हैं कि 25 के साथ वही कार्य पर्याप्त नहीं था। AY-Robots न्यूनतम 30 निर्धारित करता है। अपना खुद का रिकॉर्ड करें, या डेटासेट निर्देशिका से शुरू करें।

    bash
    # any LeRobotDataset on the Hub works as --dataset.repo_id
    # lerobot/svla_so100_pickplace is the paper's own 50-episode set:
    # 5 cube positions, 10 episodes each
  3. 3
    फाइन-ट्यून शुरू करें

    lerobot गाइड से कमांड, अपरिवर्तित। दस्तावेज़ एक A100 पर 20000 चरणों को लगभग 4 घंटे बताते हैं। 24 GB कार्ड पर, अधिक समय की अपेक्षा करें और इसे मापें।

    bash
    cd lerobot && lerobot-train \
      --policy.path=lerobot/smolvla_base \
      --dataset.repo_id=${HF_USER}/mydataset \
      --batch_size=64 \
      --steps=20000 \
      --output_dir=outputs/train/my_smolvla \
      --job_name=my_smolvla_training \
      --policy.device=cuda \
      --wandb.enable=true
  4. 4
    बैच आकार को तब तक कम करें जब तक वह फिट न हो जाए

    batch_size=64 एक दस्तावेज़ित उदाहरण है, आपके कार्ड के बारे में कोई वादा नहीं। दस्तावेज़ छोटे से शुरू करने और लोडिंग समय कम रहने तक बढ़ाने की सलाह देते हैं।

    bash
    lerobot-train --help
  5. 5
    आर्म पर चेकपॉइंट रोल आउट करें

    वही लाइब्रेरी, एक कमांड। रियल-टाइम चंकिंग फ़्लैग दस्तावेज़ों में टिप्पणी किए गए हैं और कम-शक्ति वाले हार्डवेयर पर उपयोग करने के लिए हैं।

    bash
    lerobot-rollout \
      --strategy.type=base \
      --robot.type=so101_follower \
      --robot.port=/dev/ttyACM0 \
      --robot.id=my_blue_follower_arm \
      --robot.cameras="{ front: {type: opencv, index_or_path: 8, width: 640, height: 480, fps: 30}}" \
      --task="Grasp a lego block and put it in the bin." \
      --policy.path=HF_USER/FINETUNE_MODEL_NAME
चेकपॉइंट ही डिलिवरेबल है

आप कोई भी रास्ता अपनाएं, आपको एक चेकपॉइंट और उसे बनाने वाला कॉन्फ़िग मिलता है। डेटासेट संशोधन, चरण गणना और सीड को इसके साथ रखें। lerobot डिफ़ॉल्ट रूप से सीड 1000 पर सेट होता है; GR00T का फाइन-ट्यूनिंग एंट्री पॉइंट कोई सीड उजागर नहीं करता है, इसलिए वे रन बिट-फॉर-बिट रिप्रोड्यूसिबल नहीं होते हैं। प्रशिक्षण दस्तावेज़ों में यांत्रिकी।

एक छोटे VLA को आर्म पर लाने के दो तरीके

आप मशीन और विफलता मोड के मालिक हैं। SmolVLA के लिए यह उचित है: एक pip अतिरिक्त, एक ट्रेन कमांड, एक रोलआउट कमांड। TinyVLA के लिए यह जमे हुए पिन, एक टूटे हुए DeepSpeed ​​पथ और एक डेटा रूपांतरण के साथ एक शोध पुनरुत्पादन है जिसे आप स्वयं लिखते हैं।

  1. एक 24 GB कार्ड प्राप्त करें, 30 से 50 एपिसोड रिकॉर्ड करें, कैमरा स्ट्रीम को फ्रेम दर फ्रेम सत्यापित करें।
  2. pip install -e ".[smolvla]", lerobot/smolvla_base के खिलाफ lerobot-train चलाएं, फिर उस मशीन पर चेकपॉइंट को सर्व करें जिससे आर्म जुड़ा हुआ है।
  3. TinyVLA के लिए: अलग conda env, डेटा को HDF5 में बदलें, constants.py में कार्य को पंजीकृत करें, zero2.json पथ को ठीक करें, train.sh को आठ GPUs से एक में काटें।
लाभ
  • कार्ड का भुगतान हो जाने के बाद प्रति घंटे बिलिंग नहीं।
  • अनुमान सर्वो के बगल में बैठता है, तेज़ नियंत्रण लूप प्राप्त करने का एकमात्र तरीका।
  • आप नीति कोड को पैच कर सकते हैं, और TinyVLA केवल इसी तरह उपलब्ध है।
समझौते
  • एक 4090 हर ~3 B नीति को बाहर कर देता है, इसलिए GR00T N1.7 या Pi0.5 के खिलाफ कोई स्थानीय तुलना नहीं।
  • पर्यावरण सेटअप ही असली काम है। TinyVLA के पिन अकेले एक दिन का खर्च कर सकते हैं।
  • कोई कतार नहीं, कोई पुनः प्रयास नहीं, कोई चेकपॉइंट स्टोरेज नहीं। चरण 14000 पर रीबूट का मतलब फिर से शुरू करना है।

जब एक छोटा मॉडल गलत विकल्प होता है

दोनों पेपर सारांशों की तुलना में यहाँ अधिक सतर्क हैं। TinyVLA का विफलता विश्लेषण विशिष्ट है: 0.4 B वेरिएंट निर्देश को गलत पढ़ने के कारण तीन बार विफल रहा, जिसे लेखक छोटे VLM में सीमित भाषा समझ के लिए जिम्मेदार ठहराते हैं, और वह मोड 1.3 B पर गायब हो गया। SmolVLA दूसरे छोर से वही वक्र दिखाता है: समान आर्किटेक्चर का 2.25 B संस्करण LIBERO पर 88.75 और Meta-World पर 68.24 स्कोर करता है, जबकि 0.45 B मॉडल के लिए यह 87.3 और 57.3 है।

1 B से कम VLA चुनना
जहाँ यह जीतता है
  • 24 GB कार्ड में फिट बैठता है, जिससे एक प्रयोग का खर्च दसियों डॉलर से घटकर कुछ डॉलर हो जाता है।
  • आर्म के बगल में चलने के लिए पर्याप्त तेज़, जिससे नियंत्रण लूप में कोई नेटवर्क हॉप नहीं होता।
  • उस डेटा पर फाइन-ट्यून होता है जिसे एक व्यक्ति रिकॉर्ड कर सकता है, हजारों के बजाय दसियों एपिसोड।
  • SmolVLA के वेट, डेटा सूची और कोड सार्वजनिक हैं, इसलिए एक खराब परिणाम को डीबग किया जा सकता है।
जहाँ यह हारता है
  • कमजोर निर्देश पालन: कम भाषा पैरामीटर, समान संदर्भ अभिव्यक्तियों को अलग करने की कम क्षमता।
  • उन सेटअपों के लिए कम स्थानिक और दृश्य सामान्यीकरण जिन्हें आपने रिकॉर्ड नहीं किया।
  • डेटासेट दोषों के प्रति अधिक संवेदनशील, कम प्रीट्रेनिंग के साथ जिस पर निर्भर किया जा सके।
  • मल्टी-टास्क और लंबी-अवधि का काम अभी भी बड़े मॉडलों का पक्षधर है, जिसमें SmolVLA का अपना 2.25 B वेरिएंट भी शामिल है।

चलाने लायक तुलना TinyVLA बनाम SmolVLA नहीं है। यह आपके अपने कार्य पर SmolVLA बनाम ACT है, और SmolVLA पेपर इसका तर्क प्रस्तुत करता है। बिना रोबोटिक्स प्रीट्रेनिंग के सिंगल-टास्क प्रशिक्षित, SmolVLA ने तीन SO-100 कार्यों में औसतन 40.0 स्कोर किया, जहाँ सिंगल-टास्क ACT ने 48.3 का प्रबंधन किया। जो इसे 78.3 तक बढ़ाता है वह सामुदायिक प्रीट्रेनिंग और मल्टी-टास्क प्रशिक्षण है, न कि केवल आर्किटेक्चर। SO-101 लेगो कार्य पर, दोनों सिंगल-टास्क में, SmolVLA जीतता है: वितरण में 70 के मुकाबले 90। फिर SmolVLA बनाम Pi0.5 यदि बजट अनुमति देता है।

इस आकार पर, डेटासेट परिणाम तय करता है

खराब डेटा को कवर करने के लिए कम प्रीट्रेनिंग होती है, इसलिए एक दोषपूर्ण डेटासेट पर एक स्वच्छ लॉस कर्व आपको एक ऐसी नीति देता है जो आत्मविश्वास से दोष को दोहराती है। lerobot डॉक्स संरचना के बारे में स्पष्ट हैं: 5 क्यूब स्थितियों में 50 एपिसोड, प्रति स्थिति 10, काम किया; 25 ने नहीं किया। यदि लॉस ठीक दिखता है और भुजा कुछ भी उपयोगी नहीं करती है, तो लॉस गिरता है, नीति कुछ नहीं करती, नीति केवल एक सेटअप में काम करती है या वास्तव में उपयोग करने योग्य VLA प्रशिक्षण डेटा एकत्र करना से शुरू करें।

पांच नीतियां, एक तुलना तालिका

GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA और ACT वास्तविक पैरामीटर गणना, प्रति एक्शन स्टेप अनुमान विलंबता, प्रत्येक को आवश्यक GPU टियर और कुछ भी उपयोगी करने से पहले न्यूनतम एपिसोड गणना के साथ।

नीतियों की तुलना करें

एक निर्णय तालिका जिस पर आप कार्रवाई कर सकते हैं

आपकी स्थितिइससे शुरू करेंक्यों
एक कार्य, अच्छे प्रदर्शन, कोई भाषा नहींACT~80 M, 20 ms, 24 GB कार्ड, डाउनलोड करने के लिए कोई बेस मॉडल नहीं
कुछ संबंधित कार्य, प्रत्येक के लिए एक निर्देशSmolVLA450 M, lerobot में, न्यूनतम 30 एपिसोड, प्रति रन 1 से 3 USD
विशेष रूप से TinyVLA परिणाम को दोहरानाTinyVLA-B or TinyVLA-Hरेपो ही एकमात्र मार्ग है: पृथक वातावरण, परिवर्तित डेटा
बहु-कार्य, विविध निर्देश, A100 बजटGR00T N1.7 or Pi0.5~3 B, प्रति स्टेप 152 ms और 485 ms, प्रति रन 4 से 12 USD
अभी तक कोई रोबोट नहींएक वास्तविक भुजा चलाएंकतार-आधारित लाइव भुजा को किसी साइनअप और किसी हार्डवेयर की आवश्यकता नहीं है

अंतिम पंक्ति के लिए, लाइव आर्म एक भौतिक SO-100 को स्ट्रीम करता है जिसे आप बिना खाते के ब्राउज़र से चला सकते हैं, और शुरू करने के तीन तरीके बाकी को कवर करते हैं। SO-100 यहाँ संदर्भ आर्म है, पुर्जों में लगभग 110 से 150 EUR का, एक पूर्ण सेटअप गाइड के साथ।

सब-1 बी मॉडल के बाद क्या आता है

पैरामीटर गणना को कम करना VLA को सस्ता बनाने का एक तरीका है और यह स्पष्ट रूप से जीतने वाला नहीं है। OpenVLA-OFT (arXiv 2502.19645) 7 B बैकबोन को बरकरार रखता है और केवल यह बदलता है कि क्रियाओं को कैसे डीकोड किया जाता है, क्रिया जनरेशन थ्रूपुट में 26x वृद्धि और LIBERO में 76.5 से 97.1 प्रतिशत तक की वृद्धि की रिपोर्ट करता है। BitVLA (arXiv 2506.07530) 1-बिट BitNet b1.58 2B4T बैकबोन के प्रत्येक भार को टर्नरी बनाता है, 11.0x कम मेमोरी और 4.4x कम एंड-टू-एंड लेटेंसी की रिपोर्ट करता है जबकि पूर्ण-परिशुद्धता OpenVLA-OFT से मेल खाता है। X-VLA-0.9B (arXiv 2510.10274) फ्लो मैचिंग के साथ 1 B लाइन पर बैठता है।

सामान्य बात: एक्शन डिकोडर, न कि भाषा मॉडल, वह जगह है जहाँ लेटेंसी रहती है। यह पूछने से पहले कि किसी पॉलिसी में कितने पैरामीटर हैं, यह पूछें कि वह क्रियाओं को कैसे उत्सर्जित करती है। अखाड़ा में 85 मॉडल और 332 परिणाम हैं, प्रत्येक अपने स्रोत से जुड़ा हुआ है; एक व्यापक अवलोकन हमारे VLA परिचय में है।

क्या मैं RTX 4090 पर SmolVLA को फाइन-ट्यून कर सकता हूँ?

हाँ। SmolVLA 450 M पैरामीटर का है और AY-Robots इसे RTX 4090 / 24 GB टियर पर चलाता है। lerobot उदाहरण --batch_size=64 का उपयोग करता है, जो आपके कार्ड के लिए गारंटी के बजाय एक उदाहरण है; दस्तावेज़ छोटे से शुरू करने और लोडिंग समय कम रहने तक बढ़ाने की सलाह देते हैं। A100 पर 20000 स्टेप्स के लिए दस्तावेज़ों में उद्धृत लगभग 4 घंटे से अधिक समय की अपेक्षा करें।

क्या TinyVLA lerobot या AY-Robots पर उपलब्ध है?

दोनों के लिए नहीं। TinyVLA केवल अपने शोध रिपॉजिटरी में मौजूद है, अंतिम कमिट 11 March 2025 को हुआ था, और इसका प्रारूप LeRobot के बजाय ACT-शैली का HDF5 है। AY-Robots GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA और ACT को प्रशिक्षित करता है। यदि आप TinyVLA चाहते हैं तो आपको इसे स्वयं बनाना होगा, और आपको पहले scripts/train.sh में DeepSpeed कॉन्फ़िग पाथ को ठीक करना होगा।

क्या 450 M मॉडल वास्तव में 3 B वाले मॉडल के साथ प्रतिस्पर्धी है?

लेखकों के अपने बेंचमार्क पर, हाँ: LIBERO पर 86.0 के मुकाबले 87.3 बनाम 3.3 B पर एक रोबोटिक्स-प्रीट्रेन्ड Pi0, और तीन वास्तविक SO-100 कार्यों पर 61.7 के मुकाबले 78.3 जहाँ उसी पेपर में Pi0 को 3.5 B पर लेबल किया गया है। सीमा उसी पेपर में है: रोबोटिक्स प्रीट्रेनिंग के बिना एकल-कार्य, SmolVLA 40.0 तक गिर जाता है, जो ACT के 48.3 से नीचे है।

एक छोटे VLA के कुछ भी करने से पहले मुझे कितने एपिसोड की आवश्यकता है?

AY-Robots SmolVLA के लिए न्यूनतम 30 एपिसोड और ACT के लिए न्यूनतम 50 एपिसोड निर्धारित करता है। lerobot दस्तावेज़ लगभग 50 की सलाह देते हैं और रिपोर्ट करते हैं कि उसी कार्य के लिए 25 पर्याप्त नहीं थे। संख्या के साथ-साथ संरचना भी मायने रखती है: पेपर के सेट में 5 क्यूब पोजीशन का उपयोग किया गया था, प्रत्येक में 10 एपिसोड थे।

प्रकाशित विलंबता संख्याएँ इतनी भिन्न क्यों होती हैं?

वे अलग-अलग चीजें मापते हैं। TinyVLA A6000 पर प्रति एक्शन प्रेडिक्शन 14 ms रिपोर्ट करता है; AY-Robots SmolVLA को 245 ms और ACT को प्रति एक्शन स्टेप 20 ms पर सूचीबद्ध करता है। कुछ आंकड़े एक फॉरवर्ड पास को कवर करते हैं, कुछ एक पास को 50-एक्शन चंक में विभाजित करते हैं, और लगभग कोई भी कैमरा कैप्चर या सर्वो को लिखने को शामिल नहीं करता है।

क्या क्लाउड इन्फरेंस GPU समस्या का समाधान करता है?

आंशिक रूप से। AY-Robots एक पॉड को स्वतः-प्रावधानित करता है जो नीति को सेवा प्रदान करता है जबकि स्थानीय क्लाइंट उस एंडपॉइंट से बात करता है, जिसमें एक निष्क्रिय वॉचडॉग होता है ताकि यह चुपचाप बिलिंग करने के बजाय खुद को नष्ट कर दे। यह सार्वजनिक-इंटरनेट राउंड ट्रिप को हटा नहीं सकता है, और नियंत्रण लूप पहले से ही प्रति एक्शन स्टेप 20 से 485 ms है। धीमी पिक-एंड-प्लेस के लिए ठीक है, लेकिन तेज़ प्रतिक्रियाशील गति के लिए नहीं।

Sources

Ready for high-quality robotics data?

AY-Robots connects your robots to skilled operators worldwide.

Get Started