Lecture 034 · 缓存节约什么,不能节约什么?
4 · 缓存节约什么,不能节约什么?
并入相关学习路径
同一CLIP缓存、exact/IVF搜索、延迟/扫描量、区域交互基线
4 · 缓存节约什么,不能节约什么?
下表是同一 任务的解析工作量,不是把未执行的全部逐对编码写成实测。每次“样本编码”指一个图片或一条文字通过对应编码器;批处理调用可以一次处理多个样本,二者不相等。
| 组织方式 | 图像样本编码 | 文字样本编码 | 相似度计算 | 可复用内容 |
|---|---|---|---|---|
| 每对都重编码 | 288 | 288 | 288 个512维点积 | 无 |
| 双编码器缓存 | 24(入库一次) | 12 | 288 个512维点积 | 图像向量可跨查询复用 |
| 新增一条查询 | 0 | 1 | exact为24个点积 | 原图像库不变 |
| IVF nprobe=1 | 入库同上 | 查询同上 | 每查询8个中心点积+平均4.17个图片点积 | 中心、倒排表、图片向量 |
图片矩阵为 字节;8个中心另占16,384字节,倒排 ID 另占192字节(保存基准使用的 int64)。这没有计入 Python 对象、图片文件和模型权重,不能直接称整个服务的内存。
2026-09-22 的全部实测编码还包括候选与关系扩展,共 36 个图像样本和24条文字,分别以9个图像批次和1个文字批次编码;另做两对逐对重编码核验(额外2图+2文),与缓存点积最大差8.94×10⁻⁸。将CLIP按配对重复调用,算的仍然是 ,并没有出现图文联合注意力。
这次36图编码含预处理共2.726秒、24文共0.205秒,是一趟本地CPU墙钟时间,不含模型加载/下载,不能当作稳定线上延迟。代码另行测量缓存搜索分布,已经在上表展示。更换模型、revision、预处理或图片内容会使旧缓存失效;只增加候选文字不会改变已有图片向量。