graph LR
A[๊ธฐ์กด VLA์ ๋ฌธ์ ] --> B[ํ์ต ๋น์ฉ]
A --> C[๋ฐ์ดํฐ ํ์์ฑ]
A --> D[์ถ๋ก ๋นํจ์จ]
B --> E[SmolVLA: 450M ์ปดํฉํธ ์ค๊ณ]
C --> F[SmolVLA: 481๊ฐ ์ปค๋ฎค๋ํฐ ๋ฐ์ดํฐ์
]
D --> G[SmolVLA: ๋น๋๊ธฐ ์ถ๋ก ์คํ]
E --> H[์ ๋น์ฉยท์ ๊ทผ๊ฐ๋ฅ VLA]
F --> H
G --> H
๐SmolVLA
- โจ SmolVLA๋ ๊ธฐ์กด VLA ๋ชจ๋ธ์ ๋์ ๋น์ฉ๊ณผ ์ ํ๋ ๋ฐฐํฌ ๊ฐ๋ฅ์ฑ์ ๊ทน๋ณตํ๊ธฐ ์ํด ์ ๋ ดํ๊ณ ํจ์จ์ ์ธ ๋ก๋ณดํฑ์ค๋ฅผ ๋ชฉํ๋ก ํ๋ ์ํ Vision-Language-Action (VLA) ๋ชจ๋ธ์ ๋๋ค.
- ๐ก ๋ณธ ๋ชจ๋ธ์ VLM ๋ ์ด์ด ๊ฑด๋๋ฐ๊ธฐ, ์ต์ํ์ ์๊ฐ ํ ํฐ ์ฌ์ฉ, ์ปค๋ฎค๋ํฐ ๋ฐ์ดํฐ์ ์ ํตํ ์ฌ์ ํ์ต, ๊ทธ๋ฆฌ๊ณ ์ง์ฐ ์๊ฐ์ ์ค์ด๋ ๋น๋๊ธฐ ์ถ๋ก ์คํ ๋์ ์ผ๋ก ํจ์จ์ฑ์ ๊ทน๋ํํฉ๋๋ค.
- ๐ SmolVLA๋ ํจ์ฌ ๋ ํฐ VLA ๋ชจ๋ธ๊ณผ ๊ฒฌ์ค ๋งํ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ฉฐ, ์๋ฎฌ๋ ์ด์ ๋ฐ ์ค์ ๋ก๋ด ๋ฒค์น๋งํฌ ๋ชจ๋์์ ๊ฒฝ์๋ ฅ ์๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฌ์ฑํ๊ณ ํ์ต ๋ฐ ์ถ๋ก ๋น์ฉ์ ๋ํญ ์ ๊ฐํฉ๋๋ค.
๐ Ping Review
๐ Ping โ A light tap on the surface. Get the gist in seconds.
SmolVLA๋ ์ ๋น์ฉ ๋ฐ ํจ์จ์ ์ธ ๋ก๋ด ๊ณตํ์ ์ํ ์๊ณ ํจ์จ์ ์ธ Vision-Language-Action (VLA) ๋ชจ๋ธ์ ์ ์ํ๋ ์ฐ๊ตฌ์ ๋๋ค. ์ด ๋ชจ๋ธ์ ๊ธฐ์กด VLA ๋ชจ๋ธ๋ค์ด ์์ญ์ต ๊ฐ์ Parameter๋ฅผ ๊ฐ์ง๊ณ ์์ด ๋์ Training ๋น์ฉ๊ณผ ์ ํ์ ์ธ Real-world ๋ฐฐํฌ ๊ฐ๋ฅ์ฑ์ ๊ฐ์ง๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ํฉ๋๋ค. SmolVLA๋ Single GPU์์์ Training ๋ฐ Consumer-grade GPU ๋๋ CPU์์์ ๋ฐฐํฌ๋ฅผ ๋ชฉํ๋ก ํ์ฌ ์ ๊ทผ์ฑ์ ๋์ด๊ณ , ๊ฒฝ์๋ ฅ ์๋ Performance๋ฅผ ์ ์งํ๋ฉด์ ๋น์ฉ์ ํฌ๊ฒ ์ ๊ฐํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
์ฃผ์ ๊ธฐ์ฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๊ฒฝ๋ Architecture: VLM์์ Layer Skipping, ์ต์ํ์ Visual Token ์ฌ์ฉ, Small Pretrained VLM ํ์ฉ, ๊ทธ๋ฆฌ๊ณ Cross-attention๊ณผ Self-attention Layer๋ฅผ Interleaveํ๋ ๋ฑ์ ์ค๊ณ๋ฅผ ํตํด Compactํ๊ณ Efficientํ ๋ชจ๋ธ์ ๊ตฌํํ์ต๋๋ค.
- Community-driven Dataset์ ํตํ Pretraining: ๊ณต๊ณต์ ์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ Community-contributed Dataset์์ 30,000ํ ๋ฏธ๋ง์ Episode๋ก End-to-end Training์ ์งํํ์ฌ, ๊ธฐ์กด์ ์ฐ๊ตฌ๋ณด๋ค ํจ์ฌ ์ ์ Data๋ก๋ ๊ฐ๋ ฅํ Performance๋ฅผ ๋ณด์ฌ์ฃผ์์ต๋๋ค.
- Asynchronous Inference Stack: Observation Processing ๋ฐ Action Prediction์ Action Execution๊ณผ ๋ถ๋ฆฌํ์ฌ Latency๋ฅผ ์ค์ด๊ณ , Chunked Action Generation์ ํตํด ๋ ๋์ Control Rate๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ Optimized Inference Stack์ ๋์ ํ์ต๋๋ค.
ํต์ฌ ๋ฐฉ๋ฒ๋ก (Core Methodology)
1. Model Architecture
SmolVLA๋ Perception์ ๋ด๋นํ๋ Compact Pretrained VLM๊ณผ Action Expert์ ๋ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. VLM์ ์ฌ๋ฌ RGB Image์ Language Instruction, ๊ทธ๋ฆฌ๊ณ Sensorimotor State๋ฅผ ์ฒ๋ฆฌํ์ฌ Action Expert๋ฅผ Conditionํ๋ Feature๋ฅผ ์์ฑํฉ๋๋ค. Action Expert๋ ์ด Feature๋ฅผ ๊ธฐ๋ฐ์ผ๋ก Low-level Continuous Action Chunk๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
- Vision-Language Model (VLM): SmolVLA๋ Multi-image ๋ฐ Video Input์ ์ต์ ํ๋ Efficient ๋ชจ๋ธ์ธ SmolVLM-2 (Marafioti et al., 2025)๋ฅผ VLM Backbone์ผ๋ก ํ์ฉํฉ๋๋ค. SmolVLM-2๋ SigLIP (Zhai et al., 2023)์ ์ฌ์ฉํ์ฌ Visual Feature๋ฅผ Encodingํ๊ณ , SmolLM2 Language Decoder (Allal et al., 2025)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Visual Token Reduction: ํจ์จ์ฑ์ ์ํด Image Tiling์ ์ฌ์ฉํ์ง ์๊ณ Global Image๋ง ์ฌ์ฉํ๋ฉฐ, Pixel Shuffle Operation์ ํตํด Frame๋น Visual Token ์๋ฅผ 64๊ฐ๋ก ์ ํํฉ๋๋ค.
- Faster Inference๋ฅผ ์ํ Layer Skipping: Pretrained ๋ชจ๋ธ์์ ์ฑ๋ฅ ์ ํ ์์ด Layer๋ฅผ Skippingํ ์ ์๋ค๋ ์ด์ ์ฐ๊ตฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก, VLM์ ๋ง์ง๋ง L๊ฐ Layer ๋์ N๋ฒ์งธ Layer๊น์ง๋ง Feature๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ณธ ์ฐ๊ตฌ์์๋ N = L/2๋ก ์ค์ ํ์ฌ Speed์ Performance ๊ฐ์ ๊ท ํ์ ๋ง์ถฅ๋๋ค. ์ด๋ LLM ๋ฐ Action Expert์ Computational Cost๋ฅผ ์ ๋ฐ์ผ๋ก ์ค์ด๋ ํจ๊ณผ๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
- State, Action, Feature Projectors: Sensorimotor State๋ฅผ VLM Dimension์ ๋ง์ถ๊ณ , Action์ Action Expert Dimension์ ๋ง์ถ๋ฉฐ, VLM Feature๋ฅผ Action Expert Dimension์ ๋ง์ถ๊ธฐ ์ํด Linear Projection Layer๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- Flow Matching Action Expert (v_\theta): VLM Feature๋ก๋ถํฐ Action Chunk A_t = (a_t, \dots, a_{t+n})๋ฅผ ์์ธกํ๋๋ก ํ๋ จ๋ Transformer ๊ธฐ๋ฐ์ ๋ชจ๋ธ์
๋๋ค.
- Training Objective: Action Expert๋ Flow Matching Objective๋ฅผ ์ฌ์ฉํ์ฌ Training๋ฉ๋๋ค. ์ด Objective๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: L_{\tau}(\theta) = E_{p(A_t|o_t), q(A^\tau_t|A_t)} [\|v_\theta(A^\tau_t, o_t) - u(A^\tau_t|A_t)\|^2] ์ฌ๊ธฐ์ o_t๋ N๋ฒ์งธ VLM Layer์์ ์ถ์ถ๋ Observation Feature์ด๋ฉฐ, A^\tau_t = \tau A_t + (1-\tau)\epsilon์ ๋๋ค. \epsilon \sim N(0, I)๋ Noise Vector์ด๊ณ , u(A^\tau_t|A_t) = \epsilon - A_t๋ Vector Field์ ๋๋ค. Action Expert v_\theta๋ ์ด Vector Field๋ฅผ ์ถ๋ ฅํ๋๋ก ํ๋ จ๋ฉ๋๋ค. \tau๋ Beta Distribution์์ Sampling๋ฉ๋๋ค.
- Interleaved Cross and Causal Self-Attention Layers: ๊ธฐ์กด VLA Architecture์ ๋ฌ๋ฆฌ, Action Expert๋ Cross-attention (CA) ๋ฐ Self-attention (SA) Layer๋ฅผ Interleaveํฉ๋๋ค. ๊ฐ Block์ CA ๋๋ SA Layer๋ฅผ ํฌํจํฉ๋๋ค.
- CA Layer๋ VLM์ Key์ Value์ Cross-attendํ์ฌ VLM Feature์ ์ํธ ์์ฉํฉ๋๋ค.
- SA Layer๋ Action Token์ด ์๋ก๋ฅผ Attendํ๋๋ก ํ์ฉํ๋ฉฐ, Causal Attention Mask๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ Action Token์ด Chunk ๋ด์ ์ด์ Token๋ง Attendํ๋๋ก ํฉ๋๋ค. ์ด๋ Real Robot์์ ๋ Smoothํ Action Chunk๋ฅผ ์์ฑํ๋ ๋ฐ ๊ธฐ์ฌํฉ๋๋ค.
- Action Expert์ Hidden Size๋ VLM Hidden Dimension d์ 0.75 \times d๋ก ์ค์ฌ ํจ์จ์ฑ์ ๋์์ต๋๋ค.
2. Pretraining Data Collected by the Community
๋ก๋ด ๊ณตํ ๋ถ์ผ์ Data๋ Vision ๋ฐ Language ๋ถ์ผ์ ๋นํด ๊ท๋ชจ๊ฐ ํจ์ฌ ์๊ณ , Data Heterogeneity (๋ค์ํ ๋ก๋ด ํํ, Sensor, Actuation Mode, Control Frequency ๋ฑ)๊ฐ ํฐ ๋ฌธ์ ์์ต๋๋ค. SmolVLA๋ Low-end Robot Platform ๋ฐ Standardized Robotics Library์ ๋์ ์ผ๋ก Data Heterogeneity ๋ฌธ์ ๊ฐ ์ํ๋๋ ์ ์ ์ฃผ๋ชฉํ์ฌ Community Dataset์ ํ์ฉํฉ๋๋ค.
- Dataset Source: Hugging Face์์ ์ป์ 481๊ฐ์ Community Dataset์ ์ฌ์ฉํ์ผ๋ฉฐ, ์ฝ 22.9K๊ฐ์ Episode์ 10.6M๊ฐ์ Frame์ ํฌํจํฉ๋๋ค.
- Task Annotation: Community Dataset์ Noise๊ฐ ๋ง์ Task Annotation ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, Off-the-shelf VLM (Qwen2.5-VL-3B-Instruct)์ ์ฌ์ฉํ์ฌ ๊ฐ๊ฒฐํ Task Description์ ์๋์ผ๋ก ์์ฑํ์ต๋๋ค.
- Camera Viewpoint Normalization: Camera Naming Convention์ ๋์ ๊ฐ๋ณ์ฑ์ ํด๊ฒฐํ๊ธฐ ์ํด, ๊ฐ Camera๋ฅผ Standardized View Type (Top, Wrist, Side)์ผ๋ก ์๋์ผ๋ก Mappingํ๊ณ OBS_IMAGE_1, OBS_IMAGE_2, OBS_IMAGE_3์ผ๋ก ์ด๋ฆ์ ๋ณ๊ฒฝํ์ต๋๋ค.
3. Asynchronous Inference
๊ธฐ์กด Visuomotor Policy๋ Action Chunk A_t = (a_t, \dots, a_{t+n})๋ฅผ ์ถ๋ ฅํ๊ณ , ๋ก๋ด์ ์ด Chunk ์ ์ฒด๋ฅผ ์คํํ ํ์์ผ ์๋ก์ด Observation o_{t+n}์ Policy์ ์ ๋ฌํ์ฌ ๋ค์ Chunk๋ฅผ ์์ธกํฉ๋๋ค (Synchronous Inference). ์ด๋ Observation ์ฌ์ด์์ Open-loop Inference๊ฐ ๋ฐ์ํ์ฌ Latency์ Robot Idle ์๊ฐ์ ์ผ๊ธฐํฉ๋๋ค. SmolVLA๋ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Asynchronous Inference Stack (Algorithm 1)์ ๋์ ํฉ๋๋ค.
- ์๋ฆฌ: RobotClient๊ฐ PolicyServer์ Observation o_t๋ฅผ ๋ณด๋ด๊ณ Inference๊ฐ ์๋ฃ๋๋ฉด Action Chunk A_t๋ฅผ ๋ฐ์ต๋๋ค. ํต์ฌ์ Robot์ด ์ด์ ์ ์ฌ์ฉ ๊ฐ๋ฅํ Queue๋ฅผ ์๋นํ๋ ๋์ Chunk Prediction์ Triggerํ์ฌ Execution Lag๋ฅผ ํผํ๋ ๊ฒ์ ๋๋ค.
- ๊ตฌํ: RobotClient๋ Queue์ ๋จ์ Action์ ์๊ฐ Threshold (|A_t|/n < g) ๋ฏธ๋ง์ด ๋๋ฉด ์๋ก์ด Observation์ ์บก์ฒํ์ฌ PolicyServer์ ๋ณด๋ ๋๋ค. ์๋ก์ด Chunk๊ฐ ๋์ฐฉํ๋ฉด ๊ธฐ์กด Queue์ Overlap๋๋ ๋ถ๋ถ์ Aggregationํ์ฌ ์ฌ์ฉํฉ๋๋ค.
- ํจ์จ์ฑ: ์ด ๋ฐฉ์์ Observation์ ๋ ์์ฃผ ์ฒ๋ฆฌํ์ฌ Control Loop๋ฅผ ๊ฐํํ๊ณ Idle Gap์ ์ ๊ฑฐํฉ๋๋ค. ๋ํ, Action Prediction์ Action Execution๊ณผ ๋ถ๋ฆฌํจ์ผ๋ก์จ ์๊ฒฉ Policy Server์์ ๋ ๊ฐ๋ ฅํ Computational Resource๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. ์ ์ฌ์ฑ ํํฐ๋ฅผ ํตํด ์ค๋ณต Observation ์ฒ๋ฆฌ๋ฅผ ๋ฐฉ์งํ์ฌ ๋นํจ์จ์ฑ์ ์ค์ ๋๋ค.
์คํ ๊ฒฐ๊ณผ
SmolVLA๋ Simulation ํ๊ฒฝ (LIBERO ๋ฐ Meta-World)๊ณผ Real-world ํ๊ฒฝ (SO100 ๋ฐ SO101 Robot Arm)์์ ํ๊ฐ๋์์ต๋๋ค. Simulation์์ SmolVLA๋ Octo, OpenVLA, Diffusion Policy Baseline์ ๋ฅ๊ฐํ์ผ๋ฉฐ, Pretraining๋ ฯ0 (3.3B Parameter)์ ๊ฒฝ์ํ๊ฑฐ๋ ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์์ต๋๋ค. Real-world์์๋ ACT ๋ฐ ฯ0๋ณด๋ค ๋ฐ์ด๋ Success Rate๋ฅผ ๋ฌ์ฑํ์ผ๋ฉฐ, ํนํ SO101 Robot์ ๋ํ In-distribution ๋ฐ Out-of-distribution Generalization ๋ฅ๋ ฅ์ ์ ์ฆํ์ต๋๋ค.
Ablation Study๋ฅผ ํตํด ํต์ฌ ์ค๊ณ ์ ํ์ ์ค์์ฑ์ ํ์ธํ์ต๋๋ค: Interleaved Cross ๋ฐ Self-attention์ ์ด์ , Causal Attention Mask์ ์ค์์ฑ, VLM์ ์ด๊ธฐ Layer ์ฌ์ฉ์ ํจ์จ์ฑ, Flow Matching Objective์ ์ฐ์์ฑ, ๊ทธ๋ฆฌ๊ณ Sensorimotor State๋ฅผ VLM์ ์ ๋ฌํ๋ ๊ฒ์ ํจ๊ณผ๊ฐ ์ ์ฆ๋์์ต๋๋ค. Asynchronous Inference๋ ์ ์ฌํ Success Rate๋ฅผ ์ ์งํ๋ฉด์๋ Synchronous Inference์ ๋นํด ์ฝ 30% ๋น ๋ฅธ Task Completion ์๊ฐ์ ๋ณด์์ต๋๋ค.
SmolVLA๋ Compactํ๊ณ Efficientํ VLA ๋ชจ๋ธ๋ก์, ์ ๋ ดํ Hardware์์ ์คํ๋๊ณ Low-cost Robot์ ์ ์ดํ๋ฉฐ, ํจ์ฌ ํฐ VLA ๋ชจ๋ธ๊ณผ ๊ฒฝ์ํ ์ ์๋ Performance๋ฅผ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ์ด ์ฐ๊ตฌ๋ ๋ก๋ด ๊ณตํ ์ฐ๊ตฌ์ ์ ๊ทผ์ฑ์ ๋์ด๋ ๋ฐ ๊ธฐ์ฌํ๊ณ , ํฅํ VLA ๋ชจ๋ธ ์ค๊ณ ๋ฐ Inference ์ ๋ต์ ๋ํ ์ค์ํ ์ง์นจ์ ์ ๊ณตํฉ๋๋ค.
๐ Ring Review
๐ Ring โ An idea that echoes. Grasp the core and its value.
๋ค์ด๊ฐ๋ฉฐ: ์์ ๊ฑฐ์ธ์ ๋ฑ์ฅ
๋ก๋ด์ด โ๋นจ๊ฐ ํ๋ธ๋ฅผ ์ง์ด์ ๋ฐ์ค์ ๋ฃ์ดโ๋ผ๋ ํ ๋ฌธ์ฅ๋ง์ผ๋ก ์๋ฌด๋ฅผ ์ํํ๋ ๋ชจ์ต์ ์์ํด๋ณด์. ์ด๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ชจ๋ธ์ด ๋ฐ๋ก VLA(Vision-Language-Action) ๋ชจ๋ธ์ด๋ค. ๊ทธ๋ฐ๋ฐ ํ ๊ฐ์ง ๋ถํธํ ์ง์ค์ด ์๋ค. ์ง๊ธ๊น์ง ์ ๋์ํ๋ VLA๋ค์ ๋๋ถ๋ถ ์์ญ์ต ํ๋ผ๋ฏธํฐ์ ๊ฑฐ์ธ๋ค์ด๋ค. ฯโ๋ 3.3B, OpenVLA๋ 7B. ์ด ๋ชจ๋ธ๋ค์ ํ์ต์ํค๋ ค๋ฉด ๋ฐ์ดํฐ์ผํฐ ๊ท๋ชจ์ GPU ํด๋ฌ์คํฐ๊ฐ ํ์ํ๊ณ , ์ค์ ๋ก๋ด์ ์ฌ๋ ค์ ๋๋ฆฌ๋ ค๋ฉด ๋น์ผ ์ฃ์ง GPU๊ฐ ๋ ํ์ํ๋ค. SO-ARM100 ๊ฐ์ 100๋ฌ๋ฌ์ง๋ฆฌ ์ ๊ฐ ๋ก๋ด์ผ๋ก ์ ๋ฌธํ ์ฐ๊ตฌ์์๊ฒ๋ ์ฌ์ค์ ๊ทธ๋ฆผ์ ๋ก์ด๋ค.
Hugging Face์ Sorbonne ๋ํ๊ต ์ฐ๊ตฌ์ง์ด ๋ฐํํ SmolVLA๋ ์ด ํจ๋ฌ๋ค์์ ์ ๋ฉด์ผ๋ก ๊ฑฐ์ค๋ฅธ๋ค. 450M ํ๋ผ๋ฏธํฐ โ ฯโ์ ์ฝ 1/7 ํฌ๊ธฐ๋ก, ๋จ์ผ GPU์์ ํ์ต์ด ๊ฐ๋ฅํ๊ณ ์ฌ์ง์ด CPU์์๋ ์ถ๋ก ์ด ๋์๊ฐ๋ฉฐ, ๊ทธ๋ฌ๋ฉด์๋ ์ฑ๋ฅ์ 10๋ฐฐ ํฐ ๋ชจ๋ธ๊ณผ ๊ฒฌ์ค ๋งํ๋ค. ์ด ๊ธ์์๋ ์ด๋ป๊ฒ ๊ทธ๊ฒ ๊ฐ๋ฅํ์ง โ ๊ทธ๋ค์ด ๋ฌด์์ ์๋๊ณ , ๋ฌด์์ ๋จ๊ฒผ๊ณ , ์ ๊ทธ๊ฒ ์๋ํ๋์ง โ ๋ฅผ ํํค์ณ ๋ณด๊ฒ ๋ค.
1. ๋ฌธ์ ์ ์: ๊ฑฐ๋ VLA์ ์ธ ๊ฐ์ง ๊ทธ๋ฆผ์
VLA ์ฐ๊ตฌ ํ๋ฆ์ ๋งค๋ ฅ์ ๋ถ๋ช ํ๋ค. ์ด๋ฏธ ์ธํฐ๋ท ๊ท๋ชจ๋ก ์ฌ์ ํ์ต๋ VLM(Vision-Language Model)์ ๋ก๋ด ํ๋์ ํ์ต์ํค๋ฉด, ์์๊ณผ ์ถ๋ก ๋ฅ๋ ฅ์ ๊ทธ๋๋ก ๋ฌผ๋ ค๋ฐ์ ์ผ๋ฐํ๋ ์ ์ฑ ์ ์ป์ ์ ์๋ค๋ ์ฝ์. RT-2๊ฐ ์ฒ์ ๊ทธ ๊ฐ๋ฅ์ฑ์ ๋ณด์๊ณ , OpenVLA, ฯโ, GR00T N1 ๋ฑ์ด ์ด๋ฅผ ๋ฐ์ ์์ผฐ๋ค.
ํ์ง๋ง ๊ทธ ์ฝ์์๋ ์ธ ๊ฐ์ง ๊ทธ๋ฆผ์๊ฐ ๋ฐ๋ผ์จ๋ค.
์ฒซ์งธ, ๋น์ฉ์ ๋ฒฝ. 7B ํ๋ผ๋ฏธํฐ ๋ชจ๋ธ์ ํ์ต์ํค๋ ค๋ฉด ๋ณดํต ์๋ฐฑ GPUยท์๊ฐ์ด ํ์ํ๋ค. ์ถ๋ก ๋ ๋ง๋ง์น ์์์, ์ค์๊ฐ ์ ์ด(30Hz ์ด์)์๋ ๊ณ ๊ฐ์ GPU๊ฐ ํ์๋ค. ํ๊ต ์ฐ๊ตฌ์ค์ด๋ ๊ฐ์ธ ์ฐ๊ตฌ์๊ฐ ์ง์ ํ๊ธฐ ์ด๋ ต๋ค.
๋์งธ, ๋ฐ์ดํฐ์ ํ์์ฑ. ๊ธฐ์กด VLA๋ค์ Open X-Embodiment, DROID์ฒ๋ผ ์ ์ ์ ๋ ํ์ /์ฐ์ ๋ฐ์ดํฐ์ ์ ์์กดํ๋ค. ๊ทธ๋ฐ๋ฐ LeRobot, Hugging Face hub์๋ SO-100 ๊ฐ์ ์ ๊ฐ ๋ก๋ด์ผ๋ก ์ผ๋ฐ์ธ์ด ๋ชจ์ ์๋ฐฑ ๊ฐ์ ์ปค๋ฎค๋ํฐ ๋ฐ์ดํฐ์ ์ด ์๋ค. ์ด ๋ฐ์ดํฐ๋ค์ ์์นด๋ฐ๋ฏน ๋ฐ์ดํฐ์ ๊ณผ ๋ค๋ฅด๊ฒ ๋ ธ์ด์ฆ๊ฐ ๋ง๊ณ ํ์คํ๊ฐ ์ ๋ผ ์์ง๋ง, ๋์์ ํ์ค์ ๋ค์์ฑ์ ๋ด๊ณ ์๋ค. ์ด ๊ด๋งฅ์ ์๋ฌด๋ ์ ๋๋ก ํ์ฉํ์ง ๋ชปํ๋ค.
์ ์งธ, ์ถ๋ก ๊ตฌ์กฐ์ ๋นํจ์จ. ๋๋ถ๋ถ์ VLA๋ โ๊ด์ธก โ ์ก์ ์ฒญํฌ(n step) ์์ธก โ ์ฒญํฌ ์ ๋ถ ์คํ โ ๋ค์ ๊ด์ธกโ์ด๋ผ๋ ๋๊ธฐ์(synchronous) ๋ฃจํ๋ฅผ ๋๋ค. ์ด ๊ตฌ์กฐ์์๋ ๋ชจ๋ธ์ด ๋ค์ ์ฒญํฌ๋ฅผ ๊ณ์ฐํ๋ ๋์ ๋ก๋ด์ด ๋ฉ ๋๋ฆฌ๋ ์๊ฐ(idle gap) ์ด ๋ฐ์ํ๋ค. ์์ ๋ชจ๋ธ์ผ์๋ก ์ด idle gap์ด ์งง์ง๋ง, ํฐ ๋ชจ๋ธ์ผ์๋ก ํ๊ฒฝ ๋ณํ์ ๋๊ฐํด์ง๋ค.
SmolVLA๋ ์ด ์ธ ๊ฐ์ง ๊ทธ๋ฆผ์๋ฅผ ๋์์ ๊ฑท์ด๋ด๋ ค ํ๋ค.
2. SmolVLA ํ๋์ ๋ณด๊ธฐ
์ ์ฒด ๊ตฌ์กฐ๋ฅผ ๋จผ์ ๊ทธ๋ฆฌ๊ณ ์์ํ์. ํฐ ๊ทธ๋ฆผ์ ๋จธ๋ฆฌ์ ๋ฃ์ด๋๋ฉด ์ธ๋ถ์ฌํญ์ด ํจ์ฌ ์ ๋ค์ด์จ๋ค.
+------------------------------------------------------------+
| SmolVLA Overview |
+------------------------------------------------------------+
| |
| [Lang Instruction] [RGB Images] [Robot State] |
| | | | |
| v v v |
| tokenizer SigLIP encoder Linear projector |
| | | | |
| +--------+---------+-----------------+ |
| v |
| +--------------+ |
| | SmolLM-2 | |
| | (first N | <-- skip last (L-N) layers |
| | layers only)| |
| +------+-------+ |
| | VLM features (o_t) |
| v |
| +-----------------------------------+ |
| | Action Expert v_theta | |
| | (CA <-> SA interleaved blocks) | |
| | trained with Flow Matching | |
| +------------+----------------------+ |
| | |
| v |
| Action chunk: a_t, a_{t+1}, ..., a_{t+n} |
| |
+------------------------------------------------------------+
ํต์ฌ ์ค๊ณ ์์ ์ ๋ค์ฏ ๊ฐ์ง๋ก ์์ฝ๋๋ค.
| ์ค๊ณ ๊ฒฐ์ | ์ด์ |
|---|---|
| ์ปดํฉํธ VLM (SmolVLM-2, 500M๊ธ) | ๊ฑฐ๋ LLM ๋์ ์์ ์ฌ์ ํ์ต ๋ฉํฐ๋ชจ๋ฌ ๋ชจ๋ธ ์ฌ์ฉ |
| VLM ๋ ์ด์ด ์คํต (N=L/2) | ๋ง์ง๋ง ์ ๋ฐ ๋ ์ด์ด ๋ฒ๋ฆผ โ ์ฐ์ฐ ์ ๋ฐ |
| ์๊ฐ ํ ํฐ 64๊ฐ/ํ๋ ์ | ํ์ผ๋ง ์์ด ๊ธ๋ก๋ฒ ์ด๋ฏธ์ง + pixel shuffle |
| Flow Matching Action Expert | ์ฐ์ ํ๋์ ๋ค์ค๋ชจ๋ ๋ถํฌ๋ฅผ ๋ถ๋๋ฝ๊ฒ ํํ |
| CA + Causal SA ์ธํฐ๋ฆฌ๋น | ํํ๋ ฅ๊ณผ ์๋์ ๊ท ํ |
3. ๋ชจ๋ธ ์ํคํ ์ฒ: ๋ฌด์์ ์๋๊ณ , ์ ๊ทธ๊ฒ ์๋ํ๋
3.1 VLM ๋ฐฑ๋ณธ: SmolVLM-2
SmolVLM-2๋ SigLIP ๋น์ ์ธ์ฝ๋ + SmolLM-2 ์ธ์ด ๋์ฝ๋๋ก ๊ตฌ์ฑ๋ ์ฝ 500M ํ๋ผ๋ฏธํฐ์ ํจ์จ์ VLM์ด๋ค. ํต์ฌ ์์ด๋์ด๋ ๋จ์ํ๋ค โ ๊ฑฐ๋ LLM์ ๊ฐ์ ธ์์ ๋ฉํฐ๋ชจ๋ฌ๋ก ํ์ฅํ๋ ๋์ , ์ฒ์๋ถํฐ ์์ ๋ชจ๋ธ์ ์ ํ์ต์ํจ๋ค. SmolLM-2 ์์ฒด๊ฐ ๋ฐ์ดํฐ ํ์ง์ ์ง์คํด์ ํ์ต๋ ์ปดํฉํธ LLM์ด๋ผ, ๊ฐ์ ํ๋ผ๋ฏธํฐ ์ ๋๋น ํํ๋ ฅ์ด ์ข๋ค.
SmolVLA์์ VLM์ ์ธ ๊ฐ์ง ์ ๋ ฅ์ ๋ฐ๋๋ค:
- ์ธ์ด ์ง์๋ฌธ โ ํ ์คํธ ํ ํฐ
- RGB ์ด๋ฏธ์ง(๋ค) โ SigLIP์ผ๋ก ์ธ์ฝ๋ฉ๋ ์๊ฐ ํ ํฐ
- ๋ก๋ด ์ํ (joint positions ๋ฑ) โ ์ ํ ํฌ์์ผ๋ก ๋จ ํ ๊ฐ์ ํ ํฐ์ผ๋ก ์์ถ
์ด ํ ํฐ๋ค์ concatenateํด์ LLM์ ํต๊ณผ์ํจ๋ค. LLM์ ์ถ๋ ฅ ํผ์ฒ๊ฐ Action Expert์ ์กฐ๊ฑด(condition)์ด ๋๋ค.
3.2 ์๊ฐ ํ ํฐ 64๊ฐ์ ๋น๋ฐ
์ด ๋ถ๋ถ์ด ํฅ๋ฏธ๋กญ๋ค. ์ผ๋ฐ์ ์ธ VLM์ ๊ณ ํด์๋ ์ด๋ฏธ์ง๋ฅผ ์ ๋ค๋ฃจ๊ธฐ ์ํด ์ด๋ฏธ์ง ํ์ผ๋ง โ ์๋ณธ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฌ ํจ์น๋ก ๋๋๊ณ ๊ฐ๊ฐ์ ์ธ์ฝ๋ฉ โ ์ ํ๋ค. ๋ ๋ง์ ํ ํฐ = ๋ ์ ๋ฐํ ์ธ์ง. ํ์ง๋ง ์ถ๋ก ๋น์ฉ์ ํ ํฐ ์์ ์ ๊ณฑ(์ดํ ์ ๋ณต์ก๋)์ผ๋ก ์ฆ๊ฐํ๋ค.
SmolVLA๋ ํ์ผ๋ง์ ํฌ๊ธฐํ๋ค. ๊ธ๋ก๋ฒ ์ด๋ฏธ์ง ํ ์ฅ๋ง ์ฌ์ฉํ๊ณ , ๊ฑฐ๊ธฐ์ pixel shuffle ์ฐ์ฐ์ผ๋ก ํ ํฐ์ 64๊ฐ๋ก ๊ฐ์ ์์ถํ๋ค. Pixel shuffle์ ๊ณต๊ฐ ํด์๋๋ฅผ ์ฑ๋ ์ฐจ์์ผ๋ก ์ฎ๊ธฐ๋ ํธ๋ฆญ์ผ๋ก, ์ ๋ณด๋ฅผ ๊ฐ๋ฅํ ํ ๋ณด์กดํ๋ฉด์ ํ ํฐ ์๋ฅผ ํ ์ค์ธ๋ค.
์ง๊ด์ ์ผ๋ก: ์ฌ์ง์ 16๋ฉ๊ฐํฝ์ ๋ก ๋ณด๋ , 64๊ฐ์ โ์ง์ญ ์์ฝ ํจ์นโ๋ก ๋ณด๋ , ํ๋ธ๋ฅผ ์ง๋ ๋ฐ ํ์ํ ์ ๋ณด(์ด๋ ์๋์ง, ์์ด ๋ญ์ง, ์์ด ์ด๋๋ก ๊ฐ์ผ ํ๋์ง)๋ ๋์ฒด๋ก ์ถฉ๋ถํ๋ค๋ ๋ฒ ํ ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ฒ ํ ์ด ์คํ์ ์ผ๋ก ์๋ํ๋ค.
3.3 ๋ ์ด์ด ์คํต: ๋ง์ง๋ง ์ ๋ฐ์ ๋ฒ๋ฆฐ๋ค
์ด๊ฒ ๊ฐ์ฅ ์ถฉ๊ฒฉ์ ์ธ ์ค๊ณ ๊ฒฐ์ ์ด๋ค. ์ฌ์ ํ์ต๋ LLM์ ๋ง์ง๋ง ์ ๋ฐ ๋ ์ด์ด๋ฅผ ์๋ผ๋ฒ๋ฆฐ๋ค.
์ ํต์ ์ธ ๊ฐ์ ์ โLLM์ ๋ง์ง๋ง ๋ ์ด์ด๊ฐ ๊ฐ์ฅ ํ๋ถํ ์๋ฏธ์ ํํ์ ๊ฐ์ง๋คโ์ด๋ค. ํ์ง๋ง ์ต๊ทผ ์ฐ๊ตฌ๋ค(El-Nouby et al., 2024; Bolya et al., 2025)์ ๋ค์ด์คํธ๋ฆผ ํ์คํฌ์ ๊ฐ์ฅ ์ข์ ํผ์ฒ๋ ๋ฐ๋์ ๋ง์ง๋ง ๋ ์ด์ด๊ฐ ์๋๋ค ๋ผ๋ ๊ฒ์ ๋ณด์ฌ์คฌ๋ค. ํนํ ๋ถ๋ฅ๋ ์๊ฐ์ grounding ๊ฐ์ ํ์คํฌ์์๋ ์ค๊ฐ ๋ ์ด์ด๊ฐ ๋ ์ข๋ค.
SmolVLA๋ ์ด ํต์ฐฐ์ ๋ฐ์๋ค์ฌ, N = L/2๋ก ์ค์ ํ๋ค. ์ฆ, 16-layer LLM์ด๋ผ๋ฉด ์ฒ์ 8๊ฐ ๋ ์ด์ด๋ง ์ฌ์ฉํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก:
- LLM ์ฐ์ฐ ๋น์ฉ ์ ๋ฐ
- Action Expert๊ฐ cross-attendํ๋ KV ๋ฉ๋ชจ๋ฆฌ ์ ๋ฐ
- ๊ฑฐ์ ์์ค ์๋ ์ฑ๋ฅ (์คํ์ ์ผ๋ก ๊ฒ์ฆ)
3.4 Flow Matching Action Expert: ์ฐ์ ํ๋์ ์ด๋ป๊ฒ ๋ง๋๋
์, ์ฌ๊ธฐ๊ฐ ์ง์ง ํฅ๋ฏธ๋ก์ด ๋ถ๋ถ์ด๋ค. Action Expert \mathbf{v}_\theta๋ VLM ํผ์ฒ \mathbf{o}_t๋ฅผ ์ ๋ ฅ๋ฐ์ n๊ฐ step์ ์ก์ ์ฒญํฌ \mathbf{A}_t = (a_t, ..., a_{t+n})์ ์ถ๋ ฅํ๋ค. SmolVLA๋ n=50์ ์ฌ์ฉํ๋ค.
๋ฌธ์ ๋ โ์ด๋ป๊ฒ ํ์ต์ํค๋โ์ด๋ค. ๋จ์ํ ํ๊ท(L1/L2 loss)๋ ๊ฐ๋ฅํ์ง๋ง, ์ค์ ๋ก๋ด์ ํ๋์ ๋ค์ค ๋ชจ๋ ๋ถํฌ(multi-modal distribution) ๋ฅผ ๊ฐ์ง๋ค. ๊ฐ์ ์ํ์์๋ ํ๋ธ๋ฅผ ์ง๋ ๊ฒฝ๋ก๋ ์ฌ๋ฌ ๊ฐ ์์ ์ ์๊ณ , ๋จ์ผ ํ๊ท๋ ์ด ํ๊ท ์ ํ์ตํด๋ฒ๋ ค ์ด์ํ ํ๋์ ๋ง๋ ๋ค.
Flow Matching์ ์ง๊ด
Flow Matching์ ์ดํดํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ์ด๋ ๋ค. ์ฐ๋ฆฌ๋ ๋ ธ์ด์ฆ ๋ถํฌ(๊ฐ์ฐ์์) ์์ ๋ฐ์ดํฐ ๋ถํฌ(์ง์ง ํ๋) ๋ก ๊ฐ๋ โํ๋ฆ(flow)โ์ ํ์ตํ๊ณ ์ถ๋ค.
ฮต ~ N(0, I) A_t (real action)
\ /
\ /
\---tau=0.0----/ <- pure noise
\-tau=0.5-/ <- halfway
\tau=1./ <- real data
At any tau in [0,1]:
A_t^tau = tau * A_t + (1 - tau) * ฮต
The model learns the velocity field:
v_theta(A_t^tau, o_t) ~ u(A_t^tau | A_t) = ฮต - A_t
ํ์ต ์์ค์:
\mathcal{L}^{\tau}(\theta) = \mathbb{E}_{p(\mathbf{A}_t | \mathbf{o}_t),\, q(\mathbf{A}_t^\tau | \mathbf{A}_t)} \left[\|\mathbf{v}_\theta(\mathbf{A}_t^\tau, \mathbf{o}_t) - \mathbf{u}(\mathbf{A}_t^\tau | \mathbf{A}_t)\|^2\right]
์ฌ๊ธฐ์ \mathbf{u}(\mathbf{A}_t^\tau | \mathbf{A}_t) = \epsilon - \mathbf{A}_t๋ ๋ ธ์ด์ฆ์์ ๋ฐ์ดํฐ๋ก ๊ฐ๋ ์๋ ๋ฒกํฐ(vector field) ์ด๋ค. ๋ชจ๋ธ์ โํ์ฌ ๋ ธ์ด์ฆ ์์ธ ์ก์ ์์, ์ง์ง ์ก์ ์ชฝ์ผ๋ก ์ด๋ ๋ฐฉํฅ์ผ๋ก ์ผ๋ง๋ ๊ฐ์ผ ํ๋๊ฐโ๋ฅผ ํ์ตํ๋ค.
๋ฌผ๋ฆฌํ์ ๋น์ : ๊ฐ๋ฌผ์ด ์ด๋๋ก ํ๋ฅด๋์ง ์๋ฉด, ์ด๋์ ์ถ๋ฐํด๋ ๊ฒฐ๊ตญ ๋ฐ๋ค์ ๋์ฐฉํ ์ ์๋ค. Flow Matching์ โ๋ ธ์ด์ฆ ๋ฐ๋คโ์์ โ๋ฐ์ดํฐ ๋ฐ๋คโ๋ก ๊ฐ๋ ๊ฐ์ ํ๋ฆ์ฅ(velocity field)์ ํ์ตํ๋ค. ์ถ๋ก ์์๋ ๋ ธ์ด์ฆ๋ฅผ ๋ฝ์์ ์ด ํ๋ฆ์ ๋ฐ๋ผ ํ๋ ค๋ณด๋ด๋ฉด ์ง์ง ํ๋์ด ๋์จ๋ค.
์ถ๋ก ์ ๋ณดํต 10๋จ๊ณ ์ ๋์ ODE solver๋ก ์ ๋ถํ๋ค. Diffusion ๊ธฐ๋ฐ ์ ์ฑ (์: ฯโ)๋ ๋น์ทํ ์์ด๋์ด์ด์ง๋ง, Flow Matching์ ๋ ์ง์ ์ ์ธ(rectified) ํ๋ฆ์ ๋ง๋ค์ด ์ ์ ์ ๋ถ ๋จ๊ณ๋ก๋ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ค.
ฯ๋ Beta ๋ถํฌ์์ ์ํ๋งํ๋ค(ฯโ๊ณผ ๋์ผ). ์ด๋ ํ์ต ์ ๋ ธ์ด์ฆ ์์ค์ ๋ถํฌ๋ฅผ ๋น๋์นญ์ ์ผ๋ก ๋ง๋ค์ด, ์ด๋ ค์ด ๋จ๊ณ์ ๋ ๋ง์ ์ํ์ด ํ ๋น๋๋๋ก ํ๋ค.
๋ ํ ๊ฐ์ง ๋ํ ์ผ: Action Expert์ hidden size๋ VLM์ 0.75๋ฐฐ๋ก ์ค์ธ๋ค. ํํ๋ ฅ์ ์ ์งํ๋ฉด์ ๋ฉ๋ชจ๋ฆฌ/์ฐ์ฐ์ ์ถ๊ฐ๋ก ์ ๊ฐ.
3.5 Cross-Attention๊ณผ Causal Self-Attention์ ์ธํฐ๋ฆฌ๋น
์ด๊ฒ SmolVLA๋ง์ ๋ ํนํ ์ค๊ณ๋ค. ๋ค๋ฅธ VLA๋ค์ ๋ ๊ฐ๋๋ก ๊ฐ๋ฆฐ๋ค:
- ฯโ: VLM๊ณผ Action Expert๋ฅผ ํ ๋ฉ์ด๋ฆฌ์ self-attention์ผ๋ก ์ฐ๊ฒฐ
- GR00T N1: ์์ cross-attention๋ง ์ฌ์ฉ
SmolVLA๋ ๋ ๋ฐฉ์์ ๋ธ๋ก ๋จ์๋ก ๋ฒ๊ฐ์ ๋ผ์ ๋ฃ๋๋ค(interleave):
Action Expert v_theta:
+---------------------+
| Block 1: CA (cross-attend to VLM keys/values)
+---------------------+
| Block 2: SA (causal self-attention among action tokens)
+---------------------+
| Block 3: CA
+---------------------+
| Block 4: SA
+---------------------+
| ... (alternating)
๊ฐ ์ปดํฌ๋ํธ์ ์ญํ ์ ์ง๊ด์ ์ผ๋ก ํ๋ฉด:
- CA ๋ธ๋ก: ์ก์ ํ ํฐ์ด VLM ํผ์ฒ๋ฅผ โ๊ด์ฐฐโํ๋ค. โ์ง๊ธ ํ๊ฒฝ์ด ์ด๋ค ์ํฉ์ด์ง?โ
- SA ๋ธ๋ก (causal): ์ก์ ํ ํฐ๋ค๋ผ๋ฆฌ ์๋ก โ์กฐ์จโํ๋ค. โ์ง๊ธ๊น์ง ์ ํด์ง ํ๋๋ค๊ณผ ์ผ๊ด๋๊ฒ, ๋ค์์ ๋ญ ํด์ผ ํ์ง?โ
Causal mask๋ ์ค์ํ๋ค. ๋ฏธ๋์ action ํ ํฐ์ ๋ณด๋ฉด ์ ๋๋๋ฐ, ๊ทธ๋์ผ ์ถ๋ก ์ ์ผ๊ด๋ ์ํ์ค๋ฅผ ๋ง๋ค ์ ์๋ค(๋ฏธ๋์์ ๋์ค๋ ์ ๋ณด๋ก ํ์ตํ ๋ชจ๋ธ์ ์ถ๋ก ๋จ๊ณ์์ ๋ฌด๋์ง๋ค).
๋ ผ๋ฌธ ์ด๋ธ๋ ์ด์ ์ ๋ฐ๋ฅด๋ฉด(Table 6, 7):
| Attention | LIBERO Avg SR (%) |
|---|---|
| CA only | 79.0 |
| SA only | 74.5 |
| CA + SA interleaved | 85.5 |
| Mask | LIBERO Avg SR (%) |
|---|---|
| Bidirectional | 67.5 |
| Causal | 74.5 |
ํนํ ์ค์ ๋ก๋ด์์ SA ๋ธ๋ก์ด ๋ถ๋๋ฌ์ด ํ๋ ์ฒญํฌ๋ฅผ ๋ง๋๋ ๋ฐ ๊ฒฐ์ ์ ์ด๋ผ๊ณ ์ ์๋ค์ ๋ณด๊ณ ํ๋ค. ์ด๋ ์ก์ ๊ฐ ์๊ฐ์ ์ผ๊ด์ฑ ๋๋ฌธ์ผ๋ก ๋ณด์ธ๋ค.
graph TD
VLM[VLM Features o_t] -->|keys, values| CA1[CA Block 1]
Noise[Noisy Actions A_t^tau] --> CA1
CA1 --> SA1[SA Block 1<br/>causal mask]
SA1 --> CA2[CA Block 2]
VLM -->|keys, values| CA2
CA2 --> SA2[SA Block 2<br/>causal mask]
SA2 --> Out[Velocity field<br/>v_theta]
style CA1 fill:#FFD700,color:#000
style CA2 fill:#FFD700,color:#000
style SA1 fill:#FFFFE0,color:#000
style SA2 fill:#FFFFE0,color:#000
4. ํ์ต ๋ฐ์ดํฐ: ์ปค๋ฎค๋ํฐ์ ํ
SmolVLA์ ๋ ๋ฒ์งธ ํต์ฌ ๊ธฐ์ฌ๋ ๋ฐ์ดํฐ ์ถ์ฒ์ ์ ํ์ด๋ค. OpenVLA๊ฐ 100๋ง trajectory, ฯโ๊ฐ 1๋ง ์๊ฐ ๋ถ๋์ cross-embodiment ๋ฐ์ดํฐ๋ก ํ์ตํ ๋ฐ๋ฉด, SmolVLA๋ ๋ค์์ ์ฌ์ฉํ๋ค:
| ํญ๋ชฉ | ์์น |
|---|---|
| ๋ฐ์ดํฐ์ ์ | 481๊ฐ |
| ์ํผ์๋ ์ | 22.9K |
| ํ๋ ์ ์ | 10.6M |
๊ธฐ์กด VLA ๋๋น ํ ์๋ฆฟ์ ์ ์ ๋ฐ์ดํฐ. ๊ทธ๊ฒ๋ ์ ๋ถ Hugging Face์ ๊ณต๊ฐ ์ปค๋ฎค๋ํฐ ๊ธฐ์ฌ ๋ฐ์ดํฐ์ ์ด๋ค. SO-100 ๊ฐ์ ์ ๊ฐ ๋ก๋ด์ผ๋ก ํ๊ต ์ฐ๊ตฌ์ค, ๊ฐ์ , ๊ฐ์ธ ์ฐ๊ตฌ์๊ฐ ๋ชจ์ ๋ฐ์ดํฐ๋ค. ์ด ๋ฐ์ดํฐ๋ค์ ํน์ฑ:
- ๋ค์ํ ๋ก๋ด ํํ(embodiment)
- ์นด๋ฉ๋ผ ์์ ๋ช
๋ช
์ด ์ ๊ฐ๊ฐ (์:
images.laptop์ด ์ด๋ค ๋ฐ์ดํฐ์ ์์ ์์์ ๋ณธ ์์ , ์ด๋ค ๋ฐ์ดํฐ์ ์์ ์๋ชฉ ์์ ) - ํ์คํฌ ์ด๋ ธํ ์ด์ ์ด ๋ ธ์ด์ฆํฌ์ฑ์ด (โtask descโ, โHoldโ, โUpโ ๊ฐ์ ๋ชจํธํ ๋ผ๋ฒจ)
- ํ์ง๋ง ํ์ค์ ์ง์ง ๋ค์์ฑ์ ๋ด๊ณ ์์
์ด ๋ ธ์ด์ฆ๋ฅผ ์ด๋ป๊ฒ ๋ค๋ฃจ์๋?
4.1 VLM์ผ๋ก ํ์คํฌ ๋ผ๋ฒจ ์๋ ์์ฑ
์ ์๋ค์ Qwen2.5-VL-3B-Instruct์ ๊ฐ ๋ฐ์ดํฐ์ ์ ๋ํ ํ๋ ์๊ณผ ์๋ ๋ผ๋ฒจ์ ์ฃผ๊ณ , 30์ ์ด๋ด์ ๋์ ๋์ฌ๋ก ์์ํ๋ ํ ๋ฌธ์ฅ์ ์์ฑํ๊ฒ ํ๋ค.
ํ๋กฌํํธ ๊ณจ์:
"์ฌ๊ธฐ ํ์ฌ ํ์คํฌ ์ค๋ช
์ด ์๋ค: {current_task}.
๋ก๋ด ํ์ด ์ํํ๋ ๋์์ 30์ ์ด๋ด, ๋์ฌ๋ก ์์ํ๋
๊ฐ๊ฒฐํ ํ ๋ฌธ์ฅ์ผ๋ก ๋ค์ ์จ๋ผ.
์: 'Pick up the cube and place it in the box',
'Open the drawer'."
๊ฒฐ๊ณผ์ ์ผ๋ก 481๊ฐ ๋ฐ์ดํฐ์ ์ด ์ผ๊ด๋ ๋ช ๋ น ์คํ์ผ๋ก ์ ๊ทํ๋๋ค.
4.2 ์นด๋ฉ๋ผ ์์ ํ์คํ
์์ ์ผ๊ด์ฑ๋ ์ง์ ์์ผ๋ก ์ ๋ฆฌํ๋ค. ๋ชจ๋ ์นด๋ฉ๋ผ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ํต์ผ:
OBS_IMAGE_1= top view (์์์)OBS_IMAGE_2= wrist view (์๋ชฉ ์นด๋ฉ๋ผ)OBS_IMAGE_3= side view (์์์)
์ถ๊ฐ ์์ ์ ์์๋ฅผ ๋ณด์กดํ๋ ํ์ต ์ ๋๋กญ. ์ฌ๋์ด ์ง์ ํ๋ค๋ ์ ์ด ์ค์ํ๋ฐ, ์ด๋ ํฅํ ์๋ํ์ ๋์์ด๋ค.
์ด ๋ ๋จ๊ณ โ VLM ์ฌ๋ผ๋ฒจ๋ง + ์์ ํ์คํ โ ๊ฐ ์์ผ๋ฉด ์ปค๋ฎค๋ํฐ ๋ฐ์ดํฐ๋ก ํ์ต์ด ์๋ฏธ ์๊ฒ ์๋ํ์ง ์์์ ๊ฑฐ๋ ๊ฒ ์ ์๋ค์ ์ฃผ์ฅ์ด๋ค. ์ค์ ๋ก ๋ฐ์ดํฐ ์ ๋ฆฌ์ ๋ค์ธ ์ ์ฑ์ด ๊ฒฐ๊ณผ์ ํฐ ๋ถ๋ถ์ ์ค๋ช ํ๋ค.
5. ๋น๋๊ธฐ ์ถ๋ก (Asynchronous Inference): ๋ก๋ด์ด ๋ฉ ๋๋ฆฌ์ง ์๊ฒ
์ด ๋ถ๋ถ์ด SmolVLA์์ ๊ฐ์ฅ ์ค์ฉ์ ์ผ๋ก ์ค์ํ ๊ธฐ์ฌ๋ค. ๋ชจ๋ธ ์์ฒด๋ ์ต์ํ ๋์์ธ์ ๋ณ์ฃผ์ด์ง๋ง, ๋น๋๊ธฐ ์ถ๋ก ์ ๋ชจ๋ธ ๋ ๋ฆฝ์ ์ผ๋ก ๋ค๋ฅธ ์ ์ฑ ์๋ ๋ฐ๋ก ์ ์ฉ ๊ฐ๋ฅํ๋ค.
5.1 ๋๊ธฐ ์ถ๋ก ์ ๋ฌธ์
์ผ๋ฐ์ ์ธ VLA ์ ์ด ๋ฃจํ:
Time -->
observe o_t
|
v
[============= predict A_t (chunk of n actions) =============] <- model busy
|
v
execute a_t, a_{t+1}, ..., a_{t+n}
observe o_{t+n}
|
v
[============= predict A_{t+n} =============]
๋ฌธ์ 1: ์ถ๋ก ์ค idle gap. ์ ์ฑ ์ด ๋ค์ ์ฒญํฌ๋ฅผ ๊ณ์ฐํ๋ ๋์ ๋ก๋ด์ ์ ์งํด ์๋ค (๋๋ ๋ง์ง๋ง ์ก์ ์ ๊ณ์ ์คํ).
๋ฌธ์ 2: ๋ฐ์์ฑ ๋ถ์กฑ. ์ฒญํฌ ์ ์ฒด๋ฅผ ๋ค ์คํํ ํ์์ผ ์ ๊ด์ธก์ ๋ฐ์ผ๋, ํ๊ฒฝ์ด ๊ฐ์๊ธฐ ๋ฐ๋์ด๋ ์ฆ๊ฐ ๋ฐ์ ๋ชป ํ๋ค.
๋ฌธ์ 3: ์จ๋ณด๋ ์ฐ์ฐ ๋ถ๋ด. ๋ชจ๋ธ์ด ๋ก๋ด ์ปดํจํฐ์์ ๋์์ผ ํ๋ GPU๊ฐ ๋น์ธ์ง๋ค.
5.2 ๋น๋๊ธฐ ์ถ๋ก ์ํคํ ์ฒ
SmolVLA์ ํด๋ฒ์ ํด๋ผ์ด์ธํธ-์๋ฒ ๋ถ๋ฆฌ:
graph LR
subgraph Robot
RC[RobotClient<br/>action queue]
end
subgraph Server
PS[PolicyServer<br/>SmolVLA inference]
end
RC -->|observation o_t| PS
PS -->|action chunk A_t| RC
RC -->|execute a_t| Motor[Robot motors]
- RobotClient: ์ก์
ํ์์ ์ก์
์ ํ๋์ฉ ๊บผ๋ด(
PopFront) ๋ชจํฐ๋ก ๋ณด๋. ํ ๊ธธ์ด๊ฐ ์๊ณ๊ฐ ์๋๋ก ๋จ์ด์ง๋ฉด ์ ๊ด์ธก์ ์บก์ฒํด PolicyServer์ ์ ์ก. - PolicyServer: ๊ด์ธก์ ๋ฐ์ ์ถ๋ก ํ ์ ์ฒญํฌ๋ฅผ RobotClient๋ก ๋ณด๋. ๋ค๋ฅธ ๋จธ์ , GPU ์๋ฒ์ ์์ด๋ ๋จ.
ํต์ฌ ์์ด๋์ด๋ ์ถ๋ก ๊ณผ ์คํ์ ์๊ฐ์ ์ผ๋ก ๊ฒน์น๊ฒ ๋ง๋๋ ๊ฒ.
5.3 ์๊ณ ๋ฆฌ์ฆ ์์ฌ์ฝ๋
Algorithm: Asynchronous Inference Loop
Input: T (horizon), n (chunk size), g in [0,1] (queue threshold)
Init: capture o_0; send to PolicyServer; receive A_0 = pi(o_0)
for t = 0 to T:
a_t <- PopFront(A_t)
Execute(a_t)
if |A_t| / n < g: # queue is running low
capture new observation o_{t+1}
if NeedsProcessing(o_{t+1}): # joint-space similarity filter
async_handle = AsyncInfer(o_{t+1}) # non-blocking
A_tilde_{t+1} = pi(o_{t+1}) # new chunk arrives
A_{t+1} = aggregate(A_t, A_tilde_{t+1}) # merge overlap
if NotCompleted(async_handle):
A_{t+1} = A_t # keep using old queue
end for
5.4 ์๊ณ๊ฐ g์ ์ญํ
์ฌ๊ธฐ๊ฐ ํต์ฌ์ด๋ค. g๋ ํ๊ฐ ์ผ๋ง๋ ๋น์์ ๋ ์ ์ถ๋ก ์ ํธ๋ฆฌ๊ฑฐํ ์ง ๋ฅผ ๊ฒฐ์ ํ๋ค.
Queue size over time, varying g:
g = 0.0 (sequential limit)
Queue: |####### ........ ####### ........|
full empty(idle) full empty(idle)
-> Long idle gaps!
g = 0.7 (sweet spot)
Queue: |##### ## ##### ## ##### ## ####|
steady refill, no full drain
-> Balanced reactivity vs compute
g = 1.0 (compute-intensive limit)
Queue: |###############################|
always near-full (one inference per tick)
-> Maximum reactivity, but costly
์ด๋ก ์ ์ผ๋ก, idle gap ์์ด ํ๋ฅผ ์ ์งํ๋ ค๋ฉด:
g \geq \frac{\mathbb{E}[\ell_S] / \Delta t}{n}
์ฌ๊ธฐ์ \ell_S๋ ์๋ฒ ์ถ๋ก ์ง์ฐ, \Delta t๋ ์ ์ด ์ฃผ๊ธฐ(30fps๋ผ๋ฉด 33ms), n์ ์ฒญํฌ ํฌ๊ธฐ. ๋ง์ฝ ์ถ๋ก ์ด 100ms ๊ฑธ๋ฆฌ๊ณ ์ฒญํฌ๊ฐ 50์ด๋ฉด, g \geq 0.06์ด๋ฉด ์ถฉ๋ถํ ํ๊ฐ ์ ๋น๋ ๊ฒ ๋ณด์ฅ๋๋ค. ์ค์ ๋ก๋ ์์ ๋ง์ง์ ๋๊ณ 0.5~0.7์ ์ด๋ค.
5.5 ๊ด์ธก ์ ์ฌ๋ ํํฐ
๋ ํ๋์ ๋ํ ์ผ: ๋ก๋ด์ด ๊ฑฐ์ ์ ์งํด ์์ ๋, ๊ด์ธก์ด ๊ฑฐ์ ๋์ผํ๋ฐ๋ ๋งค๋ฒ ์ ์ถ๋ก ์ ํธ๋ฆฌ๊ฑฐํ๋ฉด ์์ ๋ญ๋น๋ค. SmolVLA๋ joint-space ๊ฑฐ๋ฆฌ๊ฐ ์๊ณ๊ฐ \epsilon ์ดํ๋ฉด near-duplicate๋ก ๋ณด๊ณ ์ถ๋ก ์ ๊ฑด๋๋ด๋ค. ๋จ, ํ๊ฐ ๋น๋ฉด ๋ฌด์กฐ๊ฑด ์ถ๋ก .
5.6 ๊ฒฐ๊ณผ: 30% ๋น ๋ฅด๊ณ , ๊ฐ์ ์๊ฐ์ 2๋ฐฐ ๋ง์ ์์ ์๋ฃ
| ์งํ | Sync | Async | ์ฐจ์ด |
|---|---|---|---|
| ํ๊ท ์ฑ๊ณต๋ฅ (%) | 78.3 | 73.3 | ๋น์ท |
| Pick-Place ํ๊ท ์๊ฐ (s) | 13.75 | 9.70 | 30% ๋น ๋ฆ |
| 60์ด ๋ด ์๋ฃํ cube ์ | 9 | 19 | 2๋ฐฐ ์ด์ |
์ฑ๊ณต๋ฅ ์ ๊ฑฐ์ ๋์ผํ์ง๋ง, ํ๊ฒฝ ์ธ๋(๋๊ตฐ๊ฐ ํ๋ธ๋ฅผ ์ฎ๊ธด๋ค๋ ์ง)์ ๋ํ ์ ์๋ ฅ์ ๋น๋๊ธฐ๊ฐ ํจ์ฌ ์ข๋ค๊ณ ๋ณด๊ณ ํ๋ค.
6. ์คํ ๊ฒฐ๊ณผ ์์ธํ ๋ณด๊ธฐ
6.1 ์๋ฎฌ๋ ์ด์ : LIBERO์ Meta-World
LIBERO๋ 4๊ฐ์ง ์นดํ ๊ณ ๋ฆฌ(Spatial, Object, Goal, Long-horizon) ร 10 ํ์คํฌ = 40๊ฐ ํ์คํฌ ๋ฒค์น๋งํฌ. Meta-World๋ 50๊ฐ ํ์คํฌ ร 4๋จ๊ณ ๋์ด๋(Easy/Medium/Hard/Very Hard).
LIBERO ๊ฒฐ๊ณผ ์์ฝ:
| ๋ชจ๋ธ | ํ๋ผ๋ฏธํฐ | VLA ์ฌ์ ํ์ต | ํ๊ท SR (%) |
|---|---|---|---|
| Diffusion Policy | - | No | 72.4 |
| Octo | 0.09B | Yes | 75.1 |
| OpenVLA | 7B | Yes | 76.5 |
| ฯโ (Paligemma init) | 3B | No | 71.8 |
| ฯโ (full pretrain) | 3.3B | Yes | 86.0 |
| SmolVLA | 0.45B | No | 87.3 |
| SmolVLA | 2.25B | No | 88.75 |
์ด ํ๊ฐ ์ ๋ง ์ธ์์ ์ด๋ค. SmolVLA 0.45B๊ฐ 7๋ฐฐ ํฐ OpenVLA(7B)๋ฅผ 10%p ์ด์, ๊ฐ์ ํฌ๊ธฐ์ ฯโ(3.3B)๋ฅผ ์ด์ง ์์ ๋ค. ๊ฒ๋ค๊ฐ SmolVLA๋ ๋ก๋ด ๋ฐ์ดํฐ๋ก ์ฌ์ ํ์ต์กฐ์ฐจ ์ ํ๋ค(VLM์์ ์ด๊ธฐํ๋ง ํ๋ค).
Meta-World ๊ฒฐ๊ณผ:
| ๋ชจ๋ธ | Easy | Medium | Hard | Very Hard | Avg |
|---|---|---|---|---|---|
| TinyVLA | 77.6 | 21.5 | 11.4 | 15.8 | 31.6 |
| ฯโ (Paligemma) | 80.4 | 40.9 | 36.7 | 44.0 | 50.5 |
| ฯโ (pretrained) | 71.8 | 48.2 | 41.7 | 30.0 | 47.9 |
| SmolVLA 0.45B | 82.5 | 41.8 | 45.0 | 60.0 | 57.3 |
| SmolVLA 2.25B | 87.1 | 51.8 | 70.0 | 64.0 | 68.2 |
ํนํ Hard/Very Hard์์ SmolVLA์ ์ฐ์๊ฐ ๋๋๋ฌ์ง๋ค. Flow Matching action expert๊ฐ ๋ค์ค๋ชจ๋ ๋ถํฌ๋ฅผ ์ ์ก์๋ด๋ ๊ฑธ๋ก ํด์๋๋ค.
6.2 ์ค์ ๋ก๋ด: SO-100 / SO-101
SO-100, ๋ฉํฐ ํ์คํฌ ํ์ต ๊ฒฐ๊ณผ:
| ๋ชจ๋ธ | Pick-Place | Stacking | Sorting | ํ๊ท |
|---|---|---|---|---|
| ACT (single-task, from scratch) | 70 | 50 | 25 | 48.3 |
| ฯโ (3.5B, multi-task) | 100 | 40 | 45 | 61.7 |
| SmolVLA (0.45B, multi-task) | 75 | 90 | 70 | 78.3 |
ฯโ๊ฐ Pick-Place ๋จ์ผ ํ์คํฌ์์ 100% ์ฐ์ง๋ง, ๋ ์ด๋ ค์ด Stacking๊ณผ Sorting์์ SmolVLA๊ฐ ์๋. Sorting์ long-horizon ํ์คํฌ๋ผ sub-task scoring์ด ์ ์ฉ๋๋๋ฐ, ์ฌ๊ธฐ์ ์์ ๋ชจ๋ธ์ด ํฐ ๋ชจ๋ธ์ ์ด๊ธด๋ค๋ ๊ฒ์ ์ํคํ ์ฒ์ ๋ฐ์ดํฐ ํ์ฉ ํจ์จ์ด ์ข๋ค๋ ์ ํธ๋ค.
SO-101 OOD ์ผ๋ฐํ (Pick-Place-Lego, ํฌ๋ช ๋ฐ์ค์ ์์ lego ๋ฃ๊ธฐ):
| ๋ชจ๋ธ | In-Distribution | Out-of-Distribution |
|---|---|---|
| ACT | 70 | 40 |
| SmolVLA | 90 | 50 |
SmolVLA๋ SO-101 ๋ฐ์ดํฐ๋ก ์ฌ์ ํ์ต๋ ์ ์ด ์๋๋ฐ๋ ACT๋ฅผ OOD์์ ์ด๊ธด๋ค. ์ปค๋ฎค๋ํฐ ๋ฐ์ดํฐ์ ๋ค์์ฑ์ด ์ผ๋ฐํ๋ฅผ ๋์๋ค๋ ๊ฐํ ์ฆ๊ฑฐ.
6.3 ์ฌ์ ํ์ต๊ณผ ๋ฉํฐํ์คํฌ์ ํจ๊ณผ ๋ถ๋ฆฌ
| ํ์ต ์ค์ | ์ฌ์ ํ์ต | ํ๊ท SR (%) |
|---|---|---|
| Single-task | No | 40.0 |
| Multi-task | No | 51.7 |
| Multi-task | Yes | 78.3 |
์ฌ์ ํ์ต ๋จ๋ ์ผ๋ก +27%p, ๋ฉํฐํ์คํฌ ํ์ต ๋จ๋ ์ผ๋ก +12%p. ๋ ํจ๊ณผ๊ฐ ๋ํด์ง๋ค. ์ด๋ ์ปค๋ฎค๋ํฐ ๋ฐ์ดํฐ์ ์ฌ์ ํ์ต์ด ๋จ์ํ ํธ๋ฆญ์ด ์๋๋ผ ๋ณธ์ง์ ๊ธฐ์ฌ๋ผ๋ ๊ฐํ ์ฆ๊ฑฐ๋ค.
7. ์ด๋ธ๋ ์ด์ : ์ด๋ค ๋์์ธ ๊ฒฐ์ ์ด ์ ๋ง ์ค์ํ๊ฐ
๋ ผ๋ฌธ์ ํ๋ถํ ์ด๋ธ๋ ์ด์ ์ ์ ๊ณตํ๋ค. ํต์ฌ๋ง ์ถ๋ฆฌ๋ฉด:
7.1 ์ด๋ค ๋ ์ด์ด๋ฅผ ์ธ ๊ฒ์ธ๊ฐ
| N (์ฌ์ฉ ๋ ์ด์ด ์) | LIBERO Avg SR (%) |
|---|---|
| 8 | 75.0 |
| 16 | 78.5 |
| 24 | 79.5 |
| 32 (์ ์ฒด) | 80.3 |
| Skip every 2nd | 75.5 |
| ์์ VLM (256M) ํ | 75.8 |
์ค์ ํต์ฐฐ: โํฐ VLM์ ์ ๋ฐ ๋ ์ด์ดโ๊ฐ โ์์ VLM ์ ์ฒดโ๋ณด๋ค ๋ซ๋ค. ์ฆ, ์ฌ์ ํ์ต๋ ํํ๋ ฅ์ ์์ด ์ค์ํ์ง, ๊น์ด๊ฐ ๊ฒฐ์ ์ ์ด์ง ์๋ค๋ ๊ฒ. ๋ํ ๋งค ๋ ๋ฒ์งธ ๋ ์ด์ด ๊ฑด๋๋ฐ๊ธฐ๋ณด๋ค, ์ฒ์ N๊ฐ๋ฅผ ์ฐ์์ผ๋ก ์ฐ๋ ๊ฒ ๋ซ๋ค.
7.2 ํ์ต ๋ชฉ์ ํจ์: Flow Matching vs Regression
| Objective | LIBERO Avg SR (%) |
|---|---|
| L1 Regression | 75.25 |
| Flow Matching | 80.25 |
ํนํ long-horizon ํ์คํฌ(LIBERO-10)์์ Flow Matching์ด 38 โ 53์ผ๋ก ๋์ฝ. ๋ค์ค๋ชจ๋ ๋ถํฌ ๋ชจ๋ธ๋ง์ ๊ฐ์น๊ฐ ๊ธธ๊ณ ๋ณต์กํ ํ๋์์ ๋ ๋๋๋ฌ์ง๋ค.
7.3 ์ํ(State)๋ ์ด๋๋ก ๋ณด๋ผ ๊ฒ์ธ๊ฐ
| State ์์น | Attention | LIBERO Avg SR (%) |
|---|---|---|
| Prefix (VLM์) | CA | 80.3 |
| Suffix (Action Expert์) | CA | 73.3 |
| Prefix | SA | 53.3 |
| Suffix | SA | 74.8 |
์ํ๋ฅผ VLM์ ๋ฃ์ด์ ์๊ฐยท์ธ์ด์ ํจ๊ป ํตํฉ ์ฒ๋ฆฌํ๋ ๊ฒ ๋ช ํํ ์ข๋ค. Action Expert๊ฐ ์ฒ์๋ถํฐ ์ ์ ๋ ๋ฉํฐ๋ชจ๋ฌ ํํ์ ๋ฐ๊ฒ ๋๋๊น.
7.4 ์ฒญํฌ ํฌ๊ธฐ n
| n | LIBERO Avg SR (%) |
|---|---|
| 1 | 50.0 |
| 10 | 84.0 |
| 30 | 78.5 |
| 50 | 80.3 |
| 100 | 74.5 |
n=1(๋งค step๋ง๋ค ์ถ๋ก )์ ๋ ธ์ด์ฆ์ ์ทจ์ฝํ๊ณ , n=100์ ๋๋ฌด ๊ธธ์ด์ ํ๊ฒฝ ๋ณํ์ ๋๊ฐ. 10~50์ด sweet spot. ์ค์ฉ์ ์ผ๋ก 50์ด ์ถ๋ก ํจ์จ๊ณผ ์ฑ๋ฅ์ ๊ท ํ์ด ์ข๋ค.
7.5 ๊ด์ธก ๊ฐฑ์ ์ฃผ๊ธฐ
| ์ฒญํฌ ๋ด ์คํ ํ ์ ๊ด์ธก๊น์ง step | LIBERO Avg SR (%) |
|---|---|
| 1 | 80.3 |
| 10 | 82.8 |
| 30 | 70.8 |
| 50 (์ ์ฒด ์คํ) | 51.8 |
์ฒญํฌ 50๊ฐ๋ฅผ ๋ค ์คํํ๊ณ ๊ด์ธก ๊ฐฑ์ ํ๋ฉด ์ฑ๋ฅ์ด ๋ฌด๋์ง๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋น๋๊ธฐ ์ถ๋ก ์ด ํ์๋ผ๋ ๊ฐํ ์ ๋นํ.
8. ๋นํ์ ๊ณ ์ฐฐ: ๊ฐ์ ๊ณผ ์ฝ์
8.1 ๊ฐ์
(1) ์ ๊ทผ์ฑ์ ์ง์ ํ ์ง๋ณด. ๋จ์ผ GPU ํ์ต, CPU ์ถ๋ก ๊ฐ๋ฅ, 100๋ฌ๋ฌ๋ ๋ก๋ด์ผ๋ก ๊ฒ์ฆ. ์ด๋ ๋จ์ํ ๋ง์ผํ ๋ฌธ๊ตฌ๊ฐ ์๋๋ผ ์ค์ ์ฐ๊ตฌ์ค/๊ฐ์ธ์ด ์ ๋ฌธํ ์ ์๋ ์ง์ ์ ์ ๋ง๋ ๋ค. LeRobot ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ํตํฉ๋ ์ง์ง๋ค.
(2) ๋ฐ์ดํฐ ํจ๋ฌ๋ค์์ ์ ํ. ์ปค๋ฎค๋ํฐ ๋ฐ์ดํฐ์ ๊ฐ์น๋ฅผ ์ฒ์์ผ๋ก ์์คํ ๋งคํฑํ๊ฒ ์ ์ฆ. ํฅํ ๋ ๋ง์ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ธฐ์ฌํ ์๋ก ๋ชจ๋ธ์ด ์ข์์ง๋ ์ ์ํ ๊ฐ๋ฅ์ฑ.
(3) ๋น๋๊ธฐ ์ถ๋ก ์ ๋ชจ๋ธ ๋ ๋ฆฝ์ฑ. Algorithm 1์ SmolVLA๋ง์ด ์๋๋ผ ์์์ chunked policy์ ์ ์ฉ ๊ฐ๋ฅ. ์ด๊ฒ ์ฌ์ค ๊ฐ์ฅ ํฐ ์ค์ฉ์ ๊ธฐ์ฌ์ผ ์ ์๋ค. ์ค์ ๋ก๋ด ์ฐ๊ตฌ์์ ์ฆ์ ํ์ฉ ๊ฐ๋ฅํ ์์ง๋์ด๋ง ์์ฐ.
(4) Flow Matching + interleaved CA/SA ์กฐํฉ. ฯโ์ Flow Matching ์์ด๋์ด๋ฅผ ๊ฐ์ ธ์ค๋, ์ดํ ์ ๊ตฌ์กฐ์์ ์ฐจ๋ณํ. ์ด๋ธ๋ ์ด์ ์ด ์ถฉ์คํด์ ๊ฐ ๋์์ธ ๊ฒฐ์ ์ ํจ๊ณผ๋ฅผ ๋ช ํํ ๋ถ๋ฆฌํด ๋ณด์ฌ์ค๋ค.
(5) ์์ ํ ์คํ์์ค. ์ฝ๋, ๊ฐ์ค์น, ํ์ต ๋ฐ์ดํฐ, ํ๋์จ์ด ๋๋ฉด๊น์ง ๋ค ๊ณต๊ฐ. ์ฌํ์ฑ์ ๋ชจ๋ฒ.
8.2 ์ฝ์ ๊ณผ ํ๊ณ
(1) ๋จ์ผ embodiment ์์กด. ์ฌ์ ํ์ต์ด SO-100 ์ค์ฌ์ด๋ผ, ๋ ๋ค์ํ ๋ก๋ด(Franka, UR5, ํด๋จธ๋ ธ์ด๋ ๋ฑ)์ ๋ํ ์ผ๋ฐํ๋ ๊ฒ์ฆ๋์ง ์์. SO-101๋ก zero-shot์ด ์ ๋๊ธด ํ์ง๋ง, SO ์๋ฆฌ์ฆ ๊ฐ ์ ์ฌ์ฑ์ด ํฌ๋ค๋ ์ ์ ๊ฐ์ํด์ผ ํ๋ค.
(2) ๋ฐ์ดํฐ์ ๊ท๋ชจ์ ์์. 22.9K ์ํผ์๋๋ OpenVLA(1M)์ ๋นํด ํ์ฐธ ์๋ค. ์ ์๋ค๋ ์ด๋ฅผ ํ๊ณ๋ก ๋ช ์. ๋ ํฐ ๋ฐ์ดํฐ๋ก ์ค์ผ์ผ๋งํ์ ๋์ ๊ฑฐ๋์ ๋ฏธ์ง์.
(3) ์งง์ ํธ๋ผ์ด์ฆ ํ์ . ํ๊ฐ๋ ํ์คํฌ๋ ๋ชจ๋ ๋จ์ํ manipulation (pick-place, stacking, sorting). ์ง์ง long-horizon ํ์คํฌ(์: ์๋ฆฌ, ์กฐ๋ฆฝ)์์์ ์ฑ๋ฅ์ ์ ์ ์์. ์ ์๋ค๋ hierarchical policy ๋์ ํ์์ฑ์ ์ธ๊ธ.
(4) VLM ๋ฐฑ๋ณธ์ ์ ํฉ์ฑ. SmolVLM-2๋ OCR/๋ฌธ์ ์ดํด์ ๊ฐ์ ์ด ์๋ ๋ชจ๋ธ๋ก ์ฌ์ ํ์ต๋จ. ๋ก๋ด ํ๊ฒฝ(3D ๊ณต๊ฐ ์ถ๋ก , ๋ฌผ๋ฆฌ์ ์ํธ์์ฉ)์ ์ต์ ์ ์๋ ์ ์๋ค. ๋ก๋ด์ฉ VLM ์ฌ์ ํ์ต ๋ ์ํผ๊ฐ ํฅํ ๊ณผ์ .
(5) Imitation learning๋ง. ๊ฐํํ์ต fine-tuning์ด ๋น ์ ธ ์์ด, ๋ชจ๋ฐฉ ๋ฐ์ดํฐ๋ฅผ ๋์ด์ ํ๋ ํฅ์์ด ์ด๋ ต๋ค. ํนํ dexterous manipulation(์ด ๊ธ์ ์ฝ๋ ๋ถ์ด ์ต์ํ ์์ญ)์์๋ RL์ด ๊ฑฐ์ ํ์๋ค.
(6) Tactile/force sensing ๋ถ์ฌ. ์๊ฐ+์ธ์ด+proprioception๋ง ์ฌ์ฉ. ์ ๋ฐํ manipulation(์: ์ผ์ด๋ธ ์กฐ๋ฆฝ, ์ท๊ฐ ๋ค๋ฃจ๊ธฐ)์๋ ์ด๊ฐ ํผ๋๋ฐฑ์ด ํ์์ธ๋ฐ, ์ด๋ SmolVLM-2 ๋ฐฑ๋ณธ์ด ๋ค๋ฃจ์ง ์๋ ๋ชจ๋ฌ๋ฆฌํฐ๋ค.
(7) ๋น๋๊ธฐ ์ถ๋ก ์ ๋ฏธ์ธ ์กฐ์ ๋ถ๋ด. ์๊ณ๊ฐ g, ์ ์ฌ๋ ์๊ณ๊ฐ \epsilon ๋ฑ์ด ํ์คํฌ๋ณ๋ก ํ๋์ด ํ์. ๋ ผ๋ฌธ์์๋ Pick-Place ๊ธฐ์ค์ผ๋ก ์ต์ ํํ ๊ฐ์ ๋ค๋ฅธ ํ์คํฌ์ ๊ทธ๋๋ก ์ผ๋๋ฐ, Sorting์์ sync(70%)๊ฐ async(50%)๋ณด๋ค ์ ๋์จ ๊ฒ์ ์ด ์ผ๋ฐํ์ ์ด๋ ค์์ ๋๋ฌ๋ธ๋ค.
9. ๊ด๋ จ ์ฐ๊ตฌ์์ ์์น
graph TB
subgraph "๊ฑฐ๋ VLA"
A[OpenVLA<br/>7B, autoregressive tokens]
B[ฯโ<br/>3.3B, flow matching]
C[GR00T N1<br/>ํด๋จธ๋
ธ์ด๋, cross-attn]
D[RT-2<br/>VLM + robot data]
end
subgraph "ํจ์จ VLA"
E[TinyVLA<br/>sub-1B, scratch]
F[Octo<br/>0.09B, transformer]
G[SmolVLA<br/>0.45B, community data]
end
A -.์ถ์.-> G
B -.ํจ์จํ.-> G
E -.์ฌ์ ํ์ต ๊ฐํ.-> G
F -.๋ค์ ๋ฐ์ดํฐ.-> G
style G fill:#90EE90,color:#000
| ์ฐจ์ | OpenVLA | ฯโ | GR00T N1 | TinyVLA | SmolVLA |
|---|---|---|---|---|---|
| ํ๋ผ๋ฏธํฐ | 7B | 3.3B | 2B+ | <1B | 0.45B |
| ์ก์ ํํ | discrete tokens | flow matching | flow matching | regression | flow matching |
| ๋ฐ์ดํฐ | OXE | 10K hr cross-emb | ํด๋จธ๋ ธ์ด๋ | ์ผ๋ฐ ๋ฉํฐ๋ชจ๋ฌ | ์ปค๋ฎค๋ํฐ |
| Attention | SA only | SA only | CA only | SA only | CA+SA interleaved |
| ๋น๋๊ธฐ ์ถ๋ก | X | X | X | X | O |
| ์คํ์์ค ์์ ์ฑ | ๋ถ๋ถ | ๋ถ๋ถ | ๋ถ๋ถ | O | ์์ |
ํนํ dexterous manipulation ์ฐ๊ตฌ์(์ด ๊ธ์ ์ฝ๋ ๋ถ์ฒ๋ผ)์๊ฒ ํฅ๋ฏธ๋ก์ด ๋น๊ต:
- SmolVLA์ Flow Matching action expert๋ DexVLA์ ๋น์ทํ ์ฒ ํ(plug-in diffusion expert).
- ํ์ง๋ง SmolVLA๋ dexterous hand๊ฐ ์๋ ๋จ์ ๊ทธ๋ฆฌํผ ๊ธฐ๋ฐ. ๊ณ ์ฐจ์ ์๊ฐ๋ฝ ์ ์ด(์: Allegro Hand์ 16 DoF) ๋ก ํ์ฅํ๋ฉด ์ด๋ป๊ฒ ๋ ์ง๊ฐ ํฐ ์ง๋ฌธ์ด๋ค. ์ฒญํฌ ํฌ๊ธฐ, action expert ์ฉ๋ ๋ฑ์ด ๋ ๋์ด๋์ผ ํ ๊ฒ์ด๊ณ , sim-to-real ์ ์ด๋ ์ ๋์ ์ด ๋๋ค.
- HORA, AnyRotate, DexNDM ๊ฐ์ dexterous in-hand manipulation ๋ผ์ธ๊ณผ ๊ฒฐํฉํ๋ค๋ฉด โ ์ฆ, ์๊ฐ-์ธ์ด ์กฐ๊ฑด๋ถ Flow Matching policy๋ก in-hand reorientation์ ํ์ตํ๋ค๋ฉด โ ํฅ๋ฏธ๋ก์ด ํ์ ์ฐ๊ตฌ๊ฐ ๋ ์ ์๋ค.
10. ์ง๊ด์ ์ ๋ฆฌ: ์ ์์ ๋ชจ๋ธ์ด ์๋ํ๋
์ด ๋ ผ๋ฌธ์์ ๊ฐ์ฅ ์ค์ํ ๋ฉ์์ง๋ฅผ ํ ๋ฌธ์ฅ์ผ๋ก ์์ถํ๋ฉด ์ด๋ ๋ค.
โVLA ์ฑ๋ฅ์ ๊ฒฐ์ ํ๋ ๊ฒ์ ๋ชจ๋ธ ํฌ๊ธฐ๊ฐ ์๋๋ผ, ์ฌ์ ํ์ต๋ ํํ์ ํ์ง, ํ๋ ๋ถํฌ์ ๋ชจ๋ธ๋ง ๋ฐฉ์, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ดํฐ์ ๋ค์์ฑ์ด๋ค.โ
์ธ๋ถ ํต์ฐฐ:
- ์ฌ์ ํ์ต ํํ์ ์ ๋ฐ๋ง ์จ๋ ์ถฉ๋ถํ๋ค โ VLM์ ๋ง์ง๋ง ๋ ์ด์ด๋ ๋ก๋ด ์ ์ด์ ๊ณผ์ ์ฒ๋ฆฌ๋ ํํ์ผ ์ ์๋ค. ์ค๊ฐ ๋ ์ด์ด๊ฐ ๋ โํ๋ ์นํ์ โ์ผ ์ ์๋ค.
- ์๊ฐ ํ ํฐ์ 64๊ฐ๋ก ์ค์ฌ๋ ๊ด์ฐฎ๋ค โ ์กฐ์ ํ์คํฌ๋ ์ด๋ฏธ์ง ์ ์ฒด๋ฅผ ํฝ์ ๋จ์๋ก ์ดํดํ ํ์๊ฐ ์๋ค. ๊ฐ์ฒด ์์น์ ์์ ์ํ๋ง ์กํ๋ฉด ๋๋ค.
- Flow Matching์ด ํ๊ท๋ฅผ ์ด๊ธด๋ค โ ํ๋์ ๋ณธ์ง์ ์ผ๋ก ๋ค์ค๋ชจ๋ ๋ถํฌ๋ค. ๋จ์ผ ํ๊ท ์ ํ์ตํ๋ ํ๊ท๋ณด๋ค, ๋ถํฌ ์์ฒด๋ฅผ ํ์ตํ๋ ์์ฑ ๋ชจ๋ธ์ด ์์ฐ์ค๋ฌ์ด ํ๋์ ๋ง๋ ๋ค.
- CA์ SA๋ ๋ณด์์ฌ๋ค โ CA๋ ํ๊ฒฝ์ ๋ณด๊ณ , SA๋ ์๊ธฐ ์์ ๊ณผ ์ผ๊ด์ฑ์ ๋ง์ถ๋ค. ๋์ ๋ฒ๊ฐ์ ์์ผ๋ฉด ๋์ ์ฅ์ ์ ๋ค ์ป๋๋ค.
- ๋๊ธฐ ์ถ๋ก ์ ์ฌ์น๋ค โ ๋ชจ๋ธ์ด ์ถ๋ก ํ๋ ๋์ ๋ก๋ด์ด ๋ฉ ๋๋ฆฌ๋ ๊ฒ์ ๋ณธ์ง์ด ์๋๋ผ ์์ง๋์ด๋ง ๊ฒ์ผ๋ฆ์ด๋ค. ๋น๋๊ธฐ๋ก ๋ถ๋ฆฌํ๋ฉด 30%์ ์๊ฐ์ด ์ ์ฝ๋๋ค.
- ๋ฐ์ดํฐ์ ์ง์ง ๋ค์์ฑ์ด ์ค์ํ๋ค โ ์ ์ ์ ๋ 100๋ง trajectory๋ณด๋ค, ๋ ธ์ด์ฆํฌ์ฑ์ด์ง๋ง ๋ค์ํ 23K trajectory๊ฐ ์ด๋ค ๋ฉด์์ ๋ ๊ฐ๋ ฅํ๋ค (ํนํ ์ผ๋ฐํ ์ธก๋ฉด์์).
11. ๋ง๋ฌด๋ฆฌ: ๋ฌด์์ด ํฅ๋ฏธ๋ก์ด๊ฐ, ๊ทธ๋ฆฌ๊ณ ๋ฌด์์ ํด ๋ณผ ๊ฒ์ธ๊ฐ
SmolVLA๋ โ๊ฑฐ๋ ๋ชจ๋ธ = ์ข์ ์ฑ๋ฅโ์ด๋ผ๋ ํต๋ ์ ํ๋ ๋ค. ๋ ์ค์ํ ๊ฑด, ์ด๋ฅผ ํตํด ์ฐ๊ตฌ ์ง์ ์ฅ๋ฒฝ ์์ฒด๋ฅผ ๋ฎ์ท๋ค๋ ์ ์ด๋ค. ๋น์ผ GPU ์์ด๋, ๋น์ผ ๋ก๋ด ์์ด๋, VLA ์ฐ๊ตฌ๋ฅผ ํ ์ ์๊ฒ ๋ง๋ค์๋ค.
์ด ๊ธ์ ์ฝ๋ dexterous manipulation ์ฐ๊ตฌ์์ ๊ด์ ์์, ๋ช ๊ฐ์ง ํฅ๋ฏธ๋ก์ด ํ์ ๋ฐฉํฅ์ ์ ์ํ๋ฉฐ ๋ง์น๋ค.
(1) Allegro Hand์ ์ ์ฉํด๋ณด๊ธฐ. SmolVLA๋ฅผ 16-DoF ์์ ๊ทธ๋๋ก ์ ์ฉํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น? action expert์ ์ถ๋ ฅ ์ฐจ์์ ๋๋ฆฌ๊ณ , isaaclab/IsaacGym ์๋ฎฌ์์ fine-tuneํด์, in-hand reorientation ๊ฐ์ ํ์คํฌ๋ฅผ ์๋ํด๋ณผ ๊ฐ์น๊ฐ ์๋ค. ์ด๋ SmolVLA์ ์ปดํฉํธ์ฑ์ sim-to-real loop์์ ํฐ ์ฅ์ ์ด๋ค โ ๋น ๋ฅธ fine-tune, ๋น ๋ฅธ ์ถ๋ก .
(2) ์ด๊ฐ ๋ฐฑ๋ณธ ์ถ๊ฐ. TacSL์ด๋ DIGIT ์๋ฎฌ์ ์ฌ์ฉํด์ tactile ํ ํฐ์ SmolVLA์ ์ ๋ ฅ์ ์ถ๊ฐํ๋ ์คํ. SmolVLM-2 ์ธ์ ๋ณ๋์ tactile encoder๋ฅผ ๋๊ณ cross-attention์ผ๋ก ํตํฉํ๋ฉด, ์ ๋ฐ ์กฐ์์ ๊ฐํด์ง ๊ฐ๋ฅ์ฑ.
(3) ๋น๋๊ธฐ ์ถ๋ก ์ quasi-dynamic ์ ์ด์ ๊ฒฐํฉ. CTR-MPC์ฒ๋ผ quasi-dynamic ๊ฐ์ ์ ์ฐ๋ ์์คํ ์ ๋น๋๊ธฐ ์ถ๋ก ์ ์ ์ฉํ๋ฉด, MPC์ ๊ณ์ฐ ๋ถ๋ด์ ๋ ํจ๊ณผ์ ์ผ๋ก ๋ถ์ฐ์ํฌ ์ ์์์ง ์คํํด๋ณผ ๋งํ๋ค.
(4) ์ปค๋ฎค๋ํฐ ๋ฐ์ดํฐ ๊ธฐ์ฌ. Hugging Face์ ์๊ธฐ ๋ก๋ด ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฆฌ๋ ๊ฒ ์์ฒด๊ฐ ์ด์ ์๋ฏธ ์๋ ์ฐ๊ตฌ ํ๋์ด๋ค. SO-ARM ์ธ์ dexterous platform (Allegro, Tesollo ๋ฑ)์ ์ปค๋ฎค๋ํฐ ๋ฐ์ดํฐ์ ์ ๋ง๋ค์ด SmolVLA-style ๋ชจ๋ธ์ ํ์ต์ํฌ ์ ์๋ค.
(5) RL fine-tuning. ConRFT ๊ฐ์ VLA์ฉ RL ๋ฐฉ๋ฒ์ SmolVLA์ ์ ์ฉํด์, imitation์ ํ๊ณ๋ฅผ ๋๋ dexterous policy๋ฅผ ๋ง๋ค์ด๋ณผ ์ ์๋ค. ์์ ๋ชจ๋ธ์ด๋ผ RL ํ์ต์ด ๋นจ๋ผ์ง๋ค๋ ๊ฒ ํฐ ์ฅ์ .
์์ ๋ชจ๋ธ์ ๋งค๋ ฅ์, ์คํ์ ๋นจ๋ฆฌ ๋๋ฆด ์ ์๋ค๋ ๊ฒ์ด๋ค. ์ข์ ๊ฐ์ค์ด ์์ผ๋ฉด ๋ฉฐ์น ๋ด์ ๊ฒ์ฆํ ์ ์๋ค. ์ด ๋ ผ๋ฌธ์ ๊ทธ ๊ฐ๋ฅ์ฑ์ ํ์ง ์ด์ด์คฌ๋ค.