2026年4月5日日曜日

llama.cpp LOGIT_SOFTCAPPINGがどうたらこうたら

Gemma 4関連でllama.cppのアップデートが行われていないかチェックしているのですが、にわかな私ですら結構インパクトのありそうな修正が入ってるような気がします。

とりあえず、llama.cppのバージョンについてですが、現状では明確なバージョンではなく、リリース時はこの6桁の識別番号が利用されています。

なのでこの見かけ上の6桁のリリース番号ですが、LocalAIのbackendのllama-cppではコミット時に発番される長い識別子でgit cloneしてソース展開を行っています。コミット番号の方がリリースが取り消されてもそのポイントは不変で残り続ける(はず)なのでコミットの番号を使用しているのだと思います。ただ、利用する場合は長すぎるのでリリース番号でいいと思います。

で、現時点で個人的に直近で重要そうなリリースというと(リリースを見ているだけでも結構影響ありそうな修正が入ってますね…w)

b8641 fix: gemma 4 template (#21326)

これがないとGemma 4テンプレートをそのまま使うとエラーになるので必須。

b8660
 ggml-webgpu: move from parameter buffer pool to single buffer with offsets (#21278
おそらく関係ないとは思う物の、スピードアップするかも?みたいな淡い期待でw
 
で、これで再度ビルドしてたのですが、この記事を書いている間にも
b8661
llama: add custom newline split for Gemma 4 (#21406)
ドキュメントは見ていませんが、チャットで音信不通になったことがあったのですが、もしかするとこれが原因か?わかりませんがw 
 
b8662
llama-model: read final_logit_softcapping for Gemma 4 (#21390)
とか3時間前にリリースされている模様…。ソフトキャッピングっていう事でちょっと調べてみたところgemma2から導入された手法の様で、特定のキャッピングをソフト的に施して値が極端に上下に振れないようにするためのキャップ値だそうで…記事を見る限りその値が「固定値になっていたり使われてなかった」とかいった内容が書かれていました…言葉だとイメージしにくいですが、画像処理などでフィルタリングすると白飛びや黒抜けすることがあると思うんですが、データ上そういう風になるのでノイズとして残りやすいはずというのはイメージできるかと思います。量子化したモデルを使用する上では結構痛いバグだと思うのと、llama.cppでファインチューニングを行った場合は、致命的かも。再度同じことをする必要がありそうな予感がします。
 
まあとりあえずまた時間ができたらバックエンドのllama-cppはビルドしなおした方がよさそう&ビルド用に簡単にコピペビルドできるようにしておきたいな…
 
と言った感じでいままであまり気にしていませんでしたが、かなり頻繁にアップデートされ続けております…Qwen3.5の対応時にも活発に更新されていたようなので、この辺はまだまだ途上という事なんでしょうね。 
 
 

 

0 件のコメント:

コメントを投稿