GitHub TrendingAI · 머신러닝

ashhart/TensorFold

Apple Silicon과 NVIDIA에서 LLM을 OpenAI 호환 API로 서빙하는 TensorFold

원제 ashhart/TensorFold

스타 545당일 +160Python
Key Point

Apple Silicon 개발자가 로컬에서 고성능 LLM 추론을 OpenAI 호환 방식으로 실행할 수 있으며, NVIDIA GPU와 동일한 API로 통일된 배포가 가능해진다.

핵심 요약

  • TensorFold는 Apple Silicon(MLX) 및 NVIDIA GPU에서 텍스트 모델을 OpenAI 호환 API 엔드포인트로 서빙하는 Python 기반 도구다.
  • Nemotron 3.5 Lightning, Qwen3.8-27B, Qwen3.8 Flash Next, GLM-5.3-Flash, Gemma 4 등 여러 모델을 지원하며, 각 모델은 자체 커널과 드래프트 검증을 포함한다.
  • MLX 백엔드는 M1~M5 칩에서 row-exact simd_qmm 디코더로 4비트/그룹64 가중치를 읽고, CUDA 백엔드는 단일 또는 2-rank 텐서 병렬 처리를 지원한다.
  • 정확한 디코딩을 보장하여 드래프트 토큰이 직렬 방식과 동일한 토큰일 때만 수용되며, 같은 엔진·가중치·런타임 설정 내에서 결과의 정확성을 유지한다.
  • 메모리 관리는 RAM의 70%와 GPU 권장 작업 세트로 제한되며, GLM-5.3-Flash는 256GB 이하 Mac에서 85%까지 확대 사용 가능하다.
  • 프롬프트 캐싱은 MLX에서 지원되어 렌더링된 토큰 시퀀스의 청크 시작점을 활용하고, 재개 지점은 어시스턴트 메시지 시작 및 두 번째 메시지 시작에서 설정된다.
  • Qwen3.8 Flash Next는 시작 시 한 청크를 측정하여 8,192/4,096/2,048 토큰 중 가장 큰 값을 선택하고 128K 토큰 컨텍스트 여유를 확보한다.
  • 컨텍스트 크기는 MLX에서 기본적으로 모델 메타데이터 윈도우를 대상으로 하며 명시적 값으로 재정의 가능하고, CUDA에서 Qwen은 저렴한 기본 용량, GLM은 2,051토큰, Nemotron은 16,384토큰을 기본값으로 사용한다.
  • CUDA는 각 백엔드의 네이티브 윈도우와 용량 추정을 모두 만족하는 양수 컨텍스트 값만 허용하며 맞춤 가이드로 거부한다.
  • --parallel 옵션으로 MLX는 예산 내 최대 8개까지 공유 라운드를 지원하고, CUDA는 Qwen3.8-27B(1~2 rank)과 Flash Next(1 rank)에서만 지원된다.
  • 드래프팅은 선택 사항이며 --no-drafts로 직렬 처리로 전환 가능하고, DFlash2 드래프트는 Qwen3.8-27B에서 선택사항이며 MLX에서도 선택사항이다.
  • 모든 테스트 결과는 공개 프롬프트 픽스처, 체크포인트 버전, 런타임, 명령어와 측정 출력이 함께 제공될 때까지 TBD 상태이며, MIT 라이선스를 따른다.
AI 요약 안내

AI가 한국어로 정리한 내용입니다. 정확한 정보는 원문을 확인해 주세요.

요약 원칙 ↗