「MLX」で「DBRX」を試したので、まとめました。
1. DBRX
「DBRX」は、「Databricks」が開発したオープンな大規模言語モデルです。MoEアーキテクチャが採用されており、トータルパラメータ132B、アクティブパラメータ36Bになります。
2. 推論の実行
「MLX」は、Appleが開発した新しい機械学習フレームワークで、「Apple Silicon」(M1/M2/M3など) を最大限に活用するように設計されています。
推論の実行手順は、次のとおりです。
(1) Pythonの仮想環境の準備。
今回は、「Python 3.10」の仮想環境を準備しました。
(2) パッケージのインストール。
「mlx-community/dbrx-instruct-4bit」のモデルカードの解説に沿ってインストールします。
git clone git@github.com:ml-explore/mlx-examples.git
cd mlx-examples/llms/
python setup.py build
python setup.py install
pip install tiktoken
(3) プロンプトテキストの準備
プロンプトは長く改行もあるのでテキストで準備します。
・my_prompt.txt
<|im_start|>user
Who is the cutest in Madoka Magica?<|im_end|>
<|im_start|>assistant
I will try my best to answer your question.
また、アシスタントの開始に余分な文章を追加しました。そうしないと、モデルは即座に <|im_end|> を追加して停止しました。
(4) mlx_lm.generateコマンドの実行。
今回は、「mlx-community/dbrx-instruct-4bit」を使用します。
python -m mlx_lm.generate --model mlx-community/dbrx-instruct-4bit --prompt "$(cat my_prompt.txt)" --max-tokens 1024 --ignore-chat-template --trust-remote-code