# Vla Inference Acceleration Flashdrive

> Use al acelerar inferencia VLA en tiempo real (FlashDrive).

- Skill: `ntizar/vla-inference-acceleration-flashdrive` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ntizar/vla-inference-acceleration-flashdrive`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ntizar/vla-inference-acceleration-flashdrive/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT (código; weights NVIDIA no-comerciales)
- Author: ntizar (https://skillmd.com/u/ntizar)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ntizar/vla-inference-acceleration-flashdrive

---


# Aceleración de inferencia VLA — FlashDrive (z-lab/flashdrive)

Fuente: https://github.com/z-lab/flashdrive (MIT, z-lab — UCSD). Acelera los modelos Vision-Language-Action de NVIDIA Alpamayo 1.5 / R1 (10B params) **×4.5 sin pérdida de precisión** (de hecho mejora minADE). Consultada 2026-09-01. El skill cubre el patrón completo: streaming KV + speculative decoding + W4A8 + caching de acciones + CUDA graphs.

## Cuándo usar

- Inferir modelos VLA / fundaciones de conducción (Alpamayo, o futuros VLA de 7-10B) con latencia por ventana <200 ms en una sola GPU.
- Patrones de aceleración para cualquier modelo multimodal con streaming temporal (cámara continua, series de frames): la técnica es transferible a CCTV + LLM, digital twins, etc.
- Presupuestar hardware para proyectos de tráfico con IA de fondo (una sola GPU de un nodo sirve para 10B VLA optimizado).

## Las 5 técnicas (co-diseño algoritmo-sistema; ninguna basta sola)

1. **Streaming inference** — reutilizar el KV cache de cada frame entre ventanas solapadas: la ventana nueva solo prefilla sus frames nuevos. (Encode 87→12 ms, Prefill 165→47 ms.)
2. **Speculative reasoning con draft de difusión por bloques** (DFlash, ICML 2026) — un modelo draft propone bloques de 8 tokens que el target verifica en un solo forward, preservando la distribución del target. (Decode 272→45 ms.)
3. **Cuantización W4A8** (ParoQuant, ICLR 2026) — pesos INT4 con rotación por pares + activaciones INT8 vía kernels Marlin de vLLM; el action-expert se queda en bf16 (la precisión de la acción importa).
4. **Adaptive action caching** — reutilizar la velocidad predicha en pasos seleccionados del difusor de acciones, saltándose forwards del action-expert. (Action 193→47 ms.)
5. **Optimizaciones de sistema** — KV cache estático, proyecciones de expertos fusionadas, `torch.compile` con CUDA graphs sobre el loop de decode completo.

## Uso rápido (stack de referencia)

```bash
git clone https://github.com/z-lab/flashdrive && cd flashdrive
uv venv --python 3.12 && source .venv/bin/activate
uv sync   # CUDA 12.8, GPU con compute capability ≥8.0
python scripts/infer.py --model-path z-lab/Alpamayo-1.5-10B    # optimizado
python scripts/infer.py --model-path nvidia/Alpamayo-1.5-10B   # baseline
```

```python
import flashdrive
model = flashdrive.from_pretrained("z-lab/Alpamayo-1.5-10B")
pred_xyz, pred_rot = model.sample_trajectories_streaming(data)
# 1ª llamada por stream solo prefilla KV y devuelve (None, None); luego cada ventana → trayectorias
```

Convención HF elegante: `from_pretrained` toma la ruta **base**; los companions W4A8 (`-PARO`) y draft (`-DFlash`) se derivan por sufijo y se descargan solos. Checkpoints en huggingface.co/collections/z-lab/flashdrive.

## Números de referencia (RTX PRO 6000, 100 clips PhysicalAI-AV)

| Modelo | minADE ↓ | Latencia/ventana | Speedup |
|---|---|---|---|
| Alpamayo 1.5 baseline | 1.705 | 717 ms | 1.0× |
| + FlashDrive | **1.573** | **151 ms** | 4.7× |
| Alpamayo 1 (R1) baseline | 1.869 | 704 ms | 1.0× |
| + FlashDrive | **1.662** | **155 ms** | 4.5× |

## Aplicación a proyectos de David

- **CCTV-YOLO / traffic-digital-twin-cctv**: el patrón "KV cache streaming entre ventanas solapadas de frames" es directamente aplicable a cualquier pipeline de vídeo + LLM continuo (evita re-procesar el prefijo visual por frame).
- **Espejo mental de latencia**: un VLA de 10B cabe en 150 ms/ventana en GPU de un solo nodo — dimensiona expectativas para dashboards de tráfico con IA sin clúster.
- **DFlash y ParoQuant son repos separados** (z-lab/dflash, z-lab/paroquant) utilizables de forma independiente para LLMs de razonamiento no-VLA.

## Pitfalls

- **No esperar speedups de una sola técnica**: los autores son explícitos — la ×4.5 sale de las cinco combinadas; aplicarlas sueltas da resultados mediocres.
- **Weights de Alpamayo bajo licencia no-comercial de NVIDIA** — el código MIT no libera el uso comercial de los checkpoints.
- **Primera llamada del stream devuelve `(None, None)`** — es prefill, no un fallo; el código cliente debe tolerarlo.
- **Requiere GPU Ampere+ (compute cap ≥8.0) y CUDA 12.8** con kernels Marlin (INT4) — no corre en CPU ni en GPUs viejas.
- **flash-attn + torch.compile + CUDA graphs** es frágil ante cambios de shapes: el KV cache estático es justamente para evitar recompilas por ventana.

## Verificación

- Benchmark propio: `scripts/infer.py` reporta minADE y latencia por ventana — comparar checkpoint `z-lab/` vs `nvidia/` en los mismos clips.
- Sanity check del streaming: la 2ª ventana de un stream debe tardar ≈prefill de los frames nuevos (no de la ventana completa).

