开源llama.cpp Releases·原文 2026年10月24日

llama.cpp b11851调整LFM2视觉预处理,双线性/双三次缩放对齐torchvision

该版本将LFM2和d1-omni在mtmd中的bilinear与bicubic缩放映射到与torchvision一致的算法;其他模型仍沿用Pillow算法。提交说明称,原Pillow移植在约 1% 和 0.25% 的像素值上相差 1–2 个级别。

AI解读:llama.cpp发布b11851版本,唯一列出的变更是mtmd中LFM2系列视觉模型的图像缩放对齐torchvision(PR #30943)。

据提交说明,Lfm2VlImageProcessor与d1-omni的vision.py使用torchvision(antialias=True)缩放uint8图像;这与Pillow算法相同,但权重为int16,而Pillow使用 22 位。

提交称原Pillow移植在d1-omni与LFM2.5-VL裁剪图约 1% 的数值上相差 1–2 个级别;新增RESIZE_ALGO_BILINEAR_TORCH将Pillow移植的权重舍入到该精度再缩放回 22 位,对LFM2和d1-omni的 “bilinear” 映射到该算法。

双三次方面,LFM2的 “bicubic” 映射到RESIZE_ALGO_BICUBIC_TORCH,即采用a=-0.5 的Pillow双三次滤波(与torchvision antialias一致)并配torchvision的int16权重;提交称原实现在d1-3B裁剪图约 0.25% 的数值上相差 1–2 个级别。

其他模型保留原有Pillow算法。该版本同时提供macOS、Linux、Windows、Android等多平台预编译包,部分后端(如macOS的KleidiAI、openEuler)标注为DISABLED。

llama.cpp发布b11851版本,变更内容为mtmd中LFM2视觉模型的图像缩放与torchvision对齐(PR #30943)。提交说明由Xuan Son Nguyen共同署名。

按提交说明,这一改动只影响LFM2与d1-omni系列模型在mtmd中的bilinear和bicubic缩放路径,其他模型继续使用原有的Pillow算法。

缩放差异与修正方式

提交说明称,Lfm2VlImageProcessor和d1-omni的vision.py用torchvision(antialias=True)缩放uint8图像,算法与Pillow相同,但权重是int16,小数位数取决于最大权重,而Pillow使用 22 位。

据提交说明,原来的Pillow移植在d1-omni和LFM2.5-VL裁剪图约 1% 的数值上相差 1–2 个级别。新增的RESIZE_ALGO_BILINEAR_TORCH会把Pillow移植的权重舍入到上述精度,再缩放回 22 位,从而在相同处理遍数下得到torchvision的输出;LFM2和d1-omni的 “bilinear” 映射到它。

双三次与适用范围

提交说明还称,Lfm2VlImageProcessor对双三次检查点(d1-3B、LFM2-VL)也使用torchvision,因此LFM2的 “bicubic” 映射到RESIZE_ALGO_BICUBIC_TORCH:采用a=-0.5 的Pillow双三次滤波(与torchvision开启antialias时一致),并配torchvision的int16权重。提交称原Pillow移植在d1-3B裁剪图约 0.25% 的数值上相差 1–2 个级别。

提交说明明确,其他模型保留Pillow算法。同一PR还包含改用bitfield、增加hparams setter的调整。

发布物

b11851提供macOS Apple Silicon与Intel、iOS XCFramework、Ubuntu(CPU、Vulkan、CUDA 12/13、ROCm、OpenVINO、SYCL)、Android、Windows(CPU、CUDA、Vulkan、OpenVINO、SYCL、ROCm)等预编译包,并有Snapdragon与Linux arm64版本。

发布页中macOS Apple Silicon的KleidiAI版本与openEuler各构建标注为DISABLED,分别链接到PR #23780 和PR #23705。

信息来源

llama.cpp Releases原始来源

更多

新闻专题
外观