大模型什么时候应该进行微调

经常会遇到一个问题——LinkedIn 上的人们问我如何微调 LLaMA 等开源模型,试图找出销售 LLM 托管和部署解决方案的业务案例的公司,以及试图利用人工智能和大模型应用于他们的产品。但当我问他们为什么不想使用像 ChatGPT 这样的闭源模型时,他们并没有真正的答案。因此,我决定以一个每天应用大模型来解决业务问题的人的身份来写这篇文章。

封闭 API 的案例

您是否尝试过为您的用例实现 ChatGPT API?也许您想总结文档或回答问题,或者只是想在您的网站上安装聊天机器人。通常,您会发现 ChatGPT 在多语言任务上表现得相当不错。

人们普遍认为这些模型太贵了。但以 0.002 美元/1K 代币的价格,我打赌您至少可以在 100 个样本上尝试一下,并评估 LLM 是否适合您的特定应用程序。事实上,在每天数千次 API 调用或在该范围内的情况下,ChatGPT API 的成本比我在本博客中所写的自定义开源模型的托管基础设施便宜得多。

一种说法是,假设您想要回答有关数千或数万份文档的问题。在这种情况下,仅根据此数据训练或微调开源模型并向微调模型询问有关此数据的问题不是更容易吗?事实证明,这并不像听起来那么简单(出于多种原因,我将在下面有关微调数据的标签部分中讨论)。

但 ChatGPT 有一个简单的解决方案可以回答包含数千个文档的上下文中的问题。它基本上是将所有这些文档作为小文本块存储在数据库中。

现在,向模型提供所有必要信息以回答问题的问题已从模型架构转移到包含文档块的数据库。

然后可以通过计算问题和文档块之间的相似性来找到相关文档。这通常是通过将块和问题转换为词嵌入向量,并计算块和问题之间的余弦相似度,最后仅选择高于特定余弦相似度的那些块作为相关上下文来完成的。

最后,问题和上下文可以组合成如下提示,并输入 LLM API(如 ChatGPT):

Prompt= f"回答问题。上下文: {context} \\n 问题: {question} "

您可能会问 - 为什么不将整个文档和问题输入提示中,而不是将其分成多个块?我们将文档分成块而不是将所有文档合并到一个提示中的原因是因为 LLM 对最大输入和输出长度有一定的限制。对于 ChatGPT,这是 4096 个令牌,或者大约 6-7 页文本。

当答案明显存在于这些文档中时,将文档卸载到数据库并使用封闭的 LLM API 进行查询可能会很有效。但在很多情况下,这些可能会产生次优结果,例如,如果您希望 ChatGPT 就某个利基主题提供专家观点,例如推测美国经济的财务前景。

特定领域的大模型

好的,您尝试过 ChatGPT 或 BARD — 但您不喜欢它。答案有点不对劲。例如,您询问 ChatGPT:

“美国经济的通胀可能会持续多久?”

它返回了:

作为人工智能语言模型,我无法确定地预测未来,尤其是对于复杂的经济系统。不过,我可以为您提供一些信息和观点,可能有助于您了解当前的情况。

通货膨胀是一种复杂的现象,可能由多种因素引起,例如需求增加、供应限制……。

不幸的是,这对你来说还不够好。当然,您可以向 ChatGPT 提供一些有关美联储主席杰罗姆·鲍威尔声明的最新消息。但这并不能为您提供与您交谈时所获得的同样丰富的领域经验 - 好吧,杰罗姆·鲍威尔,还有谁!或者另一位专家。

想想成为某个领域的专家需要什么。虽然其中一部分是阅读有关该主题的书籍,但也有很多是与该领域的主题专家互动,并从经验中学习。虽然 ChatGPT 接受过大量金融书籍的培训,但它可能还没有接受过顶级金融专家或其他特定领域专家的培训。那么如何才能让大模型成为金融领域的“专家”呢?这就是微调的用武之地。

大模型微调

在讨论微调 LLM 之前,我们先谈谈微调像 BERT 这样的小型语言模型,这在 LLM 之前很常见。对于像 BERT 和 RoBERTa 这样的模型,微调相当于传递一些上下文和标签。任务定义明确,例如从上下文中提取答案,或将电子邮件分类为垃圾邮件与非垃圾邮件。

然而,大型语言模型(LLM)之所以风靡一时,是因为它们可以通过改变你构建提示的方式无缝地执行多个任务,并且你拥有类似于与另一端的人交谈的体验。我们现在想要的是将大模型微调为某个学科的专家,并像“人”一样参与对话。这与在特定任务上微调 BERT 等模型有很大不同。

最早的开源突破之一是斯坦福大学的一组研究人员对 7B LLaMa 模型(今年早些时候由 Meta 发布)进行了微调,他们将其称为 Alpaca,在 52K 指令上的价格不到 600美元。不久之后,Vicuna团队发布了130亿参数的模型,达到了ChatGPT质量的90%。

最近,MPT-7B 转换器发布,可以摄取 65k 代币,是 ChatGPT 输入大小的 16 倍!培训从头开始,历时 9.5 天,花费 20 万美元。作为特定领域大模型的示例,彭博社发布了一个类似 GPT 的模型BloombergGPT,该模型专为金融而构建,并且也是从头开始训练的。

最近在培训和微调开源模型方面取得的进展只是中小型公司通过定制大模型丰富其产品的开始。那么,您如何决定何时需要微调或培训整个特定领域的大模型?

首先,重要的是要清楚地确定您所在领域的闭源 LLM API 的局限性,并证明让客户能够以极低的成本与该领域的专家聊天。对于十万条左右的指令来说,微调模型并不是很昂贵,但获得正确的指令需要仔细考虑。这也是你需要大胆一点的地方——我还想不出在许多领域中,经过微调的模型在特定领域的任务上表现得比 ChatGPT 明显更好,但我相信这即将到来,任何做得好的公司都会得到奖励。

这让我想到了从头开始完全训练大模型的案例。是的,这很容易花费数十万美元,但如果你提出一个可靠的案例,投资者会很乐意参与。在最近接受IBM 采访时,Hugging Face 首席执行官 Clem Delangue评论说,很快,定制的大模型可能会像作为专有代码库很常见,也是在行业中保持竞争力的重要组成部分。

要点

应用于特定领域的大模型在行业中可能非常有价值。有增加成本和可定制性的 3 个级别:

  1. 闭源 API + 文档嵌入数据库:第一个解决方案可能是最容易上手的,考虑到 ChatGPT API 的高质量 - 甚至可能为您提供足够好的(如果不是最好的)性能。而且很便宜!

  2. 微调 LLM:微调 LLaMA 类模型的最新进展表明,在某些领域获得类似于 ChatGPT 的基准性能需要约 500 美元。如果您有一个包含约 50-100k 指令或对话的数据库来微调基线模型,那么这可能是值得的。

  3. 从头开始训练:正如 LLaMA 和更新的 MPT-7B 模型所示,这需要大约 100-200k 的成本,并且需要一两周的时间。

现在您已经掌握了知识 - 继续构建您的自定义领域特定 LLM 应用程序!

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

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

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

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

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

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

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

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

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

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

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

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

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

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

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

👉获取方式:

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

示例:WPF中如何绑定ContextMenu和Menu

一、目的:开发过程中,有些模块的右键ContextMenu菜单是需要动态显示的,既是根据不同条件显示不同的菜单,很多是通过代码去生成ContextMenu的MenuItem,本文介绍通过绑定的方式去加载ContextMenu,Menu菜单栏的…

工厂ESOP系统促进工厂快速响应和工艺改进

在当今追求可持续发展和创新的时代,新能源产业正以惊人的速度崛起。新能源工厂作为这一领域的核心生产环节,面临着不断提高效率、优化工艺和快速应用新技术的巨大挑战。为了应对这些挑战,越来越多的新能源工厂开始引入 ESOP 系统(…

数据结构与算法3---栈与队

一、栈 1、顺序栈 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> //开辟空间#define MAXSIZE 50//顺序栈的基本算法 typedef struct {int stack[MAXSIZE];int top; }SqStack;//初始化 void InitStack(SqStack* S) {S->top …

OCC异常处理机制理解

1.目的 异常处理提供了一种将控制权从正在执行的程序中的给定点转移到与先前执行的另一点关联的异常处理程序的方法。在各种错误条件下引发异常&#xff0c;该异常会中断其正常执行并将控制权传递给捕获此异常的处理程序&#xff0c;以保护软件质量。OCC作为开源的几何算法库&…

LabVIEW程序退出后线程仍在运行问题

LabVIEW程序退出后&#xff0c;线程仍在运行的问题可能源于资源管理不当、未正确终止循环、事件结构未处理、并发编程错误以及外部库调用未结束等方面。本文将从这些角度详细分析&#xff0c;探讨可能的原因和解决方案&#xff0c;并提供预防措施&#xff0c;帮助开发者避免类似…

昇思25天学习打卡营第2天|张量Tensor

一、张量的定义&#xff1a; 张量是一种特殊的数据结构&#xff0c;与数组和矩阵非常相似。张量&#xff08;Tensor&#xff09;是MindSpore网络运算中的基本数据结构&#xff08;也是所有深度学习模型的基础数据结构&#xff09;&#xff0c;下面将主要介绍张量和稀疏张量的属…

重学java 79.JDK新特性 ⑤ JDK8之后的新特性

别怕失败&#xff0c;大不了重头再来 —— 24.6.20 一、接口的私有方法 Java8版本接口增加了两类成员: 公共的默认方法 公共的静态方法 Java9版本接口又新增了一类成员: 私有的方法 为什么IDK1.9要允许接口定义私有方法呢? 因为我们说接口是规范&#xff0c;规范是…

NetSuite Inventory Transfer Export Saved Search

用户之前有提出一个实际的需求&#xff0c;大致意思是想要导出Inventory Transfer的相关明细行信息&#xff0c;且要包含From Location&#xff0c;To Location&#xff0c;Quantity等信息。 我们知道From Location和To Location在IT Form中应该是在Main的部分&#xff0c;在D…

办公技能——如何写好会议纪要,提升职业素养

一、什么是会议纪要 会议纪要是一种记载、反映会议情况和议定事项的纪实性公文&#xff0c;是贯彻落实会议精神、指导工作、解决问题、交流经验的重要工具。 会议纪要可以多向行文&#xff1a;向上级机关汇报会议情况&#xff0c;以便得到上级机关对工作的指导&#xff1b;向同…

Element-UI实现el-dialog弹框拖拽功能

在实际开发中&#xff0c;会发现有些系统&#xff0c;弹框是可以在浏览器的可见区域自由拖拽的&#xff0c;这极大方便用户的操作。但在查看Element-UI中弹框&#xff08;el-dialog&#xff09;组件的文档时&#xff0c;发现并未实现这一功能。不过也无须担心&#xff0c;vue中…

【Linux从入门到放弃】进程地址空间

&#x1f9d1;‍&#x1f4bb;作者&#xff1a; 情话0.0 &#x1f4dd;专栏&#xff1a;《Linux从入门到放弃》 &#x1f466;个人简介&#xff1a;一名双非编程菜鸟&#xff0c;在这里分享自己的编程学习笔记&#xff0c;欢迎大家的指正与点赞&#xff0c;谢谢&#xff01; 进…

网络安全管理组织架构复习

文章目录 安全管理机构岗位设置安全要求要求解读 安全管理机构 安全管理的重要实施条件就是有一个统一指挥、协调有序、组织有力的安全管理机构,这是网络安全管理得以实施、推广的基础。 通过构建从单位最高管理层到执行层及具体业务运营层的组织体系&#xff0c;可以明确各个…

示例:WPF中DataGrid设置多级分组样式

一、目的&#xff1a;应用CollectionViewSource和GroupStyle设置DataGrid多级分组样式 二、实现 一级分组效果如下 二级分组效果如下 三、环境 VS2022 四、示例 具体实现代码如下 <TabItem Header"DataGrid - 多级分组"><TabItem.Resources><Colle…

最新源支付系统源码 V7版全开源 免授权 附搭建教程

简介&#xff1a; 最新源支付系统源码_V7版全开源_免授权_附详细搭建教程_站长亲测 YPay是专为个人站长打造的聚合免签系统&#xff0c;拥有卓越的性能和丰富的功能。它采用全新轻量化的界面UI&#xff0c;让您能更方便快捷地解决知识付费和运营赞助的难题。同时&#xff0c;…

thread model线程模型

Concurrency并发 vs. Parallelism执行 Many-to-One GNU Portable Threads 多对一即多个用户线程映射到单个内核线程 该模式用的少 一个线程阻塞会导致所有线程阻塞 多线程可能无法在多核系统上并行运行&#xff0c;因为同一时间内核中可能只有一个线程 Concurrent executio…

看热点新闻从中获取的客观信息有哪些?

提取热点新闻的客观价值&#xff1b; 避免主观情绪的投射代入。 参考网址&#xff1a; https://damo.alibaba.com/alibaba-global-mathematics-competition?langzh&languagezhhttps://damo.alibaba.com/events/32024060617176459249878092?languagezh 这份名单&#x…

【ARMv8/v9 GIC 系列 3 -- GIC 的 类型寄存器 GICD_TYPER】

文章目录 GIC 类型寄存器 GICD_TYPERESPI_Range, 位[31:27]RSS, 位[26]No1N, 位[25]A3V, 位[24]IDBits, 位[23:19]DVIS, 位[18]LPIs, 位[17]MBIS, 位[16]NUM_LPIs, 位[15:11]SecurityExtn, 位[10]NMI, 位[9]ESPI, 位[8]CPUNumber, 位[7:5]ITLinesNumber, 位[4:0]GIC 类型寄存器…

无线串口模块有什么优势特点及串口参数设置

无线串口是一种无线通信技术&#xff0c;它允许原本通过有线连接&#xff08;如RS232、RS485等标准串行接口&#xff09;的设备之间通过无线方式进行数据传输。无线串口模块通常包括发射端和接收端两部分&#xff0c;发射端将串口数据转换为无线信号并发射出去&#xff0c;接收…

动态规划——达拉崩吧

1、题目链接 174. 地下城游戏 2、题目分析 假如说我们正向推状态转移方程&#xff0c;很难推出来&#xff0c;因为这道题有“加血”的说法&#xff0c;只能依靠后面的值判断前面所需要的血量&#xff0c;也就是说&#xff0c;如果正向的dp表示从起点出发&#xff0c;到达&…

【ajax基础05】利用ajax渲染数据思路总结

目录 一&#xff1a;利用字符串渲染 二&#xff1a;获取标签进行数据渲染 1 前置知识点 2 从服务器获取数据为对象 核心思想&#xff1a; 关键&#xff1a; 进行数据渲染&#xff0c;无非就两个步骤1 从服务器获取到数据2 将数据渲染到html结构当中 因此不同的渲染思路…