flashrt-project/FlashRT

FlashRT is a high-performance realtime inference engine for small-batch, latency-sensitive AI workloads. The flagship integration is production VLA control for Pi0, Pi0.5, GROOT N1.6, and Pi0-FAST. Also support llm e.g, qwen3.6-27B

FlashRT – 低バッチ・レイテンシが重要なAI向けリアルタイム推論エンジン

何であるか – FlashRTは、手書きのカスタムカーネル(正規化、活性化、結合残差-正規化-量子化、RoPE、FP8/NVFP4 GEMM、Flash-Attentionなど)を静的CUDAグラフにバンドルするC++/CUDAライブラリです。このグラフはPythonのオーバーヘッドをほぼゼロに近づけて再実行できます。単一のリクエストを可能な限り迅速に応答する必要があるワークロード(ロボット制御、視覚言語モデル、動画生成、長文脈LLMサービング)をターゲットとしており、TensorRTやvLLM、SGLangのような高スループットバッチ指向のサービングスタックとは異なります。

主なアイデア

  • コンパイルステップ不要 – モデルはsafetensors/Orbaxから直接読み込まれ、最初の呼び出しで全前方伝播を静的グラフにキャプチャします。以降の呼び出しはグラフの再実行のみ(約3秒のウォームアップ後、Pythonコストは1ミリ秒未満)。
  • ハードウェア非依存のカーネルライブラリ – 同じカーネルバイナリがJetson AGX Thor(エッジ)からRTX 5090/4090/A100(サーバー)まで動作します。NVIDIA固有の実装は標準で提供されています。
  • FlashRT Structures – PyTorch、JAX、Hugging-Faceモデルに変更を加えずに接続できる薄いプラグイン層。フォークやソースコードの編集は不要。ホストモデルはそのまま維持され、実行時のみが高速カーネル経由でtensorをルーティングされます。
  • FP8 / NVFP4対応 – パーテンソル自動キャリブレーション(JSON形式でキャッシュ)により、重みと活性化に8ビット浮動小数点形式を自動的に使用可能。FP16/BF16ベースラインと>0.999のコサイン類似度を維持しながら、メモリと計算量を大幅に削減。
  • 統合されたサービングAPI – 3行のPythonインターフェース(flash_rt.load_model(...).predict(...))で、画像・テキスト・動画生成、VLAロボット制御、OpenAI互換LLM/音声エンドポイントに対応します。

できること(リポジトリで示されている)

領域 モデル ハードウェア レイテンシ / スループット
VLAロボット制御 Pi0.5, GROOT N1.6/N1.7 Jetson AGX Thor, RTX 5090 決定毎8ms → 29ms(3.8Hz → 34Hz)
視覚言語 Qwen-3-VL-8B RTX 5090 65 → 146トークン/s(約1.8倍高速化)
LLM(Mixture-of-Experts) Qwen-3.6-35B-A3B(NVFP4) RTX 5090 52 → 285トークン/s、256Kコンテキスト対応
動画生成 Wan2.2-TI2V-5B RTX 5090 合計6.48秒 → 1.68秒(約4倍高速化)

なぜ重要か – 自律ロボット、インタラクティブアシスタント、オンデバイス動画ツールなど多くの現実世界のAIシステムは、バッチ指向サーバーのレイテンシを負担できません。FlashRTの静的グラフ再実行と低精度カーネルにより、エッジGPU上で30ms未満のエンドツーエンド応答が実現可能であり、同時にサーバークラスGPU上でも大規模LLMのスケーリングも可能。

導入方法

from flash_rt import structures

# Hugging-Face / PyTorchモデルを読み込む(コード変更不要)
model = flash_rt.load_model("Qwen3.6-35B-A3B", precision="nvfp4")

# 高速カーネルパイプラインを接続
plan = structures.attach(model, model.forward)
print(structures.explain(plan))   # どの演算が保持、結合、または却下されたかを表示

# 簡単な推論ループ
loop = structures.decode_loop(model, max_len=4096)
output = loop.generate(input_ids, max_new_tokens=256)

リポジトリには、即時実行可能な例(examples/structure_pipeline/)、ベンチマークスクリプト、およびLLMまたは音声生成用のOpenAI互換HTTPエンドポイントを公開するサービングコンテナも同梱されています。

エコシステムにおける位置づけ

  • TensorRT(高バッチ、コンパイル済みエンジンに優れる)やvLLM/SGLang(大規模同時LLMサービングに優れる)とは補完的。FlashRTは単一ストリーム・低バッチ・リアルタイム推論のニッチを埋めます。
  • Structuresプラグインを介して、既存のPythonエコシステム(PyTorch、JAX、Hugging-Face Transformers、Diffusers)に統合可能。トレーニングコードはそのまま維持でき、実行時のみを切り替えることができます。
  • オープンソース – コアエンジンはflashrt-project/FlashRTに、関連カーネルパックはFlashRT-HF-kernelsに、組み込みロボット用C++ランタイムはFlashRT-Nexusにあります。

ドキュメントとコミュニティ


結論 – FlashRTは、レイテンシが重要な低バッチAIワークロードに特化した本格的で高性能な推論エンジンです。手書きCUDAカーネル、静的グラフ再実行、プラグインシステムにより、既存のPyTorch/JAXモデルを書き換えずに高速化可能。特にロボット工学、リアルタイム視覚言語エージェント、エッジおよびサーバーGPU上の低レイテンシLLMサービングに有用です。

関連

  • プロジェクト
  • Dispatch
  • プロジェクト
  • プロジェクト
  • Dispatch