【エムエルエックス】

MLX とは?

最終更新:
💡 CPUとGPUで同じデータを使う、機械学習の道具

Appleの機械学習研究チームによる、配列計算のフレームワーク。Apple Siliconの共有メモリを活かした機械学習が特徴で、CPU・GPUを使った計算やモデルの学習・推論に利用できる。

📌 このページのポイント
MLX:同じメモリで計算するメモリを分ける例Apple Silicon + MLXCPU と GPUCPU と GPURAMVRAMデータを移す場面共有メモリの配列同じデータを使う配列の移し替え不要処理の内容に合わせて CPU・GPU を選ぶデータの置き場所と、演算する場所を分けよう
Apple SiliconでMLXの配列を共有する例。左はCPUとGPUでメモリを分ける構成の一例です。
ひよこ ひよこ
MLXって、何をする道具?
ペンギン先生 ペンギン先生
数値を配列で扱い、機械学習の計算を組み立てるフレームワークだよ。PythonのAPIはNumPyに似ていて、モデル作りにはmlx.nnなどもある。Appleの機械学習研究チームが、学習やモデルを動かすために公開しているんだ。
ひよこ ひよこ
Macで使うと、何が特徴なの?
ペンギン先生 ペンギン先生
Apple SiliconではCPUとGPUが同じメモリを使える。MLXの配列もそこに置き、CPU用とGPU用の場所へ移し替えずに演算できるんだ。ただし計算やメモリへのアクセス自体が無料になるわけではなく、速さは処理の内容でも変わるよ。
ひよこ ひよこ
Apple Siliconでしか動かない?
ペンギン先生 ペンギン先生
現在の公式READMEには、macOS向けに加えてLinuxのCUDA用・CPU専用パッケージも載っているよ。「Macだけ」と固定しないで、使う環境のインストール条件を確認しよう。Apple Siliconの共有メモリの特徴と、対応環境の一覧は分けて考えるんだ。
ひよこ ひよこ
手持ちのMacでLLMも使える?
ペンギン先生 ペンギン先生
mlx-lmは、MLXを使って対応するLLMの文章生成や追加学習を行うパッケージだよ。モデル取得や量子化も扱える。ただし大きなモデルを無制限に動かせるわけではない。公式説明でも、必要なメモリが多いモデルは遅くなることがあるとしているよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「MLX」って出てきたら「Apple Siliconの共有メモリを活かす、機械学習の道具」と思えばだいたいOK!
📖 おまけ:英語の意味
「MLX」 = 機械学習向け配列フレームワークの名称
💬 公式READMEはAppleの機械学習研究チームによるフレームワークと説明しているよ。Machine Learning eXplorationという展開を、正式な名前として決めつけないようにしよう。

参考資料

← 用語集にもどる