驯服大模型--大模型RAG调优总结

2024-08-23 16:20
文章标签 总结 模型 调优 rag 驯服

本文主要是介绍驯服大模型--大模型RAG调优总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随着ChatGPT的兴起,大语言模型再次走进人们的视野,其在NLP领域表现出的语言识别、理解以及推理能力令人惊叹。越来越多的行业开始探索大语言模型的应用,比如航空、医疗等行业,针对特定领域设计的大模型往往对大模型的回答严谨程度有更高的要求,要求大模型“言之有据“是在解决细分问题是最基本的要求。

![](https://img-blog.csdnimg.cn/img_convert/011312c136ad0071eac05b2029d5617f.pn

在这样的普遍需求之下,本文将介绍针对大模型回复质量的调优方法,主要将以RAG与超参数设置作为主要切入点,介绍RAG技术基本架构与常见的实现流程,以及影响大模型回复质量的超参数解析。

大语言模型的不足及RAG优化

为了应对大语言模型的不足,通过采用半参数化方法,即RAG(Retrieval-Augmented Generation),结合非参数化的语料库数据库与参数化模型,以解决纯参数化模型的局限性。

大语言模型的不足

• 知识局限性:依赖于训练数据集的广度,难以学习内部数据和专业领域知识;

• 知识滞后性:无法学习模型训练后产生的新知识,且训练成本高,难以频繁更新;

• 幻觉问题:模型可能在不具备相关知识的场景下产生错误输出,且难以区分;

• 数据安全性:企业担心数据泄露,不愿将私域数据用于第三方平台训练,导致应用方案在数据安全和效果上需做出取舍。

RAG优化方向

RAG从数据建立到使用过程,可分为三个阶段,优化过程可从这三个阶段进行:

RAG 检索前:

RAG 检索前对知识的正确向量化对后续知识的检索非常重要:

图片来源:

《中国民航订座系统航班控制管理手册》

1、清理数据

  • 清理质量较差的数据

  • 保留质量的高的数据

  • 补充缺失的定义

2、合理切分

  • 合理分段,不采用按字数切分的方式,确保内容不被分割成多段

  • 采用 AI 辅助,对分段内容进行总结,去除无关内容

3、QA 对多样性,对一些问题需要提升QA对的多样性,确保在知识检索时可适应用户提问的多样性

4、选择与业务切合的 Embedding 模型及向量数据库

5、知识召回测试

RAG检索中:

RAG 检索中可以对知识的策略进一步调整,让结果更加准确:

  • Top N,选取检索结果排列的条数,条数过少可能导致知识没有命中,条数过多则容易导致误导 AI;

  • 适当加入上下文信息,让检索结果更符合预期;

  • 多路召回,多种方式检索结果,但向量召回的方式比重是最大的;

  • 结果重排 Rerank,检索结果重排在某些场景下可以提升检索的正确率;

通过 Reranker 增强 RAG:

图片来源:zilliz官网

RAG检索后:

RAG 检索后可以对结果进行过滤和补充:

  • 二次重排,采用AI对结果与上下文的相关性进行打分重排;

  • 过滤与筛选,去除重复内容,过滤无关内容;

  • 知识补充,对检索的结果进行补充,如补充前后段落内容;

  • 知识融合,对检索结果的实体统一做解释说明;

  • 反馈机制,记录问题、检索结果及回答,补充及优化 RAG 知识,为知识检索提供多样性数据;

RAG调优检索技术

RAG调优检索技术目前都有较为可行的技术体系,本图展示的是《RAG通用范式的工程实践》中的技术系统,实际应用过程可参考进行裁剪和补充。

恒赢智航会持续推出“驯服大模型”系列文章,旨在分享 AI 在航空领域的应用经验。恒赢智航秉持不断求索、拥抱未来、开源共享的理念,致力于引领该领域的 AI 发展,也会在后续系列文章中分享开源专业领域的相关框架、技术、数据与行业模型,并发布专属于航空领域的AI产品。

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

学习路线

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

这篇关于驯服大模型--大模型RAG调优总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1099887

相关文章

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;