论文阅读1 Scaling Synthetic Data Creation with 1,000,000,000 Personas

Scaling Synthetic Data Creation with 1,000,000,000 Personas

链接:https://github.com/tencent-ailab/persona-hub/

文章目录

  • Scaling Synthetic Data Creation with 1,000,000,000 Personas

在这里插入图片描述

1. 摘要

我们提出了一种新的人物角色驱动的数据合成方法,利用大型语言模型(LLM)中的各种观点来创建不同的合成数据。为大规模地充分利用这种方法,我们引入了Persona Hub —— 一个从网络数据中自动策划的10亿个不同人物角色的集合。Persona Hub 中的 10 亿个人物角色(占世界总人口的 13%)作为世界知识的分布式载体,可以利用LLM中封装的几乎每一个视角,从而促进为各种场景大规模创建多样化的合成数据。

通过展示 Persona Hub 在综合高质量数学和逻辑推理问题方面的用例(如用户提示、知识丰富的文本、游戏NPC和工具功能的规模),我们证明了人物角色驱动的数据合成是通用的、可扩展的、灵活的、易于使用的。这一技术有潜力驱动合成数据创建和应用程序在实践中的范式转变,并可能对LLM研究和开发产生深远的影响。

免责声明:Persona Hub 可以促进十亿级的合成数据创建,以模拟不同的输入(如用例)来自各种现实世界用户。如果将该数据用作输入来查询目标LLM以大规模地获得其输出,则存在LLM的知识、智能和能力将被倾倒并容易被复制的高风险,从而挑战最强大的LLMs的领先地位(例如,我们的方法允许7BLLM在MATH上达到65%,与gpt-4-turbo-preview的性能相匹配)。

本技术报告仅用于研究目的,必须避免滥用,确保合乎道德和负责任的应用。我们将在第5节详细讨论其广泛影响和潜在问题。

2. 背景

作者使用Persona Hub中的不同人格生成了107万条数据,并用其训练了Qwen2-7B模型,然后在MATH数据集上进行了测试。结果表明,模型获得了64.9%的准确率,比原始版本提高了15个百分点,并与1106、0125两个版本的GPT4-Turbo打成了平手。

真正要合成的不是数据集的数量,而是数据集的质量,即如何提高数据集的多样性。

简单地将人物角色添加到数据合成提示中,可以将LLM转向相应的视角以创建独特的合成数据。由于几乎任何LLM用例都可以与特定的人物角色相关联,因此只要我们构建一个全面的人物角色集合,就可以大规模创建包罗万象的合成数据。

2.1 什么是数据合成

合成数据(Bauer等人,2024;Liu等人,2024)通常指的是由模型或算法生成的数据,而不是直接由人类生成的数据。随着大型语言模型(LLMs)的发展,使用LLMs进行数据合成变得越来越有价值,人们对通过指定数据合成提示生成所需合成数据的兴趣也日益增长。

2.2 为什么需要数据合成

在实践中,大规模创建合成数据并非易事:虽然我们可以轻松地扩大合成数据的数量,但很难确保其多样性也随之扩大。在不考虑采样的情况下,在数据合成提示下,LLM只能生成1个实例。因此,为了大规模地创建多样化的合成数据(例如,10亿个不同的数学问题),需要大量不同的提示。

以前的研究倾向于通过以下两种范式使数据合成提示多样化,但不幸的是,两者都不能实际实现可扩展的合成数据创建:

2.3 10亿种人格的获得方法

1. Text-to-Persona 方法
  • 概念:通过分析大量互联网文本数据生成 persona。具体来说,给定一段文本,通过提示大语言模型(LLM)回答:“谁可能会[阅读|写作|喜欢|不喜欢]这段文本?”模型根据文本内容推断出对应的 persona。
  • 过程
    • 输入文本:从网络上获取的大量文本(如新闻文章、博客、论坛帖子等)。
    • 推断 persona:模型根据输入文本的内容,生成与文本相关的人物描述。例如,如果文本是关于医疗护理的,模型可能会生成“一个专门从事儿科护理的护士”这样的 persona。
    • 细粒度控制:通过调整提示,模型可以生成不同粒度的 persona 描述,比如从宽泛的“计算机科学家”到更具体的“专注于神经网络架构的机器学习研究者”。
2. Persona-to-Persona 方法
  • 概念:通过现有 persona 推导出与之相关的其他角色,以弥补 Text-to-Persona 方法可能遗漏的不常见角色。
  • 过程
    • 关系推导:模型基于现有 persona 的社会关系推导出新的 persona。例如,给定“儿科护士”的 persona,模型可以推导出与之相关的角色,如“儿科患者”、“儿科医生”或“药品供应商”。
    • 六度分离理论:通过类似六度分离的概念,模型可以对每个初始 persona 进行多次关系扩展,从而生成更多的相关 persona。
3. 重复数据删除
  • 概念:为了确保生成的 persona 的多样性和独特性,必须对生成的 persona 进行去重处理。
  • 方法
    • MinHash:使用MinHash算法基于n-gram特征来检测和删除相似度高的 persona 描述。例如,如果两个 persona 描述的相似度超过0.9,则视为重复。
    • Embedding 去重:在去除表面重复之后,使用文本嵌入技术计算每个 persona 的语义相似度,并删除相似度高的 persona,进一步确保生成 persona 的多样性。
4. 规模与扩展
  • 自动化生成:上述方法能够大规模自动生成 persona。通过对海量的互联网文本进行处理和推导,并使用上述去重方法,可以生成多达10亿个独特的 persona。
  • 覆盖广泛:这些 persona 涵盖了广泛的职业、兴趣、背景和文化,因此几乎可以代表现实世界中各种各样的个体和他们的知识。

2.4 Persona Hub如何访问目标LLM的全部内存

1. 局限性与潜力
  • 局限性:当我们在特定场景与LLM交互时,只能调动模型记忆和能力的一小部分,即使LLM内含广泛的世界知识,也难以在单一交互中完全利用其潜力。
  • 潜力:通过使用「Persona Hub」中的10亿个不同的“persona”,我们可以从多种角度和视角生成查询,进而激活并提取LLM中的广泛信息,从而获取更多的知识,并将其转化为合成数据。
2. 将LLM视为压缩的世界知识
  • LLM的特性:可以将LLM视为世界知识的参数化压缩形式,即LLM通过其训练参数浓缩了大量的世界知识。「Persona Hub」可以被看作是一种基于分布式载体的压缩形式,这些persona作为不同知识的载体,帮助我们解压和提取这些知识。
  • 知识解码:通过生成多样化的查询,LLM中的知识得以以文本形式“解压”出来,这种过程类似于将LLM中的知识进行解码,转化为可读的合成数据。
3. 挑战与展望
  • 当前局限:目前,「Persona Hub」仍处于初步阶段,今天的LLM还无法完美地将其记忆转化为合成数据,主要是因为生成数据时不可避免的“幻觉”问题。幻觉指的是模型生成不准确或不符合事实的内容,这限制了合成数据的广度和质量。
  • 未来展望:随着「Persona Hub」的改进和扩展,以及LLM能力的增强(如减少幻觉的发生),未来可能会实现几乎无损地将LLM中的全部记忆转化为平文本数据的目标。这将极大地拓展我们对LLM的利用能力,允许我们更全面地访问和使用模型所拥有的知识。

2.5 MinHash 的使用示例

通过一个简单的例子来解释如何使用MinHash进行重复数据删除。

情境设置

假设我们有两个简短的人物描述,每个描述只有一到两句话。我们想要判断它们是否足够相似,以至于可以被视为重复数据。我们使用MinHash算法来基于这些描述的n-gram特征进行去重。

人物描述
  1. 描述A: “A computer scientist interested in artificial intelligence and machine learning.”
  2. 描述B: “A machine learning expert focused on artificial intelligence and computer science.”

步骤1:提取n-gram特征

由于人物描述通常比较短,我们使用1-gram特征(即单个词)来表示每个描述。

  • 描述A的1-gram特征: [“A”, “computer”, “scientist”, “interested”, “in”, “artificial”, “intelligence”, “and”, “machine”, “learning”]
  • 描述B的1-gram特征: [“A”, “machine”, “learning”, “expert”, “focused”, “on”, “artificial”, “intelligence”, “and”, “computer”, “science”]
步骤2:计算MinHash签名

MinHash的主要思想是通过多个哈希函数将特征集合映射到签名中。假设我们使用128个不同的哈希函数(这就是“128的签名大小”),我们将每个描述的特征集合映射到128个哈希值中,形成描述A和描述B的签名。

  • 描述A的MinHash签名: [10, 45, 56, …, 230]
  • 描述B的MinHash签名: [12, 47, 56, …, 232]
步骤3:计算签名之间的相似度

MinHash的核心优势是通过比较签名中的哈希值来估计原始集合之间的相似度。我们可以通过计算两个签名之间相同哈希值的比例来得到相似度。

  • 计算描述A和描述B的相似度
    • 比较签名中的128个值,假设它们有115个值相同,那么相似度为115/128 ≈ 0.90。
步骤4:应用相似度阈值

根据设定的相似度阈值0.9,如果两个描述的相似度达到或超过0.9,它们将被视为重复数据,并执行去重操作。

在这个例子中,描述A和描述B的相似度正好是0.9,所以它们会被认为是相似的,描述B可能会被去除以避免重复。

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

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

相关文章

基于Kotlin Multiplatform的鸿蒙跨平台开发实践

一、 背景 在 2023 年的华为开发者大会(HDC)上,华为预告了一个全新的鸿蒙系统 Harmony Next 版本。与之前的鸿蒙系统不同,Harmony Next完全摒弃了对 AOSP 的兼容,彻底基于 OpenHarmony 开源鸿蒙实现。这意味着该系统将…

在idea中的git选择某一次记录拉出一个新分支

一 创建新分支 1.1 操作步骤 需求:需要在图中标红的历史记录,从此记录拉出一个分支 1.右键【new branch】 2.起一个新的名字: 3.新分支代码

《图解设计模式》笔记(四)分开考虑

九、Bridge模式:将类的功能层次结构与实现层次结构分离 类的两个层次结构和作用 类的功能层次结构:希望增加新功能时 父类有基本功能,在子类中增加新功能 Something父类 …├─SomethingGood子类 想要再增加新功能 Something父类 …├─So…

LeetCode.55.跳跃游戏(贪心算法思路)

题目描述: 给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 输…

Docker容器镜像及其打包

容器镜像分类 1. 系统类镜像 2. 应⽤镜像 搜索镜像 # 默认docker.hub docker search centos 下载镜像 docker pull centos 默认下载最新版本 1. 打包 [rootdocker001 ~]# systemctl start docker.service [rootdocker001 ~]# docker save -o centos.tar centos:latest [root…

基于SpringBoot的线上教学平台系统

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言 Java 数据库 MySQL 技术 SpringBoot框架,Java语言 工具 IDEA/Eclipse、Navicat、Maven 系统展示 首页 管理员功能模块 学员功能模块 前台首页…

Ozon在奥伦堡州开设首个配送中心,Ozon还有机会赚钱吗?

Ozon平台成立于1998年,是俄罗斯唯一上市的B2C电商平台,在俄罗斯电商市场中占据着到达62%的市场份额,具有强大的市场影响力和吸引力。Ozon拥有数千万的活跃用户,覆盖了俄罗斯各个年龄段和消费层次的群体,而且Ozon拥有俄…

“精准学”官宣将公布中国首个语音端到端大模型

教育科技公司“精准学”宣布,公司已在AI语音交互技术上取得领先性的突破,成功训练了中国首个语音端到端大模型“心流知镜-s(V02)”,可直接实现语音输入-语音输出的交互,使其更适配辅学场景,使大模型达到“真人老师”级…

当《黑神话:悟空》遇上openKylin,国产力量的极致碰撞!

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 万众瞩目的国产3A游戏巨作《黑神话:悟…

【人工智能】如何在白嫖的阿里云PAI平台上跑模型?

在“交互式建模(DSW)”中新建实例,阿里云自带的示例镜像是很少的,所以我们只需要筛选出适合你的项目的CUDA版本就好。DSW实例可以看作是一个Linux虚拟机,之后我们在实例中新建另一个Python环境使用即可。 新建完实例后…

DevExpress中Blazor部分学习

DevExpress中Blazor学习 1 DevExpress版本2 学习步骤2.1 查看Dev相应的Demo2.2 创建第一个相关应用2.3 使用XPO进行相关数据操作2.4 Dev Blazor使用XPO操作 3 学习中遇到问题及解决方案3.1 打开Dev相关Demo报错 1 DevExpress版本 安装较新的DevExpress,我这边使用的…

基于FreeRTOS的STM32多功能手表

前言 项目背景 项目演示 使用到的硬件 项目原理图 目前版本实现的功能 设计到的freertos知识 实现思路 代码讲解 初始化GPIO引脚、配置时钟 蜂鸣器初始化以及软件定时器创建 系统默认创建的defaultTaskHandle 创建七个Task,代表七个功能 ShowTimeTask …

京东软件测试岗面试题(干货)含答案+文档

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 前面看到了一些面试题,总感觉会用得到,但是看一遍又记不住,所以我把面试题都整合在一起,都是来自各路大佬的分享&am…

自然语言处理系列三十三》 语义相似度》同义词词林》算法原理

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 自然语言处理系列三十三同义词词林算法原理代码实战 总结 自然语…

LLama 3 跨各种 GPU 类型的基准测试

2024 年 4 月 18 日,AI 社区对 Llama 3 70B 的发布表示欢迎,这是一款最先进的大型语言模型 (LLM)。该型号是 Llama 系列的下一代产品,支持广泛的用例。该模型 istelf 在广泛的行业平台上表现良好,并提供了新…

基于STM32开发的智能室内照明系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 系统初始化光照强度监测与处理照明控制与状态指示Wi-Fi通信与远程控制应用场景 智能家居照明管理办公室和公共场所的智能照明常见问题及解决方案 常见问题解决方案结论 1. 引言 随着智能家居…

探索地理空间分析的新世界:Geopandas的魔力

文章目录 探索地理空间分析的新世界:Geopandas的魔力背景:为何选择Geopandas?这个库是什么?如何安装这个库?五个简单的库函数使用方法场景应用:Geopandas在实际工作中的应用常见bug及解决方案总结 探索地理…

【HarmonyOS NEXT星河版开发学习】综合测试案例-各平台评论部分

目录 前言 功能展示 整体页面布局 最新和最热 写评论 点赞功能 界面构建 初始数据的准备 列表项部分的渲染 底部区域 index部分 知识点概述 List组件 List组件简介 ListItem组件详解 ListItemGroup组件介绍 ForEach循环渲染 列表分割线设置 列表排列方向设…

“游戏开发效率革命:AI绘画案例分享,大专生如何实现工作效率十倍提升与副业拓展“

一、游戏开发者的日常 我叫李明,是一名计算机专业的大专生。自从毕业以来,我就一直在一家游戏开发公司工作,转眼间,已经五年了。五年的时光,我从一个职场小白成长为了一名熟练的游戏开发者。但随之而来的,是…

GROUP_CONCAT 用法详解(Mysql)

GROUP_CONCAT GROUP_CONCAT 是 MySQL 中的一个聚合函数,用于将分组后的多行数据连接成一个单一的字符串。 通常用于将某个列的多个值合并到一个字符串中,以便更方便地显示或处理数据。 GROUP_CONCAT([DISTINCT] column_name[ORDER BY column_name [ASC…