【通览一百个大模型】Baize(UCSD)

【通览一百个大模型】Baize(UCSD)

作者:王嘉宁,本文章内容为原创,仓库链接:https://github.com/wjn1996/LLMs-NLP-Algo

订阅专栏【大模型&NLP&算法】可获得博主多年积累的全部NLP、大模型和算法干货资料大礼包,近200篇论文,300份博主亲自撰写的markdown笔记,近100个大模型资料卡,助力NLP科研、学习和求职。


Baize大模型基本信息资料卡

序号大模型名称归属推出时间规模预训练语料评测基准模型与训练方法开源论文模型地址相关资料
58BaizeUCSD2023-0513B不涉及预训练,不存在预训练语料。通过ChatGPT进行Self-Chat实现自动构建大量的多轮对话数据。Baize的训练结构如下图所示:
image.png
初始化一个种子数据集(Quora4 和 Stack Overflow5 的问题作为种子),并进行随机采样,根据采样的结果设计对应的提示模板后,交给ChatGPT进行自我对话,从而产生大量模拟人类的多轮对话数据,总共产生111.5k对话数据,花费约100美元。
训练过程中,基于LLaMA和LoRA进行参数有效性训练,得到Baize模型。输入序列为512,LoRA中的秩k为8。使用8位整数格式 (int8) 参数初始化LLaMA检查点。 对于7B、13B和30B模型,使用 Adam 优化器更新LoRA 参数,batch size为64,学习率为2e-4、1e-4和 5e-5。 可训练的LoRA参数在 NVIDIA A100-80GB GPU 上微调了1个 epoch。
https://github.com/project-baize/baize-chatbothttps://arxiv.org/pdf/2304.01196.pdfhttps://huggingface.co/project-baize/baize-v2-13b
https://huggingface.co/project-baize/baize-lora-30B
白泽大模型介绍

一、核心要点

  • 随着ChatGPT和GPT-4的提出,大模型展现了超出人类表现的能力,并在很多领域表现的很精彩;
  • 然而,现如今这些大模型均是黑盒模型,对研究和应用都带来了一定的阻碍。
  • 缺乏可获得的高质量的对话数据加剧了上述的问题和困难。
  • 为了解决这个问题,我们提出一种新颖的pipeline,利用chatgpt的能力自动生成一系列高质量的多轮对话语料。这些语料可以作为有价值的资源用于训练或评估对话模型在多轮对话中的表现。
  • 基于LLaMA在生成的多轮对话语料上训练,得到我们的Baize模型。
  • 我们继续提出一种自蒸馏式的对齐方法,进一步提升模型的效果。

二、方法

image.png

Self-Chat

Self-Chat旨在完全利用chatgpt扮演对话角色生成对话数据。
给定一个seed,可以是一个问题,或者一个主题,配套一个模板,让chatgpt生成对话数据。
模板如下所示:
image.png
根据这个模板,给定一个seed,让chatgpt生成多轮对话数据,样例如下所示:
image.png
挑选Quora和Stack Overflow数据集作为seed,每个数据集中挑选55k个问题,最终获得了111.5k个多轮对话数据,花费约100美元.
另外为了提高模型的instruction-tuning能力,也引入了alpaca语料。
最终的多轮对话数据如下所示:
image.png

模型训练

在构造的对话数据集上,选择LLaMA-7B和LLaMA-13B模型进行参数有效性监督微调,对应的模型和数据如下表示:
image.png
参数有效性方法选择LoRA。

  • 选择V1版本的对话数据,SFT后得到的模型是Baize-v1;
  • 选择v2版本的对话数据,SFT后得到的模型是Baize-v1.5;
  • 在Baize-v1.5基础上,进行对齐,得到Baize-v2模型。

模型训练时,在LLaMA的Transformer的每一层嵌入LoRA参数。

Self-Distillation with Feedback

在SFT阶段后,为了提升模型的对齐性能,提出自蒸馏方法。
首先在Quora数据集上,让SFT模型生成4个候选答案response。然后设计模板,让ChatGPT作为评估器对4个候选答案进行排序。模板如下所示:
image.png
因此,每个question可以得到ChatGPT认为最好的response。
在对齐阶段,选择Baize-v1.5模型,并额外插入新的LoRA参数,训练时,只选择最好的response进行优化训练。

实验细节

最大长度:512/1024
LoRA rank=8
量化感知训练:INT8量化训练
Adam优化器,batchsize=64,单机A100(80G);
学习率2e-4(7B)、1e-4(13B)和5e-5(30B);
推理阶段采用的prompt如下所示:
image.png

在prompt中,插入“The AI assistant consistently declines to engage with topics, questions, and instructions related to unethical, controversial, or sensitive is- sues.”较为关键。

实验

(1)GPT-4 Score
挑选Vicuna评估集,包含80个人工标注的prompt,涉及9个不同的类别。
在评估时,挑选ChatGPT的答案,和Baize(或者其他baseline模型)的答案,设计指令让GPT-4进行挑选。计算baize(或者其他baseline)的答案被挑选到的比例
实验结果如下所示:
image.png

因为每次都是和ChatGPT对比,因此ChatGPT的答案认为是100%的。Baize-v2-13B发现有92%的情况下,GPT-4挑选了Baize的答案,说明其效果最好。
GPT-4会偏向于挑选第一个候选答案,为了和之前的工作保持一致,我们将ChatGPT的生成结果作为第一个候选答案。

(2)质量评估
对于一些不道德的问题,我们期望模型不能给出反应,下面是case study,说明Baize模型可以有效避免回答潜在道德风险的问题。
image.png

  博客记录着学习的脚步,分享着最新的技术,非常感谢您的阅读,本博客将不断进行更新,希望能够给您在技术上带来帮助。


【大模型&NLP&算法】专栏

近200篇论文,300份博主亲自撰写的markdown笔记。订阅本专栏【大模型&NLP&算法】专栏,或前往https://github.com/wjn1996/LLMs-NLP-Algo即可获得全部如下资料:

  • 机器学习&深度学习基础与进阶干货(笔记、PPT、代码)
  • NLP基础与进阶干货(笔记、PPT、代码)
  • 大模型全套体系——预训练语言模型基础、知识预训练、大模型一览、大模型训练与优化、大模型调优、类ChatGPT的复现与应用等;
  • 大厂算法刷题;

在这里插入图片描述

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

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

相关文章

Delphi 编程实现拖动排序并输出到文档

介绍:实现拖动排序功能,并将排序后的内容输出到文档中。我们将使用 Delphi 的组件来创建一个界面,其中包括一个 Memo 控件用于输入内容,一个 ListBox 控件用于显示排序后的内容,并且提供按钮来触发排序和输出操作。 代…

常用Win32 API的简单介绍

目录 前言: 控制控制台程序窗口的指令: system函数: COORD函数: GetStdHandle函数: GetConsoleCursorInfo函数: CONSOLE_CURSOR_INFO函数: SetConsoleCursorInfo函数: SetC…

docker自动构建jar镜像,自动发布最新镜像的简单shell脚本

使用docker自动构建spring boot jar,自动发布最新镜像的简单shell脚本。一般在docker上部署流程问为: 构建docker镜像 -> 停止旧版本 -> 杀掉旧版本 -> 部署最新镜像。 1、maven/mvd/gradle 打包spring boot jar 2、编写Dockerfile&#xff0c…

读书笔记:Effective C++ 2.0 版,条款37(不要重新定义继承而来的非虚函数)、条款38(不重新定义继承而来的缺省参数值)

条款37: 决不要重新定义继承而来的非虚函数 非虚函数在编译期静态绑定,容易出错。 概念上也不合适。 任何条件下都要禁止重新定义继承而来的非虚函数。 条款38: 决不要重新定义继承而来的缺省参数值 继承一个有缺省参数值的虚函数。 虚函数是动态绑定而缺省参数值是…

Java面试题-Java核心基础-第十一天(注解)

目录 一、注解是什么? 二、注解的作用? 三、Java中的内置注解有哪些? 四、如何自定义一个注解? 五、JDK8中的新特性 一、注解是什么? 注解就是一种可以标注在类、属性、方法、方法参数等结构上面的一种特殊“注释…

解决“您点击的链接已过期”;The Link You Followed Has Expired的问题

今天WP碰到一个坑。无论发布文章还是更新插件、更换主题都是这么一种状态“您点击的链接已过期”;The Link You Followed Has Expired 百度出来的答案都是修改post_max_size 方法1. 通过functions.php文件修复 这种方法更容易,只需将以下代码添加到Wor…

Flutter和SwiftUI比较

0.语言 SwiftUI 毫无疑问是Swift语言编写, 在2019年正式推出,目前最新是Swift 5.9 (2023年9月),由Apple公司维护和发行; 该编程语言发明人已离职Apple。 语言官网:https://developer.apple.com/swift/ 最好用Xcode编…

maven仓库改国内源

今天准备复现漏洞环境,发现太慢,需要配置国内源 file -> settings 搜索maven 修改settings.xml,这里的需要修改两个文件 1.上图的settings.xml文件 2.idea的maven模块 settings.xml文件将原来的注释掉,然后把阿里的添加上&…

【前端设计模式】之调停者模式(中介者模式)

调停者模式是一种行为设计模式,它通过引入一个调停者对象来集中处理一组对象之间的交互。调停者模式的目标是减少对象之间的直接通信,从而降低耦合度,并且使代码更易于维护和扩展。 调停者模式特性 将对象之间的通信集中在一个调停者对象中…

Web前端—Flex布局:标准流、浮动、Flex布局、综合案例(短视频首页解决方案)

版本说明 当前版本号[20231024]。 20231024初版 目录 文章目录 版本说明目录Flex布局01-标准流02-浮动基本使用产品区域布局HTML标签CSS样式 清除浮动场景搭建额外标签法单伪元素法双伪元素法overfow法 03-Flex布局Flex组成主轴对齐方式侧轴对齐方式修改主轴方向弹性伸缩比弹…

【Spring Cloud】seata分布式事务官方入门案例(导读2)

文章目录 1. 准备seata环境1.1. 生产环境启动seata1.2. 采用代码启动seata 2. 开始测试3. 附录3.1. 如果第一次配置seata压缩包3.2. 常见问题参考 本文是针对官方seata入门文章https://sca.aliyun.com/zh-cn/docs/2022.0.0.0/user-guide/seata/quick-start的 补充说明&#xf…

第3章 指令级并行及其利用

3.1 指令级并行:概念和挑战 1985年之后几乎所有处理器都使用流水线来使指令能重叠执行。由于指令可以并行执行,所有指令之间的这种可能得重叠称为指令级并行ILP。 ILP大体有两种实现方法: 1. 依靠硬件来动态发现并实现并行&#xf…

基于C语言 --- 自己写一个通讯录

C语言程序设计笔记---039 C语言之实现通讯录1、介绍C/C程序的内存开辟2、C语言实现通讯录2.1、ContactMain.c程序大纲2.2、Contact2.h2.3、Contact2.c2.3.1 InitContact( )初始化通讯录函数2.3.2 AddContact( )添加联系人和CheckCapaticy( )检查容量函数2.3.3、ShowContact( )显…

项目架构落地之需求分析(一)

目标 尽可能全面准确、全面、深入理解业务(5W2H)识别重难点业务理清业务流程和功能点识别非功能需求和质量约束 一.需求调研 派什么人: 懂业务头脑灵活懂技术擅长沟通业务经验多情商高 调研之前: 做功课假想系统 调研中&am…

常用Web安全扫描工具汇整

漏洞扫描是一种安全检测行为,更是一类重要的网络安全技术,它能够有效提高网络的安全性,而且漏洞扫描属于主动的防范措施,可以很好地避免黑客攻击行为,做到防患于未然。 1、AWVS Acunetix Web Vulnerability Scanner&a…

数据库Redis(一):基础知识

NoSQL数据库简介 NoSQL,Not only SQL,泛指非关系型的数据库,不依赖业务逻辑方式存储,而以简单的 key-value 模式存储,极大地增加了数据库的扩展能力。 1)不遵循SQL标准; 2)不支持A…

图书推荐管理系统Python+Django网页界面+协同过滤推荐算法

一、介绍 图书管理与推荐系统。使用Python作为主要开发语言。前端采用HTML、CSS、BootStrap等技术搭建界面结构,后端采用Django作为逻辑处理,通过Ajax等技术实现数据交互通信。在图书推荐方面使用经典的协同过滤算法作为推荐算法模块。主要功能有&#…

安全、高效远程访问大数据分析平台解决方法:Splunk Enterprise+Cpolar

文章目录 前言1. 搭建Splunk Enterprise2. windows 安装 cpolar3. 创建Splunk Enterprise公网访问地址4. 远程访问Splunk Enterprise服务5. 固定远程地址 前言 Splunk Enterprise是一个强大的机器数据管理平台,可帮助客户分析和搜索数据,以及可视化数据…

iPhone开发--Xcode15下载iOS 17.0.1 Simulator Runtime失败解决方案

爆句粗口,升级后公司网络下载iOS 17.0.1 Simulator Runtime一直出错,每次出错后都得重新开始下载,oh,f**k。上一次在在家里的网络升级成功。 解决办法一: 进入网址:https://developer.apple.com/download…

QMap之自定义Key和Value

为什么要自定义QMap的 key和value呢?因为在某些应用场景,基本数据类型的key和value并不能满足要求,比如座位在第几行、第几列,座位上人的姓名、职务;二维坐标系中散点的横坐标、纵坐标,散点的id、result。即key和value是一种多对多的关系。 #include <QMap> #incl…