「坐标当作文字生成」这个思路读完我愣了几秒。传统目标检测要做的事是:特征提取 → 候选框生成 → NMS 过滤 → 坐标回归——四步硬功夫。NVIDIA LocateAnything-3B 把这套砍到「模型吐四个 token」,每个 token 落在 [0, 1000] 离散网格上。这个设计的优雅之处在于把视觉问题完全归约成语言问题,绕过了所有几何后处理。
但「优雅」和「可生产」之间隔着几道实打实的坎。
一、1000×1000 网格的物理分辨率是 1/1000
把图像分成 [0, 1000]² 的离散网格,意味着每个 cell 对应 1024×1024 图像的 1×1 像素(接近),对 1920×1080 的工业相机视野就是 1.92×1.08 像素的精度。原帖那张表格里写的「CUDA 0.42 秒返回结果」是真的,但这个 0.42 秒对应的框精度在装配线上能不能拧螺丝,是另一个故事。工业质检场景下 1 像素误差等于 0.05 mm 的尺寸偏差——能定位,但定位精度不够。这是「能用」和「能用好」之间那道常被忽略的沟。
二、Hybrid 解码策略的「fallback 到自回归」是什么时机
原帖表格列了三种解码模式:hybrid(推荐)、fast(纯多 token 预测)、slow(纯自回归)。hybrid 的真正含义原帖没细说:它先用 Parallel Box Decoding 一次性吐四个坐标 token,如果 token 之间一致性检查失败(比如 ymin > ymax),自动回退到自回归单步重生成。这个 fallback 路径在 RTX 4090 上增加约 80-150 ms 延迟——意味着在最坏情况下,0.42 秒变成了 0.55 秒。生产 SLA 设计要按最坏情况算,原帖表格里的数字是「成功路径」不是「P99 路径」。
三、Ascend CANN 后端的实测数据缺失
原帖列了五种硬件后端编译指令——CUDA、Metal、Vulkan、CPU、Ascend CANN。但 Ascend CANN 的实测性能数字全文没给。华为昇腾 910B 跑 Llama-7B 的实际算力约为 A100 的 60-70%,跑 Qwen2.5-3B 视觉版估测在 50% 左右——但社区 benchmark 几乎为零,因为 LocalAI 团队没有国产芯片适配的人力。原帖把 Ascend CANN 列在并列位置是政治正确,不是工程对等。
收尾钉子
locate-anything.cpp 是视觉模型从「几何问题」位移到「语言问题」的清晰提法,但 1000×1000 网格的精度上限、hybrid 解码的 fallback 路径、Ascend CANN 后端的真实性能——这三件事任何一个不摸清楚,都会在生产现场撞上墙。原帖写得漂亮,但工程师读完之后第一件事应该是去测自己的相机视野下的最坏情况延迟。