BAAI/Infinity-Instruct
数据集数据集查看器文件和版本Pull Requests讨论
下载使用量0

无限指令集

北京智源人工智能研究院
[论文][代码][🤗](即将发布)

指令数据的质量与规模对模型性能至关重要。当前开源模型普遍依赖包含数百万样本的微调数据集,这对数据的质与量都提出了极高要求。然而,构建如此大规模的高质量指令微调数据集成本高昂,长期制约着开源社区的相关研究和应用。为此,我们推出无限指令集项目,致力于打造一个规模宏大、质量卓越的指令数据集。

最新动态

  • 🔥🔥🔥[2025/05/13] 发布7M基础数据集核心版7M Core!仅含140万指令即达到完整7M数据集95.7%的性能表现。

  • 🔥🔥🔥[2025/01/06] 基于自建指令标注体系和奖励模型Skywork/Skywork-Reward-Llama-3.1-8B-v0.2,我们为7M和Gen数据集补充了指令标注类型与奖励分数,用户可据此构建定制化指令集。

  • 🔥🔥🔥[2024/08/29] 发布基于无限指令集构建的首个偏好数据集无限偏好集,同步公开经该数据集微调的SimPO版本模型Gemma2-9B-IT-Simpo-无限偏好集。

  • 🔥🔥🔥[2024/08/02] 发布无限指令-Llama3.1-70B Gen、无限指令-Llama3.1-8B Gen、无限指令-Mistral-7B Gen模型权重。

  • 🔥🔥🔥[2024/08/02] 发布700万基础数据集无限指令集-7M。

  • 🔥🔥🔥[2024/07/09] 发布无限指令-Mistral-7B 0625、无限指令-千问2-7B 0625、无限指令-Llama3-8B 0625、无限指令-Llama3-70B 0625及无限指令-悟道1.5-9B 0625模型权重。

  • 🔥🔥🔥[2024/07/09] 发布对话数据集无限指令集-0625,这是0613版本的升级迭代。

  • 🔥🔥🔥[2024/06/28] 发布无限指令-Llama3-70B 0613模型权重,该模型在AlpacaEval 2.0上未经过RLHF即展现出优于GPT4-0613的表现。

  • 🔥🔥🔥[2024/06/21] 发布无限指令-Mistral-7B 0613模型权重,该模型在未经过RLHF的情况下,于AlpacaEval 2.0评估中表现优于Mixtral 8x7B v0.1、Gemini Pro和GPT-3.5。

  • 🔥🔥🔥[2024/06/13] 分享数据构建阶段性成果(对应下表中的无限指令集-3M)。当前工作聚焦于风险评估与数据生成,千万级指令的最终版本计划于六月下旬发布。

访问渠道: Flopsera [http://open.flopsera.com/flopsera-open/details/InfinityInstruct]

HuggingFace [https://huggingface.co/datasets/BAAI/Infinity-Instruct]

GPT-4自动评估

模型MT-BenchAlpacaEval2.0竞技场-hard
GPT-4-全能版--57.574.9
GPT-4-11069.350.0--
GPT-4-03149.035.350.0
GPT-4-06139.230.237.9
Gemini Pro--24.417.8
Mixtral 8x7B v0.18.323.723.4
Mistral-7B指令版v0.27.617.1--
无限指令-3M-0613-Mistral-7B8.125.5--
无限指令-3M-0625-Mistral-7B8.131.4--
无限指令-7M-Gen-Mistral-7B8.140.026.9
Llama-3-70B指令版9.034.446.6
Llama-3.1-8B指令版--20.920.6
Llama-3.1-70B指令版--38.155.7
Llama-3.1-405B指令版--39.364.1
无限指令-7M-Gen-Llama-3.1-8B8.233.930.4
无限指令-3M-0613-Llama-3-70B8.731.5--
无限指令-3M-0625-Llama-3-70B8.938.0--
无限指令-7M-Gen-Llama-3.1-70B8.946.166.0

下游任务表现

模型MMLUGSM8KHumanEvalHellaSwag平均分
GPT-3.57057.148.185.565.2
GPT-486.492.067.095.385.2
Mistral-7B56.548.114.035.538.5
Mistral-7B指令版v0.259.645.932.964.450.7
OpenHermes-2.5-Mistral-7B61.773.041.580.664.2
无限指令-3M-Mistral-7B62.978.150.684.869.1
无限指令-7M-Mistral-7B65.078.659.890.073.4
无限指令-7M-Llama3.1-70B79.188.072.094.683.4

Infinity Instruct 概述

为构建千万级高质量指令数据集,我们收集了大量开源数据作为种子,并通过指令筛选与指令进化双策略进行数据迭代。参考[3],我们推荐使用基础数据集(Foundational Dataset)——该数据集包含从开源数据中精选的数百万条指令,可显著提升模型在代码、数学等高难度下游任务中的表现。同时,建议采用聊天数据集(Chat Dataset)——该数据集包含约100万条由高质量种子数据进化而来的指令,能有效增强模型在真实对话场景中的指令遵循能力。数据集版本信息如下:

数据集类别数据集版本指令数量
基础数据集InfInstruct-3M3,463,473
InfInstruct-7M7,449,106
聊天数据集InfInstruct-0613362,330
InfInstruct-0625659,808
InfInstruct-Gen (0729)1,456,927

使用方法

可通过以下代码加载Infinity-Instruct数据集及模型:

##数据集下载
from datasets import load_dataset
dataset_7M = load_dataset('BAAI/Infinity-Instruct','7M',split='train')
dataset_Gen = load_dataset('BAAI/Infinity-Instruct','Gen',split='train')

##模型下载
from transformers import AutoModelForCausalLM, AutoTokenizer
model_llama3_1_70B = AutoModelForCausalLM.from_pretrained("BAAI/Infinity-Instruct-7M-Gen-Llama3_1-70B",
    torch_dtype=torch.bfloat16,
    device_map="auto"
)
tokenizer_llama3_1_70B = AutoTokenizer.from_pretrained("BAAI/Infinity-Instruct-7M-Gen-Llama3_1-70B")

model_mistral_7B = AutoModelForCausalLM.from_pretrained("BAAI/Infinity-Instruct-7M-Gen-Mistral-7B",
    torch_dtype=torch.bfloat16,
    device_map="auto"
)

tokenizer_mistral_7B = AutoTokenizer.from_pretrained("BAAI/Infinity-Instruct-7M-Gen-Mistral-7B")

Infinity-Instruct 为每条指令数据标注了语言、能力类型、来源等信息:

{"id": "3023f510b6ea9af835492b46dc171c3f",
"conversations": [{"from": "human", "value": "What is the biological term for Magic Mushrooms? Psilocybin mushrooms, commonly known as magic mushrooms, are a polyphyletic informal group of fungi that contain psilocybin which turns into psilocin upon ingestion. Biological genera containing psilocybin mushrooms include Psilocybe, Panaeolus (including Copelandia), Inocybe, Pluteus, Gymnopilus, and Pholiotina. Psilocybin mushrooms have been and continue to be used in indigenous New World cultures in religious, divinatory, or spiritual contexts. Psilocybin mushrooms are also used as recreational drugs. They may be depicted in Stone Age rock art in Africa and Europe but are most famously represented in the Pre-Columbian sculptures and glyphs seen throughout North, Central, and South America."}, {"from": "gpt", "value": "Magic Mushrooms are the colloquial term for Psilocybin mushrooms"}],
"label": {
"ability_en": ["fact checking", "knowledge query"],
"ability_zh": ["事实查询", "知识查询"],
"cate_ability_zh": ["信息处理与整合"],
"cate_ability_en": ["information processing and integration"]},
"langdetect": "en",
"source": "Subjective"}

您可以根据这些标签构建符合自身需求的数据子集。

基于Infinity-Instruct进行模型微调时,我们推荐使用以下训练超参数配置:

  • Llama

  • Mistral

  • Qwen

  • Yi

数据来源

  • 去重后的Infinity-Instruct-7M数据集详情如下表所示:
原始数据集数据量(行)
glaiveai/glaive-code-assistant-v39,281
Replete-AI/code_bagel_hermes-2.5386,649
m-a-p/CodeFeedback-Filtered-Instruction60,735
bigcode/self-oss-instruct-sc2-exec-filter-50k50,467
codefuse-ai/CodeExercise-Python-27k27,159
nickrosh/Evol-Instruct-Code-80k-v143,354
jinaai/code_exercises590,958
TokenBender/code_instructions_122k_alpaca_style23,130
iamtarun/python_code_instructions_18k_alpaca2,581
Nan-Do/instructional_code-search-net-python82,920
Safurai/Code-Instruct-700k10,860
ajibawa-2023/Python-Code-23k-ShareGPT2,297
jtatman/python-code-dataset-500k88,632
m-a-p/Code-Feedback79,513
TIGER-Lab/MathInstruct329,254
microsoft/orca-math-word-problems-200k398,168
MetaMathQa690,138
teknium/Openhermes-2.5855,478
google/flan2,435,840
精选主观指令集1,342,427
总计7,449,106
  • 主观指令来源及数量:
原始数据集数据量(行)
Alpaca GPT4 数据13,490
Alpaca GPT4 中文数据32,589
Baize14,906
BELLE 生成对话43,775
BELLE 多轮对话210,685
BELLE 3.5M 中文数据集312,598
databricks-dolly-15K10,307
LIMA-sft712
CodeContest523
LongForm3,290
ShareGPT中英双语90k8,919
UltraChat237,199
Wizard中文进化指令44,738
Wizard进化指令196K88,681
BELLE 学校数学题38,329
Code Alpaca 20K13,296
WildChat61,873
COIG-CQIA45,793
BAGEL55,193
DEITA10,000
总计1,342,427

主观指令类别的领域分布如下图所示:

下游任务指令选择方法

为建立客观排序机制,我们采用Flan和OpenHermes等数据集,重点强化代码与数学能力。具体方法包括:对评估集进行细粒度主题分布标注(如humaneval中的数据结构、排序等);基于数据集来源应用启发式规则过滤无关数据(如移除网络或文件I/O操作);根据验证集分布从训练集中检索对应子集。

高质量响应指令生成流程

高质量开源指令收集与标签体系

我们首先系统收集高质量开源指令集,并为每条指令标注完成所需能力与知识标签。该体系可清晰呈现指令集内容分布及任务完成所需能力维度。

  • 指令收集:系统梳理现有开源指令集,涵盖人工编写与先进大语言模型生成的优质数据
  • 两级标签体系:
    • 一级标签:描述完成指令所需具体知识与能力(如算术运算、生物学知识),由大模型自动生成
    • 二级标签:宏观领域分类(如自然语言处理、数学推理),共25个类别

信息量最大化指令选择

旨在从全量指令中筛选最具信息量的指令,以提升大模型性能并优化用户体验。

  • 高信息量指令标准:
    • 需要多能力/多领域协同完成的指令(通过标签体系识别)
    • 涉及长尾能力或知识的指令
    • 高跟随难度指令(采用Li等人[1]的方法量化)

基于数据进化策略的指令生成

基于[2]的方法在广度、深度、难度、复杂度四个维度扩展种子指令,并通过AI助手生成多轮对话数据。

  • 基于前节筛选的元数据,在Evol-Instruct方法基础上随机选择扩展维度
  • 验证进化数据,从指令合规性角度通过AI助手淘汰不合格数据
  • 以进化指令为初始输入,通过AI助手角色扮演生成2-4轮对话

基于模型能力诊断的指令生成

通过自动识别模型能力短板指导数据合成。

  • 模型性能评估系统:由常用评估集构成
  • 自动能力缺陷诊断:基于标准答案与模型输出,通过AI助手归纳短板
  • 针对性数据合成:根据诊断结果通过AI助手自动生成新指令

参考文献

[1] 李明,张洋,贺松等. 超级过滤:面向快速指令调优的弱监督到强监督数据过滤方法[J]. arXiv预印本 arXiv:2402.00530, 2024.

[2] 许晨,孙琦,郑凯等. WizardLM:赋能大型预训练语言模型执行复杂指令[C]//第十二届国际学习表征会议. 2023.

[3] 张冠,曲松,刘杰等. Map-neo:高性能透明双语大语言模型系列[J]. arXiv预印本 arXiv:2405.19327, 2024.

引用声明

我们详细介绍Infinity Instruct数据集开发与特性的论文即将在arXiv平台发布,敬请期待!

@article{InfinityInstruct2024,
  title={Infinity Instruct},
  author={Beijing Academy of Artificial Intelligence (BAAI)},
  journal={arXiv preprint arXiv:2406.XXXX},
  year={2024}
}

@article{zhao2024iidoptimizinginstructionlearning,
      title={Beyond IID: Optimizing Instruction Learning from the Perspective of Instruction Interaction and Dependency}, 
      author={Hanyu Zhao and Li Du and Yiming Ju and Chengwei Wu and Tengfei Pan},
      year={2024},
      eprint={2409.07045},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2409.07045},
}

@misc{zhang2024inifinitymath,
      title={InfinityMATH: A Scalable Instruction Tuning Dataset in Programmatic Mathematical Reasoning}, 
      author={Bo-Wen Zhang and Yan Yan and Lin Li and Guang Liu},
      year={2024},
      eprint={2408.07089},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2408.07089}, 
}