DeepSeek普照的阳光下,继续RAG还是Distillation?
什么是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?的更多相关文章
- app电池续航上&&下--Android自动化测试学习历程
章节:自动化基础篇——电池续航自动化测试上&&下 主要讲解内容及笔记: 一.影响手机电量的因素和理论: 下面是一个表格:当今主流手机显示屏技术.机型与功耗对照表: 技术 类型 ...
- [转帖]cocos2d-x 3.0rc开发指南:Windows下Android环境搭建
原文请看:http://blog.csdn.net/linzhengqun/article/details/21663341 鲜红字体请注意:文中红色字体乃是本文博主阳光下的蒲公英添加.红色字体部分造 ...
- 《小白的CFD之旅》招募写手
<小白的CFD之旅>系列招募写手. 由于工作繁忙,<小白的CFD之旅>系列更新缓慢,现招募志愿者写手.这是一个分享平台,欢迎各位愿意分享自己CFD学习经历的朋友们. <小 ...
- (转)完全用GNU/Linux工作 by 王珢
完全用GNU/Linux工作 王珢 (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...
- OC-@property、self及类的本质
让代码书写更加简便 --1-- 设置器和访问器 1.1 setter 1.2 getter --2-- 类的本质 2.1 类类型的对象 2.2 类的本质 2.3 如何获取类对象 2.4 类对象的使用 ...
- Thymeleaf+Spring整合
前言 这个教程介绍了Thymeleaf与Spring框架的集成,特别是SpringMvc框架. 注意Thymeleaf支持同Spring框架的3.和4.版本的集成,但是这两个版本的支持是封装在thym ...
- B 最熟悉的陌生人 (纪念当年就读的梅州市江南高级中学)
最熟悉的陌生人 作者:张慧桥 枪与玫瑰 我看了一下聊天室的名单,哈哈哈,我不禁喜出望外:蝶恋花那丫头片子挂在线上呢,真是天助我也.初时的担心一扫而光,我精神抖擞地喝下一大口咖啡,猛抽了三口烟,现在的我 ...
- [综]隐马尔可夫模型Hidden Markov Model (HMM)
http://www.zhihu.com/question/20962240 Yang Eninala杜克大学 生物化学博士 线性代数 收录于 编辑推荐 •2216 人赞同 ×××××11月22日已更 ...
- Direct3D学习笔记 - 浅析HDR Lighting Sample
一.HDR简介 HDR(High Dynamic Range,高动态范围)是一种图像后处理技术,是一种表达超过了显示器所能表现的亮度范围的图像映射技术.高动态范围技术能够很好地再现现实生活中丰富的亮度 ...
- SQL Server 2012 数据库笔记
慕课网 首页 实战 路径 猿问 手记 Python 手记 \ SQL Server 2012 数据库笔记 SQL Server 2012 数据库笔记 2016-10-25 16:29:33 1 ...
随机推荐
- 使用 fiddler 进行抓包处理
1.概述 fiddler是一个抓包工具,有时候方便我们在访问网页上,看看网页的参数和返回结果.其中很重要的一条是,可以查看网页的响应速度,在对于调优方面提供一些依据. 2.软件安装 我们可以通过360 ...
- App中第三方登录和分享模块的实现
@ 目录 1 流程 2 设计与实现 3 优化 本文目的:" 实现一套易于使用.维护的第三方登录和分享模块" 我们开发App有时为了吸引用户,会引入三方的授权登录降低用户的注册和登录 ...
- Vue.js 插件
1.前言 vue的插件其实通过操作Vue这个对象,为其扩展新的功能.例如: // 1. 添加全局方法或 property Vue.myGlobalMethod = function () { // 逻 ...
- 前端必须知道的手机调试工具vConsole
在日常业务中我相信大家多多少少都有移动端的项目,移动端的项目需要真机调试的很多东西看不到调试起来也比较麻烦,今天给大家分享一个我认为比较好用的调试第三方库VConsole ,有了这个库咱们就在手机上看 ...
- OS之《内存管理》
程序装入方式 绝对装入:程序逻辑地址和物理地址是完全对应的.不现实 可重定位装入:装入的时候重新 计算内存地址.程序中的实际地址加上程序载入的起始地址:但是解决不了进程挂起 后重新唤醒的问题.唤醒的后 ...
- windows版 nvm 1.1.7 安装(填坑)
参考https://www.jianshu.com/p/cbf4f76ba0bb安装,注意事项: 1. 最好下载Setup安装版本,带安装界面,这样可以填写安装路径以及Nodejs路径,省去了改文件的 ...
- COS 数据工作流 + Serverless云函数自定义处理能力发布!
01 背景 在工业4.0的浪潮下,智能和数据与物理世界结合越加紧密,多元化.灵活.高效的数据处理能力成为各行各业的热点需求. 虽然COS已经预置电商.文创.教育.社交.安防等行业需要的基础数据处理 ...
- 小程序canvas白屏解决(
造成canvas白屏的原因(两个原因) 1. 使用网络图片经绘制,没有配置downloadfile域名 ctx.drawImage('https://img1.imgtn.bdimg.com/it/u ...
- showModalBottomSheet setState 无法更新ui和高度设置问题
showModalBottomSheet setState 无法更新ui问题 首先理解showModalBottomSheet,本质上可以理解为路由入栈,在show之后弹出的页面其实是另一个页面了,此 ...
- mysql将公司数据随机挂在部门身上
1.创建示例数据 CREATE TABLE department_table ( company_code VARCHAR(10) COMMENT '公司编码', company_name VARCH ...