EricLBuehler/mistral.rs
요약
mistral.rs v0.8.2 업데이트를 통해 Anthropic API 호환성, 에이전틱 런타임, 그리고 강력한 CUDA 성능 최적화를 제공합니다. Gemma 4와 같은 멀티모달 모델을 지원하며, 다양한 양자화 기술을 통해 고성능 추론 환경을 구축할 수 있습니다.
핵심 포인트
- Anthropic Messages API 및 OpenAI 호환 엔드포인트 지원
- CUDA 그래프 및 FlashInfer를 통한 GPU 성능 최적화
- 웹 검색 및 로컬 코드 실행을 포함한 에이전틱 런타임 제공
- Gemma 4 등 텍스트, 이미지, 비디오, 오디오 멀티모달 지원
- Hugging Face 모델에 대한 Zero-config 실행 기능
| 문서 (Documentation) | Rust SDK | Python SDK | Discord |
Anthropic Messages API:mistralrs serve
이제 OpenAI 호환 /v1 API와 더불어 Anthropic 호환 /v1/messages 및 /v1/messages/count_tokens 엔드포인트(endpoints)를 제공합니다. 가이드
v0.8.2 CUDA 성능: CUDA 그래프 (CUDA graphs), FlashInfer 페이지 커널 (paged kernels), 그리고 MoE 최적화가 GB10, B200, H100 SXM에서 강력한 성능을 제공합니다. 벤치마크
에이전틱 런타임 (Agentic runtime): 웹 검색, 모델 피드백을 포함한 로컬 Python 코드 실행, 세션 관리 (session management), 그리고 커스텀 도구 훅 (custom tool hooks). 가이드
Gemma 4: 텍스트, 이미지, 비디오, 오디오 입력을 모두 지원하는 완전한 멀티모달 (multimodal). 가이드 | 비디오 설정
MXFP4 ISQ 양자화 (quantization): 더 빠르고 작은 모델을 위해 최적화된 디코드 커널 (decode kernels)을 갖춘 MXFP4. 양자화 문서
v0.8.2 CUDA 벤치마크
프롬프트 길이 (prompt lengths)와 디코드 깊이 (decode depths) 128에서 16384 토큰에 걸친 초당 평균 토큰 수 (Mean tokens per second). 디코드는 256개의 생성된 토큰을 사용합니다. 명령어, 모델 리비전 (model revisions), 호스트 메타데이터 (host metadata) 및 부록 표에 대한 전체 v0.8.2 보고서를 참조하세요.
Q8 prefill TPS: mistral.rs UQFF q8 vs llama.cpp GGUF Q8_0
| 모델 (Model) | 하드웨어 (Hardware) | mistral.rs | llama.cpp |
|---|---|---|---|
| Gemma 4 E4B | GB10 | 7395.7 | 3973.7 |
| ... |
Q8 decode TPS: mistral.rs UQFF q8 vs llama.cpp GGUF Q8_0
| 모델 (Model) | 하드웨어 (Hardware) | mistral.rs | llama.cpp |
|---|---|---|---|
| Gemma 4 E4B | GB10 | 44.1 | 40.5 |
| ... |
BF16 prefill TPS: mistral.rs BF16 vs vLLM BF16
| 모델 (Model) | 하드웨어 (Hardware) | mistral.rs | vLLM |
|---|---|---|---|
| Gemma 4 E4B | GB10 | 5838.9 | 5812.9 |
| ... |
BF16 decode TPS: mistral.rs BF16 vs vLLM BF16
| 모델 (Model) | 하드웨어 (Hardware) | mistral.rs | vLLM |
|---|---|---|---|
| Gemma 4 E4B | GB10 | 25.1 | 18.8 |
| ... |
모든 Hugging Face 모델, 설정 불필요 (zero config): 단순히 mistralrs run -m user/model을 실행하세요. 아키텍처 (Architecture), 양자화 형식 (quantization format), 그리고 채팅 템플릿 (chat template)이 자동으로 감지됩니다.
진정한 멀티모달리티 (True multimodality): 하나의 엔진에서 텍스트, 비전, 비디오, 오디오, 음성 생성, 이미지 생성 및 임베딩 (embeddings)을 지원합니다.
스마트 양자화 (Smart quantization):--quant
해당 레벨에서 최적의 양자화 (quantization) 형식을 자동으로 선택합니다: 게시된 사전 구축된 UQFF가 있다면 이를 사용하고, 그렇지 않으면 ISQ를 적용합니다. Docs
OpenAI + Anthropic 호환 서빙 (serving): 동일한 mistralrs serve 프로세스는 OpenAI 호환 /v1 엔드포인트와 Anthropic 호환 Messages 엔드포인트를 노출합니다.
Prometheus 메트릭 (metrics): mistralrs serve는 Prometheus 형식의 /metrics 엔드포인트를 노출하며, 메서드, 경로 및 상태별로 라벨링된 요청당 횟수와 지연 시간 (latency)을 기록합니다. Docs
내장 웹 UI (web UI): 기본적으로 /ui에서 제공됩니다. 추론 (reasoning), 코드 실행, 플롯 (plots) 및 파일을 인라인으로 보여줍니다. 메시지를 수정하면 새로운 브랜치가 자체적인 Python 상태와 함께 실행됩니다. 비활성화하려면 --no-ui를 전달하세요.
하드웨어 인식 (Hardware-aware): mistralrs tune이 시스템을 벤치마크하고 최적의 양자화 및 디바이스 매핑 (device mapping)을 선택합니다.
유연한 SDK: 프로젝트 구축을 위한 Python 패키지 및 Rust 크레이트 (crate)를 제공합니다.
네이티브 에이전트 지원 (Native agentic support): 웹 검색, 모델 피드백을 포함한 로컬 Python 코드 실행, 세션 관리 및 커스텀 도구 훅 (tool hooks)이 포함된 내장 에이전트 루프 (agentic loop)를 제공합니다.
Linux/macOS:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/EricLBuehler/mistral.rs/master/install.sh | sh
Windows (PowerShell):
irm https://raw.githubusercontent.com/EricLBuehler/mistral.rs/master/install.ps1 | iex
# 대화형 채팅 (Interactive chat)
mistralrs run -m Qwen/Qwen3-4B
# 원샷 프롬프트 (One-shot prompt, 대화형 세션 없음)
...
서버 명령의 경우, 웹 채팅 인터페이스를 위해 http://localhost:1234/ui를 방문하세요. OpenAI 호환 클라이언트는 http://localhost:1234/v1을 사용하며, Anthropic 호환 클라이언트는 http://localhost:1234를 사용합니다.
CLI는 **제로 컨피그 (zero-config)**로 설계되었습니다: 모델을 지정하기만 하면 바로 시작할 수 있습니다.
자동 감지 (Auto-detection): 모델 아키텍처, 양자화 형식 및 채팅 템플릿을 자동으로 감지합니다.
올인원 (All-in-one): 채팅, 서버, 벤치마크 및 웹 UI를 위한 단일 바이너리 (run, serve, bench)를 제공합니다.
하드웨어 튜닝 (Hardware tuning): mistralrs tune을 실행하세요.
사용자의 하드웨어를 자동으로 벤치마킹하고 최적의 설정을 구성합니다. 포맷 불문 (Format-agnostic): Hugging Face 모델, GGUF 파일, UQFF 양자화 (quantizations)와 원활하게 작동합니다.
# 사용자의 하드웨어에 맞춰 자동 튜닝하고 설정 파일을 생성합니다
mistralrs tune -m Qwen/Qwen3-4B --emit-config config.toml
# 생성된 설정을 사용하여 실행
...
성능 (Performance)
- 모든 장치에서 기본적으로 연속 배치 (Continuous batching) 지원.
- FlashAttention V2/V3를 포함한 CUDA, Metal, 그리고 멀티 GPU/분산 추론 (distributed inference) 지원.
- CUDA 또는 Apple Silicon에서 높은 처리량의 연속 배치를 위한 PagedAttention, 접두사 캐싱 (prefix caching, 멀티모달 포함) 지원.
양자화 (Quantization) (전체 문서 참조)
- 모든 Hugging Face 모델의 현장 양자화 (In-situ quantization, ISQ) 지원.
- GGUF (2-8 bit), GPTQ, AWQ, HQQ, FP8, BNB 지원.
- ⭐ 레이어별 토폴로지 (Per-layer topology): 최적의 품질/속도를 위해 레이어별로 양자화 미세 조정.
- ⭐ 사용자의 하드웨어에 가장 빠른 양자화 방법을 자동 선택.
유연성 (Flexibility)
- 가중치 병합 (weight merging)을 포함한 LoRA & X-LoRA 지원.
- AnyMoE: 모든 베이스 모델에 대해 전문가 혼합 (mixture-of-experts) 생성.
- 다중 모델: 런타임 시 모델 로드/언로드 가능.
에이전트 기능 (Agentic Features)
- 문법 강제 (grammar enforcement) 및 엄격한 스키마 모드 (strict schema mode)가 통합된 도구 호출 (tool calling).
- ⭐ 서버 측 에이전트 루프 (Server-side agentic loop): 도구를 자동 실행하고 결과를 다시 피드백.
- ⭐ Python 코드 실행: matplotlib 캡처 및 멀티모달 피드백을 포함한 지속적인 Jupyter 스타일 세션.
- ⭐ 임베딩 기반 랭킹을 포함한 웹 검색 통합.
- ⭐ 도구 디스패치 URL (Tool dispatch URL): 사용자 정의 엔드포인트로 도구 호출을 POST 전송.
- ⭐ MCP 클라이언트: Process, HTTP 또는 WebSocket을 통해 외부 도구에 연결.
- 커스텀 실행을 위한 Python/Rust 도구 콜백.
텍스트 모델 (Text Models)
- Granite 4.0
- SmolLM 3
- DeepSeek V3
- GPT-OSS
- DeepSeek V2
- Qwen 3 Next
- Qwen 3 MoE
- Phi 3.5 MoE
- Qwen 3
- GLM 4
- GLM-4.7-Flash
- GLM-4.7 (MoE)
- Gemma 2
- Qwen 2
- Starcoder 2
- Phi 3
- Mixtral
- Phi 2
- Gemma
- Llama
- Mistral
멀티모달 모델 (Multimodal Models)
- Qwen 3.5
- Qwen 3.5 MoE
- Qwen 3-VL
- Qwen 3-VL MoE
- Gemma 3n
- Llama 4
- Gemma 3
- Mistral 3
- Phi 4 multimodal
- Qwen 2.5-VL
- MiniCPM-O
- Llama 3.2 Vision
- Qwen 2-VL
- Idefics 3
- Idefics 2
- LLaVA Next
- LLaVA
- Phi 3V
음성 모델 (Speech Models)
- Voxtral (ASR/speech-to-text)
- Dia
이미지 생성 모델 (Image Generation Models)
- FLUX
임베딩 모델 (Embedding Models)
- Embedding Gemma
- Qwen 3 Embedding
새로운 모델 요청하기 | 전체 호환성 테이블
pip install mistralrs # or mistralrs-cuda, mistralrs-metal, mistralrs-mkl, mistralrs-accelerate
from mistralrs import Runner, Which, ChatCompletionRequest
runner = Runner(which=Which.Plain(model_id="Qwen/Qwen3-4B") ,
...
Python SDK | 설치 | 예제 | 쿡북
cargo add mistralrs
use anyhow::Result;
use mistralrs::{IsqType, TextMessageRole, TextMessages, MultimodalModelBuilder};
#[tokio::main]
...
컨테이너 배포를 빠르게 하려면:
docker pull ghcr.io/ericlbuehler/mistral.rs:latest
docker run --gpus all -p 1234:1234 ghcr.io/ericlbuehler/mistral.rs:latest \
serve -m Qwen/Qwen3-4B
운영 환경(production use)에서는 최대의 유연성을 위해 CLI를 직접 설치하는 것을 권장합니다.
전체 문서는 Documentation을 참조하십시오.
빠른 링크:
- CLI Reference - 모든 명령어 및 옵션
- OpenAI-compatible APIs - OpenAI 호환 Chat Completions, Responses, tools, 및 media 엔드포인트
- Anthropic Messages API - Anthropic 호환 Messages, streaming, tool use, 및 토큰 카운팅
- HTTP API - OpenAI 호환 및 Anthropic 호환 엔드포인트
- Quantization - ISQ, GGUF, GPTQ 등
- Multi-GPU and Distributed - NCCL TP, P2P 레이어 매핑, 멀티 노드, 및 링
- Device Mapping - 레이어 배치 및 CPU 오프로딩
- MCP Integration - MCP 통합 문서
- Troubleshooting - 일반적인 문제 및 해결책
- Configuration - 구성용 환경 변수
기여를 환영합니다! 새로운 기능에 대해 논의하거나 버그를 보고하려면 Issue를 생성해 주세요. 새로운 모델을 추가하고 싶다면 Issue를 통해 저희에게 연락해 주시면 협업을 조율할 수 있습니다.
이 프로젝트는 Candle의 훌륭한 작업 없이는 불가능했을 것입니다. 모든 기여자분께 감사드립니다!
mistral.rs는 Mistral AI와 관련이 없습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Rust (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기