본문 바로가기
C.W.K.
Stream
Lesson 03 of 07 · published

mlx-vlm — MLX의 시각 언어 모델

~14 min · mlx-vlm, multimodal, vision

Level 0호기심
0 XP0/51 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

이미지와 글을 함께 읽어

mlx-vlm은 이미지나 영상 프레임과 텍스트 프롬프트를 받아 글을 만드는 MLX 패키지야. Qwen-VL 계열, LLaVA 파생 모델, 작은 다중양식 Llama가 Apple Silicon에서 강해.

load가 모델과 processor를 주고 generate가 프롬프트와 이미지를 받아 답을 내는 모양은 mlx-lm과 닮았어. 새로 조심할 부분은 이미지 전처리야.

설치와 최소 실행

pip install mlx-vlm으로 설치해. CLI는 python -m mlx_vlm.generate이고 Python API는 이미지 processor를 포함해 mlx-lm과 비슷해.

이미지 전처리를 직접 하지 마

VLM은 정해진 해상도와 평균·표준편차 정규화로 학습돼. 틀린 해상도나 정규화로 보내도 그럴듯한 답을 만들어 더 위험해. load()가 주는 processor가 모델의 기대를 알고 모두 처리하니 항상 그 길을 써. PIL이나 torchvision으로 미리 바꾸다 두 번 적용하지 마.

잘하는 일

  • OCR — 손글씨와 표를 포함한 이미지 글 읽기
  • 차트·도표 해석 — 그래프의 흐름 설명하기
  • 시각 질문 답변 — 사람 수나 망가진 부분처럼 사진 내용 묻기
  • UI 화면 추론 — 앱의 역할과 버튼 상태 설명하기

약한 일

  • 정밀 공간 측정 — 픽셀 거리와 정확한 기하에는 맞지 않아. VLM은 묘사하지 측정하지 않아.
  • 많은 물체 세기 — 약 5개까지는 잘하지만 그 뒤로 빠르게 무너져.
  • 큰 이미지의 작은 글 — 입력 해상도에서 글자당 약 10픽셀보다 작으면 OCR이 실패해.

Code

mlx-vlm 설치·bash
conda activate mlx
pip install mlx-vlm

# Verify
python -c "import mlx_vlm; print('mlx_vlm:', mlx_vlm.__version__)"
# Re-verified 2026-08-07 on mlx_vlm 0.6.10: this import, `load`, `generate`,
# `apply_chat_template` and `load_config` all still resolve unchanged.
이미지에 대한 질문 — 최소 API 표면·python
from mlx_vlm import load, generate
from mlx_vlm.prompt_utils import apply_chat_template
from mlx_vlm.utils import load_config

# Load a small VLM (under ~5 GB on disk)
model_path = "mlx-community/Qwen2-VL-2B-Instruct-4bit"
model, processor = load(model_path)
config = load_config(model_path)

# Image path or URL
image = ["path/to/your/image.jpg"]
prompt = "What's in this image? Be concise."

# Apply the chat template (includes the image placeholder)
formatted_prompt = apply_chat_template(processor, config, prompt, num_images=len(image))

output = generate(model, processor, formatted_prompt, image, max_tokens=120, verbose=False)
print(output)
같은 호출의 CLI 변형·bash
python -m mlx_vlm.generate \
  --model mlx-community/Qwen2-VL-2B-Instruct-4bit \
  --image path/to/your/image.jpg \
  --prompt "What's in this image? Be concise." \
  --max-tokens 120

External links

Exercise

UI 화면, 차트나 도표, 물체가 여럿인 사진을 하나씩 골라 같은 VLM에 "보이는 것을 두 문장으로 묘사해"라고 물어. 정확한 곳과 흐릿한 곳, 없는 세부를 지어내는 곳을 찾아. 가장 놀라운 실패를 두 문장으로 적어.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.