はじめに
今朝届いた中島聡さんのメールマガジンで MLX のことを知って興味を持ったので、早速触ってみました。
限られたリソースでの検証となりますが、このスペックで使ってる方も多いと思うので、参考になればと思い記事にしました。
MLXとは・・・(以下、中島聡さんのメールマガジンより引用)
MLXは、タイトルにある通り、Numpy(Python上で行列計算などを行うためのライブラリ)に似たライブラリで、ニューラルネットワークの学習や推論をAppleのシリコン上で効率良く計算するために作られたライブラリです。人工知能計算用にNumpyの上に作られたPyTorchからもアイデアを拝借しており、MacBookやiPhone上で人工知能のアプリケーションを開発する開発者・研究者向けにオープンソースの形で提供されています。
オープンソース化されたMLXには、llama, mistral, mixtral, whisper, stable diffusion などをMLX上で実行するサンプルコードが提供されており、アップルシリコンを搭載したMacBook上で簡単に動かすことが出来ます。私も試しに、mistralとstable diffusionを動かしてみましたが、とても快適に動きます。
関連リンク
以下のリンクで参考に、検証をしました。
- Whisperについて
- Mistralについて
検証環境
この実験は以下の環境で実施
- Macbook Pro
- CPU: M1 Pro
- メモリ: 16GB
検証内容
Whisperの実験
Whisperは、音声の書き起こしに特化した深層学習モデルです。
この検証では、12秒の音声データの書き起こしを試みました。実験の詳細は以下の通りです。
- 使用したコマンド:
% python script.py --model large
- 実行結果:
100%|█████████████████████████████████████| 2.88G/2.88G [04:02<00:00, 12.7MiB/s] さて、早くに創業再開された尼崎の工場なんですけれども、その後の防災対策ということでは、どのようなことを勧められたんでしょうか。 経過時間: 278.5 秒
- 感想:
12秒の音声に対して、4~5分かかってしまいました。
1時間の音声だと、完了するまでに約1日かかってしまうのでしょうか。
精度については問題なさそうなので、比較的短い音声の書き起こしであれば、放置してる間に完了するという使い方はできそうです。
Mistralの実験
Mistralは、自然言語生成に特化した深層学習モデルです。
この実験では、特定のプロンプトからテキストを生成する能力をテストしました。
実験の詳細は以下の通りです。
- 使用したコマンド:(200トークンで出力するように指示)
python mistral.py --prompt "It is a truth universally acknowledged," --temp 0 -m 200
- 実行結果:
It is a truth universally acknowledged, that a single man in possession of a good fortune, must be in want of a wife. So begins Pride and Prejudice, one of the most famous novels in the English language. The story of the Bennet family, five unmarried daughters and their mother, is a classic tale of love and misunderstanding. The novel was first published in 1813, and has been adapted for film and television many times. The most recent adaptation, Pride and Prejudice and Zombies, is a mash-up of the original novel and the zombie genre. The novel has been translated into many languages, and is still popular today. ## What
- 経過時間: 3時間30分(66%で断念しました。)
- 感想: こちらは使い物にならないことが判明しました。(16GBのメモリでは厳しい)
まとめ
今回の検証環境だと使い物にならないことがわかりました!!w
生成AIをローカルで使用する場合には、チップ性能よりメモリ量が重要ということを身をもって体験できましたww
次にMacを買うときはメモリ盛り盛りで購入しよう・・・
以下、中島聡さんのメールマガジンより引用
参考までに書いておくと、今からMacBookを開発用に購入するのであれば、チップの性能よりも、メモリ量を重視してマシンを選ぶことをお勧めします。最低限でも64GBはあるマシンを購入すべきだと思います。
中島聡さんのメールマガジンに興味がある方はこちらから↓↓↓(PRではなく、5年購読してるファンとしておすすめです。)