当前位置: 首页 > news >正文

大模型三大缺陷与RAG破解之道

前言

在人工智能技术飞速发展的当下,大型语言模型虽展现出惊人的文本生成能力,却始终面临着三重致命枷锁:知识固化导致的时间盲区、概率驱动引发的事实偏差,以及上下文理解中的记忆衰减。这些缺陷如同达摩克利斯之剑,时刻制约着模型在专业领域的可靠应用。

当我们拆解医疗问诊场景中$P(y|x)$的生成过程时,会发现模型参数$\theta$的静态特性与动态知识需求之间存在着不可调和的矛盾。检索增强生成(RAG)技术通过建立动态知识图谱$\mathcal{G}$与神经语言模型$\mathcal{M}$的量子纠缠态,成功实现了$$I(X;Y) = H(X) - H(X|Y)$$的信息增益最优化,为破解大模型"幻觉困境"提供了全新范式。这场语言智能的进化,正在重构人机协作的认知边界。


目录

一、目前大模型存在的三大缺点

二、GAG的技术原理

(一)定义和优缺点

(二)GAG的计算流程:

三、RAG的原理

(一)构建知识库检索

(二)检索和答案生成

四、大模型微调流程

(一)基础知识

(二)GAG和微调的区别

五、实践应用指南

六、发展趋势

 


    一、目前大模型存在的三大缺点

    1. 偏见问题
      模型训练数据可能包含有害语料,导致生成内容存在潜在偏见
    2. 幻觉现象
      基于概率预测机制可能产生看似合理但不符合事实的内容
    3. 时效局限
      训练数据截止时间后的新信息无法被准确捕捉

    大模型的三大信息来源:用户输出、知识库、外部知识

    RAG(retrieval augmented generation)检增强索生成:引入外部知识源(特定领域)——检索——提取——生成文本

    NLU模块

    作用:让AI更聪明

    解决的问题

    • 长尾知识
    • 数据安全性(自己的RAG,但是从propmt到LLM还是有泄露风险)
    • 数据及时性,实时更新知识库
    • 来源和可解释性


    二、GAG的技术原理

    (一)定义和优缺点

    以下是将FAQ、KBQA和LLM QA的定义、优缺点及例子整理成表格的形式,方便对比和参考:

    项目

    FAQFrequently Asked Questions

    常见问题解答)

    KBQA(Knowledge-Based Question Answering

    基于知识库的问答)

    LLM QA(Large Language Model Question Answer

    基于大语言模型的问答)

    定义预先定义好的问题列表及其答案,用于快速解决用户常见问题。基于知识库中的结构化数据(实体、关系等),通过语义解析和信息检索回答用户问题。利用大型语言模型(如ChatGLM、GPT等)生成回答,结合检索到的上下文信息。
    优点实现简单,成本低;
    快速响应常见问题,合标准化问题处理
    - 答案来源可信度高
    支持复杂查询和多跳推理
    结构化数据支持精确回答
    - 强大的语言理解和生成能力
     灵活适应多种问题和场景
    缺点- 无法处理未预设问题
    灵活性差
    难以适应个性化问题
    - 知识库构建和维护成本高
    对复杂问题的语义解析和检索效率有待提升
    - 对计算资源要求高
    可能生成不准确或不相关内容
    需要优化上下文理解和生成逻辑
    例子-客服系统中快速回答产品价格、使用方法等常见问题。
    在线帮助中心提供常见问题解答。
    -美团利用商家详情页信息回答
    用户关于商品、商家、景区等问题。企业内部知识管理系统。
    - KQA-LLM系统通过调用ChatGLM生成回答。
    企业知识管理中帮助员工快速找到所需信息。

    (二)GAG的计算流程:

    1. 核心架构
      $$ \text{RAG} = \text{检索模块} + \text{生成模块} $$
      通过外部知识增强模型的信息处理能力

    2. 两个技术流程环节:

    (1)离线环节:白盒化过程(优先级更强)

    • 文档分割:设定$chunk_size=512$,采用重叠窗口($overlap=64$)保持语义连贯
    • 向量编码:使用BERT等模型将文本映射到高维空间$\mathbb{R}^{768}$
    • 数据库存储:采用FAISS等向量数据库实现高效相似度检索

    (2)在线推理环节:

    • 问题编码:$q_{emb} = \text{Encoder}(query)$
    • 相似度计算:$\text{sim}(q_{emb}, d_{emb}) = \cos(\theta)$
    • Top-K检索:获取最相关的$k$个文档片段
    • 生成合成:将检索结果包装为上下文输入LLM

    (3)技术优势

    • 解决长尾知识覆盖问题
    • 增强结果可解释性(通过溯源检索片段)
    • 支持动态知识更新机制

    三、RAG的原理

    输出各种文本数据(PDF、excel)——结构化

    split 段落——语句——词语

    embedding 词语——向量(eg. 中国——1983893)

    向量数据库:非关系数据库SDL

    将用户问题与向量数据库匹配——topN,相似度最高的段落

    结合成prompt

    LLM——结果

    (一)构建知识库检索

    定义:将大量非结构化的向量化(embedding)存储到向量数据库中

    过程:文档的载入(land 用户的信息)——文档的分割,输出若干段落和句子,限制拆分的长度chunk size、用 langchain框架overlap保护语义——深度学习模型向量化,语义相近的两句话向量相似度大,判断知识库句子可能为答案——向量的存储,把文本以向量形式存储。

    (二)检索和答案生成

    1.检索

    embedding模型

    相关性排序

    2.生成

    top k 和提示词包装为输入,大模型生成


      四、大模型微调流程

      (一)基础知识

      微调原理
      通过领域特定数据调整模型参数:
      $$ \theta_{new} = \theta_{base} + \Delta\theta_{fine-tune} $$
      采用LoRA技术时,参数更新矩阵满足:
      $$ \Delta W = BA^T,\ B \in \mathbb{R}^{d\times r},\ A \in \mathbb{R}^{r\times k} $$


      从底层逻辑优化——让基座大模型更加了解某一专业/行业

      模型遗忘——通用性功能的舍弃

      模型微调=小批量训练模型(eg.4090微调9000数据需要2小时)

      现在通常采用:LoRA低参微调

      (二)GAG和微调的区别

       

      五、实践应用指南

      1. 技术选型建议

        • 时效性要求高时优先选择RAG
        • 领域专业性强且数据充足时考虑微调
        • 混合方案:$Accuracy = \alpha \cdot \text{RAG} + \beta \cdot \text{Fine-tune}$
      2. 优化方向

        • 检索阶段:改进$chunk_strategy$提升片段质量
        • 编码阶段:测试不同$embedding_model$的性能表现
        • 生成阶段:设计prompt模板控制输出格式
      # 简易RAG实现框架示例
      from sentence_transformers import SentenceTransformer
      import faissclass RAGSystem:def __init__(self):self.encoder = SentenceTransformer('paraphrase-multilingual-MiniLM-L12-v2')self.index = faiss.IndexFlatL2(384)def build_index(self, documents):embeddings = self.encoder.encode(documents)self.index.add(embeddings)def query(self, question, top_k=3):q_emb = self.encoder.encode([question])_, indices = self.index.search(q_emb, top_k)return [documents[i] for i in indices[0]]
      

      六、发展趋势

      1. 多模态RAG:融合文本、图像等多维度检索
      2. 自适应chunking:动态调整分割策略
      3. 混合索引:结合传统BM25与向量检索优势
      4. 增量学习:实现知识库的持续演进更新

      注:所有数学表达式均需按规范格式呈现,代码示例保持语法正确性与可读性。实际部署时应考虑计算资源限制与业务场景需求,通过AB测试确定最优参数组合。


      相关文章:

    • 【leetcode】977. 有序数组的平方
    • ComfyUI 文生图,绘图要求中 正向提示词、负向提示词 有什么区别,webp又是什么格式 comfyui 那么喜欢它
    • 导出rpm包的方法
    • 【监控】Prometheus中的告警机制介绍
    • 与 PyCharm 官方沟通解决开发环境问题记录(进展:官方已推出2个新的修复版本)
    • 打造自己的开源组件:如何将 Starter 发布到 Maven Central?
    • 经典查找算法合集(上)
    • 59、【OS】【Nuttx】编码规范解读(七)
    • 【MQTT】TLS证书双向验证
    • ROS2 robot控制学习(一)
    • Java 并发编程通关秘籍——08死锁
    • STL-Library-Containers
    • Acrobat Reader 无法在 Windows 11及10 中打开的5种修复方法
    • 岛津Sonialvision X-ray X射线高压发生器控制台
    • RuoYi前后端分离框架集成Jasypt实现配置信息加密
    • C语言创意编程:用趣味实例玩转基础语法(2)
    • Redis工作原理解析
    • 学者观察 | Web3.0的技术革新与挑战——北京理工大学教授沈蒙
    • BERT和GPT语言模型的核心差异
    • How API Gateways handle raw TCP packets
    • 万网做网站多少钱/怎么制作微信小程序
    • 广西城乡建设厅网站/游戏推广员每天做什么
    • 南京网站开发哪家好/售卖链接
    • 呼和浩特装修网站/app定制开发
    • 哪个网站建设最好/网络推广推广培训
    • 网页设计css代码大全风景/seo按照搜索引擎的