Oossa

llama.cpp、BF16行列入力のCPU処理を修正

リリースb11292では、depthwise convolutionで使われるBF16行列入力にCPUが対応。Vulkanの対応判定も厳格化されました。

短信OossaOossa公開日: 1 分で読める

llama.cppのリリースb11292では、カーネルにBF16(16ビット数値形式)を使うdepthwise 1D convolutionで、CPUバックエンドにあった制限が修正されました。CPUバックエンドは計算時に入力を32ビット浮動小数点数へ拡張するようになり、Metalの行列ベクトルカーネルで使われる演算方式と一致します。

このリリースではVulkanの判定も変更されました。2つ目の行列入力にBF16を使えるのは、1つ目の入力もBF16の場合に限られます。それ以外の組み合わせは非対応として扱われ、スケジューラーによってCPUで処理されます。リリースノートにはテストの追加が記載されていますが、パッケージ版アプリに変更が反映される時期や、対象ユーザーについては触れられていません。

なぜ重要か

BF16のdepthwise convolutionを実行する開発者は、これまでCPUバックエンドで処理できなかった組み合わせを扱えるようになりました。ただし、下流のアプリにこの修正が反映される時期は、リリースノートに記載されていません。

この記事は役に立ちましたか?
共有

次に読む

Oossa · ニュースレター

今週のAIを、わかりやすく

毎週月曜日、知っておきたいニュースをやさしい言葉で。無料・スパムなし。