Moonshot AIは7月27日、Kimi K3の重みをオンラインで公開し、これまでに公開された中で最大のオープンモデルを誰でも無料でダウンロードできるようにした。これは2023年設立の北京のスタートアップによる2.8兆パラメーターのシステムで、テキストだけでなく画像も読み取り、1回のクエリで100万トークンを受け付ける。コードベース全体を一度に保持できる量だ。
業界が注目したのは、リーダーボードでの位置だった。独立系トラッカーでは、Artificial Analysisのintelligence indexでClaude FableとGPT-5.6 Sol Maxに次ぐほぼ最上位にK3が位置し、Frontend Code Arenaでは首位とされている。しかも運用コストはその一部にすぎない。オープンウェイトであることは、誰でもダウンロードし、調査し、適応させ、自社ネットワーク内に保持できることを意味するが、主要なクローズドモデルでは価格に関係なくそれは認められていない。先週、多くの人々を動揺させたのはこの点であり、このリリースが単なる研究上の節目ではなく、OpenAIやAnthropicに対する競争的な一手として受け止められた理由でもある。
あまり注目されていない落とし穴もある。ダウンロード可能であることと、実際に実行可能であることは同じではない。ファイル総量は1.56テラバイトに達し、実際にはデータセンター向けGPUを複数ノードで並べたラックが必要になる。そうした環境を持たない人にとって、オープンウェイトはこれまでほぼ建前にすぎなかった。
Pipe Networkは、オープンソースの移植版を公開し、K3の実用版を単一のApple Siliconデスクトップで動かせるようにして、その隔たりを縮めた。
障害は常にメモリだった。最も圧縮した形でも、K3にはおよそ870GBが必要だ。現存する最大のMacであるM3 Ultra Mac Studioでも、ユニファイドメモリは最大512GBにとどまる。これは惜しいというレベルではない。
2つのエンジニアリング上の工夫がその差を埋めた。
変換をストリーミング化する
モデルをMac上で動かすには、まずファイルをAppleの機械学習ソフトウェアが読み取れる形式に書き換える必要がある。標準的なツールは、モデル全体をメモリに読み込み、変換し、それから保存し直すことでそれを行う。これは家庭で使われる小規模モデルなら機能する。だがここでは不可能だ。K3は生の状態で5.6TBあり、市販されているどのマシンもそれに遠く及ぶメモリを備えていないからだ。
モデルは一枚岩の塊ではない。複数のセクションが積み重なった構造で、K3にはそのセクションが93あり、それぞれが作業の一部を担って次へ渡していく。この移植版のコンバーターはその点を活用している。1つのセクションを読み込み、変換し、ディスクに書き出し、破棄してから次へ進む。全体を同時に保持する必要は一度もないため、処理を行うマシンに必要なメモリは数千GBではなく数十GBで済む。華やかな話ではなく配管作業のようなものだが、これがなければプロジェクトの他の部分は何ひとつ成り立たない。
使わないエキスパートを刈り込む
K3の大部分は、任意の瞬間には実際には何もしていない。それは意図された設計だ。巨大な汎用ネットワーク1つではなく、狭い専門分野に特化した集合として構築されている。93ある各セクションには896個のそれがあり、ルーターが処理中の単語に最も適した16個を選ぶ。残りは使われない。合計すると、ディスク上のモデル容量の約98%は、その瞬間には待機している専門家群で占められており、それでもなお容量を消費している。
これらの専門家はエキスパートと呼ばれ、Cerebrasの技術であるREAPは、どれを残すべきかを判断する方法だ。実際に重視する種類のテキストのサンプルをモデルに通し、どのエキスパートが主な働きを担っているかを観察し、容量に見合う働きをしないものを捨てる。これをK3に適用すると、1.56TBは350GBまで縮小し、十分な余裕を持ってMac Studioに収まる。
コーパスこそが製品だ
リポジトリで最も興味深い結果は、キャリブレーションに使うサンプルテキストが、完成したモデルに何ができるかを決めるという点だ。
チームは、異なる種類のコンテンツがどのエキスパートに依存しているかを測定した。欧州言語はまとまってクラスターを作る。コードもまとまってクラスターを作る。中国語とコードはほとんど重ならず、その程度はランダムな偶然から予想されるよりもさらに小さい。
その結果は出力に表れる。英語とコードでキャリブレーションしたビルドは中国語能力を完全に失い、繰り返し始める。中国語だけでキャリブレーションしたビルドは自然な中国語を書く一方で、動作するコードを生成できない。両方でキャリブレーションしたビルドは両方を保つ。これは単にモデルを圧縮しているのではなく、どの能力を生き残らせるかを選んでいるのだ。
チームは、この結論が正式な評価ではなく少数のテストプロンプトに基づいていること、また同じ実験の以前の版では後に誤りと判明した結論に至っていたことを、注意深く明記している。
率直な留保
学習はモデルに何かを身につけさせる工程だ。推論は実際に使うたびに起きる処理、つまりプロンプトを1語ずつ回答へ変換していく作業を指す。その語の1つひとつについて、マシンはモデルの重みの大部分を走査しなければならない。だから推論速度は、コンピューターの巧妙さよりも、どれだけ速くデータを動かせるかに主に左右される。
ここでの速度は毎秒0.14〜0.20トークンだ。1文を生成するのに数分かかる。生成される単語ごとにメモリから約87GBを読み出す必要があるため、これはソフトウェアのバグではなくハードウェアの限界だ。さらに強く刈り込んでも解決しない。100GB小さいビルドでも、速度はほとんど変わらなかった。
それがこのプロジェクトの本当の教訓だ。モデルをマシンに収めること自体は、ソフトウェアで解決できた。だが実用的にすることはそうではなく、この規模のモデルで「ローカル」という表現が意味を持つようになるまで、なおどれほどのハードウェアを必要とするのかをかなり正確に示している。これはチャットボットではなく、動かしておいて後で戻ってくるようなジョブ向けのバッチツールだ。それでも、コンシューマー向けマシンのメモリ帯域幅は上がり続けており、追いついたときに備えるためのソフトウェアの土台は、いまや整って公開されている。
一方で、きちんとうまく動くものが2つある。ビジョンコンポーネントはMoonshot自身のコードでテストされ、丸め誤差の範囲内で一致したため、画像はエンドツーエンドで機能する。そして、生き残ったエキスパートは元のものとビット単位で完全に同一だ。というのも、ソース形式とAppleの形式がたまたま同じ方法で数値をエンコードしているからだ。失われる情報は、枝刈りそのものだけである。
このリポジトリは、何が未検証なのかについても異例なほど率直だ。枝刈りしていない完全版は、それを保持できるコンピュータが存在しないため、これまで一度も単一のトークンすら生成していない。
