QB64 搜索技巧 核手提箱 文字记录 海洋云增白 开源地图 Bliss AI 搜索答案 深海沉船 自由职业 policy 小团队 颈挂空调 Chumby 个人电脑 极端主义 团队 世界 PostgreSQL AI工具 证券 DirectX 防溢 DrawingPics Zulip 儿童读物 化学 连续滚动 代码审查 三菱电机 更多

ggml:通过 jart 重写 CPU 的 silu 和 softmax (github.com)

该文章讨论了在llama.cpp项目中,jart 提交了一个拉取请求,重写了 CPU 的 silu 和 softmax 函数。重写的函数使用了llamafile的矢量化expf()函数,相比之前的短[65536]查找表,可以更准确地计算 softmax 和 silu。新函数支持 aarch64 和 sse2+,最坏情况下的舍入误差为 2 ulp。作者还编写了 avx2 和 avx512 实现,但与 sse2+fma 相比,它们没有提供太多优势,代码复杂性也不值得。在 AMD Ryzen 9 5950X 和 M2 Ultra 上,SOFT_MAX 比主分支快约 1.5 倍,包含 AVX2 后优势增加到 1.9 倍,znver4 上包含 avx512 后优势高达 2.1 倍。