查看原文
其他

CLIP-as-service 0.8.0 版本发布:新增支持大型 ONNX 模型文件

CaS 工程师团队 Jina AI 2023-03-21

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 上的 Recall@5 上实现了 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.ai/user-guides/server/#model-support

[2] Benchmarkhttps://clip-as-service.jina.ai/user-guides/benchmark/


点击 Release Notes(阅读原文) 前往 GitHub 查看更详细的新功能说明以及代码示例!

快来体验!



更多精彩内容(点击图片阅读)

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存