探索开放资源上指令微调语言模型的现状

人工智能咨询培训老师叶梓 转载标明出处

开放模型在经过适当的指令调整后,性能可以与最先进的专有模型相媲美。但目前缺乏全面的评估,使得跨模型比较变得困难。来自Allen Institute for AI和华盛顿大学的研究人员们进行了一项全面的研究,探索了不同公开指令数据集对语言模型性能的影响。

想要掌握如何将大模型的力量发挥到极致吗?叶老师带您深入了解 Llama Factory —— 一款革命性的大模型微调工具(限时免费)。

1小时实战课程,您将学习到如何轻松上手并有效利用 Llama Factory 来微调您的模型,以发挥其最大潜力。

CSDN教学平台录播地址:https://edu.csdn.net/course/detail/39987 

指令调整及其数据资源探索

在自然语言处理领域,指令微调是一种优化预训练大模型的方法,使其能够更准确地理解和响应人类以自然语言形式提出的请求。这一过程特别关注那些在请求中明确包含任务指示的情境,例如在输入提示中直接包含任务指令。指令微调是实现模型泛化至新场景、无需特定任务训练的关键步骤,同时也为非专业人士提供了与模型自然互动的可能。

指令微调的成功依赖于两大核心要素:首先,需要一个强大的预训练语言模型,该模型通过大规模网络预训练积累了丰富的知识储备;其次,需要一个多样化且具有代表性的指令数据集,以便模型能够适应各种潜在的下游应用场景。本研究围绕这两个要素展开,并对相关的开放资源进行了深入探讨。

研究中尝试收集了多种风格的数据集,这些数据集包括但不限于:由研究人员基于现有NLP数据集创建的(如SuperNI、Flan V2)、专门为指令微调目的由人类编写的(如Dolly、Open Assistant 1)、由专有模型生成的(如Self-Instruct、Unnatural Instructions、Alpaca、Baize、GPT4-Alpaca),以及包含用户共享提示和模型生成完成的(如ShareGPT3)。还有针对特定技能构建的数据集,例如CoT专注于思维链的培养,Code-Alpaca专注于代码生成。Table 1为用于指令调优的数据集的详细信息。

在本研究中,主要使用了LLaMa系列预训练模型,这些模型的参数量从6.7B到65B不等。研究初期使用了LLaMa-1模型,随后在最终版本中引入了LLaMa-2模型,后者虽然参数数量相似,但接受了更多的训练,代表了社区可用的最大、最高质量的预训练模型。研究也考虑了与LLaMa 6.7B模型大小相当的OPT和Pythia模型,以考察不同基础模型对指令微调效果的影响。

为了统一不同数据集的风格和格式,研究中将所有数据集格式化为聊天机器人风格的模式。这种格式允许将用户与语言模型之间的任意轮次交互适配到一个输入序列中,并与因果语言模型一起编码。通过添加特殊的标记来区分用户话语和助手响应,并在每个助手输出的末尾添加了文本结束标记,以确保在推理时模型能够适时停止响应。Figure 1为数据格式化的示例。

在训练过程中,损失仅在助手标记后的令牌和下一个用户标记之前计算。一个指令数据集被视为由多个包含多个轮次的元组组成,每个元组包括用户提示和期望的输出。对于大多数情况,模型被训练为给定用户提示输出相应的响应。然而,在处理对话数据集时,模型被训练为基于部分对话历史预测后续的响应。训练过程中采用了教师强制和损失掩码的技术,确保模型能够有效学习。

现有研究表明,增加指令的多样性可以有效提升指令微调的性能。基于这一动机,研究中创建了两种数据集的混合:人类数据混合物和人类+GPT数据混合物。TÜLU是在人类+GPT数据混合物上训练的LLaMa模型,旨在通过结合多种资源进一步提升指令微调的效果。

评估与结果分析

评估体系包括了对事实知识、推理能力、多语言性、编码能力、开放式指令遵循能力以及安全性的测试。

  • 事实知识:使用Massive Multitask Language Understanding数据集(MMLU)来衡量模型的事实知识。MMLU包含57个不同主题的问题,难度从基础到专业级别不等,其多项选择格式适合探测模型的知识,而不必担心生成的开放性。
  • 推理能力:使用Grade School Math数据集(GSM)的测试分割来评估模型的数学推理能力。同时采用Big-Bench-Hard(BBH),它包含23个来自Big-Bench的挑战性任务,以评估模型的一般推理能力。
  • 多语言性:使用TyDiQA,这是一个涵盖11种语言类型多样的语言的多语言问答基准,用于测试模型处理非英语文本的能力。
  • 编码能力:使用HumanEval数据集来评估模型从文档字符串生成功能正确程序的能力。为了避免与人类评估的歧义,本文中将其称为Codex-Eval。
  • 开放式指令遵循能力:评估模型处理来自真实用户的多样化和开放式请求的能力。例如,ShareGPT数据集包含了用户请求编程帮助、简历格式化技巧、教育角色扮演、发音建议、同人小说写作等多种实例。
  • 安全性:使用ToxiGen来衡量模型在被提示时产生有毒语言和仇恨言论的程度。同时采用TruthfulQA来衡量模型在提供有用信息时避免产生已知错误信息的能力。

为了评估开放式指令遵循能力,作者们采用了AlpacaEval中引入的基于模型的方法。测试集包含805条指令,这些指令来自不同的评估集,如Self-Instruct、Open Assistant、Anthropic的帮助评估、Vicuna评估和Koala评估。

使用模拟的GPT-4注释器,计算测试模型与Davinci-003产生的输出相比,由GPT-4判断的胜率。为了使分数与AlpacaEval排行榜上的分数直接可比,作者们使用了AlpacaEval的代码库和提示。

为了进一步测试开放式生成的质量,作者们进行了基于332条指令的人类评估,这些指令结合了Self-Instruct评估集和Vicuna评估集。

人类评估要求评估者基于几个维度判断模型输出的可接受性,包括输出是否孤立地可接受、是否回答了查询中的请求、是否有重大错误以及是否没有重复信息。

Table 3 展示了不同指令调整数据集对模型性能的影响。结果表明,不同的数据集在不同方面表现优异,而数据集的混合使用在平均性能上表现最佳。例如,CoT 数据集在数学推理(GSM)和编码(Code-Alpaca)任务上特别有帮助。这表明,为了在特定任务上取得成功,需要在训练集中充分代表这些任务。此外,结合多个数据集通常能够在基准测试中获得最佳的整体性能。

Table 4 展示了在Human+GPT数据混合物上训练后不同基础模型的性能。结果显示,使用LLAMA作为基础模型在所有评估设置中表现最佳,这可能是因为LLAMA在预训练时使用了更多的token。这表明,使用更大(或潜在更高质量)语料库预训练的模型更适合作为指令调整的基础模型。

作者们分析了表1中列出的指令数据集如何贡献于模型能力。他们使用评估套件评估了在这些数据集上训练的LLaMa 13B模型。Table 5 展示了TÜLU和其他训练模型与原始LLAMA模型以及最先进的专有模型在评估设置中的性能对比。结果表明,指令调整为所有大小的LLAMA模型带来了显著的好处,而较小的模型从指令调整中受益最大。

作者们比较了在Human+GPT数据混合物上训练的模型(TÜLU模型)在所有LLAMA大小上的性能。他们发现,尽管TÜLU 65B的性能令人印象深刻,但在所有评估设置中,它仍然落后于ChatGPT和GPT-4,这与之前声称使用这些开放资源训练的模型可以匹配ChatGPT的说法相矛盾。

作者们评估了模型在ToxiGen和TruthfulQA上的表现(Table 6),以衡量不同数据集可能导致生成有毒语言或错误信息的程度。他们发现,使用GPT源数据训练的模型产生的有毒生成物比GPT本身要少;TruthfulQA的性能并没有随着模型大小的增加而提高。

观察模型在AlpacaEval中的胜率发现,鼓励长而多样化生成的数据集表现最佳。例如,ShareGPT 在所有模型大小上始终表现最佳,包括在包含ShareGPT的数据混合物上训练的模型。这表明,尽管模型偏好评估很重要,但它并不能全面评估这些模型。因此,模型偏好评估应该只作为更大、更全面的评估设置的一部分。

人类评估结果与AlpacaEval和基于基准的评估大体一致:所有评估都显示65B TÜLU优于7B TÜLU,这表明使用较大的基础模型很重要,而且65B TÜLU与ChatGPT之间的性能差距仍然不小。

研究结果表明,使用强大的基础模型至关重要,结合数据集在平均性能上表现最佳,但目前最强的开放模型尚未达到ChatGPT或GPT-4的水平。

论文链接:https://arxiv.org/pdf/2306.04751

项目链接:GitHub - allenai/open-instruct 

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

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

相关文章

使用k8s管理应用以及java案例

使用k8s管理应用 制作镜像控制器管理podpod数据持久化创建service四层代理创建ingress规则对外发布应用日志与监控应用案例(因无开发代码,最终跑不起来)编写java代码编写 Dockerfile构建 Docker 镜像在 Kubernetes 上运行应用程序创建 Kubernetes 服务service创建in…

【论文阅读笔记】CamoFormer: Masked Separable Attention for Camouflaged Object Detection

1.论文介绍 CamoFormer: Masked Separable Attention for Camouflaged Object Detection CamoFormer:用于隐藏目标检测的掩蔽可分离注意力 TPAMI 2024 Paper Code 2.摘要 如何从背景中识别和分割隐藏的对象是一个挑战。受transformer中多头自注意的启发&#xf…

【从零开始的LeetCode-算法】3254. 长度为 K 的子数组的能量值 I

给你一个长度为 n 的整数数组 nums 和一个正整数 k 。一个数组的 能量值 定义为: 如果 所有 元素都是依次 连续 且 上升 的,那么能量值为 最大 的元素。否则为 -1 。 你需要求出 nums 中所有长度为 k 的子数组的能量值。 请你返回一个长度为 n - k 1…

LLMs之PDF:zeroX(一款PDF到Markdown 的视觉模型转换工具)的简介、安装和使用方法、案例应用之详细攻略

LLMs之PDF:zeroX(一款PDF到Markdown 的视觉模型转换工具)的简介、安装和使用方法、案例应用之详细攻略 目录 zeroX的简介 1、支持的文件类型 zeroX的安装和使用方法 T1、Node.js 版本: 安装 使用方法 使用文件 URL: 使用本地路径&…

qt QStandardItemModel详解

1、概述 QStandardItemModel是Qt框架中提供的一个基于项的模型类,用于存储和管理数据,这些数据可以以表格的形式展示在视图控件(如QTableView、QTreeView等)中。QStandardItemModel支持丰富的数据操作,包括添加、删除…

思源笔记轻松连接本地Ollama大语言模型,开启AI写作新体验!

文章目录 前言1. 下载运行Ollama框架2. Ollama下载大语言模型3. 思源笔记设置连接Ollama4. 测试笔记智能辅助写作5. 安装Cpolar工具6. 配置Ollama公网地址7. 笔记设置远程连接Ollama8. 固定Ollama公网地址 前言 今天我们要聊聊如何通过cpolar内网穿透技术,把国产笔…

基于C++的决策树C4.5机器学习算法(不调包)

目前玩机器学习的小伙伴,上来就是使用现有的sklearn机器学习包,写两行代码,调调参数就能跑起来,看似方便,实则有时不利于个人能力发展,要知道现在公司需要的算法工程师,不仅仅只是会调参&#x…

这款Chrome 插件,使浏览器页面快速滑动到最底部和最顶部,并且还能...

前言 前几日我在使用谷歌浏览器,也就是chrome的时候,浏览一个内容很长的页面,由于页面上的内容有前后关联,所以我必须不停地切换到上面和下面。这非常不方便。使我非常抓狂。后来,我灵机一动,去谷歌浏览器…

汉诺塔问题代码分享及思路分享(c基础)

可以先自己尝试,只要看见过递归即可写。(我自己是)希望能自己尝试出来。 两种方法迭代比递归快很多.(不发代码的原因是想让你自己动手) 1 递归 2 迭代 猜数游戏是自己写的第一个有互动的程序。对我很有意义。 我绑定资源了的,大…

第9章 Apache WEB服务器企业实战

万维网 (WORLD WIDE WEB,WWW)服务器,也称之为WEB服务器,主要功能是提供网上信息浏览服务。WWW是 Internet的多媒体信息查询工具,是Internet上飞快发展的服务,也是目前用的最广泛的服务。正是因为有了WWW软件,才使得近年来 Internet 迅速发展。 目前主流的WEB服务器软件包…

第10章 MYSQL服务器企业实战

MySQL是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 本章介绍关系型数据库特…

【初阶数据结构与算法】沉浸式刷题之顺序表练习(顺序表以及双指针两种方法)

文章目录 顺序表练习1.移除数组中指定的元素方法1(顺序表)方法2(双指针) 2.删除有序数组中的重复项方法1(顺序表)方法2(双指针) 3.双指针练习之合并两个有序数组方法1(直…

【flask开启进程,前端内容图片化并转pdf-会议签到补充】

flask开启进程,前端内容图片化并转pdf-会议签到补充 flask及flask-socketio开启threading页面内容转图片转pdf流程前端主js代码内容转图片-browser端browser端的同步编程flask的主要功能route,def 总结 用到了pdf,来回数据转发和合成,担心flask卡顿,响应差,于是刚好看到threadi…

PADS的GND难解之谜——GND铺不上捅?GND焊盘上全是绿色叉号?

PADS难解之谜——GND覆不上铜?焊盘上全是叉号? 文章目录 PADS难解之谜——GND覆不上铜?焊盘上全是叉号?1、GND灌铜灌不上?2、GND焊盘上全是绿色叉号? 如果对你有帮助,就点赞收藏把!(…

02- 模块化编程-007 Ltc1684( ADC16-Bit)采样显示

1、Ltc1684芯片介绍 该芯片是一款高精度的16位模数转换器(ADC),适合于高精度仪器的开发,它能提供精准的模拟信号到数字信号的转换。 特性 采用 MSOP 封装的 16 位、250ksps ADC 单 5V 电源 低电源电流:850μA (典型值) 自动停机功能可把电源…

信息安全工程师(80)网络安全测评技术与工具

前言 网络安全测评是评估信息系统、网络和应用程序的安全性,以发现潜在的漏洞和威胁,并确保系统符合安全标准和政策的过程。 一、网络安全测评技术 渗透测试(Penetration Testing) 描述:通过模拟真实的攻击&#xff0c…

基于STM32的太阳跟踪系统设计

引言 本项目基于STM32微控制器设计了一个智能太阳跟踪系统,通过集成光敏传感器模块和电机控制系统,实现太阳能电池板的自动调节,以保持太阳能电池板始终垂直对准太阳,从而最大化光能的吸收效率。该系统通过实时监测太阳光的方向&…

新能源汽车与公共充电桩布局

近年来,全球范围内对新能源汽车产业的推动力度不断增强,中国新能源汽车市场也呈现蓬勃发展的势头,在政策与市场的共同推动下,新能源汽车销量持续增长。然而,据中国充电联盟数据显示,充电基础设施建设滞后于新能源汽车数量增长的现状导致充电桩供需不平衡,公共充电桩服务空白区域…

Qt中的Model与View 4:QStandardItemModel与QTableView

目录 QStandardItemModel API QTableView 导航 视觉外观 坐标系统 API 样例:解析一个表格txt文件 QStandardItemModel QStandardItemModel 可用作标准 Qt 数据类型的存储库。它是模型/视图类之一,是 Qt 模型/视图框架的一部分。它提供了一种基于…

【STM32】项目实战——OV7725/OV2604摄像头颜色识别检测(开源)

本篇文章分享关于如何使用STM32单片机对彩色摄像头(OV7725/OV2604)采集的图像数据进行分析处理,最后实现颜色的识别和检测。 目录 一、什么是颜色识别 1、图像采集识别的一些基本概念 1. 像素(Pixel) 2. 分辨率&am…