为何有了RAG还需要微调
RAG技术实现了基于外部知识库的问答,还需要对大语言模型进行微调吗?
首先要理解RAG固有局限性,本质就是把自然语言变为向量,那就得知道变成向量的两种方式:稀疏表示 or 稠密表示。
典型的稀疏表示方式有:One-Hot:最简单的稀疏表示,仅标记词的存在与否;词袋模型将文本表示为词频向量,TF-IDF考虑词频和逆文档频率,衡量词在文档中的重要性。 BM25在TF-IDF的基础上,进一步考虑文档长度,适合更复杂的文本检索场景,这些都是属于算法,是一套计算文档或词汇的数学公式,通过特定的统计方法来表示文本信息。
典型的稠密表示模型有 Word2Vec、GloVe、BERT等会是模型,属于别人训练好的模型。我们平时说的选择embedding模型说的就是这个。这些模型通常由研究机构或公司在大量数据上预先训练好,你可以将这些预训练模型应用到自己的任务中,或者进行微调以适应特定任务。
稀疏向量和稠密向量的维度都是固定的,但固定方式截然不同。稀疏向量的维度由词汇表大小决定,通常高达数万甚至数十万维,因为每个维度对应一个具体词,适用于精确匹配关键词,如政策条款检索;而稠密向量的维度由你选择的预训练好的嵌入模型决定,一般为几百到几千维,通过压缩语义信息实现高效相似度计算,适用于模糊语义查询。简而言之,稀疏向量是离散的统计表示,依赖关键词匹配,适合精确检索;稠密向量是连续的语义表示,支持相似度计算,适合语义理解。从稀疏到稠密,从关键词到语义,本质是信息检索从“字面匹配”向“语义理解”的进化。
语义本身是由多个互不正交的维度构成的,而不是可以简单压缩成一个统一的欧氏向量空间。
几千维向量只是一个“单空间”里的表达。没错,即使是BERT 768维、LLaMA 4096维,这些都是在一个 连续向量空间中做的线性/非线性投影。这个空间(也就是词嵌入模型的空间)在训练时是被整体优化出来的,目的是在这个“统一的语义压缩场”中,让模型尽量学习所有语义维度的相互关系。 但本质上,它仍然是:
一个单独的、多维空间,用来承载所有语义内容的“折叠投影”。
你可以类比成:这就像把“二维的地图、高维的天气系统、交通状态、历史文化信息”全部强塞到一张投影图上。信息是有的,但相互遮蔽、干扰、压缩后,“形状”变了。这就叫语义信息的“维度折叠”和“耦合表达” 。
为什么要强调“不是多个空间”,而是“一个空间的复杂压缩”?
因为如果它真的是多个空间,它应该具备这样的特性:
- 每种语义维度可以独立建模(如情感空间 vs 实体空间);
- 可以针对特定任务选择进入哪个语义子空间;
- 不同空间之间应该可以显式建模相互映射关系(如文化隐喻 → 情感倾向);
而现实中——BERT/LLaMA等预训练模型里,这些维度是全部揉合在同一个嵌入空间里,彼此不是结构独立的,只能通过“训练时压缩”和“上下文注意力”来混合建模。
语言语义不是线性可压缩的结构,它是多维异构、语境敏感、文化背景渗透的。词嵌入模型即使用了几千维几万维,也不过是在单一空间中做压缩映射;所以“几百维→几万维”,其实是对这个单空间的精度增强,并没有脱离“一个统一坐标系”的限制。真正更符合语言本质的方式可能是:构建多子空间、多语义场,分而治之再融合,但代价极高。
什么才是真正“独立”的语义维度”?
维度 | 本质角色(核心功能) | 解决了什么问题? |
---|---|---|
情感维度 | 表达态度、好恶、立场 | 明确这是夸奖、批评、愤怒、欢喜 |
语用维度 | 表达策略、语言方式(如讽刺、暗示、劝诱) | 同一句话为何用不同方式说出,如何影响听者理解 |
意图维度 | 说话者的动机和预期效果 | 说这句话是为了鼓励、激将、暗示、对抗、调侃? |
文化维度 | 背后的习惯表达、隐喻模式 | “你厉害”在中文/英文/方言中的默认解读是不同的 |
对象身份维度 | 听者是谁,角色之间的社会语义关系 | “你厉害”对上级、同级、朋友、仇人,有不同的潜台词 |
比如: “你可真厉害” ,单从 情感维度上,是正向 or 负向? 看不出来。但如果你刚把机器搞坏,说话人板着脸说这句话,这是语用维度+意图维度在起作用,传达了“批评”这个真正的“情感”结果。所以“反话”表面上是情感反转,实则是语用策略 + 上下文意图的结合结果。
你之所以觉得没有那么维度啊,我没考虑那么多啊,我就能理解啊,那因为你是人。对于硅基生命的语言模型,理解最终这句话表达的意思其实挺难的,靠的是多个维度协同建模,所以我们需要思考这些语义是如何一步步组合出来的? 从表达机制出发:模型必须识别什么?(1)说的是“你今天真厉害”中的你今天干了什么事?(2)说话人的语气+动作+表情(3)说话的人是英国人还是中国人,英国习俗可能没有用这个来反讽的,翻译成great、就是单纯的褒义....balaba。所以, “多个语义维度”客观存在,只是我们人脑会自动结合超多维度瞬间融合,直接作为一个整块来理解。
正是由于向量检索存在信息丢失和单一空间局限性的固有弊端,RAG系统有时可能检索不到最相关的信息,或者检索到的信息片段不足以让LLM完全理解问题的上下文或细微之处。这时,微调的价值就体现出来了。将知识、模式、风格或能力内化到模型自身的参数中,使其掌握领域通用知识,比如更懂“行话”,推理模式,这样即使RAG未能检索到相关信息,模型也能凭借其内化的知识给出一个更合理、更专业的回答,并且因为本身就是尖子生,再带上小抄,自然比学渣带小抄更有效。一句话总结,SFT提供了即使在检索失败时也能给出合理答案的“底线”。