オープンソースの大規模言語モデル推論フレームワーク「llama.cpp」が、リカレント系モデルのバッチ処理時におけるコンテキスト分割の改良を取り込んだ。この変更により、RWKVなどに代表されるリカレントモデルをApple Silicon搭載端末上で稼働させる際の実用性が高まる可能性がある。
リカレントモデル特有の制約に対処
今回のプルリクエスト(#25278)では、llama-batchの分割関数「split_equal」に「n_keep_tail」パラメータが追加された。リカレントニューラルネットワーク(RNN)系モデルは、Transformer型と異なり、推論時にコンテキスト全体を線形に処理するため、分割によって末尾の状態保持が重要となる。この変更は、バッチ並列処理と状態の一貫性を両立させるための地味ながら本質的な改良であり、リカレントモデルを本番環境で安定稼働させるための基盤を固めるものだ。
Apple SiliconとKleidiAIが推論の主戦場に
変更に伴い走ったContinuous Integration(CI)の構成を見ると、macOSのarm64向けテストが強調されており、さらにApple Silicon向けにはArmのKleidiAI最適化を有効にしたビルドが無効化されずに維持されている。これは、Mシリーズチップ上でのAI推論が単なる開発用ではなく、実際のエッジ推論ワークロードとして拡大している現状を示す。x64やCUDA、Vulkanといった幅広いバックエンドの中で、Appleプラットフォームの優位性が開発優先度の面でも明確になりつつある。
多岐にわたるCI構成が示すエッジ分散の実像
テスト対象には、Linuxのs390x(IBM Z)やOpenVINO、SYCL、さらにはAndroid arm64やWindows on ARM(Adreno OpenCL)といったニッチな構成まで含まれる。これはllama.cppが、データセンターのGPUクラスタだけでなく、多様なエッジ端末や異種アーキテクチャでの推論実行を真剣に捉えている証左だ。大規模基盤モデルの推論は、もはやNVIDIAの独占領域ではなく、あらゆるチップ上で動く分散コンピューティングの段階に移行しつつある。