预发布 / 持续构建:这是实验性构建,不是稳定版本。
tests: 为随机模型生成器提供按张量的填充表 (#30674) * tests: 为随机模型生成器提供按张量的填充表 Muse Spark 导致 test-llama-context 在大约百分之六的随机种子上于 state_load、cp_h 和 cp_d 处失败,其 NMSE 为 1.0e-05 到 1.4e-05,而阈值为 1.0e-05。暴露问题的 正是滑动窗口:恢复的状态只保留窗口本身,因此 SWA 层的注意力会在不同的单元布局 上进行归约,续算结果不是逐位精确的。每个 SWA 模型都带有这一点,量级为 1e-08。 Muse Spark 则达到 1e-05。 正是生成器把 1e-08 变成了 1e-05。保范残差门满足 alpha^2 + beta^2 == 1,转换从 一个原始权重解析出两个权重,而生成器却是独立抽取每个张量。于是这对权重独立地 缩放了流和分支,流在每一层都丢失了一个任意因子,模型变成了放大器。测试所运行 的权重并不是一个真正的 Muse Spark。 按张量的规则曾位于写入路径之内,由一个标志在存储这些值的两个分支中的每一个里 选取张量的值,因此一条新规则意味着一个新标志贯穿两者。文件在自己的一个 TODO 中 要求摆脱这一点。给每条规则一个填充器,从一个以张量名子串为键的表中选取一个, 并在其后保留单一的写入路径。Mamba 移入该表,Muse Spark 也随之加入:门填充器 每块只抽取一次原始权重,并以与转换相同的方式解析 alpha 和 beta。 在 CPU 构建上超过一千个种子的测试中,最坏情况从 1.36e-05 降到 2.48e-06, 中位数从 4.10e-06 降到 5.48e-07,没有任何种子超过阈值。其余 131 个模型逐位 完全一致,因为没有其他架构携带这些张量。ctest 在 CPU 构建和 CUDA 构建上均为 绿色(通过)。 * tests: 从 fill_normal 抽取每个张量填充器 填充器每次都重复了生成器和分布。现在正态抽取 接受其键,其他填充器则变换其 值,这样生成器只存在于一处。生成的模型逐位完全一致。网站: - https://llama.app
证明(Attestations): - https://github.com/ggml-org/llama.cpp/attestations/56958015
macOS/iOS: - macOS Apple Silicon (arm64) - macOS Apple Silicon (arm64,启用 KleidiAI) 已禁用 - macOS Intel (x64) - iOS XCFramework
Linux: - Ubuntu x64 (CPU) - Ubuntu arm64 (CPU) - Ubuntu s390x (CPU) - Ubuntu x64 (Vulkan) - Ubuntu arm64 (Vulkan) - Ubuntu x64 (CUDA 12) - CUDA 12.8 库 - Ubuntu x64 (CUDA 13) - CUDA 13.4 库 - Ubuntu arm64 (CUDA 13) - CUDA 13.4 库 - Ubuntu x64 (ROCm 10.0) - Ubuntu x64 (OpenVINO) - Ubuntu x64 (SYCL FP32) - Ubuntu x64 (SYCL FP16) - Linux arm64 (Snapdragon:CPU、Adreno GPU、Hexagon NPU) - 安装指南
Android: - Android arm64 (CPU) - Android arm64 (Snapdragon:CPU、Adreno GPU、Hexagon NPU) - 安装指南
视窗(Windows): - Windows x64 版本(CPU) - Windows arm64 版本(CPU) - Windows arm64 版本(OpenCL Adreno) - Windows x64 版本(CUDA 12) - CUDA 12.4 动态链接库(DLLs) - Windows x64 版本(CUDA 13) - CUDA 13.4 动态链接库(DLLs) - Windows arm64 版本(CUDA 13) - CUDA 13.4 动态链接库(DLLs) - Windows x64 版本(Vulkan) - Windows arm64 版本(Vulkan) - Windows x64 版本(OpenVINO) - Windows x64 版本(SYCL) - Windows x64 版本(ROCm 10.0)
openEuler: - DISABLED - openEuler x86 架构(310p) - openEuler x86 架构(910b,ACL Graph) - openEuler aarch64 架构(310p) - openEuler aarch64 架构(910b,ACL Graph)
UI: - UI