让文本、图片、表格都能被「算」进同一个空间
这一篇讲两类模型:多模态模型(能读懂图、表)和嵌入模型(把文本变成可计算的向量)。 学完你会知道什么时候该用现成模型、怎么为多语言或长文本调整策略。
https://www.palantir.com/docs/foundry/ontology/aip-multimodal-and-embedding-models/
原始标题:Process multimodal and embedding models
一句话速览
让文本、图片、表格都能被「算」进同一个空间:这一篇讲两类模型:多模态模型(能读懂图、表)和嵌入模型(把文本变成可计算的向量)。学完你会知道什么时候该用现成模型、怎么为多语言或长文本调整策略。
这一篇在讲什么?
两类模型:多模态模型读懂图/表,嵌入模型把文本变成向量。
做语义搜索或检索增强生成(RAG),光有「文本进、文本出」的大语言模型(LLM)往往不够。 原文这页标题就叫 Process multimodal and embedding models(处理多模态与嵌入模型), 它把模型分成两条线来讲:
这一篇偏「选型与原理」,具体的搭建步骤会在本系列后面的语义搜索、本体增强生成两篇里展开。
多模态模型:让 LLM 看懂图与表
文本进文本出的 LLM,对图表往往束手无策。
原文开篇就点明了一个朴素的现实:
也就是说,当你要回答「这张表格里哪个值超标了」「这张图说明了什么」,纯文本 LLM 读不进去。 原文提到几种能处理图像输入的选项:
| 模型 / 方案 | 特点 |
|---|---|
| GPT-4o / GPT-4o mini | 都能接受图像输入,是官方闭源里能直接读图的现成选择。 |
| Pix2Struct | 开源模型;原文在德语表格的质量检查(QA)上初测表现不错,可在 Hugging Face 试用。 |
| Microsoft UDOP | 开源的「通用文档处理」模型,但未上架 Hugging Face。 |
嵌入模型:把文本变成向量
含义相近的文本,在 N 维空间里离得近。
嵌入模型(embedding model)的输出是一串数字——也就是向量(vector)。 如果模型够好,在 N 维空间里彼此靠近的向量,就代表含义相近的文本;检索本质就是「找最近的向量」。
原文特别提到,如果你的语料是英文,可以试试 MSMARCO 系列模型(来自 sentence-transformers)。 MS MARCO 是一批基于真实 Bing 搜索查询构建的大规模信息检索数据集,而这些模型:
这一点很关键:它意味着 MSMARCO 这类模型天生适合「从用户查询出发」的语义搜索—— 你给一个关键词、一句话或一个问题,它就能找出相关的段落。
等长 vs 非对称:Ada 与查询 / 片段
从「查询」出发、还是从「已有片段」出发,选模型的逻辑不同。
原文把嵌入模型分成两类使用场景,这直接影响你该选哪种模型:
反过来讲,OpenAI Ada 更适合「从已有片段出发,找相似的片段」—— 比如你手里已经有一个 chunk,想找和它语义相近的其他 chunk。
还有一个实操坑:原文提醒,大多数非 Ada 的嵌入模型只支持 512 个 token,所以你的分块(chunking)策略必须相应调整——块不能太长。
动手演示:不同模态进入同一嵌入空间
点一个模态,看它被编码后落在共享嵌入空间的哪个位置。
下面这个空间(横竖只是示意)里,三种不同模态的「内容」最终都被表示成同一个空间里的点。 点按钮看看每种模态靠什么模型被编码、又落在哪里——这正是「多模态 + 嵌入」能一起工作的原因。
说明:点的位置是教学示意(真实坐标由模型算出)。重点在于——无论文本、图片还是表格,最终都被映射进「同一个可比空间」,检索时才能量化「谁离谁更近」。
选型与踩坑:照着原文的建议来
语言、模型可得性、token 限制,都是选型变量。
原文最后给了几条非常落地的建议,我们整理成「照着做」的清单:
- 英文语料:优先试 MSMARCO 系列(sentence-transformers),专为查询-段落靠近而训。
- 从查询出发搜:用非对称嵌入模型,或先让 LLM 生成「假设片段」(HyDE)再嵌入,弥合查询与答案的不对称。
- 从已有片段出发找相似:Ada 更合适。
- 非 Ada 模型多限制 512 token:务必把分块切小,配合文档处理那一篇的 chunking 策略。
- 德语等小语种:原文提到,目前 GPT 是少数表现还行的 LLM,德语语料可尝试 ada。
一页带走
延伸阅读 · 相关页面
按主题横向跳转,不必顺着目录一篇篇读。
常见问题速答 · FAQ
关于「让文本、图片、表格都能被「算」进同一个空间」,读者最常问的几个问题。