在这篇文章中,我将带你深入探讨视觉语言模型(VLMs),并解释为什么我认为它们代表了复合人工智能系统的未来发展方向。
首先,我们会从基础概念入手,了解开发用于图像搜索的多模态神经网络的基本原理和训练流程。同时,我会分享这些模型背后的设计原则、技术挑战,以及架构如何实现多模态协同。
最后,我还会展示我们如何利用一个 AI 驱动的搜索产品高效处理图像和文本数据,并探讨引入 VLM 之后所带来的突破性变化。
什么是 VLMs?
近年来,拥有数十亿甚至数百亿参数的大型语言模型(LLMs)早已屡见不鲜。它们广泛应用于各个领域,但研究重心正在向多模态模型(又称“全能模型”)转移。这些模型能够同时理解和处理不同类型的数据,例如文本和图像,为下一代人工智能的能力拓展了更多可能性。
接下来,让我们一步步揭开 VLMs 的神秘面纱吧!
今天的语言驱动型机器学习模型已经相对先进且通用。一个模型可以翻译、总结、识别语音标签等。
我们将讨论分析和解释图像所描绘内容的图像判别模型。在深入了解技术细节之前,考虑这些模型可以解决的问题。以下是一些示例:
- 顶部左图:通过文本提示,要求模型描述图像内容。
- 顶部中间图像:要求模型对图像进行解释。
- 右上角图像:要求模型解读图像并预测遵循标志指示可能发生的情况。
- 底部图像:这是最复杂的示例,给模型提供了一些数学问题。通过这些例子,可以看出模型任务的范围非常广泛且多样化。
VLMs 是计算机视觉领域的新前沿,能够在零样本和单样本模式下解决各种基本 CV 相关任务(分类、检测、描述)。
LLM 是一种文本模型(在我们的案例中是 YandexGPT),它无法理解图像。图像编码器是一个处理图像的模型(如 CNN 或视觉 Transformer),但它无法理解文本。适配器则作为两者之间的调解者,确保 LLM 和图像编码器能够协作。
整个管道流程相当直接:将图像输入到图像编码器中,通过适配器将图像编码器的输出转换为某种表示形式,并将这种表示集成到 LLM 中。在图像处理的同时,将文本指令转换为标记序列并输入到 LLM 中进行进一步处理。
我们取图像编码器的输出(一个向量、一系列向量或一个张量——取决于架构)并将其转换为一系列向量(标记),然后将其输入到LLM。你可以使用一个简单的 MLP 模型(带有几层)并将其用作适配器,结果可能会相当不错。
首先,请注意,VLMs 并非从头开始训练(尽管我们认为这只是时间问题),而是基于预训练的LLMs和图像编码器构建的。使用这些预训练模型,我们在多模态文本和图像数据上微调我们的 VLM。
为了更快更方便地更新管道,我们引入一个独立的 VLM 块要容易得多。
为了重申上述观点,我们坚信 VLMs 是计算机视觉模型的未来。
VLMs 已经能够解决许多即插即用的难题。稍加微调,它们绝对能够提供最先进的质量。
参考:https://towardsdatascience.com/an-introduction-to-vlms-the-future-of-computer-vision-models-5f5aeaafb282