Blaizzy/mlx-vlm
MLX-VLM is a package for inference and fine-tuning of Vision Language Models (VLMs) on your Mac using MLX.
개요
MLX-VLM은 Mac에서 직접 비전 언어 모델(VLM) — 이미지, 비디오, 오디오를 이해하는 AI 모델 — 을 실행(추론) 및 파인튜닝할 수 있는 Python 패키지입니다. Apple의 MLX 머신러닝 프레임워크를 기반으로 하며, Apple Silicon(M1/M2/M3 칩)에 최적화되어 있습니다.
README에는 명령줄 인터페이스, 웹 채팅 UI(Gradio), 연속 배치 및 접두사 캐싱을 지원하는 로컬 서버(FastAPI), 속도 향상을 위한 투기적 디코딩, 다중 이미지 채팅, 파인튜닝, 그리고 수십 가지 특정 모델 아키텍처(Qwen, Gemma, MiniCPM, Phi, DeepSeek‑OCR 등) 지원을 포함한 기능이 풍부한 도구가 설명되어 있습니다.
흥미로운 점
- 무거운 멀티모달 모델을 Mac에서 로컬로 실행 — 클라우드나 GPU 서버가 필요 없습니다.
- 추론 및 파인튜닝 을 하나의 패키지에서 제공하며, Hugging Face 모델을 MLX 형식으로 변환하는 유틸리티도 포함합니다.
- 투기적 디코딩 가속: 작은 "드래프터" 모델로 다음 토큰을 예측하고, 큰 모델로 검증하여 2~3배 빠른 속도를 제공합니다. DFlash, EAGLE‑3, MTP 등 여러 드래프터 패밀리를 지원합니다.
- 옴니 모델 — 이미지뿐만 아니라 오디오와 비디오를 처리하는 모델로, 음성 생성 기능도 포함합니다.
- 프로덕션 준비 서버 — 연속 배치(여러 요청을 효율적으로 처리), 자동 접두사 캐시, 메모리 절약을 위한 KV 캐시 양자화를 갖추고 있습니다.
- 모델별 상세 문서 — 지원되는 각 아키텍처에는 프롬프트 형식과 모범 사례를 설명하는 전용 README가 있습니다.
작동 방식
- 설치:
pip install -U mlx-vlm(UI 사용 시mlx-vlm[ui]). - CLI로 사용: 예:
mlx_vlm.generate --model mlx-community/Qwen2-VL-2B-4bit --image http://... --prompt "이 이미지를 설명하세요". - 프로그래밍 방식: 모델과 프로세서를 로드한 후
generate()를 호출합니다. 이미지, 오디오, 텍스트를 지원합니다. - 서버:
mlx_vlm.server --model ...로 REST API(FastAPI)를 노출합니다. 생성, 채팅, 오디오, 캐싱, 메트릭 엔드포인트를 제공합니다. - 양자화:
mlx_vlm.convert로 Hugging Face 모델을 MLX로 변환하고, 비트 폭(예: 4비트)을 선택하여 메모리를 절약합니다. - 파인튜닝: 패키지에는 파인튜닝 기능이 포함되어 있습니다(목차에 언급되어 있지만, 이 README 발췌문에는 세부 내용이 없습니다).
주목할 만한 세부 사항
- 생각 예산: 추론 모델의 경우, 답변 전에 생각에 사용할 토큰 수를 제한할 수 있습니다.
- 다중 이미지 채팅: 여러 모델에서 지원되며, 대화에서 여러 이미지를 전달할 수 있습니다.
- 분산 추론 및 1비트 아핀 추론 도 다룹니다.
- 이 프로젝트에는 에이전트 스킬 이 포함되어 있습니다 — 코딩 어시스턴트(Claude Code, Codex, Gemini)용 사전 제작 프롬프트로, 프로젝트 규칙을 따르는 데 도움이 됩니다.
결론
MLX‑VLM은 Mac에서 최신 비전 언어 및 옴니 모델을 실행하고 사용자 지정하려는 모든 사람에게 실용적이고 문서화가 잘 된 툴킷입니다. 투기적 디코딩, 로컬 서버, 파인튜닝과 같은 실용적인 기능을 갖추고 있으며, 활발히 유지 관리되는 진정한 소프트웨어 프로젝트로 방대한 지원 모델 매트릭스를 보유하고 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트