大模型的三大法宝:Finetune, Prompt Engineering, Reward

news2024/11/16 7:21:03

编者按:基于基础通用模型构建领域或企业特有模型是目前趋势。本文简明介绍了最大化挖掘语言模型潜力的三大法宝——Finetune, Prompt Engineering和RLHF——的基本概念,并指出了大模型微调面临的工具层面的挑战。

以下是译文,Enjoy!

作者 | Ben Lorica

编译 | 岳扬

随着语言模型越来越流行,采用一套通用的方法和工具来充分释放语言模型的潜力就变得至关重要。这些方法中最重要的是提示工程(prompt engineering),其涉及到如何在提示(prompt)或查询(query)中选择和组合词语来请求模型产生所需的回复(response)。如果能够从ChatGPT或Stable Diffusion中获得所需的输出(output),那么你就离成为一名熟练的提示工程师(prompt engineer)又近了一步。

在tuning spectrum的背后是基于人类反馈的强化学习(Reinforcement Learning from Human Feedback,RLHF),当模型需要在多种输入和准确率要求极高的情况下训练时,这种方法是最有效的。RLHF被广泛用于微调通用模型,如ChatGPT、谷歌的Bard、Anthropic的Claude或DeepMind的Sparrow。

下图中,我们总结了Finetune,Prompt Engineering, RLHF的核心特点和适用场景。

帮助我们充分利用基础模型的策略(中文图片由Baihai IDP翻译)

对于大多数团队来说,最佳选择是使用一个已初步训练好的模型,并将其Fine-tune以适应特定的任务或数据集。这个过程需要从大型语言模型(LLM)开始,这种模型已经在大量文本数据上进行了训练。虽然许多LLM目前是专有的(proprietary),只能通过API访问,但开源数据集、学术论文甚至开源模型代码的出现使技术团队能够用在他们特定的领域和应用程序。

另一个有趣的趋势是出现了更易于私有化部署和管理的基础模型,例如LLaMA和Chinchilla,这为将来出现更多的中型模型提供了可能性。选择合适的模型进行微调需要团队不仅考虑特定领域中可用数据的数量,还要评估模型的(开源)许可证与其具体要求的兼容性。

微调基础模型的简略手册

随着我们对基础模型实际应用的理解不断拓展,出现了很多定制化的工具(bespoke tools),能够方便在模型部署前完善这些模型。这里有一些用于微调和定制语言模型的资源:

  • Hugging Face的微调教程[1][2])。

  • OpenAI的微调指南[3]

  • co:here编写的关于如何创建自定义模型的指南[4]

  • AI21 Labs编写的关于创建自定义模型的教程[5]

在NLP(John Snow Labs[6])和CV(Matroid[7])领域中,已经有了无代码工具开发的实例,可以无代码创建自定义模型。在大模型领域,我期待类似的工具的出现,以完善基础模型的微调和应用。

尽管RLHF在训练顶尖语言模型的团队中获得了肯定,但由于缺乏可用的工具,其可及性( accessibility )仍然不足。此外,RLHF需要开发一个容易受misalignment(即出现了统计分布不一致现象)和其他问题影响的奖励函数(reward function),并且RLHF仍然是一种只有少数团队掌握的专有技术。

虽然提示工程有用,但在生成针对特定任务和领域优化的可靠基础模型方面仍然不足。尽管有些团队可能会选择从头开始构建自己的模型,但由于从头开始训练模型的成本,这些团队不太可能总是这样做。因此,现在的趋势是倾向于微调预训练模型。

这就会导致,技术团队需要简单而多功能的工具,使他们能够使用各种技术[8]来创建自定义模型。

尽管微调(fine-tuning)可以产生最佳模型(optimal models),但在部署模型之前,还需要进一步使用RHLF进行调整。此外,Anthropic最近进行的一项研究表明[9],提示方法(prompting methods)可以帮助使用RLHF训练的LLMs产生更少有害内容。

微调预训练模型比提示工程,或从头开始训练模型更有优势

END

小编注:需要大语言模型微调和训练工具平台的小伙伴,欢迎体验IDP。我们也基于平台,快速搭建了多模态模型IDPChat,欢迎关注和贡献。https://github.com/BaihaiAI/IDPChat

参考资料

[1]https://huggingface.co/docs/transformers/training

[2]https://huggingface.co/blog/trl-peft

[3]https://platform.openai.com/docs/guides/fine-tuning

[4]https://dashboard.cohere.ai/models/create

[5]https://docs.ai21.com/docs/custom-models

[6]https://nlp.johnsnowlabs.com/docs/en/alab/training_configurations

[7]https://www.matroid.com/detector-creation/

[8]https://powerml.co/?utm_source=newsletter&utm_id=gradientflow

[9]https://arxiv.org/abs/2302.07459

本文经原作者授权,由Baihai IDP编译。如需转载译文,请联系获取授权。

原文链接

https://gradientflow.com/llm-triad-tune-prompt-reward/

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

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

相关文章

MySQL索引原理及实战

MySQL索引原理及实战 一、一条Select语句二、索引介绍1、索引是什么2、索引的优势和劣势优势:劣势: 三、索引的使用1、索引的类型普通索引:唯一索引:全文索引:空间索引:前缀索引 :按照索引列的数…

dolt:自带版本管理的数据库

在做数据分析或算法优化时,有一个需求是比较常见的:在调整了一些代码后,产生了新的结果数据,需要将这些数据以及产生它们的代码存储下来以便事后进行分析。解决这个问题的核心就在于如何对代码和结果数据进行版本管理,…

Web3中文|从以太坊升级寻找下一个热点赛道

今天来聊一聊以太坊升级的事情,但我们想换个角度,不谈上海升级的影响、不谈Layer2的创新、不谈Rollup的技术革命,而是从整个以太坊升级之路来解读为什么当下Layer2、ZK、LSD等赛道会火。 这些其实都是有迹可循的,一旦思路捋顺了&a…

Linux通过Redis源码安装Redis-server

1、下载安装包(https://redis.io/download/) 选择版本6.2.12 2、解压:tar zxvf redis-6.2.12.tar.gz 3、进入解压后的文件夹:cd redis-6.2.12 4、检查gcc版本,gcc -v (因为redis6.0需要gcc5.3.0以上版本才能…

MongoDB实现---WiredTiger

WiredTiger 参考:https://zhuanlan.zhihu.com/p/265222573 MongoDB默认的存储引擎,其和InnoDb类似 通过MVCC实现乐观锁通过索引文件通过B-Tree树加快访问数据的速度; 数据文件通过BTree记录通过日志先行的策略提升并发处理能力(…

ASP.NET Core MVC 从入门到精通之路由

随着技术的发展,ASP.NET Core MVC也推出了好长时间,经过不断的版本更新迭代,已经越来越完善,本系列文章主要讲解ASP.NET Core MVC开发B/S系统过程中所涉及到的相关内容,适用于初学者,在校毕业生&#xff0c…

TCP协议内部工作机制一(确认应答,超时重传,连接管理)

目录 TCP报文结构 TCP的首部长度 保留(6位) TCP特点 TCP内部的工作机制 一确认应答 超时重传 连接管理 建立建立(三次握手) TCP断开连接(四次挥手) TCP报文结构 TCP的报文结构中,16位源端口,16位目的端口,16位校验和和UDP是一样的,本篇文章就暂不介绍了,可参考俺之前写…

设计模式:创建者模式 - 建造者模式

文章目录 1.概述2.结构3.实例4.优缺点5.使用场景6.模式扩展 1.概述 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 分离了部件的构造(由Builder来负责)和装配(由Director负责)。 从而可以构造出复杂的对象。这个模式适用于:某…

记录一次VMwame的故障

故障发生时间 2023年4月12日 故障发生现象 无法启动虚拟机 启动虚拟机,报错权限不足,无法访问文件,打不开磁盘"******"或它所依赖的某个磁盘快照,启动”Disk”模块失败 故障解决过程 找资料,网上的解…

vba:文件夹和文件夹的处理,dir

Option Explicit 1 判断文件夹是否存在 dir函数的第二个参数是vbdirectory时可以返回路径下的指定文件和文件夹,如果结果为"",则表示不存在。 Sub w1() If Dir(ThisWorkbook.path & "\2011年报表2", vbDirectory) &q…

( “树” 之 BST) 230. 二叉搜索树中第K小的元素 ——【Leetcode每日一题】

二叉查找树(BST):根节点大于等于左子树所有节点,小于等于右子树所有节点。 二叉查找树中序遍历有序。 230. 二叉搜索树中第K小的元素 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查…

Oracle中Interval几种常用的写法

目录 每分钟执行💨 每天定时执行💨 每周定时执行💨 每月定时执行💨 每季度定时执行💨 每半年定时执行💨 每年定时执行💨 其他更多示例🤷‍♀️🤷‍♀️ 每分钟执…

【线性dp 例题 大综合】dp——数字三角形模型【线性dp】

数字三角形模型 一、数字三角形模型1. 摘花生(最大值)2. 最低通行费(需要把边界置成0x3f)我的错题点 3. ★★★ 取方格数路径长度为k,第一条路线到x1i,第二条路线到x2j的所有方案 4. ★★★★★ 传纸条就是 取方格数 的 题意延申一下 0x51 线性dp经典例题:LIS LCS 数…

Databend v1.1 版本发布!

各位社区小伙伴们,Databend 于 2023 年 4 月 14 日迎来了 v1.1.0 版本的正式发布! 这次新版本是 Databend 发布1.0 版本之后的第一个大版本!相较于 v1.0.0 版本,开发者们一共新增了 1,616 次commit, 共计 505 个优化和…

程序员跳槽,要求涨薪50%过分吗?

如果问在TI行业涨工资最快的方式是什么? 回答最多的一定是:跳槽! 前段时间,知乎上这样一条帖子引发了不少IT圈子的朋友的讨论 ,有网友提问 “程序员跳槽要求涨薪50%过分吗?” 截图来源于知乎,…

uni-app生成海报并分享

lime-painter是一款canvas海报组件,可以更轻松的生成海报 海报画板 - DCloud 插件市场 一款canvas海报组件,更优雅的海报生成方案https://ext.dcloud.net.cn/plugin?id2389插件提供 JSON 及 Template 的方式绘制海报 1、Template方式 提供l-painter-…

【Transformer系列(4)】Transformer模型结构超详细解读

前言 前一篇我们一起读了Transformer的论文《Attention Is All You Need》,不知道大家是否真的理解这个传说中的神(反正俺是没有~) 这两天我又看了一些视频讲解,感谢各位大佬的解读,让我通透了不少。 这篇文章就和…

前沿的Web前端技术趋势与应用实践

近年来,Web前端技术发展迅猛,各种新技术层出不穷,为了跟上潮流,我们需要不断学习新知识,应用新技术,不断提高自己的技术水平,为自己的职业生涯打下坚实的基础。本篇博客将为大家详细介绍前沿的W…

【Mysql】主从复制

【Mysql】主从复制 文章目录 【Mysql】主从复制1. 概述2. 原理3. 搭建3.1 准备工作3.2 主库配置3.3 从库配置 1. 概述 主从复制是指主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后再从库上对这些日志重新执行(也叫重做),从而使得从库和…

小红书行业趋势分析,女性种草关键词有哪些?

在“她力量”崛起的当今,女性用户正不断引领新潮流,驱动产品、内容升级。女性个人观念、生活方式、消费偏好演变,需求重点势必不断更新。 今儿就女性用户的聚集地小红书平台,以及女性最关注的美妆、母婴两大行业,通过数…