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 비용).
  • 하드웨어 독립적 커널 라이브러리 – 동일한 커널 바이너리가 Jetson AGX Thor(에지)에서 RTX 5090/4090/A100(서버)까지 동일하게 작동합니다. NVIDIA 전용 구현은 기본 제공됩니다.
  • FlashRT Structures – PyTorch, JAX, Hugging-Face 모델에 변경 없이 연결할 수 있는 얇은 플러그인 계층입니다. 포크나 소스 수정이 필요 없으며, 호스트 모델은 그대로 유지되며 런타임은 빠른 커널을 통해 텐서를 라우팅합니다.
  • 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 토큰/초 (약 1.8배 가속)
LLM (Mixture-of-Experts) Qwen-3.6-35B-A3B (NVFP4) RTX 5090 52 → 285 토큰/초, 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