0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

safetensors形式のモデルをMLXに変換する方法

Posted at

背景

最近ローカルLLM欲が高まっており、
Redditなどで誰かがFinetuningしてくれたモデルを見つけては
LMStudio上で動かしたくなる。

その際、GGUFは割とすぐ誰かが作ってくれるが、
MLX版はあんまりでてこないので、
自分で変換しようというのがきっかけ。

変換

事前にインストールしておくもの

  • uv
    • python使えればなんでもいいけど最近はuv推し

手順

1. 必要なライブラリのインストール

$ uv add mlx-lm requests[security] urllib3 huggingface-hub>

mlx-lmがあれば動くかも。
私の環境では実行時にエラーが出たので他のライブラリもインストールする必要があった。

最終的なpyproject.tomlはこう。

pyproject.toml
[project]
name = "mlx-converter"
version = "0.1.0"
description = "Convert model to MLX format"
readme = "README.md"
requires-python = ">=3.13.3"
dependencies = [
  "huggingface-hub>=0.34.4",
  "mlx-lm>=0.26.3",
  "requests[security]>=2.32.4",
  "urllib3>=2.5.0",
]

2. 変換

今回変換したのはこのモデル

# fish shell用 これでmlx_lm.convertコマンドを使えるようになる
$ source .venv/bin/activate.fish

# モデルを4bit量子化しつつMLXに変換
$ mlx_lm.convert --hf-path TheDrummer/Gemma-3-R1-12B-v1 --quantize --q-bits 4

モデルのダウンロードに1時間程度、変換は1分もかからず即終わった。

3. LM Studioで使う

LM Studioのモデル群が保存されているDirに変換したモデルを置く

/Users/<user name>/.cache/lm-studio/models/<author>/Gemma-3-R1-12B-v1-4bit/

これでLM Studioのモデル一覧に表示されるので、通常通りチャットで使えた。

変換も推論も動作することは確認できたけど、
レスポンスが止まらなくなったので使い物にならなかった。

モデルが悪いのか量子化が悪さしたのか

補足

ダウンロードした変換前モデルは以下のDirにある。
容量結構食うと思うので遊び終わったら消すの忘れずに。

/Users/<user name>/.cache/huggingface/
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?