CLIP-as-service 是一种用于编码图像和文本的低提早、高可扩展性服务。它能够作为微服务轻松集成到神经搜寻解决方案中。
💡 CLIP-as-service 0.8.0 现已正式公布!
本次更新蕴含 3 个新增性能、1 个性能改良、1 个文档改良。
🆕 新性能
新增反对大型 ONNX 模型文件 (#828)
单个 ONNX 模型文件有 2GB 大小的限度,更大的 ONNX 模型将被拆分成许多的文件碎片保留。此版本反对导入蕴含大型 ONNX 模型碎片的文件夹压缩成的 zip 格式文件。咱们当初能够提供所有 CLIP 模型在 ONNX 运行时的服务。
新增反对在 laion-2b 上训练的 ViT-B-32、ViT-L-14、ViT-H-14 和 ViT-g-14 的模型 (#825)
用户当初能够应用在 Laion-2B 数据集上训练的 OpenCLIP 提供的四个新 CLIP 模型:
ViT-B-32::laion2b-s34b-b79k
ViT-L-14::laion2b-s32b-b82k
ViT-H-14::laion2b-s32b-b79k
ViT-g-14::laion2b-s12b-b42k
ViT-H-14 模型在 ImageNet 上实现了 78.0% 的零样本 top-1 准确率,在 MS COCO 上的 [email protected] 上实现了 73.4% 的零样本图像检索。这是目前体现最好的开源 CLIP 模型。要应用新模型,只需在 Flow YAML 中指定模型名称,例如 ViT-H-14::laion2b-s32b-b79k
请参阅模型反对 [1],以查看受反对模型的残缺列表。
clip_client 将后果保留在原输出对象,并按 uuid 放弃输入程序 (#815)
在此版本中,clip_client 将获取的 embedding 后果间接存储在输出的 DocumentArray 中,而不是返回一个新的 DocumentArray。与此同时,当初调用 Client.encode 返回的 DocumentArray 内条目标程序与输出的 DocumentArray 的程序雷同。
留神:如果您之前的代码依赖于 Client.encode 返回一个新 DocumentArray 实例,此处扭转可能会影响您的上游工作。您能够运行以下代码来验证原输出的 DocumentArray 是否蕴含 embeddings 并且保留了原始程序。
📗 文档改良
零样本分类和检索工作的 CLIP 基准测试 (#832)
咱们当初为零样本分类和检索工作的 CLIP 模型提供基准信息。此信息应有助于用户为其特定用例抉择最佳 CLIP 模型。无关更多详细信息,请浏览 CLIP-as-service 用户指南中的基准页面 [2]。
🚀 性能晋升
进行回传图像内容以升高提早 (#824)
调用 Client.encode 不再返回带有 embedding 的输出图像。因为 embedding 当初已插入到原始 DocumentArray 实例中,无需多此一举。因而,优化后当初的零碎更快、响应更快。性能晋升取决于图像大小和网络带宽。
援用链接
[1] 模型反对: https://clip-as-service.jina….
[2] Benchmark: https://clip-as-service.jina….