【LLM之Base Model】Weaver论文阅读笔记
研究背景
当前的大型语言模型(LLM)如GPT-4等,尽管在普通文本生成中表现出色,但在创造性写作如小说、社交媒体内容等方面,往往不能很好地模仿人类的写作风格。这些模型在训练和对齐阶段,往往使用的是大规模的、质量较低的网络文本或机器生成文本,这导致了模型生成的内容虽流畅但缺乏创造性和人类风格。
研究目标
Weaver模型系列旨在通过预训练和特定领域的对齐,使LLMs在创意和专业写作方面表现得更加人性化和多样化。Weaver通过引入一系列新的数据合成和对齐方法,使其能够生成更具创造性和符合人类风格的文本,从而满足内容创作的多样需求。
相关工作
当前的LLMs在大规模网络数据上进行预训练,通常使用由众包人员标注的数据进行对齐。然而,这些模型往往在创意写作中表现不足。与之相比,Weaver通过引入“Instruction Backtranslation”框架和Constitutional DPO算法,显著提高了模型的写作能力。Weaver通过结合现有的先进技术,如LLaMA的改进设计以及Rotary Embedding等,进一步优化了模型的写作表现。
方法论
数据处理
Weaver模型使用了一种创新的数据合成框架,用于在对齐阶段解锁模型的写作能力。首先,通过对高质量故事、小说和文案的收集,生成与写作任务相关的高质量指令-响应对。此外,还采用了结合规则和机器学习的方法来过滤低质量文本,以确保训练数据的高质量和多样性。
在SFT阶段,收集了34个子领域和50万的指令-输出对:

在偏好对齐阶段,使用Constitutional DPO方法收集以下领域任务的dpo数据

解决方案
Instruction Backtranslation
【指令反向翻译】(Instruction Backtranslation)是一个核心方法,用于合成高质量的训练数据,以改进语言模型按照具体指令生成文本的能力。这个过程通过以下几个步骤实现:
- 从专业写作者那里收集高质量内容:首先从专业内容创建者如作家和编辑那里收集高质量的故事、小说章节、博客文章等内容。
- 合成指令-响应对:通过反向翻译框架,将收集到的内容转化为指令-响应对。具体来说,对于每个高质量的文本,模型会生成一个与之对应的指令,使得该文本可以作为这一指令的合理响应。
- 扩展和多样化的指令生成:该框架不仅重新生成已有指令,还能创造新的指令,以引导模型产生与原始文本风格或内容相符的新文本。这样做可以显著提高数据的多样性和覆盖范围。
- 提高数据注释质量:通过自动化的反向翻译过程减少人工注释的需求,降低成本,同时通过精确控制生成过程来提高注释数据的质量。
Constitutional DPO
提出Constitutional DPO算法,用于模型偏好的优化。Constitutional DPO 是一种用于调整大型语言模型(LLMs)的新型方法,旨在通过学习遵循专家定义的原则,从而优化模型的输出质量。这种方法结合了几种现有技术的优势,包括Constitutional AI、RLCD(Reinforcement Learning with Critic-Demonstrations)、以及DPO(Direct Preference Optimization)。此算法利用专家注释的原则来合成反例,以此校准模型输出,确保其遵循特定的写作原则和风格。

具体来说,Constitutional DPO 通过以下步骤工作:
(1)原则定义与注释:首先,邀请人类专家(如专业作家、编辑)为不同的写作任务注释原则。这些原则不仅包括简短的描述,还包含一个遵循该原则的案例和一个违反该原则的案例,以及解释为什么这些案例符合或违反原则的自然语言推理。
(2)负面示例生成:在每个原则下,基于高质量的文本样本,使用语言模型(如GPT)生成与正面示例相对的负面示例。负面示例通过最小化修改原始响应来违反特定原则,但不影响其他好的方面。这种方法生成的偏好数据噪声较少,特别是在需要较高标准的写作领域中,能够提供更加有原则性和针对性的学习信号。
(3)偏好数据优化:利用生成的正负样本对,作为 DPO 训练的输入数据对 (yw, yl)。通过这种方式,每个数据对都包含了对应原则的关键训练信号,有助于模型在微调过程中学习并遵循这些原则。
实验
能力体系设计
| 大类 | 中类 | 小类 |
|---|---|---|
| 指令遵循 | 领域 | 小说写作 |
| 指令遵循 | 领域 | 非小说创意性写作 |
| 指令遵循 | 领域 | 营销写作 |
| 指令遵循 | 领域 | 技术写作 |
| 指令遵循 | 任务 | 内容编写 |
| 指令遵循 | 任务 | 大纲编写 |
| 指令遵循 | 任务 | 润色 |
| 指令遵循 | 任务 | 风格转换 |
| 指令遵循 | 任务 | 扩写/缩写 |
| 指令遵循 | 任务 | 头脑风暴 |
| 指令遵循 | 任务 | 文章审核 |
| 指令标注 | - | - |
| 答案评估 | - | - |
| RAG | - | - |
| Function call | - | - |
实验设计
数据方面
| 阶段 | 量级 | 备注 |
|---|---|---|
| Pretrain | 50B | 将小说数据(即小说和故事)和非小说数据(即文章、论文、报告等)混合在一起。它的比例是1: 1。我们还将中文和英语数据与4: 1的部分混合,使Weaver同时支持中文和英语。 |
| Sft | 40w | |
| DPO | 2.5w |
评价指标
Weaver模型在一个专门设计的创意写作基准测试(WriteBench)上进行了评估,该测试覆盖了多种写作领域和任务,包括小说写作、创意非小说写作、技术写作和市场营销写作,用以全面评估模型的写作能力。
WriteBench 包含了超过1000条测试指令,覆盖了上述多个写作领域。为了保证评估的公平性和客观性,WriteBench 的数据收集和选择过程由一个独立的评估团队进行。这些测试指令被用于生成模型的输入提示,并记录模型的输出以进行比较。
消融方面
主要选择了市面上比较有名的模型,如GPT4、qwen等,直接使用WriteBench中的相同指令作为所有被测试的llm的输入提示,并收集模型输出作为响应。
实验结论
实验结果显示,Weaver模型在所有大小配置上均优于现有的更大的通用LLM。特别是Weaver Ultra模型,在多个创意写作场景中表现优异,超过了GPT-4等先进模型。


参考资料
- 论文
- 模型体验
相关文章:
【LLM之Base Model】Weaver论文阅读笔记
研究背景 当前的大型语言模型(LLM)如GPT-4等,尽管在普通文本生成中表现出色,但在创造性写作如小说、社交媒体内容等方面,往往不能很好地模仿人类的写作风格。这些模型在训练和对齐阶段,往往使用的是大规模…...
泰坦尼克号 - 从灾难中学习机器学习/Titanic - Machine Learning from Disaster(kaggle竞赛)第一集(了解赛题)
此次目的: hello大家好,俺是没事爱瞎捣鼓又分享欲爆棚的叶同学!!!准备出几期博客来记录我学习kaggle数据科学入门竞赛的过程,顺便也将其中所学习到的知识分享出来。这是第一集(了解赛题&#x…...
使用C++调用PyTorch模型的弯弯绕绕,推荐LibTorch加载,C++处理
需求:使用C调用Pytorch模型,对处理后的图像进行预测。 第一种,使用C调用Python代码处理,使用pybind11源代码再末尾 缺点,导入Python包非常麻烦,执行的C程序找不到cv2 torch包等等 本人解决了cv2 numpy等包&…...
实现异形(拱形)轮播图
项目需要实现如上图所示的轮播图。 实现思路: 1.项目引入使用普通轮播图。 2.根据轮播图个数,动态给可视范围的第一个轮播图和最后一个轮播图添加样式。 代码实现: 经调研,使用slick轮播图(官网地址 https://kenwheel…...
【软件测试】2024年职业院校技能大赛高职组“软件测试”赛项样题
目录 任务一:功能测试(45 分) 任务二:自动化测试(15 分) 任务三:性能测试(15 分) 任务四:单元测试(10 分) 任务五:接…...
python数组和队列
一、数组 如果一个列表只包含数值,那么使用array.array会更加高效,数组不仅支持所有可变序列操作(.pop、.insert、.extent等),而且还支持快速加载项和保存项的方法(.fromfile、.tofile等) 创建…...
Vision Transformer(ViT)一种将Transformer架构应用于计算机视觉领域的模型
Vision Transformer(ViT)是一种将Transformer架构应用于计算机视觉领域的模型,它通过自注意力机制处理图像数据,与传统的卷积神经网络(CNN)相比,ViT能够更好地捕捉全局依赖关系。以下是对ViT的详…...
得到任务式 大模型应用开发学习方案
根据您提供的文档内容以及您制定的大模型应用开发学习方案,我们可以进一步细化任务式学习的计划方案。以下是具体的任务式学习方案: 任务设计 初级任务 大模型概述:阅读相关资料,总结大模型的概念、发展历程和应用领域。深度学…...
使用el-menu跳转时偶尔会出现路由已经变了,但是页面却显示空白的情况
刚开始我以为是我数据加载的问题,后来又看有人说是template里不能包多个div,但我去看我出错的组件,并没有出现两个div。 后来我就把每个都给改了,即使是elemen-ui的标签也全部改在一个div里,就发现没问题了。 我改的…...
C语言家教记录(七)
C语言家教记录(七) 导语字符串字面量变量读写字符串操作函数惯用法数组 结构联合枚举总结与复习 导语 本次授课的内容如下:字符串,结构体、联合体、枚举 辅助教材为 《C语言程序设计现代方法(第2版)》 字…...
【数据结构】——十大排序详解分析及对比
【数据结构】——十大排序详解分析及对比 文章目录 【数据结构】——十大排序详解分析及对比前言1. 排序的概念及其运用1.1 排序的概念1.2 排序的应用 2. 插入排序2.1 直接插入排序2.2 希尔排序 3. 选择排序3.1 选择排序3.2 堆排序 4 交换排序4.1 冒泡排序4.2 快速排序4.2.1 霍…...
散点图适用于什么数据 thinkcell散点图设置不同颜色
在数据可视化的众多工具和技巧中,散点图是一种极为有效的方式,能够揭示变量之间的关系,尤其是在探索数据集的相关性、分布趋势、集群现象时。而在众多助力于制作高质量散点图的工具中,think-cell插件以其高效的操作和丰富的功能&a…...
1. windows搭建Kafka教程
目录 1. 部署zookeeper 1.1 下载地址 1.3 修改zoo配置 1.4 启动zookeepe服务 02 部署kafka 2.1 下载组件包 2.2 解压安装包 2.3 修改配置 2.4 启动kafka服务端 1. 部署zookeeper 1.1 下载地址 下载地址: kafka/zookeeper 下载地址 (qq.com) 1.2 解压 (…...
XSS复现
目录 XSS简单介绍 一、反射型 1、漏洞逻辑: 为什么有些标签可以触发,有些标签不能触发 可以触发的标签 不能触发的标签 为什么某些标签能触发而某些不能 二、DOM型 1、Ma Spaghet! 要求: 分析: 结果: 2、J…...
怎么利用XML发送视频彩信
传统的短信推广主要以文字为主,用户接收到的信息往往显得单调乏味。而视频彩信则不同,它结合了视频和音频的优势,通过生动的画面和悦耳的音乐,给用户带来强烈的视听冲击,从而极大地提高了用户的吸引力。 XML成功返回示…...
5G+工业互联网产教融合创新实训室解决方案
一、建设背景 随着第五代移动通信技术(5G)的快速普及和工业互联网的迅猛发展,全球制造业正面临着前所未有的深刻变革。5G技术凭借其超高的传输速率、极低的延迟以及大规模的连接能力,为工业自动化、智能制造等领域带来了革命性的…...
象棋布局笔记
文章目录 布局中炮(当头炮)当头炮的缺点如何应对平车压马平炮对车的理解中炮对屏风马急进中兵 中炮盘头马盘头马两翼突破 盖马三锤 反宫马克制反宫马 顺手炮 士角炮56炮破解56炮 小当头 屏风马7卒分支3卒分支屏风马红车二进六败招(黑未挺7卒前直接进车)马八进九变车三退一变马二…...
百度AI智能云依赖库OpenSSL库和Curl库及jsoncpp库安装
开发百度AI项目时,需要用到https协议,因此需要安装OpenSSl和curl库。 若只安装curl库,只支持http协议,不支持https协议。此外,还需要jsoncpp库,用以组包及解析与百度AI通信的json格式协议。 1.Ubuntu上安装…...
智慧空调离线语音控制方案:NRK3301芯片的深度解析与应用
随着AI技术的大爆发和智能家居的风潮,语音交互已成为智能家居产品的一项必备技能,在家电、音箱、穿戴设备乃至墙壁开关等贴近生活的产品中应用越来越广泛,智能语音识别是当前最热门的方案之一。 九芯智能顺应家居行业智能语音交互市场需求&a…...
基础第3关:LangGPT结构化提示词编写实践
提示词: # Role: 伟大的数学家 ## Profile - author: LangGPT - version: 1.0 - language: 中文 - description: 一个伟大的数学家,能够解决任何的数学难题 ## Goals: 根据关键词进行描述,避免与已有描述重复。 ## Background: 你正在被…...
蓄电池与超级电容混合储能微电网的未讲解部分总结
蓄电池 超级电容混合储能微电网 没有讲解搞离网微电网的都懂,储能这块一直是卡脖子的事儿——单独堆蓄电池吧,遇到村里突然开个打米机、抽水泵这种大负载,瞬间电流顶上去,电瓶寿命唰唰掉;全上超级电容呢,确…...
遇到“用户对AIAgent进行提示词注入”怎么办?
文章目录先理解什么是“提示词注入”图片里的防护方法(两层)第一层:System Prompt 先贴“封条”第二层:输出端再加“安检门”总结先理解什么是“提示词注入” 你可以把 Agent(智能助手) 想象成一个 严格遵…...
终极指南:如何用Save Image as Type一键转换网页图片格式
终极指南:如何用Save Image as Type一键转换网页图片格式 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mirrors/sa/Sav…...
手把手教你用XCVU3P和FMC+接口搭建高性能PCIe载板(附原理图下载)
基于XCVU3P与FMC的高性能PCIe载板开发实战指南 在当今高速数据处理领域,FPGA因其并行计算能力和可重构特性成为关键器件。Xilinx UltraScale系列的XCVU3P芯片配合FMC扩展接口,为开发者提供了强大的硬件加速平台。本文将深入解析如何从零开始构建一个支持…...
掌握Web AR开发:从痛点到实战的AR.js技术指南
掌握Web AR开发:从痛点到实战的AR.js技术指南 【免费下载链接】AR.js Image tracking, Location Based AR, Marker tracking. All on the Web. 项目地址: https://gitcode.com/gh_mirrors/arj/AR.js Web AR开发痛点与解决方案 开发增强现实应用时࿰…...
别再ping IP了!手把手教你给ZeroTier虚拟网络里的设备起个‘好记’的名字(DNS/mDNS实战)
告别IP记忆困扰:ZeroTier网络中的智能命名方案实战指南 每次在ZeroTier虚拟网络中访问设备时,你是否也厌倦了反复查看和输入那串冗长的IP地址?想象一下,当你想连接家庭NAS时,只需输入nas.home就能立即访问,…...
uniapp定位踩坑记:腾讯地图误差1km?高德地图精准配置全攻略
Uniapp定位精度优化实战:从腾讯地图1km误差到高德厘米级精准配置 最近在开发一款外卖配送类应用时,我被定位精度问题折磨得够呛。原本以为接入腾讯地图SDK就能轻松搞定,结果实测发现定位偏差经常达到800米以上——这对于需要精确到楼栋的外卖…...
String、StringBuilder、StringBuffer 的本质区别
作为 Java 开发者,String、StringBuilder、StringBuffer 这三个类几乎每天都在用。但面试官总爱问这道题,因为它背后藏着 JVM 内存模型、线程安全、性能优化等核心知识点。今天我们从本质出发,彻底把这三个类讲透。一、String 为什么不可变&a…...
UE4/UE5碰撞事件全解:从Overlap到Hit的7个必知配置项
UE4/UE5碰撞系统深度解析:从基础配置到实战避坑指南 在虚幻引擎开发中,碰撞系统是构建交互体验的核心支柱之一。无论是角色移动、物体交互还是战斗判定,都离不开精准的碰撞检测机制。本文将深入剖析UE4/UE5中Overlap与Hit事件的本质区别&…...
OpenArk:新一代Windows系统安全分析工具完整指南
OpenArk:新一代Windows系统安全分析工具完整指南 【免费下载链接】OpenArk The Next Generation of Anti-Rookit(ARK) tool for Windows. 项目地址: https://gitcode.com/GitHub_Trending/op/OpenArk 如果你正在寻找一款强大的Windows系统安全分析工具&#…...
