【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: 你正在被…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
打手机检测算法AI智能分析网关V4守护公共/工业/医疗等多场景安全应用
一、方案背景 在现代生产与生活场景中,如工厂高危作业区、医院手术室、公共场景等,人员违规打手机的行为潜藏着巨大风险。传统依靠人工巡查的监管方式,存在效率低、覆盖面不足、判断主观性强等问题,难以满足对人员打手机行为精…...
springboot 日志类切面,接口成功记录日志,失败不记录
springboot 日志类切面,接口成功记录日志,失败不记录 自定义一个注解方法 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/***…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
