본문으로 건너뛰기

Qwen3-coder-next / mlx vs unsloth

앞서 qwen3 계열 모델들이 Tool calling 에 문제가 있다는 글을 여러번 작성 했는데요 .. 현재까지 제가 찾아보고 해본 정보로는 qwen3 모델의 경우 qwen 전용 툴로 학습되었다는 것이고 .. chat template 를 수정해서 극복 가능하지 않을까 라는 생각으로 여러 짓을 해봤으나 .. 그리 결과가 좋지는 못했습니다.

현재까지는 tps의 이점 때문에 gguf/mlx 모델을 선호해 왔습니다만 .. 아무래도 mlx 진영이 Ai 모델 시장에서는 사용자가 소수인 상황이라 상대적으로 발전이 느린 느낌이네요 ..

그러다 전부터 관심 있어하던 unsloth 쪽 모델들을 살펴보는 중입니다.

오픈소스로 공개된 모델들을 여러 목적으로 파인튜닝하여 제공하는 곳인데 .. Qwen3 를 비롯해서 Tool Calling 등의 문제도 개선 했다는 등의 언급이 좀 보여서 관련 모델들을 받아서 테스트 중입니다.

그중 최근까지 코딩 관련으로 파라미터수 대비 만족하게 사용했던 Qwen3-coder-next 모델을 우선 받아서 테스트 중입니다.

LM Studio 를 쓰고 있구요.. lms get unsloth 명령을 사용하면 unsloth 의 모델들 목록을 확인가능하고 쉽게 다운로드 가능합니다.

Bash
pirogom@pirogom-Mac-Studio ~ % lms get unsloth
Searching for models with the term unsloth
No exact match found. Please choose a model from the list below.

? Select a model to download
❯ unsloth/gpt-oss-20b-GGUF
  unsloth/GLM-4.7-Flash-GGUF
  unsloth/Qwen3.5-35B-A3B-GGUF
  unsloth/Qwen3-Coder-30B-A3B-Instruct-GGUF
  unsloth/Qwen3-Coder-Next-GGUF
  unsloth/Qwen-Image-Edit-2511-GGUF
  unsloth/Qwen-Image-2512-GGUF
  unsloth/Qwen3-30B-A3B-GGUF
  unsloth/Qwen3.5-27B-GGUF
  unsloth/gpt-oss-120b-GGUF
  unsloth/Qwen3.5-397B-A17B-GGUF
  unsloth/Qwen3-4B-GGUF
  unsloth/Qwen3.5-9B-GGUF
  unsloth/GLM-5-GGUF
  unsloth/MiniMax-M2.5-GGUF
  unsloth/Qwen3.5-122B-A10B-GGUF
  unsloth/GLM-4.7-Flash-REAP-23B-A3B-GGUF
  unsloth/Qwen3-4B-Instruct-2507-GGUF
  unsloth/gemma-3-12b-it-GGUF
  unsloth/gemma-3-270m-it-GGUF
  unsloth/Z-Image-GGUF
  unsloth/LTX-2-GGUF
  unsloth/FLUX.2-klein-9B-GGUF
  unsloth/Devstral-Small-2-24B-Instruct-2512-GGUF

↑↓ navigate • ⏎ select

이런식으로 말이죠 ..

Bash
pirogom@pirogom-Mac-Studio ~ % lms ls

You have 10 models, taking up 542.57 GB of disk space.

LLM                                   PARAMS       ARCH             SIZE         DEVICE
minimax-m2.5                          256x4.9B     minimax-m2       130.03 GB    Local
minimax/minimax-m2.5 (1 variant)      230B         minimax_m2       128.68 GB    Local
qwen2.5-coder-3b-instruct-mlx         3B           Qwen2            1.75 GB      Local
qwen3-coder-next@4bit                              qwen3_next       44.86 GB     Local     ✓ LOADED
qwen3-coder-next@8bit                              qwen3_next       84.67 GB     Local     ✓ LOADED
qwen3.5-122b-a10b                     122B-A10B    qwen35moe        76.47 GB     Local
unsloth/qwen3-coder-next              512x2.5B     qwen3next        44.57 GB     Local     ✓ LOADED
zai-org/glm-4.6v-flash (1 variant)    9B           glm4v            7.09 GB      Local
zai-org/glm-4.7-flash (1 variant)     30B          glm4_moe_lite    24.36 GB     Local

EMBEDDING                               PARAMS    ARCH          SIZE        DEVICE
text-embedding-nomic-embed-text-v1.5              Nomic BERT    84.11 MB    Local

기존에 mlx 모델을 4bit, 8bit 양자화 모델을 둘다 받아서 쓰고 있었습니다. qwen3-coder-next@4bit, 8bit 두 모델이구요 새로 받은게 unsloth/qwen3-coder-next 모델입니다.

Q4_K_XL 로 양자회된 모델이구요..

lms chat --stats 로 프롬프트는 단순하게 python snake game 으로 동일하게 적용한 결과입니다.

Bash
mlx-community/qwen3-coder-next@4bit

Prediction Stats:
  Stop Reason: eosFound
  Tokens/Second: 71.17
  Time to First Token: 0.548s
  Prompt Tokens: 1249
  Predicted Tokens: 1203
  Total Tokens: 2452

mlx-community/qwen3-coder-next@8bit

Prediction Stats:
  Stop Reason: eosFound
  Tokens/Second: 61.47
  Time to First Token: 1.956s
  Prompt Tokens: 2464
  Predicted Tokens: 1203
  Total Tokens: 3667

unsloth/qwen3-coder-next:Q4_K_XL

Prediction Stats:
  Stop Reason: eosFound
  Tokens/Second: 48.66
  Time to First Token: 4.010s
  Prompt Tokens: 3679
  Predicted Tokens: 1203
  Total Tokens: 4882

mlx 의 4bit, 8bit 간의 차이는 그렇게 크지 않습니다만 .. mlx vs unsloth 는 대략 10~20 토큰 사이로 차이가 나네요.. unsloth 의 모델들이 소스 모델보다 몇배가 빠르니 강조를 하는 모델들도 있긴 한데 ..

제 기준에선 에이전트 붙여서 쓸때 툴 호출에 문제가 있느냐 없느냐가 가장 중요한 이슈이고.. 그 다음이 그래도 실 사용이 가능한 정도의 tps 가 나와주느냐 정도인데 이정도 수준의 차이면 크게 못써줄 차이는 아니라서..

우선 unsloth 모델로 교체해서 한동안 써봐야 겟습니다.

성능은 봐줄만 하니 이제 Opencode 같은 놈에서 문제 없이 돌아가는지를 확인해 봐야 겠습니댜.