智源千万级指令微调数据集Infinity-Instruct持续迭代,Llama3.1仅微调即可接近GPT-4

人工智能
Infinity Instruct未来将开源基础、对话指令数据处理的全流程代码,以及模型训练代码。同时,智源将探索扩展Infinity Instruct数据策略到对齐、预训练阶段,支持语言模型构建全生命周期的高质量数据需求。

指令微调是引导语言模型落地、构建高性能对话模型的关键一步。针对目前开源的指令数据集质量低、覆盖领域少、数据信息不透明等问题,智源研究院推出了千万级指令微调数据集Infinity Instruct。该数据集今年6月发布,近日完成了新一轮迭代,包括Infinity-Instruct-7M基础指令数据集和Infinity-Instruct-Gen对话指令数据集。

Infinity-Instruct-7M包含744万条数学、代码、常识问答等领域的基础指令数据,用于进一步全面提升预训练模型的基础能力。Opencompass测试结果显示,经过在Infinity-Instruct-7M数据集上的微调,Llama3.1-70B、Mistral-7B-v0.1综合能力评价可基本对齐官方自己发布的对话模型,且InfInstruct-7M-Mistral-7B的综合评分超过了GPT-3.5,InfInstruct-7M-Llama3.1-70B已十分接近GPT-4。

*官方汇报结果

Infinity-Instruct-Gen包含149万条合成的复杂指令,用于提升模型在各种真实对话场景中回复的鲁棒性。基于该数据,对经过Infinity-Instruct-7M增强的模型做进一步SFT,即可取得超过官方对话模型的效果。而大多数的官方对话模型除了做基本的SFT外,还会做DPO/RLHF等对齐训练以提升模型的对话能力,产生额外的训练成本。

智源在MTBench、AlpacaEval2、Arena-Hard三个主流榜单上评测了Infinity-Instruct 7M+Gen对模型对话能力的增益,其中,AlpacaEval2和Arena-Hard与真实人类评价榜单Chatbot Arena有很高的一致率,MTBench则评测模型的多轮对话能力。

如下左图所示,InfInstruct-7M-Gen-Mistral-7B,InfInstruct-7M-Gen-Llama3.1-8B,InfInstruct-7M-Gen-Llama3.1-70B等经过Infinity Instruct微调的模型已经超越了官方对话模型的性能。Arena-Hard上InfInstruct-7M-Gen-Llama3.1-70B(66)超过了Llama3.1-70B-Instruct(55.7)和Llama3.1-405B-Instruct(64.1)。此外,如右下图所示,AlpacaEval2.0榜单上,InfInstruct-7M-Gen-Llama3.1-70B(46.1)更是超过了GPT4-0314(35.3),非常接近GPT4-1106(50)的水准,真正实现了GPT-4级别的对话能力。

Infinity Instruct数据集今年6月在Flopsera,Huggingface等平台发布后,快速到达了Huggingface Dataset的Trending第一,且吸引大量基于Infinity Instruct的开源微调工作。

下载使用 Infinity-Instruct可在Huggingface、DataHub、Flopsera等平台下载。

Huggingface: https://huggingface.co/datasets/BAAI/Infinity-Instruct

DataHub: https://data.baai.ac.cn/details/InfinityInstruct

Flopsera: http://open.flopsera.com/flopsera-open/details/InfinityInstruct

Huggingface提供了快速下载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给每一条指令数据标注了语种、能力类型、任务类型、数据来源等信息,便于使用者根据自身需要筛选数据子集。

技术路线

智源研究院搜集了7500万余条开源指令作为待选指令池,采用数据选择与指令合成两条途径快速迭代,构建高质量的基础、对话指令数据集,以填补开源对话模型与GPT-4之间的基础能力、对话能力差距。

基础指令数据筛选

对于基础指令数据集,筛选流程主要考虑训练数据集和目标数据集数据分布的对齐,基于DSIR的思路,在训练数据集上进行排序,选取训练集的子集,拟合目标数据集的分布。

对话数据集生成、进化、评价

对于对话指令数据集,Infinity-Instruct首先采样了部分高质量的开源指令集,并为每条指令分配一组标签,描述完成指令所需的能力和知识。标签系统共有两个级别:

第一级标签: 宏观类别,如 "自然语言处理 "和 "数学推理"。共包括 26 个类别。

第二集标签:刻画具体任务,包含超过1.5w个类别。

基于此系统,就能识别指令集的内容分布以及完成不同任务所需的能力,构建一个高质量的种子数据集。随后,Infinity-Instruct参考WizardLM的方法对种子指令在广度、深度方向上进行扩展,并用AI Agent从指令合规性的角度剔除未能进化的数据。最后,进化后的指令作为初始输入,使用AI Agent扮演不同角色,为每条指令生成 2 至 4 轮对话。

数据去污、去重

为避免构造的数据存在自身重复、或与评测榜单重复的样本,Infinity-Instruct对所有数据应用了MinHash进行去重。并基于BGE检索剔除了和AlpacaEval、MT-Bench等评测榜单重复的样本。

训练框架

考虑到微调成本,项目使用FlagScale去掉训练样本中不必要的pad,压缩样本量,同时应用模型切分、切分支持大模型在数百万量级指令数据集上的训练。初步测试可比传统微调框架,如FastChat+Accelerate快三倍以上。

未来规划 Infinity Instruct未来将开源基础、对话指令数据处理的全流程代码,以及模型训练代码。同时,智源将探索扩展Infinity Instruct数据策略到对齐、预训练阶段,支持语言模型构建全生命周期的高质量数据需求。

Infinity RLAIF:基于Infinity Instruct标签体系以及生成指令构建了50K 对齐数据的第一个版本,实验结果显示,Infinity-Gemma-2-9B-SimPO 在AlpacaEval上达到 73.4,在Arena Hard上达到 59.1。未来会进行更多对齐数据、算法的探索。

Infinity Math:基于多个开源数学数据集构建了可无限扩增的数学领域指令数据集,其中POT指令数据可提升在多个7B的基础语言模型和基础代码模型的zero-shot数学能力180%-510%,相关论文被CIKM 2024接收,欢迎引用。

@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}, 
 
}

责任编辑:张燕妮 来源: 智源研究院官方账号
相关推荐

2023-06-08 11:27:10

模型AI

2024-02-05 09:00:00

2023-05-29 09:29:52

GPT-4语言模型

2023-09-06 16:44:03

2024-07-09 12:54:57

2024-07-22 08:17:00

模型性能

2023-04-13 15:54:00

AI数据

2023-08-25 13:12:59

AI开源

2023-08-27 14:44:04

代码编程语言

2024-01-22 07:10:00

AI视频

2023-04-10 09:23:36

模型AI

2024-07-24 11:30:04

2023-07-25 09:23:23

Llama 2GPT-4

2023-08-27 12:54:59

GPT-4神秘版本Code

2024-07-02 13:25:22

2024-04-01 13:06:52

Grok-1.5GPT-4人工智能

2023-09-08 13:00:39

AI模型

2024-07-29 13:38:06

2024-09-23 16:00:00

AI模型测评

2023-12-27 13:56:00

点赞
收藏

51CTO技术栈公众号