什么是RAG

RAG概述

RAG,全称为Retrieval-Augmented Generation(检索增强生成),是一种结合了信息检索和文本生成的人工智能技术。简单来说,RAG通过从大量文档或数据库中查找相关信息,并基于这些信息来生成更准确、更有针对性的回答或内容。

为什么需要RAG?

在传统的文本生成模型中,比如一些大型语言模型,它们虽然能够生成流畅的文本,但有时候会因为训练数据有限或者记忆能力不足而产生错误的信息。而RAG通过引入外部知识源(如互联网上的文章、书籍等)作为补充资料,在生成答案之前先进行相关资料的检索,从而提高了输出内容的质量与准确性。就像作为人类的我们,解答一个问题的时候,是仅通过大脑的知识来解答,还是通过翻阅外部资料结合我们大脑储备的知识来解答,往往是后者可以提高我们解答的质量和准确性。

RAG的工作流程

1.输入问题:用户向系统提出一个问题。

2.检索阶段:系统根据问题去搜索其内部或外部的知识库,找到与问题最相关的几个文档片段。

3.融合生成:将检索到的相关文档与原始问题一起送入一个强大的文本生成模型中,该模型利用这些上下文信息来推理生成最终的答案。

4.输出结果:返回给用户一个经过优化处理后的答案。

RAG的优势与局限

核心优势:

  • 动态知识整合:知识库更新后即时生效(如当天新增政策次日可用)。

  • 可解释性增强:答案可标注出处(如显示引用《XX省xx规划》第X条)。

  • 冷启动友好:仅需结构化知识库即可实现80%基础场景覆盖。

关键局限:

  • 检索瓶颈:多跳推理场景(如"某企业是否符合疫情后纾困政策")准确率可能低于60%。

  • 延迟问题:复杂查询时多轮检索可能导致响应超2秒(某些场景可能要求<1.5秒)。

  • 知识孤岛:无统一标准格式的非结构化数据(如长篇的手写会议纪要)处理能力有限。


什么是Distillation


Distillation概述

Distillation(模型蒸馏)是一种模型压缩技术,旨在将复杂大模型(或多个模型的集成)的知识转移到一个更小、更简单的模型中。后者通常被称为学生模型,而前者被称为教师模型。Hinton在2014年的NIPS会议上提出了知识蒸馏的概念,其主要优势在于降低部署成本。

为什么这个过程被称为“蒸馏”而不是“知识转移”呢?因为在使用大模型时,可以调整一个名为Temperature(温度)的参数。该参数越大,模型每次的输出的差异性就越大,更容易产生新颖的结果。在知识蒸馏的训练过程中,通过增加温度参数,使教师模型在各个类别上的输出概率值变得平缓,从而迫使学生模型仔细辨别这些类别间的细微差异,进而更好地学习。因此,可以说这一过程是通过升温来提取精华,传授知识,类似于化学中的蒸馏过程,故得名“蒸馏”。如果感兴趣,可以拜读一下深度学习教父——杰弗里·埃弗里斯特·辛顿(Geoffrey Everest Hinton)在2015年发表的这篇论文《Distilling the Knowledge in a Neural Network》,地址:https://arxiv.org/pdf/1503.02531,下面是论文中关于蒸馏的说明:

翻译过来就是:

我们更通用的解决方案称为“蒸馏”,其方法是提高最终softmax的温度,直到复杂模型产生一组平缓的目标概率分布。随后,在训练小模型时,我们也使用这个较高的温度,以便让小模型能够匹配这些平缓的目标。

Distillation的优势与局限

核心优势:

●效率与成本:

蒸馏后的小模型推理速度提升3-10倍,硬件成本降低80%以上(如从2块 RTX A6000降级为1块RTX 3090部署)。

●领域适配性:通过政府专有数据(如历年政策文件、地方规章)微调,特定任务准确率可提升15-30%。

●隐私可控性:完全本地化部署,避免第三方API数据泄露风险。

关键局限:

●数据依赖:需数万~数十万条高质量标注数据(如标注政策条款关联性)。

●维护成本:法规更新后需重新蒸馏,年均成本可能较高。

●泛化能力:过度适配历史数据可能导致新政策响应滞后。

Distillation模型的刚需场景

以下3条全部满足,则你或许应该考虑Distillation,而不是单纯在RAG上进行投入。

1.(数据敏感性较高 or 与互联网隔离)

2.(不能承受14B及以上开源大模型需要的硬件成本or数据非常特殊,开源大模型本身学习的较少)

3.(对响应有低延迟要求 or 多跳推理场景占比大)

注:所谓多跳推理场景是指需要推理多层,借助跨领域知识才能准确回复的场景。例如,判断一个企业是否符合疫情纾困政策,需要:

1.理解企业的经营状况

2.了解相关政策的具体要求

3.分析企业各项指标与政策条件的匹配度

4.考虑政策实施的时间节点

5.评估其他可能影响资格的因素

在这种场景下,虽然RAG可以提供相关信息支持,但由于需要多层次的推理和判断,单纯依赖检索可能难以给出准确的结论。相比之下,经过专门训练的知识蒸馏模型可能会表现得更好,因为它可以在训练过程中学习到这种复杂的推理模式。

总结一下,RAG大部分场景是需要的,Distillation技术建议了解和实操一下,至于要不要投入更多,则取决你面对的刚需场景。

本篇就这么多内容啦,感谢阅读

你的推荐转发是我持续的创作动力!O(∩_∩)O~

DeepSeek普照的阳光下,继续RAG还是Distillation?的更多相关文章

  1. app电池续航上&&下--Android自动化测试学习历程

    章节:自动化基础篇——电池续航自动化测试上&&下 主要讲解内容及笔记: 一.影响手机电量的因素和理论: 下面是一个表格:当今主流手机显示屏技术.机型与功耗对照表:   技术  类型   ...

  2. [转帖]cocos2d-x 3.0rc开发指南:Windows下Android环境搭建

    原文请看:http://blog.csdn.net/linzhengqun/article/details/21663341 鲜红字体请注意:文中红色字体乃是本文博主阳光下的蒲公英添加.红色字体部分造 ...

  3. 《小白的CFD之旅》招募写手

    <小白的CFD之旅>系列招募写手. 由于工作繁忙,<小白的CFD之旅>系列更新缓慢,现招募志愿者写手.这是一个分享平台,欢迎各位愿意分享自己CFD学习经历的朋友们. <小 ...

  4. (转)完全用GNU/Linux工作 by 王珢

    完全用GNU/Linux工作 王珢      (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...

  5. OC-@property、self及类的本质

    让代码书写更加简便 --1-- 设置器和访问器 1.1 setter 1.2 getter --2-- 类的本质 2.1 类类型的对象 2.2 类的本质 2.3 如何获取类对象 2.4 类对象的使用 ...

  6. Thymeleaf+Spring整合

    前言 这个教程介绍了Thymeleaf与Spring框架的集成,特别是SpringMvc框架. 注意Thymeleaf支持同Spring框架的3.和4.版本的集成,但是这两个版本的支持是封装在thym ...

  7. B 最熟悉的陌生人 (纪念当年就读的梅州市江南高级中学)

    最熟悉的陌生人 作者:张慧桥 枪与玫瑰 我看了一下聊天室的名单,哈哈哈,我不禁喜出望外:蝶恋花那丫头片子挂在线上呢,真是天助我也.初时的担心一扫而光,我精神抖擞地喝下一大口咖啡,猛抽了三口烟,现在的我 ...

  8. [综]隐马尔可夫模型Hidden Markov Model (HMM)

    http://www.zhihu.com/question/20962240 Yang Eninala杜克大学 生物化学博士 线性代数 收录于 编辑推荐 •2216 人赞同 ×××××11月22日已更 ...

  9. Direct3D学习笔记 - 浅析HDR Lighting Sample

    一.HDR简介 HDR(High Dynamic Range,高动态范围)是一种图像后处理技术,是一种表达超过了显示器所能表现的亮度范围的图像映射技术.高动态范围技术能够很好地再现现实生活中丰富的亮度 ...

  10. SQL Server 2012 数据库笔记

    慕课网 首页 实战 路径 猿问 手记     Python 手记 \ SQL Server 2012 数据库笔记 SQL Server 2012 数据库笔记 2016-10-25 16:29:33 1 ...

随机推荐

  1. HZNU Winter Trainning 7 补题 - Zeoy

    CodeForces - 1660C 题目传送门:https://vjudge.net/contest/535955#problem/C 题意:询问一个字符串最少删去几个字符,能够把这个字符串变成aa ...

  2. 开源 - Ideal库 - Excel帮助类,TableHelper实现(三)

    书接上回,我们今天继续讲解实现对象集合与DataTable的相互转换. 01.把表格转换为对象集合 该方法是将表格的列名称作为类的属性名,将表格的行数据转为类的对象.从而实现表格转换为对象集合.同时我 ...

  3. 【项目学习】Pendle 项目的简单调研

    项目介绍 将 1 ETH 质押成 1 stETH,年利率为 5%,那么到期后 1 stETH 就能收回 1 ETH(本金)+ 0.05 ETH(收益).而 Pendle 所做的就是把 1 stETH ...

  4. http请求超时, 底层发生了什么?

    业务方反应调用接口超时,但是在服务端监控并没有看到5xx异常, 于是我们模拟一下请求超时时发生了什么? 1.openresty模拟长耗时服务端 延迟5s响应 error_log logs/error. ...

  5. 原创单总线传输协议b2s (附全部verilog源码)

    一.b2s协议背景介绍 本单总线传输协议为精橙FPGA团队原创,含传送端(transmitter)和接收端(receiver)两部分,基于verilog语言,仅使用单个I/O口进行多位数据的传输,传输 ...

  6. 腾讯云对象存储联合DataBend云数仓打通数据湖和数据仓库

    随着数字化进程不断深入,数据呈大规模.多样性的爆发式增长.为满足更多样.更复杂的业务数据处理分析的诉求,湖仓一体应运而生.在Gartner发布的<Hype Cycle for Data Mana ...

  7. go编译可以指定os和arch

    是的,Go 编译器支持通过环境变量来指定目标操作系统(OS)和架构(Arch).这允许你为不同的平台交叉编译 Go 程序.你可以使用 GOOS 和 GOARCH 环境变量来指定目标系统. 例如,如果你 ...

  8. kubectl cp

    简介 将文件.目录复制到容器:或从容器复制文件.目录. kubectl cp <file-spec-src> <file-spec-dest> 示例 # !!!重要提示!!! ...

  9. arch 输入法

    输入法配置 输入法采用fcitx + Sogou的组合,安装需要的包: yay -S fcitx fcitx-im fcitx-configtool fcitx-sogoupinyin 然后写一个fc ...

  10. unsupported message type: DefaultFullHttpResponse (expected: ByteBuf, FileRegion) 原因以及解决办法

    使用netty做http服务器的时候 用android链接 会出现这个错误 原因是http-aggregator顺序有问题 (ps:目前大部分国内博客都是这个排序有点坑爹): 官方文档说明:For c ...