llama.cppプロジェクトはビルドb11001をリリースしました。これには、RISC-Vアーキテクチャでint16データを扱う`permute_transpose_impl`関数の重要な修正が含まれています。

  • 以前のバージョンでは、16ビット整数に対して誤って`rvv_transposed_s32_mn_to_nm`が呼び出されており、4x4行列で16位置中14箇所が間違えるという転置結果の破損を引き起こしていました。
  • この修正により、誤った呼び出しは既にflash attentionの他の箇所でも使用されていた正しい`rvv_transposed_s16_mn_to_nm`関数に置き換えられました。
  • macOS (Apple SiliconおよびIntel)、iOS、Linux (CPU、Vulkan、CUDA 12/13、ROCm 10.0、OpenVINO、SYCL)、Windows (CPU、OpenCL、CUDA 12/13、Vulkan、OpenVINO、SYCL、ROCm 10.0)、Android、openEuler向けのバイナリが提供されています。

このアップデートにより、RISC-Vハードウェアでのint16演算のデータ転置が正しく行われ、影響を受けるモデルにおける計算エラーを防ぎます。