
TinyVLA ו-SmolVLA מציבים VLA עובד מתחת למיליארד פרמטרים. נתונים אמיתיים משני המאמרים, ברירות המחדל של LeRobot, זמן השהיה מדוד, ומה עולה הרצה על כרטיס 24 GB.
כמעט כל מודל ראייה-שפה-פעולה שנכתב עליו מניח כרטיס דאטה סנטר. OpenVLA הוא בעל 7 מיליארד פרמטרים. GR00T N1.7 ו-Pi0.5 הם בסביבות 3 מיליארד ודורשים A100 80 GB לכוונון עדין. אם הכרטיס על שולחנך הוא 4090, סוג מודל זה אינו בהישג יד.
שני מאמרים טוענים שאינך זקוק לכך. TinyVLA (arXiv 2409.12514, התקבל על ידי IEEE Robotics and Automation Letters בפברואר 2025) בונה VLA מליבה של 400 מיליון עד 1.3 מיליארד בתוספת ראש פעולה מבוסס דיפוזיה. SmolVLA (arXiv 2506.01844, הוגש ב-2 ביוני 2025) מגיע עם 450 מיליון פרמטרים עם משקלים פתוחים, נתונים פתוחים וסקריפט שרץ על כרטיס צרכני אחד. הנה מה ששניהם מדדו, והיכן שהטיעון של פחות מ-1 מיליארד מפסיק להיות תקף.
מה שאתה צריך לדעת
- •TinyVLA מגיע בשלושה גדלים: 422 מיליון בסך הכל עם 101 מיליון ניתנים לאימון, 740 מיליון עם 138 מיליון, 1.3 מיליארד עם 143 מיליון. רק שני הראשונים נמצאים מתחת ל-1 מיליארד.
- •טבלה IV שלו מודדת 14 ms לחיזוי פעולה עבור TinyVLA-1B על A6000 אחד, לעומת 292 ms עבור OpenVLA-7B ו-140 ms עבור OpenVLA-1B מוקטן.
- •הראש הוא זה שמחזיק את המהירות, לא הליבה: החלף את ראש הדיפוזיה של TinyVLA-H בראש ACT וחמש משימות הרובוט האמיתיות יורדות מממוצע של 94.0 לספרות בודדות. ראש MLP מקבל ציון 0 בכל מקום.
- •SmolVLA הוא 450 מיליון, כ-100 מיליון מתוכם מומחה הפעולה, שאומן מראש על 481 מערכי נתונים קהילתיים של LeRobot ו-10.6 מיליון פריימים. הוא מדווח על 87.3 ב-LIBERO לעומת 86.0 עבור Pi0 שאומן מראש לרובוטיקה ב-3.3 מיליארד, ו-78.3 בשלוש משימות SO-100 אמיתיות לעומת 61.7 עבור Pi0 ב-3.5 מיליארד.
- •כאשר אומן למשימה בודדת ללא אימון מוקדם זה, SmolVLA יורד ל-40.0 במשימות אלו, מתחת ל-48.3 של ACT. קטן אינו בהכרח קל.
- •ל-TinyVLA אין אינטגרציה עם LeRobot והוא מקבע ערימת גלגלים של CUDA 11.7. SmolVLA נמצא ב-lerobot ועולה בערך 1 עד 3 USD לריצה בשכבת ה-24 GB כאן.
מה באמת נחשב ל-VLA קטן
מספר הפרמטרים בכרטיס מודל אינו מספר יחיד. הוא יכול להתייחס למשקלים הכוללים, למשקלים שנטענים בזמן הסקה, או למשקלים שמקבלים גרדיאנטים במהלך . TinyVLA מדווח על שניהם, והפער גדול: TinyVLA-H הוא 1.3 B סה"כ אך 143 M ניתנים לאימון, מכיוון שמגדל הראייה ורוב מודל השפה נשארים קפואים בזמן שמתאמי LoRA וראש הפעולה נעים. המאמר מציין את החלק הניתן לאימון בכ-5 אחוזים.
| מודל | פרמטרים | שלד | ראש פעולה | מקור |
|---|---|---|---|---|
| TinyVLA-S | 422 M סה"כ, 101 M ניתנים לאימון | Llava-Pythia ~400 M | Diffusion (droid_diffusion U-Net) | arXiv 2409.12514 |
| TinyVLA-B | 740 M סה"כ, 138 M ניתנים לאימון | Llava-Pythia ~700 M | Diffusion | arXiv 2409.12514 |
| TinyVLA-H | 1.3 B סה"כ, 143 M ניתנים לאימון | Llava-Pythia ~1.3 B | Diffusion | arXiv 2409.12514 |
| SmolVLA | 450 M, ~100 M מומחה פעולה | SmolVLM2-500M-Video-Instruct | Flow matching expert | arXiv 2506.01844 |
| Octo-Small | 27 M | ViT-S scale, T5-Base text encoder | Diffusion | octo-small-1.5 card |
| ACT | ~80 M | ResNet, ללא מודל שפה | רגרסיית נתחים ישירה | AY-Robots catalog |
| OpenVLA | 7 B | Llama 2 7 B, DINOv2 and SigLIP encoders | אסימוני פעולה אוטורגרסיביים | arXiv 2406.09246 |
שתי שורות ראויות לדיון. בערך 80 M קטן מכל השאר כאן אך אין לו מודל שפה, ולכן הוא אינו VLA: הוא לומד משימה אחת ולא ניתן לומר לו לבצע אחרת. ב-27 M מותנה באמצעות מקודד טקסט T5-Base, לא שלד LLM. בסיסי השוואה טובים, אך אף אחד מהם לא מספק את ביצוע ההוראות שהתווית מרמזת עליו.
TinyVLA-H, הגרסה הנושאת את תוצאות הכותרת, היא 1.3 B ויושבת מעל הקו. השאלה הטובה יותר היא האם מודל נכנס ל-24 GB במהלך אימון ומגיע לקצב הבקרה שלך בזמן הסקה. חמשת המדיניות שתוכל לאמן כאן נמצאות בדף המדיניות; ל-TinyVLA יש ערך בזירה אם אתה רוצה את המספרים שלו לצד של כולם.
TinyVLA: המהירות מגיעה מהראש, לא מה-backbone
הקריאה המתבקשת היא שהם הקטינו את מודל השפה, ולכן הוא הפך מהיר יותר. ניתוח האבלציה של המאמר אומר אחרת. החלפת ה-backbone של OpenVLA בגודל 7 B באחד בגודל של כ-1 B קיצצה את חיזוי הפעולה מ-292 אלפיות השנייה ל-140 אלפיות השנייה, שיפור של פי 2. TinyVLA-H, עם מספר פרמטרים דומה, פועל ב-14 אלפיות השנייה על אותו כרטיס. הפי 10 הנוספים הם בזכות ראש הפעולה (action head).
| מודל | חיזוי לכל פעולה | נמדד על |
|---|---|---|
| OpenVLA-7B | 292 ms | single A6000 |
| OpenVLA-1B, backbone swapped for TinyVLA's | 140 ms | single A6000 |
| TinyVLA-1B (TinyVLA-H) | 14 ms | single A6000 |
OpenVLA פולט פעולות כאסימונים בדידים דרך ראש מודל השפה, אחד לכל מימד פעולה, באופן אוטורגרסיבי. TinyVLA מצרף מפענח דיפוזיה שמייצר את כל הנתח בפעם אחת. טבלה V מציגה את הארכיטקטורה ב-TinyVLA-H ומחליפה רק את הראש, באותן חמש משימות רובוט אמיתיות. זוהי העדות הברורה ביותר בשני המאמרים לטיעון שהתאמת זרימה מדיניות יוצרת, והסיבה שPi0 התרחק מפענוח אסימונים.
| ראש על TinyVLA-H | הנחת כדור טניס | הפיכת ספל | ערימת קוביות | סגירת מגירה | פתיחת קופסה |
|---|---|---|---|---|---|
| דיפוזיה (droid_diffusion) | 90.0 | 98.3 | 98.3 | 96.7 | 86.7 |
| טרנספורמר חלוקת פעולות | 13.3 | 8.3 | 8.3 | 13.3 | 23.3 |
| פרספטרון רב-שכבתי | 0 | 0 | 0 | 0 | 0 |
הנתונים של 292 / 140 / 14 אלפיות השנייה הם מלוח IV, כולם על A6000 אחד. הם לכל חיזוי פעולה ואינם כוללים לכידת מצלמה, עיבוד מקדים וכתיבה טורית לסרווים. התייחסו לזמן השהיה המפורסם כגבול תחתון, לעולם לא כקצב הבקרה. המספרים שלנו נושאים את אותה מגבלה: ראו זמן השהיה של הסקה.
מה TinyVLA השיג
| מדד ביצועים | פרוטוקול | TinyVLA-H | קווי בסיס |
|---|---|---|---|
| MetaWorld, 50 משימות, סימולציה | ריבוי משימות, 50 הדגמות, 3 זרעים | 77.6 / 21.5 / 11.4 / 15.8 לפי קושי, ממוצע 31.6 | Diffusion Policy ממוצע 10.5 |
| Franka Panda אמיתי, 5 משימות | 100 מסלולים למשימה, 20 ניסויים | 94.0 ממוצע | OpenVLA 68.3, Diffusion Policy 35.3 |
| UR5 דו-ידני, 3 משימות | ריבוי משימות, 10 ניסויים למשימה | 76.7 / 36.7 / 30.0 | OpenVLA 0 / 0 / 0, Diffusion Policy 40.3 / 31.3 / 43.0 |
לשורה הדו-ידית יש הסבר משעמם שהמאמר עצמו מספק: OpenVLA אומן מראש על Open X-Embodiment, המורכב כולו מנתונים של זרוע אחת, ולכן מרחב פעולה דו-ידי חורג מההתפלגות והוא מקבל ציון אפס. בסיס המדיניות של דיפוזיה מנצח את TinyVLA-H בשתיים מתוך שלוש המשימות הללו. רקע בהסקירה של Open X-Embodiment.

מאגר ה-TinyVLA, נכון לאוגוסט 2026
המאמר טוב. הקוד הוא גרסת מחקר ראשונית. המאגר הוא github.com/liyaxuanliyaxuan/TinyVLA; קובץ ה-README שלו מתארך את שחרור הקוד ל-17 בפברואר 2025 והקומית האחרון הוא מ-11 במרץ 2025. זה בסדר לשחזור מאמר, אך בעייתי אם רצית ספרייה מתחזקת.
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 .קובץ requirements.txt מקבע את torch==2.0.1, transformers==4.37.1, deepspeed==0.9.5, peft==0.4.0, diffusers==0.11.1, numpy==1.24.4, ואת ערימת ה-CUDA לגלגלי 11.x: nvidia-cuda-runtime-cu11==11.7.99, nvidia-cudnn-cu11==8.5.0.96, triton==2.0.0. קובץ ה-README מבקש Python 3.10; lerobot 0.6.1 דורש 3.12 או חדש יותר, כך ששניהם אינם יכולים לחלוק סביבה. ודאו תחילה שקיימת בניית torch 2.0.1 עבור דור ה-GPU שלכם. אם הרצה קורסת עקב VRAM במקום זאת, רשימת הבדיקה למצבי חוסר זיכרון מהירה יותר מניחושים.
TinyVLA גם לא קורא מערכי נתונים של LeRobot. הפורמט שלו הוא HDF5 בסגנון ACT: action, language_raw, וקבוצת תצפיות עם תמונות מרובות תצוגה, joint_positions, qpos ו-qvel. הריפו מספק את data_utils/rlds_to_h5py.py עבור קלט RLDS, וכל משימה נרשמת ידנית ב-aloha_scripts/constants.py עם dataset_dir, episode_len ו-camera_names שלה. אם ה-אפיזודות הגיעו מ-lerobot או מ-לקוח שולחן העבודה, אתם אחראים על ההמרה.
# 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- --num_gpus=8 מניח צומת עם שמונה כרטיסים. הגדר אותו ל-1 והורד את גודל האצווה הרבה מתחת ל-32. אין גרסת GPU יחיד שנשלחת במעלה הזרם, ולכן הפקודה לא ניתנת להרצה כפי שהיא על 4090.
- --deepspeed scripts/zero2.json מצביע על קובץ שאינו נמצא בספריית ה-scripts הראשית. הגדרות DeepSpeed נשלחות ב-llava-pythia/scripts/zero2.json. תקן את הנתיב לפני ההרצה הראשונה שלך.
- קובץ ה-README דורש ששם ספריית הפלט יכיל את llava_pythia, בתוספת lora אם LoRA מופעל.
- ה-backbone הוא הורדה נפרדת: lesjie/Llava-Pythia-400M, -700M or -1.3B. אין נקודת בדיקה בסיסית יחידה שאליה אתה מכוון מדיניות באותה צורה שבה אתה מכוון ל-lerobot/smolvla_base.
SmolVLA: מודל תת-1B שתוכל להריץ אחר הצהריים
SmolVLA מציג את אותה טענה בתוך ספרייה מתוחזקת. הוא בעל 450 מיליון פרמטרים על גבי backbone מסוג SmolVLM2-500M-Video-Instruct, והיעילות נובעת מהגדרות שניתן לקרוא מתוך configuration_smolvla.py ולא מטענה על היותו קטן.
| הגדרה ב-configuration_smolvla.py | ברירת מחדל | מה זה נותן |
|---|---|---|
| num_vlm_layers | 16 | רק 16 שכבות מודל השפה הראשונות רצות |
| expert_width_multiplier | 0.75 | גודל נסתר של מומחה הפעולה הוא 75 אחוז מזה של ה-VLM |
| self_attn_every_n_layers | 2 | Self-attention משולב עם cross-attention |
| chunk_size / n_action_steps | 50 / 50 | מעבר אחד פולט 50 פעולות וכל 50 מבוצעות |
| num_steps | 10 | הסרת רעש בהתאמת זרימה קבועה על 10 צעדים |
| tokenizer_max_length | 48 | ההוראה נקטעת ל-48 אסימונים |
| freeze_vision_encoder / train_expert_only | True / True | כוונון עדין מזיז את המומחה, לא את מגדל הראייה |
| optimizer_lr, warmup, decay | 1e-4, 1000 steps, to 2.5e-6 over 30000 | לא מתכון המאמר: האימון המקדים שלו השתמש ב-warmup של 100 צעדים על פני 200000 צעדים |
אימון מוקדם השתמש ב-481 מערכי נתונים קהילתיים של LeRobot, ב-22.9 אלף פרקים וב-10.6 מיליון פריימים על 4 כרטיסי GPU, ב-200,000 צעדים עם גודל אצווה גלובלי של 256; המאמר מעריך את הפרויקט כולו בכ-30 אלף שעות GPU. נתון אחד שכדאי לשים לב אליו: בלוג ההשקה של Hugging Face מציין 487 מערכי נתונים מאוצרים בעוד שהטבלה במאמר מציינת 481. אנו משתמשים בנתון מהמאמר ומציינים את אי ההתאמה.

| מדד ביצועים | SmolVLA 0.45 B | SmolVLA 2.25 B | Pi0 | ACT |
|---|---|---|---|---|
| ממוצע LIBERO, ריבוי משימות | 87.3 | 88.75 | 86.0 (3.3 B, מאומן מראש לרובוטיקה) | - |
| ממוצע Meta-World, ריבוי משימות | 57.3 | 68.24 | 47.9 (3.5 B, מאומן מראש לרובוטיקה) | - |
| 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 מיליון מנצח מודל של 3.5 מיליארד ב-16.6 נקודות, היא המעניינת; השורה שמתחתיה היא משקל הנגד. הסירו את האימון המוקדם הקהילתי ואת אימון ריבוי המשימות והמודל יורד ל-40.0, מתחת ל-ACT. הטענה הניתנת להגנה היא שמודל קטן אינו גרוע יותר באופן אוטומטי, לא שהוא טוב יותר.
מקרה אחד מסייע: הטבלה של Meta-World במאמר של SmolVLA מציגה את המספרים שפורסמו על ידי TinyVLA כבסיס השוואה, כך שלפעם אחת שני המודלים נמצאים בטבלה אחת, SmolVLA-0.45B עם 57.3 לעומת TinyVLA-H עם 31.6. הוא גם מדווח על אימון SmolVLA מהיר בכ-40 אחוז מ-Pi0 תוך שימוש בפי 6 פחות זיכרון. כל זה מגיע מהמחברים של SmolVLA; ה-ערך בזירה מקשר כל ערך למקור שלו.
היכן SmolVLA מבלה את זמנו
AY-Robots מפרטת את SmolVLA ב-245 אלפיות שנייה לכל שלב פעולה ואת ACT ב-20 אלפיות שנייה בקטלוג מדיניות. TinyVLA מדווח על 14 אלפיות שנייה לחיזוי פעולה. מספרים אלה אינם ניתנים להשוואה, והתייחסות אליהם כאילו הם כן היא הטעות הנפוצה ביותר בנושא זה: חלק מודדים זמן של מעבר קדימה אחד, חלק מחלקים את המעבר הזה על פני מקטע ברגע שחלוקת פעולות למקטעים מפזרת אותו.
- SmolVLA פולט 50 פעולות בכל מעבר קדימה ומבצע את כל ה-50. בקצב של 30 פריימים לשנייה שהמאמר משתמש בו על רובוטים אמיתיים, הסקה אחת מכסה כ-1.7 שניות של תנועה.
- הסקה אסינכרונית מחשבת את המקטע הבא בזמן שהנוכחי עדיין מתבצע: 9.7 שניות השלמת משימה ממוצעת לעומת 13.75 שניות סינכרונית, מהיר בכ-30 אחוז, ו-19 מחזורי הרמה והנחה בחלון קבוע של 60 שניות לעומת 9.
- שיעורי ההצלחה היו דומים ולא טובים יותר, 78.3 סינכרוני לעומת 73.3 אסינכרוני. אסינכרוני קונה תפוקה, לא דיוק.
- חלוקה למקטעים מסתירה את השהיית החישוב, לא את השהיית הרשת, והיא הופכת את המדיניות לפחות תגובתית מכיוון שהיא מחויבת ל-50 פעולות.
AY-Robots יכולה להקצות אוטומטית פוד GPU בענן שמשרת את המדיניות שלך בזמן שלקוח הרובוט המקומי מדבר עם נקודת קצה זו, והפוד נושא כלב שמירה סרק (idle watchdog) כך שהוא משמיד את עצמו במקום לחייב בשקט. מה שהוא לא עושה זה להסיר את הלוך ושוב דרך האינטרנט הציבורי. לולאת הבקרה על פני חמש המדיניות כאן היא 20 עד 485 אלפיות השנייה לכל שלב פעולה לפני כל רשת שהיא, כך שהסקה מרחוק ישימה עבור איסוף והנחה איטיים (slow pick-and-place), לא עבור תנועה ריאקטיבית מהירה.

כוונון עדין של SmolVLA על כרטיס צרכני אחד
הנתיב הידני, ב-lerobot 0.6.1, הגרסה הנוכחית של PyPI נכון ל-23 באוגוסט 2026. כל מה שלמטה מגיע מתיעוד Hugging Face lerobot SmolVLA, שנשלף באותו יום; הגרסה המודרכת עדינה יותר.
- 1התקן את lerobot עם תוסף smolvla
תלויות SmolVLA הן תוסף אופציונלי, לא חלק מההתקנה הבסיסית. התקנה בלעדיהן ואז תהייה מדוע סוג המדיניות אינו ידוע היא חצי שעה אבודה נפוצה.
bashgit clone https://github.com/huggingface/lerobot.git cd lerobot pip install -e ".[smolvla]" - 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התחל את הכוונון העדין
הפקודה ממדריך lerobot, ללא שינוי. התיעוד מציין 20000 צעדים בכ-4 שעות על A100 אחד. על כרטיס 24 GB, צפה לזמן ארוך יותר ומדוד אותו.
bashcd 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הורד את גודל האצווה עד שיתאים
batch_size=64 היא דוגמה מתועדת, לא הבטחה לגבי הכרטיס שלך. התיעוד ממליץ להתחיל בקטן ולהגדיל כל עוד זמני הטעינה נשארים קצרים.
bashlerobot-train --help - 5הפעל את נקודת הבדיקה על הזרוע
אותה ספרייה, פקודה אחת. דגלי החלוקה בזמן אמת מוערים בתיעוד והם אלה שיש להשתמש בהם בחומרת הספק נמוך.
bashlerobot-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
בכל דרך שתבחר, תסיים עם נקודת בדיקה בתוספת התצורה שיצרה אותה. שמור את גרסת מערך הנתונים, ספירת הצעדים וה-seed לידה. lerobot מוגדר כברירת מחדל ל-seed 1000; נקודת הכניסה לכוונון עדין של GR00T אינה חושפת seed כלל, ולכן ריצות אלו אינן ניתנות לשחזור ביט-אחר-ביט. מכניקה בתיעוד האימון.
שתי דרכים להעלות VLA קטן על זרוע
אתה הבעלים של המכונה ומצבי הכשל. עבור SmolVLA זה סביר: תוסף pip אחד, פקודת אימון אחת, פקודת הפעלה אחת. עבור TinyVLA זוהי רפרודוקציה מחקרית עם פינים קפואים, נתיב DeepSpeed שבור והמרת נתונים שאתה כותב בעצמך.
- השג כרטיס 24 GB, הקלט 30 עד 50 פרקים, וודא את זרמי המצלמה פריים אחר פריים.
- pip install -e ".[smolvla]", אמן את lerobot מול lerobot/smolvla_base, ולאחר מכן הגש את נקודת הבדיקה במכונה שאליה מחוברת הזרוע.
- עבור TinyVLA: סביבת conda נפרדת, המר נתונים ל-HDF5, רשום את המשימה ב-constants.py, תקן את נתיב zero2.json, חתוך את train.sh משמונה GPUs לאחד.
- אין חיוב לפי שעה לאחר תשלום על הכרטיס.
- הסקת מסקנות יושבת ליד הסרוואים, הדרך היחידה לקבל לולאת בקרה מהירה.
- אתה יכול לתקן את קוד המדיניות, ו-TinyVLA זמין רק בדרך זו.
- כרטיס 4090 פוסל כל מדיניות של כ-3 מיליארד פרמטרים, כך שאין השוואה מקומית מול GR00T N1.7 או Pi0.5.
- הגדרת הסביבה היא העבודה האמיתית. הפינים של TinyVLA לבדם יכולים לעלות יום שלם.
- אין תור, אין ניסיון חוזר, אין אחסון נקודות בדיקה. אתחול מחדש בצעד 14000 פירושו להתחיל מחדש.
SmolVLA היא אחת מחמש המדיניות כאן. אתה בוחר מודל ומערך נתונים בטופס, ה-backend שוכר GPU לפי VRAM נדרש, מריץ את המאמן וכותב נקודות בדיקה לאחסון אובייקטים. שלב אחר שלב: SmolVLA על ה-SO-100, או המטריצה המלאה בדף האימון.
| מה שהפלטפורמה שולחת עבור SmolVLA | ערך |
|---|---|
| גודל אצווה | 2 |
| קצב למידה | 1e-4 |
| מקסימום צעדים | 20000 |
| צבירת גרדיאנטים | 8, וזה לא מגיע למאמן |
| כפתורים נוספים בטופס | seed, logFreq |
| רמת GPU | RTX 4090 or any 24 GB card |
| פורמט מערך נתונים | LeRobot v3.0 |
| מינימום פרקים | 30 |
ראשית, גודל האצווה המוגדר כברירת מחדל כאן הוא 2, לא 64 כמו בדוגמת התיעוד של lerobot, והגדרת צבירת הגרדיאנטים נשלחת אך אין לה השפעה על SmolVLA, כך שהאצווה האפקטיבית היא באמת 2. העלה אותו בכוונה במקום להניח שברירת המחדל תואמת את המקור. שנית, TinyVLA אינו ניתן לאימון כאן כלל.
ריצה ברמת 24 GB אורכת 2 עד 5 שעות בעלות של 0.30 עד 0.60 דולר לשעה, בערך 1 עד 3 דולר. ברמת A100, מדיניות של כ-3 מיליארד פרמטרים אורכת 3 עד 6 שעות בעלות של 1.20 עד 2.00 דולר לשעה, בערך 4 עד 12 דולר. ראה תמחור, ואותן פעולות מהCLI ומשרת ה-MCP.
כאשר מודל קטן הוא הבחירה הלא נכונה
שני המאמרים זהירים יותר כאן מאשר הסיכומים. ניתוח הכשלים של TinyVLA ספציפי: גרסת ה-0.4 B נכשלה שלוש פעמים בקריאה שגויה של ההוראה, מה שהמחברים מייחסים להבנת שפה מוגבלת ב-VLM הקטן יותר, ומצב זה נעלם ב-1.3 B. SmolVLA מציג את אותה עקומה מהקצה השני: גרסת ה-2.25 B של הארכיטקטורה הזהה מקבלת ציון 88.75 ב-LIBERO ו-68.24 ב-Meta-World לעומת 87.3 ו-57.3 עבור מודל ה-0.45 B.
- מתאים לכרטיס 24 GB, מה שמוריד עלות ניסוי מעשרות דולרים לכמה בודדים.
- מהיר מספיק כדי לרוץ ליד הזרוע, כך שאין קפיצת רשת בלולאת הבקרה.
- מכוונן עדין (fine-tunes) על נתונים שאדם אחד יכול להקליט, עשרות אפיזודות במקום אלפים.
- המשקלים, רשימת הנתונים והקוד של SmolVLA ציבוריים, כך שניתן לנפות שגיאות מתוצאה גרועה.
- ביצוע הוראות חלש יותר: פחות פרמטרי שפה, פחות יכולת להפריד ביטויים מפנים דומים.
- פחות הכללה מרחבית וויזואלית למערכים שלא תיעדת.
- רגיש יותר לפגמים במערך הנתונים, עם פחות אימון מוקדם (pretraining) להישען עליו.
- עבודה מרובת משימות וארוכת טווח עדיין מעדיפה מודלים גדולים יותר, כולל גרסת ה-2.25 B של SmolVLA עצמו.
ההשוואה שכדאי לבצע אינה TinyVLA מול SmolVLA. זוהי SmolVLA מול ACT במשימה שלך, והמאמר של SmolVLA הוא הטיעון לכך. SmolVLA, שאומן למשימה בודדת ללא אימון מוקדם ברובוטיקה, השיג ממוצע של 40.0 על פני שלוש משימות SO-100, בעוד ש-ACT למשימה בודדת השיג 48.3. מה שמקפיץ אותו ל-78.3 הוא אימון מוקדם קהילתי בתוספת אימון מרובה משימות, לא הארכיטקטורה לבדה. במשימת הלגו SO-101, שניהם למשימה בודדת, SmolVLA אכן מנצח: 90 מול 70 בהתפלגות. לאחר מכן SmolVLA מול Pi0.5 אם התקציב מאפשר.
יש פחות אימון מוקדם שיכסה על נתונים גרועים, ולכן עקומת הפסד נקייה על מערך נתונים פגום נותנת לך מדיניות המשחזרת את הפגם בביטחון. התיעוד של lerobot ברור לגבי המבנה: 50 אפיזודות על פני 5 מיקומי קוביות, 10 לכל מיקום, עבדו; 25 לא. אם ההפסד נראה בסדר והזרוע לא עושה שום דבר שימושי, התחל ב-הפסד יורד, מדיניות לא עושה כלום, מדיניות עובדת רק בהגדרה אחת או איסוף נתוני אימון VLA שבאמת שמישים.
חמש מדיניות, טבלת השוואה אחת
GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA ו-ACT עם ספירת פרמטרים אמיתית, זמן אחזור הסקה לכל שלב פעולה, רמת ה-GPU שכל אחד מהם דורש ומספר האפיזודות המינימלי לפני שהוא עושה משהו שימושי.
השווה את המדיניותטבלת החלטות שתוכל לפעול לפיה
| המצב שלך | התחל עם | למה |
|---|---|---|
| משימה אחת, הדגמות טובות, ללא שפה | ACT | ~80 M, 20 ms, כרטיס 24 GB, אין מודל בסיס להורדה |
| מספר משימות קשורות, הוראה אחת לכל אחת | SmolVLA | 450 M, ב-lerobot, מינימום 30 אפיזודות, 1 עד 3 דולר לריצה |
| שחזור תוצאת TinyVLA באופן ספציפי | TinyVLA-B or TinyVLA-H | המאגר הוא הדרך היחידה: סביבה מבודדת, נתונים מומרים |
| ריבוי משימות, הוראות מגוונות, תקציב A100 | GR00T N1.7 or Pi0.5 | ~3 B, 152 ms ו-485 ms לכל שלב, 4 עד 12 דולר לריצה |
| אין רובוט עדיין | הפעל זרוע אמיתית | הזרוע החיה מבוססת התור אינה דורשת הרשמה או חומרה |
עבור השורה האחרונה, הזרוע החיה משדרת SO-100 פיזי שניתן להפעיל מהדפדפן ללא צורך בחשבון, ו-שלוש הדרכים להתחיל מכסה את השאר. ה-SO-100 היא זרוע הייחוס כאן, בעלות של כ-110 עד 150 אירו בחלקים, עם מדריך התקנה מלא.
מה מגיע אחרי מודלים של פחות מ-1 מיליארד פרמטרים
הקטנת ספירת הפרמטרים היא דרך אחת להפוך VLA לזול ולא בהכרח הדרך המנצחת. OpenVLA-OFT (arXiv 2502.19645) שומר על עמוד השדרה של 7 מיליארד פרמטרים ומשנה רק את אופן פענוח הפעולות, ומדווח על עלייה של פי 26 בתפוקת יצירת הפעולות ועלייה של LIBERO מ-76.5 ל-97.1 אחוזים. BitVLA (arXiv 2506.07530) הופך כל משקל של עמוד שדרה BitNet b1.58 2B4T חד-ביטי לטרנרי, ומדווח על 11.0x פחות זיכרון ו-4.4x פחות זמן אחזור מקצה לקצה תוך התאמה ל-OpenVLA-OFT בדיוק מלא. X-VLA-0.9B (arXiv 2510.10274) נמצא על קו ה-1 מיליארד פרמטרים עם התאמת זרימה.
החוט המקשר: מפענח הפעולות, לא מודל השפה, הוא המקום שבו נמצא זמן האחזור. שאלו כיצד מדיניות פולטת פעולות לפני שאתם שואלים כמה פרמטרים יש לה. ה-זירה מכילה 85 מודלים ו-332 תוצאות, כל אחת מקושרת למקור שלה; יש סקירה רחבה יותר ב-הקדמת ה-VLA שלנו.
האם אוכל לכוונן עדין את SmolVLA על RTX 4090?▾
כן. SmolVLA הוא בעל 450 מיליון פרמטרים ו-AY-Robots מריץ אותו על שכבת RTX 4090 / 24 GB. הדוגמה של lerobot משתמשת ב-`--batch_size=64`, וזו דוגמה ולא ערובה עבור הכרטיס שלך; התיעוד ממליץ להתחיל בקטן ולהגדיל כל עוד זמני הטעינה נשארים קצרים. צפה לזמן ארוך יותר מאשר כ-4 השעות שהתיעוד מציין עבור 20000 צעדים על A100.
האם TinyVLA זמין ב-lerobot או ב-AY-Robots?▾
לא לשניהם. TinyVLA קיים רק במאגר המחקר שלו, העדכון האחרון ב-11 במרץ 2025, והפורמט שלו הוא HDF5 בסגנון ACT ולא LeRobot. AY-Robots מאמן את GR00T N1.7, GR00T N1.5, Pi0.5, SmolVLA ו-ACT. אם אתה רוצה את TinyVLA, תצטרך לבנות אותו בעצמך, ותצטרך לתקן קודם את נתיב קובץ התצורה של DeepSpeed ב-scripts/train.sh.
האם מודל של 450 מיליון פרמטרים באמת תחרותי למודל של 3 מיליארד?▾
לפי מדדי הביצועים של המחברים עצמם, כן: 87.3 לעומת 86.0 ב-LIBERO מול Pi0 מאומן מראש לרובוטיקה ב-3.3 מיליארד, ו-78.3 לעומת 61.7 בשלוש משימות SO-100 אמיתיות שבהן אותו מאמר מתייג את Pi0 ב-3.5 מיליארד. המגבלה נמצאת באותו מאמר: במשימה יחידה ללא אימון מוקדם לרובוטיקה, SmolVLA יורד ל-40.0, מתחת ל-48.3 של ACT.
כמה אפיזודות אני צריך לפני ש-VLA קטן עושה משהו?▾
AY-Robots קובע את המינימום של SmolVLA ב-30 אפיזודות ואת המינימום של ACT ב-50. התיעוד של lerobot ממליץ על כ-50 ומדווח ש-25 לא הספיקו לאותה משימה. מבנה חשוב לא פחות מהמספר: הסט של המאמר השתמש ב-5 מיקומי קוביות עם 10 אפיזודות לכל אחד.
מדוע מספרי ההשהיה המפורסמים כל כך שונים?▾
הם מודדים דברים שונים. TinyVLA מדווח על 14 אלפיות השנייה לחיזוי פעולה ב-A6000; AY-Robots מפרט את SmolVLA ב-245 אלפיות השנייה ואת ACT ב-20 אלפיות השנייה לכל שלב פעולה. חלק מהנתונים מכסים מעבר קדימה אחד, חלק מחלקים מעבר על פני מקטע של 50 פעולות, וכמעט אף אחד לא כולל לכידת מצלמה או כתיבה לסרוואים.
האם הסקת ענן פותרת את בעיית ה-GPU?▾
חלקית. AY-Robots מספק אוטומטית פוד שמשרת את המדיניות בזמן שהלקוח המקומי מדבר עם נקודת קצה זו, עם כלב שמירה סרק כך שהוא משמיד את עצמו במקום לחייב בשקט. הוא לא יכול להסיר את זמן ההלוך ושוב של האינטרנט הציבורי, ולולאת הבקרה היא כבר 20 עד 485 אלפיות השנייה לכל שלב פעולה. מתאים למשימות איסוף והנחה איטיות, לא לתנועה תגובתית מהירה.
Sources
- TinyVLA: לקראת מודלי ראייה-שפה-פעולה מהירים ויעילים בנתונים למניפולציה רובוטית
- מאגר הקוד הרשמי של TinyVLA (README, requirements.txt, scripts/train.sh)
- דף הפרויקט של TinyVLA
- lesjie/Llava-Pythia-1.3B, משקלי ה-backbone של TinyVLA-H
- SmolVLA: מודל ראייה-שפה-פעולה לרובוטיקה במחיר סביר ויעילה
- תיעוד lerobot: כוונון עדין של SmolVLA
- lerobot: configuration_smolvla.py, ברירות המחדל של SmolVLA
- כרטיס מודל lerobot/smolvla_base
- SmolVLA: מודל ראייה-שפה-פעולה יעיל (בלוג Hugging Face)
- lerobot ב-PyPI (0.6.1, דורש Python 3.12 ואילך)
- OpenVLA: מודל ראייה-שפה-פעולה בקוד פתוח
- כוונון עדין של מודלי ראייה-שפה-פעולה: אופטימיזציה של מהירות והצלחה (OpenVLA-OFT)
- BitVLA: מודלי ראייה-שפה-פעולה של 1 ביט למניפולציה רובוטית
- X-VLA: טרנספורמר עם הנחיה רכה כמודל ראייה-שפה-פעולה מדרגי חוצה-התגלמויות
- כרטיס מודל rail-berkeley/octo-small-1.5 (27 מיליון פרמטרים)
Sources
- TinyVLA: Towards Fast, Data-Efficient Vision-Language-Action Models for Robotic Manipulation
- TinyVLA official code repository (README, requirements.txt, scripts/train.sh)
- TinyVLA project page
- lesjie/Llava-Pythia-1.3B, the TinyVLA-H backbone weights
- SmolVLA: A Vision-Language-Action Model for Affordable and Efficient Robotics
- lerobot documentation: fine-tuning SmolVLA
- lerobot: configuration_smolvla.py, the SmolVLA defaults
- lerobot/smolvla_base model card
- SmolVLA: Efficient Vision-Language-Action Model (Hugging Face blog)
- lerobot on PyPI (0.6.1, requires Python 3.12 or newer)
- OpenVLA: An Open-Source Vision-Language-Action Model
- Fine-Tuning Vision-Language-Action Models: Optimizing Speed and Success (OpenVLA-OFT)
- BitVLA: 1-bit Vision-Language-Action Models for Robotics Manipulation
- X-VLA: Soft-Prompted Transformer as Scalable Cross-Embodiment Vision-Language-Action Model
- rail-berkeley/octo-small-1.5 model card (27 M parameters)
Ready for high-quality robotics data?
AY-Robots connects your robots to skilled operators worldwide.
Get Started