Phractis

Strix Halo向けllama.cppフォーク検証記録:Vulkan vs ROCmと実測の注意点

目次
  1. きっかけ
  2. 学んだこと
  3. 自分なりの理解
  4. 実践へのつなげ方
  5. 次に試すこと

きっかけ

Strix Halo 向けに最適化されているというフォーク「strix-llama.cpp(Vulkan)」の README を読みました。そこには、MoE モデルのプロンプト処理が「+89%」になると書かれていました。そこで、既存の公式 llama.cpp より本当に速くなるのかを確かめてみることにしました。あわせて、ROCm 版である「lemonade(llamacpp-rocm)」の最新状況についても調べてみました。

学んだこと

自分なりの理解

ベンチマーク上の速度と、出力の正しさはまったくの別物として検証しなければならないと痛感しました。lemonade b1318 は速度のブレが小さかったため「安定している」としてしまっていましたが、実際には内部の計算が破綻していました。もしかすると、速く見えていたのは必要な同期処理を省いてしまっていたからかもしれません。

また、README に記載されている数値は、計測された環境(OS、ドライバー、比較対象)とセットで読まなければ、自分の環境で再現するとは限りません。「最適化版」や「最新版」という言葉だけで速くなると盲信せず、自分の環境で、同一条件の比較対象と並べて実測するまでは、すべて仮説として扱うべきだと学びました。

実践へのつなげ方

次に試すこと

WSL2 / Linux(RADV)環境での再検証 Windows では動かなかった strix-llama.cpp の最適化(+89%)が、本領を発揮する Linux 環境で本当に再現するのかを検討します。