Hub documentation

Hugging FaceでのMLXの活用

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Hugging FaceでのMLXの活用

MLXは、Apple Machine Learning Researchが開発した、Apple silicon向けのモデル学習およびサービングフレームワークです。

さまざまなサンプルが付属しています:

HubでのMLXの探索

モデルページの左側でフィルタリングすることで、MLXモデルを見つけることができます。 また、MLX形式の重みをコンバートして公開する貢献者からなるオープンなMLXコミュニティもあります。

MLX Hugging Face Hub 統合のおかげで、数行のコードで MLX モデルを読み込むことができます。

インストール

MLXはスタンドアロンパッケージとして提供されており、大規模言語モデル向けのHugging Face統合を備えたサブパッケージMLX-LMがあります。 MLX-LMをインストールするには、pipを使用して以下の1行のインストールコマンドを実行できます。

pip install mlx-lm

詳細については、こちらをご覧ください。

mlx-lmをインストールする場合、mlxのインストールは不要です。mlx-lmを使わずにMLXのみを使用したい場合は、次のようにMLX本体をインストールできます。

pip を使用する場合:

pip install mlx

conda を使用する場合:

conda install -c conda-forge mlx

既存のモデルの使用

MLX-LMには、テキストを生成するための便利なユーティリティが用意されています。次の行では、モデルを直接ダウンロードして読み込み、テキストの生成を開始します。

python -m mlx_lm.generate --model mistralai/Mistral-7B-Instruct-v0.2 --prompt "hello"

生成オプションの完全なリストについては、python -m transformers-cli --helpを実行してください。

python -m mlx_lm.generate --help

Pythonで以下のようにモデルを読み込み、テキスト生成を開始することもできます。

from mlx_lm import load, generate

model, tokenizer = load("mistralai/Mistral-7B-Instruct-v0.2")

response = generate(model, tokenizer, prompt="hello", verbose=True)

MLX-LMは、LLaMA、Phi-2、Mistral、Qwenなどの人気のあるLLMアーキテクチャをサポートしています。サポートされていないモデルは、以下の手順で簡単にダウンロードできます。

HF_XET_HIGH_PERFORMANCE=1 を設定すると、高帯域幅かつ 64 GB 以上の RAM を備えたマシン向けに、並行処理の上限とバッファサイズが引き上げられます。

pip install -U huggingface_hub

export HF_XET_HIGH_PERFORMANCE=1
hf download --local-dir <LOCAL FOLDER PATH> <USER_ID>/<MODEL_NAME>

モデルの変換と共有

Hugging Face HubのLLMを以下のように変換し、必要に応じて量子化できます。

python -m mlx_lm.convert --hf-path mistralai/Mistral-7B-v0.1 -q 

変換後にモデルを直接プッシュしたい場合は、以下のように実行できます。

python -m mlx_lm.convert \
    --hf-path mistralai/Mistral-7B-v0.1 \
    -q \
    --upload-repo <USER_ID>/<MODEL_NAME>

追加のリソース

Update on GitHub