【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: 你正在被…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
