LLM大模型一些碎片知识

预训练和微调

在这里插入图片描述

  1. 预训练阶段:使用公开数据经过预训练过程得到预训练模型,预训练模型具备语言的初步理解;训练周期比较长;
  2. 微调阶段1:SFT(指令微调/有监督微调)。如果想要预训练模型在某个垂直领域(金融、法律、电商等)有更好的知识储备,就需要使用人工标注的QA问答对进行有监督的微调训练,从而得到精调模型;训练周期较短;
  3. 微调阶段2:对齐。精调模型的输出并不是全部都令人满意的,我们还需要让模型知道回复的接受度。可以在运行日志中收集对齐数据,包含【问题,接受的回复,不接受的回复】,再进行对齐训练,得到最后可使用的模型;

大模型性能优化推荐

  1. 算法层面:利用模型量化、知识蒸馏、模型剪枝等技术,减小模型的大小和计算的复杂度;
  2. 软件层面
    <1>: 计算图优化:数据并行(让同一个模型的不同实例在不同设备上并行处理不同的数据);模型并行(让不同部分的模型在不同设备上并行处理);
    <2>:模型编译优化:使用ONNX支持的框架(PyTorch/TF/Keras)训练好模型后,将其导出为ONNX格式,再使用ONNX Runtime或TensorRT进行优化,从而提高模型在GPU上的执行效率;
  3. 硬件层面:英伟达H系列后就支持FP8(float point 8-bit)精度训练,相较于float32和float16,FP8进一步减少了数据存储空间和计算量,而且FP8兼顾FP16的稳定性 + int8的速度;

大模型开发的6个核心技术

  1. LLM大模型:一个无所不知的智者;
  2. Prompt提示词工程:交流的指令,越清晰越好;
  3. function call函数调用外部API工具:外部力量,比如抽水我们知道找抽水泵,出门看天气知道查询天气预报;
  4. RAG检索增强:开卷考试;
  5. Agent智能体:谋定而后动,事先规划,再落地行动;
  6. Fine-tuning微调:知识学霸,将书上的知识全部学到大脑中;

LangChain框架与RAG检索增强生成技术

LangChain是个开源框架,可以将大语言模型本地数据源相结合,该框架目前以Python或JavaScript包的形式提供;

  • 大语言模型:可以是GPT-4或HuggingFace的模型;
  • 本地数据源:可以是一本书、一个PDF文件、一个包含专有信息的数据库;

LangChain的工作流程:

  1. 数据入库:读取本地数据并切成小块,并把这些小块经过编码embedding后,存储在一个向量数据库中(下图1——6步);
  2. 相关性检索:用户提出问题,问题经过编码,再在向量数据库中做相似性检索,获取与问题相关的信息块context,并通过重排序算法,输出最相关的N个context(下图7——10步);
  3. 问题输出:相关段落context + 问题组合形成prompt输入大模型中,大模型输出一个答案或采取一个行动(下图11——15步)
    在这里插入图片描述

说明:RAG流程中前两步(数据入库和相关性检索)比较核心,主要难点在:知识管理(非结构化加载器做文件解析 + 数据如何切片)、知识检索算法、知识重排序算法。
在这里插入图片描述

进阶版RAG技术:主要为提升检索的准确率,提高回复的质量

  • 检索前:
    <1>:增强数据粒度(校准知识库数据,在确保准确性的前提下,使内容变得简洁、准确、无冗余)
    <2>:调整切片长度(每个文本块chunks内容要简洁、知识互相独立)
    <3>:添加元数据信息(比如使用【日期、价格】等元数据加强敏感数据的检索,增强相关性)
    <4>:混合检索和对齐优化(为每个chunks创建假设性问题来解决文档间的不一致问题)
  • 检索中:
    <1>:知识库分类:将相近知识存在一个知识库中;
    <2>:微调Embedding模型:利用特定领域的语料来微调Embedding模型,将特定知识嵌入到模型中;
    <3>:Rerank重排序:设计更为复杂的模块对召回的结果进行精细化排序,提高召回质量;
  • 检索后:
    <1>:提示词精炼:压缩无关上下文,突出关键段落,减少总体长度;
    <2>:选用更好的模型:提高知识处理能力,增加输出长度;

RAG与Agent的区别

在这里插入图片描述

  • RAG的本质:是为了弥补大模型在特定领域知识的不足。整个过程相对稳定,LLM可发挥的空间较少;
  • Agent的本质:是为了解决复杂的任务。不同模型对任务的拆解相差较大,所以Agent对LLM的推理能力要求较高;

实际项目中会使用Agent + RAG的方式,对Agent中的每一个【任务n】都走一遍RAG流程;


RAG与微调,实际应用时该如何选择

微调场景

  • 大模型能力的定制:
  • 对响应时间有要求:
  • 智能设备中的应用:

对开源模型做微调,影响的权重也只占1%~5%左右,微调数据与原本数据是否能相容、新模型的鲁棒性是否有提高都比较难把控,所以在实际项目中,能不使用微调就不微调。有兴趣可以试试LLaMA-Factory大模型微调平台;

RAG场景


模型量化、蒸馏、剪枝

大语言模型在训练和使用中都会占据大量资源,为了能在有限的硬件资源下,保证大模型的质量,一般会使用模型压缩技术,一般的模型压缩的方式有以下三种:

  1. 模型量化(Quantization):实施在训练端、测试端、移动端部署,主要是牺牲模型精度,用低精度的参数代替高精度参数参与计算,从而降低模型大小和计算复杂度;
  2. 模型蒸馏(Distillation):实施在数据端,用最强模型的输出反馈做数据蒸馏,微调自身小模型具备最强模型的输出能力;
  3. 模型剪枝():落地效果不好,很少用,实施在模型端,移除模型中不重要的权重,减小模型大小和计算复杂度;

模型量化:
举例:一个6B的模型(60亿参数),参数精度是float16(一个参数占2字节),那么它模型大小就是12G左右。不同参数精度所占的字节数不同,一般有四个等级的参数精度(8bit等于1字节):

  • FP32(单精度32位浮点数):高精度,一个参数占4字节,更大的内存占用和更长的计算时间;
  • FP16(半精度16位浮点数):常用精度,一个参数占2字节,资源占用与精度相对均衡;
  • FP8:英伟达H系列后就支持FP8精度,兼顾FP16的精度和INT8的速度;
  • INT8(将浮点数转换为8位整数):精度较低,一个参数占1字节,但可以显著减少存储和计算的需求
  • INT4(将浮点数转换为4位整数):精度很低,一个参数占0.5字节,很激进的量化方式,很可能导致模型失真;

GPT3.5有1750亿个参数,以float16精度为例,模型就有350G左右,对于模型加载、训练、测试都不是很方便,选择合适的量化方式,在模型精度与资源占用中寻找合适的平衡,

模型蒸馏:
模型蒸馏主要作用于数据端。假设我们找到了世界上最顶尖的大模型:GPT_dream,我们想要自己的小模型也能达到类似于GPT_dream的回复效果,那我们就准备好很多你想涵盖的问题,向GPT_dream提问并记录输出,再用输入 + 输出组合成新QA数据,对自己小模型做微调训练,以此让小模型的行为、动作接近于最顶尖的大模型;

2019年10月的DistilBERT模型就是BERT的精炼版,速度提高了 60%,内存减少了 40%,但仍然保留了 BERT 97% 的性能;



大模型幻觉

大模型幻觉主要有哪些:

  1. 荒谬回复、违背事实:例如人类生活在火星
  2. 上下文自相矛盾:
  3. 答非所问:

大模型为什么会出现幻觉:

  1. 数据质量:训练数据包含错误、偏见、不一致信息,模型可能会学习并放大这些问题;
  2. 训练过程:预训练或者微调时候,过分拟合了训练数据中的异常值;
  3. 生成过程:提示词设计不当,或模型过小、模型有缺陷、输出长度太短;

如何解决、规避大模型幻觉问题:主要就是限定回答的范围

  1. 根据权威信息回复;
  2. 根据企业文档回复;
  3. 连接数据库信息;
  4. 配合知识图谱:向量数据库会弱化对象之间的关系,所以与向量文本互补使用;



RAG效果评估方案推荐

  1. Trulens:上手简单,和LlamaIndex结合较好,评估指标较少(3个),测试问题需要自己准备;
  2. Ragas:评估指标较多(超过9个),与LangChain结合较好,提供端到端的评估流程;
  3. 自写:灵活的评估指标,方便集成与改写,开发难度较大;
  4. 人为打分:

向量数据库推荐

  • Elasticsearch:ES
  • PGVector:
  • Milvus:
  • Pinecone:

大模型必备的开源工具

  1. 模型平台(模型管理、数据集管理、各类功能排行榜):国外是Huggingface,国内是魔搭社区;
  2. 模型能力定制:pytorch框架(自写训练程序)、LLaMA-Factory(可视化页面点选训练);
  3. 模型部署(模型管理、模型调用):ollama,容器化管理;
  4. 模型应用开发框架:LangChain、LlamaIndex;

Agent实施方案

  1. 在线平台:coze扣子、Dify等,快速实现一些简单需求,上手难度小,但是不能私有化部署;
  2. 开源项目:AutoGen、mateGPT等,基于这些项目进行二次开发,完全开源;
  3. 开发框架:LangChain、LlamaIndex等框架、适合专职做大项目开发的人,专业,学习曲线稍长;
  4. 完全自写:适合专职做大项目开发的人,Agent只是一个应用大模型的思想,并不是一门技术,可以不使用任何一个框架,灵活控制;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1543278.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

本周宣讲提醒-线上专场——香港科技大学工学院2025/2026年度硕士研究生(MSc)项目招生宣讲会

&#x1f4c6;本周宣讲提醒-线上专场 &#x1f514;香港科技大学工学院2025/2026年度硕士研究生&#xff08;MSc&#xff09;项目招生宣讲会 &#x1f4cd;香港科技大学工学院大挑战研究暨研究生课程信息网络研讨会-线上专场 &#x1f559;时间&#xff1a;2024年9月24日&…

共享打印机,局域网搜不到

如果共享打印机后&#xff0c;局域网内其余机器检索不到 1. 排查 是否启用来宾账户&#xff08;Guest&#xff09; 2. 网络和共享中心->更改高级共享设置->启用网络发现、启用文件和打印机共享、关闭密码保护共享 排查基本可以解决搜索不到打印机问题

springboot书画在线学习网站-计算机毕业设计源码11849

摘 要 本篇论文旨在设计和开发基于SpringBoot的书画在线学习网站&#xff0c;提供用户便捷的学习方式和丰富的学习资源。在该系统中&#xff0c;用户可以通过网站浏览书画的相关内容&#xff0c;包括诗公告消息、书画资讯、课程信息等。同时&#xff0c;系统还将提供书画的学习…

【计算机方向】一区TOP神刊,刊文量>1000+,影响因子高,最快一个月accept!

期刊解析 &#x1f6a9;本 期 期 刊 看 点 &#x1f6a9; 中科院一区TOP期刊&#xff01; 审稿友好&#xff0c;IF10.2&#xff0c;自引率12.7% 最新年度发文1020。 今天小编带来计算机领域SCI快刊的解读&#xff01; 如有相关领域作者有意投稿&#xff0c;可作为重点关注…

2000-2012年各地级市市长特征信息数据/市长特征信息大全数据

2000-2012年各地级市市长特征信息数据 1、时间&#xff1a;2000-2012年 2、来源&#xff1a;百度搜索手工整理 3、指标&#xff1a;省级政区代码、省级政区名称、地市级政区代码、地市级政区名称、年份、市长姓名、出生年份、出生月份、籍贯省份代码、籍贯省份名称、籍贯地市…

信号分解降噪 | Matlab实现基于TVFEMD-IMF能量熵增量的数据降噪方法

信号分解降噪 | Matlab实现基于TVFEMD-IMF能量熵增量的数据降噪方法 目录 信号分解降噪 | Matlab实现基于TVFEMD-IMF能量熵增量的数据降噪方法效果一览基本介绍程序设计参考资料 效果一览 基本介绍 信号分解降噪 | Matlab实现基于TVFEMD-IMF能量熵增量的数据降噪方法。该方法引…

???Ansible——Playbook基本功能

文章目录 一、Ansible Playbook介绍1、Playbook的简单组成1&#xff09;“play”2&#xff09;“task”3&#xff09;“playbook” 2、Playbook与ad-hoc简单对比区别联系 3、YAML文件语法&#xff1a;---以及多个---&#xff1f;&#xff1f;使用 include 指令 1. 基本结构2. 数…

亿发电脑端513版本更新,销售开单、财务账目等多个板块细节优化

如果您正寻求突破传统业务模式的束缚&#xff0c;希望拥抱数字化转型带来的无限可能&#xff0c;我们诚邀您体验亿发软件。亿发专业团队将为您提供个性化的咨询和定制服务&#xff0c;帮助您的企业快速适应市场变化&#xff0c;实现业务模式和商业模式的创新。

信创集成项目管理师含金量高不高?适合谁学?能否评职称?

信创是指信息技术应用创新&#xff0c;是工信部教育与考试中心推出的认证项目。这一认证项目积极响应了国家关于信息技术应用创新战略的部署&#xff0c;特别是在国资委79号文件的指导下&#xff0c;加速推进了国有企业信息化系统的国产化改造进程。未来几年内&#xff0c;将按…

写文档-画UML图-编程的秘密武器:Kimi智能助手

在快速发展的软件开发领域&#xff0c;如何高效地编写需求分析文档、软件设计文档以及代码&#xff0c;成为每位程序员和架构师面临的重要挑战。今天&#xff0c;我要向大家介绍一款强大的工具——Kimi智能助手&#xff0c;它将帮助你提升工作效率&#xff0c;优化开发流程。 …

2003-2022年各省区域创新能力评价相关指标数据(报告年份2003-2022年)

2003-2022年各省区域创新能力相关指标数据&#xff08;报告年份2003-2022年&#xff09; 1、来源&#xff1a;2003-2022年中国区城创新能力评价报告 2、指标&#xff1a;综合值、知识创造综合指标、研究开发投人综合指标、专利综合指标、科研论文综合指标、知识获取综合指标、…

【LeetCode】动态规划—斐波那契数列(附完整Python/C++代码)

动态规划—#509. 斐波那契数列 前言题目描述基本思路1. 斐波那契数列的定义2. 理解递推关系3. 递归方法&#xff08;直观但效率低&#xff09;4. 动态规划方法 (高效)步骤&#xff1a; 5. 进一步优化: 只用常量空间步骤: 小总结: 代码实现Python3代码实现Python 代码解释C代码实…

专业视频编辑软件 MAGIX VEGAS Pro v21 中文授权版

MAGIX VEGAS Pro 是由德国MAGIX公司推出的一款专业视频编辑软件&#xff0c;软件支持8K/4K超清视频剪辑制作&#xff0c;具有无可替代的优势&#xff0c;包括业界领先的硬件加速、人工智能驱动的工具、复杂的颜色分级选项、业界领先的HDR支持、大量OFX特效插件和音视频插件脚本…

excel数据常用函数学习记录

1、VLOOKUP查询函数&#xff0c;匹配数据返回 vlookup(查找值,查找范围,要查找的值在第几列,0表示精确查找) enter键返回 例如&#xff1a;在E列中返回&#xff0c;A列的值与D列一致的对应的B值。只会返回查找到的第一个 如果需要把查找到的匹配的数据都返回到单元格中&…

STM32F407单片机编程入门(十六) DMA详解及ADC-DMA方式采集含源码

文章目录 一.概要二.STM32F407VET6单片机DMA外设特点三.STM32F407单片机DMA内部结构图四.DMA各通道请求五.STM32F407VET6单片机ADC-DMA采集例程六.工程源代码下载七.小结 一.概要 基本概念&#xff1a; DMA是Direct Memory Access的首字母缩写,是一种完全由硬件执行数据交换的…

Kali Linux 2024.3

新版本&#xff0c;新特性 Kali Linux 2024.3 版本带来了一系列新功能和优化改进&#xff0c;包括但不限于&#xff1a; 新增对高通骁龙 SDM845 芯片的支持&#xff1a;Kali NetHunter Pro 设备现在支持更多设备&#xff0c;提升了 Kali 移动渗透测试平台的兼容性和实用性 系统…

如何在openKylin中配置ssh服务并实现远程连接开放麒麟系统(1)

文章目录 前言1. 安装SSH服务2. 本地SSH连接测试3. openKylin安装Cpolar4. 配置 SSH公网地址5. 公网远程SSH连接6. 固定SSH公网地址7. SSH固定地址连接 前言 本文主要介绍如何在openKlyin系统中设置ssh连接&#xff0c;并结合cpolar内网穿透工具实现远程也可以ssh连接本地局域…

HTML+CSS学习笔记

目录 HTML 1.开发环境 2.创建HTML文件 3.HTML元素 3.1HTML文件结构 3.2HTML标签 3.3HTML属性​编辑​编辑 3.4HTML区块 3.4.1块元素 3.4.2行内元素 3.5HTML表单 CSS 1.CSS简介 2.CSS语法​编辑 3.CSS三种导入方式 内联样式 内部样式 外部样式 4.选择器​ 5.C…

【无人机设计与控制】基于蜣螂优化算法求解多无人机集群路径规划问题

摘要 本文基于蜣螂优化算法&#xff08;Dung Beetle Optimization, DBO&#xff09;研究了多无人机路径规划问题。目标是优化多无人机的飞行轨迹&#xff0c;在避免障碍物的同时&#xff0c;尽量减少能量消耗并保持集群内的通信。为提高搜索效率和准确性&#xff0c;对DBO进行…

国庆长假出游带什么好?这五款智能设备让你玩得更尽兴

随着国庆长假的临近&#xff0c;许多人已经开始规划他们的旅行计划&#xff0c;期待在这段时间里放松身心&#xff0c;享受假期的乐趣。然而&#xff0c;旅行不仅仅是关于目的地的美景和文化体验&#xff0c;它同样关乎旅途中的舒适度和便利性。在科技日新月异的今天&#xff0…