[阅读笔记18][CITING]LARGE LANGUAGE MODELS CREATE CURRICULUM FOR INSTRUCTION TUNING

这篇论文是23年10月提交到arxiv上的,也是用大模型蒸馏小模型的思路。

作者在这篇论文中提出了课程指令微调,大体流程如下图所示,教师模型给出一个问题,让学生模型回答一下,这时候学生回答大概率不够准确,这时候把学生的回答以及评价该问题的标准输入给教师模型,让教师模型给出一个修改后的回答,然后让学生根据修改过的回答进行微调,持续这个过程若干轮就能得到一个不错的学生模型。
作者的灵感来自于导师帮学生修改论文这个场景,学生把写好的论文发给导师,导师把修改版返回去,然后学生可以比较原版和修改版之间的差异,以此来提升自己的写作水平。
最终得到的小模型经过GPT-4评估,对比大部分模型都有70%以上的胜率。这些模型都是在LLaMA-7B的基础上训练得到的。

整个系统分为两部分,第一部分是根据教师LLM确定不同指令的评价标准,第二部分是对学生模型使用之前提到的课程指令微调。

对于第一部分确定不同指令评价标准时又分两步,首先是不同的指令众多,如果每个指令对应一个单独的标准是不现实的,作者将指令进行了分类,对于同一类指令使用相同的评价标准,分类这件事也是交给LLM处理的,使用的prompt如下图所示,顺便还让LLM把该类别标准一起生成了。
然后就是对于测试集中没见过的指令如果确定它的类别呢,这里使用sentence-BERT模型来对训练集中每条指令编码为embedding,然后新来的指令也同时编码为embedding,对于每个指令类都和其中每个指令计算内积,然后这条指令和每个类别的相似度就是内积的均值,最后这条指令类别就是相似度最高的那个类别。类别确定了那这条指令对应的标准也就确定了。

课程指令微调这部分直接看伪代码会好理解一些,上面那张图就是论文中的伪代码。一共有若干轮,每轮先直接让学生模型输出回答,然后把问题、标准还有学生回答拿给教师模型,让教师模型生成一个修改版的回答,再把问题、标准、学生回答还有教师回答拿给学生模型微调,教师生成回答和微调学生的prompt如下图所示。

这里展示了这篇论文的一些细节,这部分内容还是挺重要的。首先模型使用的是LLaMA-7B作为基座模型,然后使用了Alpaca数据集来训练,将划分训练集、验证集和测试集为8:1:1,然后在训练集和验证集上用LoRA框架微调学生模型得到SFT,之后就是抽取了1000条问题,以GPT-3.5为教师模型,逐步改进学生的回答。

最后是结果展示,作者在四个数据集上比较了CITING和SFT、RLHF、RRHF(Rank responses to align language models with human feedback without tears)和RAFT(Reward ranked finetuning for generative foundation model alignment)的胜率,由GPT-4给出从回答清晰度、回答深度和综合性三方面的得分。可以看到无论哪项比较CITING都保持着优势。

接下来是对于迭代轮数的消融实验,可以看到第四轮开始模型性能就开始退化了。作者解释到这是因为重复指令微调(毕竟一直是那1000个指令,如果每次重新抽样会不会好点?)导致了灾难性遗忘,微调后的模型忘记了最早的SFT的知识,导致模型性能下降。

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

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

相关文章

深度学习之图像分割从入门到精通——基于unet++实现细胞分割

模型 import torch from torch import nn__all__ [UNet, NestedUNet]class VGGBlock(nn.Module):def __init__(self, in_channels, middle_channels, out_channels):super().__init__()self.relu nn.ReLU(inplaceTrue)self.conv1 nn.Conv2d(in_channels, middle_channels, …

生态短讯 | Tapdata 与 TDengine 完成产品兼容性互认证,打造物联网实时数据生态

近月,深圳钛铂数据有限公司(以下简称钛铂数据)自主研发的实时数据平台(Tapdata Live Data Platform)与北京涛思数据科技有限公司(以下简称涛思数据)自主研发的大数据平台 TDengine,已…

【深度学习】Dropout、DropPath

一、Dropout 1. 概念 Dropout 在训练阶段会让当前层每个神经元以drop_prob( 0 ≤ drop_prob ≤ 1 0\leq\text{drop\_prob}\leq1 0≤drop_prob≤1)的概率失活并停止工作,效果如下图。 在测试阶段不会进行Dropout。由于不同批次、不同样本的神…

数据库管理-第171期 Oracle是用这种方式确保读一致的(20240418)

数据库管理171期 2024-04-18 数据库管理-第171期 Oracle是用这种方式确保读一致的(20240418)1 基本概念2 用处3 注意事项总结 数据库管理-第171期 Oracle是用这种方式确保读一致的(20240418) 作者:胖头鱼的鱼缸&#x…

MySQL中explain的用法

执行结果各字段的含义 EXPLAIN SQL语句 如: EXPLAIN SELECT * FROM test 执行结果: 列名描述id在一个大的查询语句中每个SELECT关键字都对应一个 唯一的idselect_typeSELECT关键字对应的那个查询的类型table表名partitions匹配的分区信息type针对单表…

P2P面试题

1)描述一下你的项目流程以及你在项目中的职责? 一个借款产品的发布,投资人购买,借款人还款的一个业务流程,我主要负责测注册,登录,投资理财这三个模块 2)你是怎么测试投资模块的&am…

HttpServlet,ServletContext,Listener它仨的故事

1.HttpServlet。 听起来是不是感觉像是个上古词汇,是不是没有阅读下去的兴趣了?Tomcat知道吧,它就是一个servlet容器,当用户向服务器发送一个HTTP请求时,Servlet容器(如Tomcat)会根据其配置找到…

overflow(溢出)4个属性值,水平/垂直溢出,文字超出显示省略号的详解

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合…

解析 IP(IPv4)地址

IPv 4 地址 一、组成二、IPv4 的分类三、子网掩码四、特殊的地址五、私有 IP 地址六、全局 IP 地址七、私有 IP 地址和全局 IP 地址的关系八、广播地址九、网络地址十、IP 地址个数计算十一、查看电脑的 IP 地址(window)十二、手动设置电脑的 IP 地址 为…

华为Pura 70系列,一种关于世界之美的可能

1874年,莫奈创作了《印象日出》的油画,在艺术界掀起了一场革命。当时的主流艺术,是追求细节写实,追求场面宏大的学院派。他们称莫奈等人是“印象派”,认为莫奈的画追求光影表达,追求描绘抽象的意境&#xf…

DRF: 序列化器、View、APIView、GenericAPIView、Mixin、ViewSet、ModelViewSet的源码解析

前言:还没有整理,后续有时间再整理,目前只是个人思路,文章较乱。 注意路径匹配的“/” 我们的url里面加了“/”,但是用apifox等非浏览器的工具发起请求时没有加“/”,而且还不是get请求,那么这…

天才简史——Sylvain Calinon

一、研究方向 learning from demonstration(LfD)领域的专家,机器人红宝书(Springer handbook of robotics)Robot programming by demonstration章节的合作者。主要研究兴趣包括: 机器人学习、最优控制、几…

[数据结构]——排序——插入排序

目录 ​编辑 1 .插入排序 1.基本思想: 2.直接插入排序: ​编辑 1.代码实现 2.直接插入排序的特性总结: 3.希尔排序( 缩小增量排序 ) 1.预排序 2.预排序代码 3.希尔排序代码 4.希尔排序的特性总结: 1 .插入排序 1.基本思…

从头开始构建自己的 GPT 大型语言模型

图片来源: Tatev Aslanyan 一、说明 我们将使用 PyTorch 从头开始构建生成式 AI、大型语言模型——包括嵌入、位置编码、多头自注意、残差连接、层归一化,Baby GPT 是一个探索性项目,旨在逐步构建类似 GPT 的语言模型。在这个项目中&#xff…

Linux 文件描述符

1、文件描述符 程序和进程的区别: 1、test.c:是一个程序,只占用磁盘空间,不占用内存空间 2、可执行文件 test:是一个程序,只占用磁盘空间,不占用内存空间 3、启动 可执行文件 test&#xff…

强固型工业电脑在码头智能化,龙门吊/流机车载电脑的行业应用

码头智能化行业应用 对码头运营来说,如何优化集装箱从船上到码头堆场到出厂区的各个流程以及达到提高效率。 降低成本的目的,是码头营运获利最重要的议题。为了让集装箱码头客户能够安心使用TOS系统来调度指挥码头上各种吊车、叉车、拖车和人员&#xf…

第一届 _帕鲁杯_ - CTF挑战赛

Mis 签到 题目附件: 27880 30693 25915 21892 38450 23454 39564 23460 21457 36865 112 108 98 99 116 102 33719 21462 21069 27573 102 108 97 103 20851 27880 79 110 101 45 70 111 120 23433 20840 22242 38431 22238 22797 112 108 98 99 116 102 33719 2…

matplotlib从起点出发(15)_Tutorial_15_blitting

0 位图传输技术与快速渲染 Blitting,即位图传输、块传输技术是栅格图形化中的标准技术。在Matplotlib的上下文中,该技术可用于(大幅度)提高交互式图形的性能。例如,动画和小部件模块在内部使用位图传输。在这里&#…

揭开ChatGPT面纱(3):使用OpenAI进行文本情感分析(embeddings接口)

文章目录 一、embeddings接口解析二、代码实现1.数据集dataset.csv2.代码3.运行结果 openai版本1.6.1 本系列博客源码仓库:gitlab,本博客对应文件夹03 在这一篇博客中我将使用OpenAI的embeddings接口判断21条服装评价是否是好评。 首先来看实现思路&am…

Llama3新一代 Llama模型

最近,Meta 发布了 Llama3 模型,从发布的数据来看,性能已经超越了 Gemini 1.5 和 Claud 3。 Llama 官网说,他们未来是要支持多语言和多模态的,希望那天赶紧到来。 未来 Llama3还将推出一个 400B大模型,目前…