CogVLM是一个大型多模态模型(LMM),你可以向其询问有关图像和文本的问题。例如,假设你打算识别机场停机坪上的行李,这是一个潜在的安全隐患。你可以定期拍摄停机坪特定区域的照片,然后询问 CogVLM“停机坪上有行李吗?”
在本指南中,我们将讨论什么是 CogVLM,并介绍 CogVLM 在行业中的一些用例。我们将讨论如何使用 CogVLM 来实施机场安全预防措施、监控有缺陷的箱子以及识别图像中的字符。
什么是 CogVLM?
CogVLM 是一个多模态模型,可以回答有关文本和图像的问题。与许多多模态模型不同,CogVLM 是开源的,可以在你自己的基础架构上运行。在我们的测试中,CogVLM 在一系列视觉任务中表现良好,从视觉问答到文档OCR。
推理可让你通过量化运行 CogVLM。量化会压缩模型,让你能够以更少的内存需求运行模型(尽管会略微牺牲准确性)。使用 4 位量化,你可以在 NVIDIA T4 GPU 上运行 CogVLM。在我们的测试中,使用此配置的请求大约需要 10 秒才能处理。
CogVLM 在行业中的用例
你可以在组织内部署一台或多台服务器来使用 CogVLM。
CogVLM 非常适合视觉问答,当你有一张图片并且想要询问有关该图片的问题时。
当你提出的问题很复杂时,CogVLM 特别有用,例如“传送带附近有工人吗?”或“停机坪上有行李吗?”在第一种情况下,你可以利用模型的能力来理解对象之间的关系。在后一种情况下,你可以利用模型的能力来推广到对象(行李)的不同变体,这对对象检测模型来说是一个挑战,因为需要自定义逻辑。
鉴于 CogVLM 等多模态模型的处理时间较慢,我们建议将该模型用于无法通过微调对象检测和分类模型轻松解决的用例。微调模型可以在你自己的硬件上以(接近)实时性能运行,具体取决于可用的计算资源。
让我们讨论一下 CogVLM 可以应用的几个用例。
执行安全预防措施
当机场工作人员将行李搬上飞机时,务必确保没有行李遗留在跑道上。这是一个安全隐患。传统上,你需要训练行李检测模型。由于行李的款式和颜色差异很大,以及拍摄角度或画面中物体的距离也各不相同,因此这需要时间。
你可以询问 CogVLM“停机坪上有行李吗”,以确定停机坪上是否有行李。你可以在构建适合你用例的精确、经过微调的模型时部署此类解决方案。
我们向 CogVLM 询问“机场停机坪上有行李吗?”,并显示以下图像:
该模型对此作出了回应:
是的,机场停机坪上散落着几件行李。
CogVLM 成功识别出停机坪上有行李,存在安全隐患。
监控产品缺陷
设想这样一个场景:你需要确保制造工厂的产品质量。损坏的包裹(例如凹陷)应该被标记。包裹凹陷的发生率较高可能表明包装或分销管道其他部分存在上游问题,需要解决。
你可以拍摄包裹的照片,然后询问 CogVLM“这个包裹有凹痕吗?”或“这个包裹有缺陷吗?”这样你就可以标记任何潜在问题。你还可以使用 CogVLM 的输出来收集元数据,以便更好地记录模型识别的问题。例如,如果模型识别出一个盒子上有凹痕,你可以根据模型返回的响应记录该盒子上有凹痕。
例如,我们询问 CogVLM“包裹有凹痕吗?”,并使用以下图像作为背景:
该模型回应道:
是的,包裹的侧面似乎有凹痕或折痕。
CogVLM 成功识别包裹已损坏。
话虽如此,随着时间的推移,训练你自己的微调物体检测模型可能是理想的选择。与 CogVLM 不同,此模型可以实时工作。你可以使用 CogVLM 收集有缺陷的包裹的数据,然后将其贴上标签,用于训练微调的物体检测模型。
光学字符识别
你还可以使用 CogVLM 进行光学字符识别 (OCR)。虽然传统的 OCR 模型可能能够提供帮助,但此类模型的性能取决于你的用例。如果你难以从传统 OCR 模型中检索准确的结果,我们建议你尝试使用 CogVLM。
例如,假设你需要读取汽车轮胎上的序列号。你可以使用 CogVLM 检索轮胎上的字符。为了获得最佳准确度,我们建议在不量化的情况下运行模型。
我们要求 CogVLM 读取以下轮胎上的序列号,并提示“读取序列号。”:
该模型返回了以下响应:
轮胎上的序列号是3702692432。
CogVLM 成功读取序列号。
结论
CogVLM 是一个多模式模型,可以回答有关图像和文本的问题。
在本指南中,我们介绍了 CogVLM 在工业中的三个应用:识别安全隐患、监控产品缺陷和 OCR。
CogVLM 可以部署在你的基础架构上,这与其他多模态模型(例如 OpenAI 的GPT-4 with Vision和Google 的 Gemini)不同。你可以运行 CogVLM 并进行量化,以使用具有较少 RAM 的模型。准确性存在权衡,但你应该评估这种权衡是否足够重要,以便在测试你的用例时使用更大的模型