InstinctFlash README

The project's README from github.com/General-Instinct/InstinctFlash. As one markdown file: README.md.

InstinctFlash

A high-performance serving framework for robotics models.

License Website YC


What's new 🔥

Results

Prediction p50 on Jetson Thor (ms), measured September 15, 2026.

We’ve seen up to 33.78× speedup with no observed loss in task performance in our real-robot tests.

Model Acceleration line PyTorch InstinctFlash Speedup
LingBot-VA FP8 · 25V/50A 15506.32 2891.74 5.36×
↳ LingBot-VA FP8 · 2V/4A 2071.29 459.10 4.51×
LingBot-VLA-4B FP8 624.22 221.53 2.82×
LingBot-VLA-V2-6B FP8 734.56 394.11 1.86×
Cosmos3 Edge DROID NUMERIC · UniPC4 / CFG3 3393.78 1048.01 3.24×
Cosmos3 Nano DROID NUMERIC · UniPC4 / CFG3 10184.68 4772.38 2.13×
pi05 FP8 408.58 51.85 7.88×
GR00T N1.7 BITEXACT 139.50 117.30 1.19×
DreamZero DROID FP8 · 16 steps · dynamic cache 23563.08 11899.42 1.98×

VA measures early continuations; each row compares the same schedule. The 33.78× headline includes 25V/50A → 2V/4A. FP8 and sampling changes are optional.

The LingBot-VA, LingBot-VLA and pi05 FP8 rows and the Cosmos3 Edge row were measured on September 15 with the engines and kernels that InstinctFlash's own engines and Triton kernels have since replaced; the current source's clean-install checks run these modes but have not repeated this table's measurements.

Reproduction commands

Install

git clone https://github.com/General-Instinct/InstinctFlash && cd InstinctFlash
python3 -m venv .venv-core
source .venv-core/bin/activate
python -m pip install . uv==0.12.5

The Python 3.10+ core inspects checkpoints and plans without PyTorch or a GPU. Inference uses a separate, pinned environment for each model family. For RTX 4090:

python3 scripts/bootstrap_vendor.py install pi05 --target rtx4090 \
  --python python3.12 --root ~/ifl-pi05-4090 --ptxas /usr/local/cuda/bin/ptxas
source ~/ifl-pi05-4090/activate.sh

Use va, vla4, vla2, pi05, groot, edge, nano or dreamzero. Edge and Nano use Python 3.13; the other families use Python 3.12. The bootstrap installs the upstream source, compatibility patches, core and adapter. Model weights are downloaded separately. See RTX 5090 setup, RTX 4090 setup or Jetson Thor setup, which selects --target jetson_thor. The Thor FP8 engines are Python and Triton, compiled on first use; no native build is needed.

Load a model

Your fine-tuned checkpoint — the expected case. Point serve at the training output; it detects the family, writes the small instinctflash.json declaration from what the checkpoint itself proves, and starts serving. One command:

instinctflash serve /path/to/your/checkpoint

Anything the checkpoint cannot prove is asked for explicitly, never guessed. Once the declaration exists (serve writes it on first run), the same directory also loads in Python:

from instinctflash import Runtime

runtime = Runtime.from_pretrained("/path/to/your/checkpoint")

A stock release — use its Hub id after installing the family's environment:

runtime = Runtime.from_pretrained("robbyant/lingbot-va-posttrain-robotwin")
family model id
LingBot-VA (5B WAM) robbyant/lingbot-va-posttrain-robotwin
LingBot-VLA-4B robbyant/lingbot-vla-4b-posttrain-robotwin
LingBot-VLA-V2-6B robbyant/lingbot-vla-v2-6b-robotwin
pi0.5 lerobot/pi05_base · lerobot/pi05_libero_finetuned_v044
GR00T-N1.7-3B nvidia/GR00T-N1.7-3B
Cosmos3 policies nvidia/Cosmos3-Edge-Policy-DROID · nvidia/Cosmos3-Nano-Policy-DROID
DreamZero GEAR-Dreams/DreamZero-DROID

Fine-tunes reuse their family's adapter; quality is evaluated per checkpoint.

The same Runtime defaults to precision="native" with a BITEXACT transformation ceiling. Use tier_ceiling="numeric" to allow numerical changes, or precision="fp8" (CLI: --fp8) to explicitly enable FP8. Step schedules are selected separately. See precision policy.

DreamZero's opt-in dynamic step cache requires tier_ceiling="behavioral" with either precision.

Get actions

In process — this is the whole Python API:

with runtime.episode(prompt="put the bottle in the dustbin") as episode:
    while not done:
        result = episode.predict(observation)
        action = result["action"]

observation is a dict in the model's own format; result["action"] contains its action array. For LingBot-VA, pass executed_action=... when the controller changes a predicted action chunk, so the next prediction uses the actions actually executed.

Over the network — the serve command above hosts the same runtime behind the msgpack-over-websocket wire protocol the pi0/openpi ecosystem already speaks, so existing robot-side clients connect unchanged (pip install openpi-client):

from openpi_client.websocket_client_policy import WebsocketClientPolicy

client = WebsocketClientPolicy("my-server", 8000)
result = client.infer(observation)
action = result["action"]

The prompt rides in the observation; a changed prompt starts a new episode, and a client can say it explicitly with {"reset": True, ...}. Four flags cover the rest:

The second verb, instinctflash validate <dir>, checks a checkpoint is publishable; given --validate.teacher_outcomes/.student_outcomes/.margin it also certifies non-inferiority and stamps the certificate into the package.

Benchmark acceleration and quantization

After the vendor and auxiliary-asset preparation, reproduce paired eager/default/selected Runtime measurements with the included inputs and fixed checkpoint revision. The Thor FP8 engines need no native build. Keep the model and asset environments activated. For RTX 4090:

python -I -m benchmarks.regression.reproduce prepare --target rtx4090 \
  --model pi05 --mode fp8 --output pi05-inputs
python -I -m benchmarks.regression.reproduce run --prepared pi05-inputs --output pi05-results
python -I -m benchmarks.regression.serve_smoke --prepared pi05-inputs --output pi05-serving

run writes checked JSON/CSV reports and full action arrays. serve_smoke tests the actual CLI and WebSocket pipeline across two episodes. Use --mode native for default precision; FP8, numerical compilation and changed schedules are explicit selections. Reproduction guide. For additional framework comparisons, use the pinned comparison recipes.

Compare original and optimized models with instinctflash eval. Reports separate latency, action agreement and simulator task success.

instinctflash eval adapters
instinctflash eval coverage --run /path/to/run
instinctflash eval --registry plan.registry.json report --run /path/to/run

See the evaluation guide to create and run paired LIBERO / RoboTwin experiments, or benchmark details for acceleration and quantization protocols. The native qualification workflow adds fresh-start admission, retained failures and checkpoint-specific evidence for each device. LingBot-VA Hub IDs retain native step counts; 2V/4A requires an explicit nfe selection.

Shared BF16 fusion, a Triton fused linear + ReLU², provides an opt-in NUMERIC path for Cosmos Edge. Shared tensor caching and prefill separation extend native Cosmos optimization to Edge and Nano; exact caching and NUMERIC compilation remain separate options.

Framework overview

InstinctFlash keeps model declarations, optimization planning, runtime execution, and evidence in one inspectable path, whether it is called from Python or the command line.

Architecture

A checkpoint carries a short declaration of what it is. The runtime reads the declaration, decides which optimizations are provably valid for those weights, applies them, and shows its work:

checkpoint ─▶ adapter          ─▶ planner            ─▶ engine passes        ─▶ actions
              declares what        decides what          apply and measure
              the model is         is valid (no GPU,     each optimization
                                   no weights needed)

Optimization is organized in six layers, by what each one changes:

layer changes
1 MODEL what is computed — distillation, step reduction, checkpoint compression (InstinctCompress, instinct-pdd)
2 GRAPH when work is issued — prefill extraction, CUDA-graph capture, memory planning
3 CACHE what is recomputed — KV reuse, cross-attention and episode caches
4 ATTENTION how tokens mix — fused Triton attention, hybrid and linear attention
5 KERNEL how a kernel is written — backend and layout dispatch, fusion (instinctflash/kernels)
6 HARDWARE what it executes on — FP8, device-specific kernel targets, Jetson-class edge devices (instinctflash/engines)

Layer 1 changes the weights and produces a checkpoint; it lives in the companion repos. Layers 2–6 change how the weights execute and produce a plan; they are the runtime in this repo. The layers are not a priority order — the runtime measures where the time actually goes and starts there.

Add a model

To add your own model family, declare an instinctflash.adapters entry point and pip install your package — see examples/external_plugin/.

Roadmap

Acknowledgements

We thank the following projects and their contributors for the code, models, tools, and ideas that InstinctFlash builds on:

Third-party code and model assets remain subject to their respective licenses. See the license and attribution notices accompanying each component.

InstinctFlash (General-Instinct/InstinctFlash)

Searching Database…

这是什么?InstinctFlash 是一个面向机器人基础模型的高性能服务运行时——加载 GR00T、Cosmos3、pi0.5、LingBot-VA/VLA 和 DreamZero 等检查点,应用加速(FP8、融合 Triton 内核、缓存),并通过 Python 或 WebSocket 提供服务,在 Jetson Thor 上宣称最高 33.78 倍加速。
它只是推理引擎,还是也能通过网络为机器人提供服务?两者都是:它既是一个可在进程内调用的 Python 运行时,用于从模型获取动作;也是一个 CLI(`instinctflash serve`),通过基于 WebSocket 的 msgpack 协议托管同一运行时,现有的 pi0/openpi 机器人端客户端无需修改即可连接。
怎么用 InstinctFlash 加载模型?把 `instinctflash serve` 指向你微调后的检查点目录——它会自动检测模型家族,写出一个小的 `instinctflash.json` 声明文件,一条命令即可开始服务;官方原版模型则是在安装对应家族的环境后,通过其 Hugging Face Hub id 加载。
它实际运行在什么硬件上,支持哪些模型家族?它只面向 NVIDIA GPU——RTX 4090、RTX 5090 工作站或 Jetson Thor 边缘板卡——并支持八个机器人模型家族(LingBot-VA、LingBot-VLA-4B/V2-6B、pi0.5、GR00T-N1.7、Cosmos3 Edge/Nano、DreamZero),每个家族都需要自己的、基于 PyTorch 和 Triton 构建的固定版本 Python 3.12 或 3.13 环境。
宣传的加速是自动生效的,还是需要我主动开启什么?不是——运行时默认采用位精确的精度上限,FP8 或动态步缓存等更快的路径需要针对每个模型显式开启;宣传的 33.78 倍数字还包含采样计划的调整,并非纯粹的引擎加速。
怎么检查优化后的模型表现仍与原版相当?`instinctflash eval` 命令运行成对的 LIBERO/RoboTwin 实验,比较原始和优化后的检查点,分别报告延迟、动作一致性和模拟器任务成功率;`validate` 可以出具带签章的证书,证明性能无劣化。
能添加对我自己的机器人模型的支持吗?可以——在你自己的 Python 包中声明一个 `instinctflash.adapters` 入口点,然后 pip install 即可;无需改动核心运行时。
加速在内部是怎么组织的?InstinctFlash 把优化分为六层——模型、图、缓存、注意力、内核和硬件——每层改变执行的不同部分,从步数缩减蒸馏一直到 FP8 和特定设备的 Triton 内核。
为什么每个检查点都需要声明文件?`instinctflash.json` 声明只记录检查点本身能证明的内容(它的家族和特性),因此运行时绝不猜测哪些优化有效——任何未经证明的内容都必须由用户显式声明。
Size
100.7 MB
Stars
200
Age
4mo
Commits · 90 Days