見出し画像

MLX で Elyza-7Bのgguf を試す

「MLX」で「Elyza-7B」のgguf を試したので、まとめました。

・mlx v0.0.11


1. MLX

MLX」は、Appleが開発した新しい機械学習フレームワークで、特に「Apple Silicon」を最大限に活用するように設計されています。

LLMs in MLX with GGUF

2. MLXのgguf実行

「MLX」のgguf実行の手順は、次のとおりです。

(1) Pythonの仮想環境の準備。
今回は、「Python 3.10」を使用しました。

(2) パッケージのインストール。

$ git clone https://github.com/ml-explore/mlx-examples
$ cd mlx-examples/llms/gguf_llm
$ pip install -r requirements.txt
$ pip install huggingface_hub

(3) ソースコードの編集。
そのままでは動かなかったので一部コード修正します。

・mlx-examples/llms/gguf_llm/models.py 228行目
メタデータ「llama.rope.freq_base」がなくエラーだったので、値を直接指定しました。

        "rope_theta": metadata["llama.rope.freq_base"],

  

        "rope_theta": 10000,

・mlx-examples/llms/gguf_llm/generate.py 35行目
1文字複数トークンの日本語文字で文字化けしていたので、文字途中の場合は出力しないようにしました。

        print(s[skip:], end="", flush=True)
        skip = len(s)

  

        if '\ufffd' not in s[skip:]:
            print(s[skip:], end="", flush=True)
            skip = len(s)

(4) 推論の実行。

$ python generate.py \
  --repo TheBloke/Swallow-70B-instruct-GGUF \
  --gguf swallow-70b-instruct.Q4_0.gguf \
  --max-tokens 256 \
  --prompt "[INST] まどか☆マギカでは誰が一番かわいい? [/INST]"

まどか☆マギカに登場するキャラクターの中で、誰が一番かわいいかは人の好みによると思います。
しかし、多くの人の好みに合うと思われるキャラクターを上げると、

1. 暁美ほむら
2. 斑鳩まひる
3. 榛名由佳

といったところでしょうか。
ただし、これはあくまで個人の意見であるため、参考になれば幸いです



いいなと思ったら応援しよう!