naklecha/simple-llm

~1300 line, minimal, extensible LLM inference engine built from scratch.

해결하는 문제

SimpleLLM은 OpenAI의 gpt-oss-20b 및 gpt-oss-120b 모델을 단일 NVIDIA H100 GPU에서 실행하도록 특별히 설계된 경량 고성능 추론 엔진입니다. 특정 워크로드에서 vLLM보다 빠른 디코딩 속도를 제공하면서 원본 모델의 정확성을 유지하는 것을 목표로 합니다.

작동 방식

이 엔진은 약 1,351줄의 Python으로 구현되었으며 GPU 커널에 Triton을 사용합니다. 공식 MXFP4 체크포인트를 재양자화 없이 직접 로드합니다. 주요 성능 최적화는 다음과 같습니다:

  • 사용자 정의 커널: sinks, 슬라이딩 윈도우, GQA, KV append를 처리하는 단일 디코드 어텐션 커널과 융합된 RoPE 커널.
  • 메모리 관리: 전체 어텐션 레이어에는 페이징된 KV 캐시를, 슬라이딩 윈도우 레이어에는 링 버퍼를 사용하여 컨텍스트 처리를 최적화.
  • 실행 효율성: 활성 슬롯에 CUDA 그래프를 사용하고, 탐욕적 argmax/다음 단계 입력을 CUDA 그래프 내에서 직접 계산.
  • MoE 최적화: 텐서 코어에서 MXFP4 Mixture-of-Experts(MoE) 구현 및 전문가별 타일 테이블을 작성하는 최적화된 라우팅.

대상 사용자

단일 H100에서 OpenAI의 gpt-oss 모델을 실행하고, 특히 소형~중형 배치 크기 또는 긴 컨텍스트 길이에서 최대 디코딩 처리량을 원하는 개발자와 연구자.

주요 특징

  • 성능: 배치 1 및 64에서 vLLM 0.31.0보다 11~15% 빠른 디코딩.
  • 효율성: 매우 컴팩트한 코드베이스(1,400줄 미만의 Python).
  • 정확성: OpenAI가 공개한 GPQA-Diamond 및 AIME 2025 점수와 일치.
  • 하드웨어 최적화: MXFP4 가중치를 사용하여 NVIDIA H100(80GB)에 특별히 튜닝.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트