suolyer/testb
收藏Hugging Face2023-07-21 更新2024-03-04 收录
下载链接:
https://hf-mirror.com/datasets/suolyer/testb
下载链接
链接失效反馈官方服务:
资源简介:
姜子牙通用大模型V1是基于LLaMa的130亿参数的大规模预训练模型,具备翻译,编程,文本分类,信息抽取,摘要,文案生成,常识问答和数学计算等能力。目前姜子牙通用大模型已完成大规模预训练、多任务有监督微调和人类反馈学习三阶段的训练过程。
license: apache-2.0
language:
- en
- zh
# Ziya-LLaMA-13B-v1
- 主页:[Fengshenbang](https://fengshenbang-lm.com/)
- Github: [Fengshenbang-LM](https://github.com/IDEA-CCNL/Fengshenbang-LM)
- API: [Fengshen-OpenAPI](https://fengshenbang-lm.com/open-api)
# 姜子牙系列模型
- [Ziya-LLaMA-13B-v1](https://huggingface.co/IDEA-CCNL/Ziya-LLaMA-13B-v1)
- [Ziya-LLaMA-7B-Reward](https://huggingface.co/IDEA-CCNL/Ziya-LLaMA-7B-Reward)
## 简介
姜子牙通用大模型V1是基于LLaMA的130亿参数大规模预训练模型,可实现翻译、编程、文本分类、信息抽取、摘要生成、文案创作、常识问答与数学计算等多项任务。该模型已完成三阶段训练:大规模持续预训练(Continual Pretraining, PT)、多任务监督微调(Multi-task Supervised Fine-tuning, SFT)以及人类反馈学习(Human Feedback Learning, RM、PPO)。
## 模型分类
| 需求维度 | 任务类型 | 系列名称 | 模型名称 | 参数规模 | 额外属性 |
| :----: | :----: | :----: | :----: | :----: | :----: |
| 通用 | 通用人工智能(AGI)模型 | 姜子牙(Ziya) | LLaMA | 130亿参数 | 支持中英双语 |
## 模型信息
### 持续预训练(Continual Pretraining, PT)
训练原始数据涵盖英文与中文两类:英文数据取自openwebtext、Books、Wikipedia与Code数据集,中文数据则来自清洗后的悟道数据集与自研中文语料库。经去重、模型打分、数据分桶、规则过滤、敏感主题过滤与数据评估等预处理流程后,最终获得总计1250亿词元(Token)的有效训练数据。
针对LLaMA原生分词在中文编解码场景下效率较低的问题,我们在LLaMA原生词表基础上新增8000个常用中文字符,经与原生词表去重后,最终得到尺寸为39410的词表,并通过复用Transformers库中的LlamaTokenizer实现了该词表的加载与使用。
增量训练阶段,我们采用160张40GB显存的A100显卡,训练集规模为260万词元(Token),使用FP16混合精度训练,单GPU每秒吞吐量可达118 TFLOPS。最终仅用8天时间,便在原生LLaMA-13B模型基础上完成了1100亿词元(Token)的增量训练。
训练过程中虽遭遇机器宕机、底层框架漏洞、Loss尖峰等各类问题,但我们通过快速调整保障了训练稳定性,并公开了训练过程的Loss曲线,以供开发者参考潜在的异常场景。
<img src="https://wandb.ai/fengshenbang/llama2_13b_cpt_v1/reports/Untitled-Report--Vmlldzo0OTM3MjQ1" width=1000 height=600>
<iframe src="https://wandb.ai/fengshenbang/llama2_13b_cpt_v1/reports/Untitled-Report--Vmlldzo0OTM3MjQ1" style="border:none;height:1024px;width:100%">
### 多任务监督微调(Supervised Fine-tuning, SFT)
在多任务监督微调阶段,我们采用课程学习(Curriculum Learning)与增量训练(Continual Learning)策略:借助大模型辅助对现有数据按难度分级,随后以“由易到难”的方式分多阶段开展SFT训练。
SFT训练数据包含多类经过人工筛选与校验的高质量数据集:
- Self-Instruct构造数据集(约200万样本):涵盖BELLE、Alpaca、Alpaca-GPT4等多个公开数据集
- 自研代码数据集(30万样本):包含LeetCode算法题与多种代码任务数据
- 自研推理/逻辑类数据集(50万样本):涵盖推理论证、申论写作、数学应用题与数值计算等任务数据
- 中英平行语料(200万样本):包含中英互译、思维链(Chain-of-Thought, COT)类型翻译与古文翻译等语料
- 多轮对话语料(50万样本):包含Self-Instruct生成数据、任务型多轮对话与角色扮演型多轮对话等数据
### 人类反馈训练(Human-Feedback Training, HFT)
为进一步提升模型综合性能,使其能够充分理解人类意图、减少“幻觉”与不安全输出,我们基于指令微调后的模型开展了人类反馈训练(HFT)。训练过程中,我们以人类反馈强化学习(Reward Model, RM、Proximal Policy Optimization, PPO)为核心,结合人类反馈微调(Human-Feedback Fine-tuning, HFFT)、后见链微调(Chain-of-Hindsight Fine-tuning, COHFT)、AI反馈与基于规则的奖励系统(Rule-based Reward System, RBRS)等多种手段,以弥补PPO方法的局限性并加速训练进程。
我们自研了HFT训练流程框架,该框架仅需最少8张40GB显存的A100显卡即可完成Ziya-LLaMA-13B-v1的全参数训练。在PPO训练阶段,我们未限制生成样本的长度,以保障长文本任务的奖励评分准确性。每次训练的总经验池规模超过10万样本,确保训练的充分性。
### 效果评估
## 使用方法
python3
from transformers import LlamaTokenizer
from transformers import LlamaForCausalLM
tokenizer = LlamaTokenizer.from_pretrained('IDEA-CCNL/Ziya-LLaMA-13B-v1')
model = LlamaForCausalLM.from_pretrained('IDEA-CCNL/Ziya-LLaMA-13B-v1')
model.eval()
prompt = '<human>:1+1=?
<bot>:'
inputs = tokenizer(prompt, return_tensors="pt")
# 生成文本
generate_ids = model.generate(inputs.input_ids, max_length=128)
decode = tokenizer.batch_decode(generate_ids)[0]
print(decode)
## 引用格式
若您在工作中使用了本模型,请引用我们的[论文](https://arxiv.org/abs/2210.08590):
text
@article{fengshenbang,
author = {Jiaxing Zhang and Ruyi Gan and Junjie Wang and Yuxiang Zhang and Lin Zhang and Ping Yang and Xinyu Gao and Ziwei Wu and Xiaoqun Dong and Junqing He and Jianheng Zhuo and Qi Yang and Yongfeng Huang and Xiayu Li and Yanghan Wu and Junyu Lu and Xinyu Zhu and Weifeng Chen and Ting Han and Kunhao Pan and Rui Wang and Hao Wang and Xiaojun Wu and Zhongshen Zeng and Chongpei Chen},
title = {Fengshenbang 1.0: Being the Foundation of Chinese Cognitive Intelligence},
journal = {CoRR},
volume = {abs/2209.02970},
year = {2022}
}
您也可以引用我们的[开源仓库](https://github.com/IDEA-CCNL/Fengshenbang-LM/):
text
@misc{Fengshenbang-LM,
title={Fengshenbang-LM},
author={IDEA-CCNL},
year={2021},
howpublished={url{https://github.com/IDEA-CCNL/Fengshenbang-LM}},
}
提供机构:
suolyer原始信息汇总
数据集概述
数据集名称
- Ziya-LLaMA-13B-v1
数据集描述
- Ziya-LLaMA-13B-v1 是一个基于LLaMA的130亿参数的大规模预训练模型,具备翻译、编程、文本分类、信息抽取、摘要、文案生成、常识问答和数学计算等能力。该模型经历了大规模预训练、多任务有监督微调和人类反馈学习三个阶段的训练过程。
数据集语言
- 包含英文(en)和中文(zh)。
数据集许可
- 遵循Apache-2.0许可。
模型训练细节
继续预训练
- 原始数据包含英文和中文,英文数据来自openwebtext、Books、Wikipedia和Code,中文数据来自清洗后的悟道数据集和自建的中文数据集。经过处理后,最终得到125B tokens的有效数据。
- 为了提高中文编解码效率,增加了8k个常见中文字到LLaMA词表,最终词表大小为39410。
- 使用160张40GB的A100显卡,采用2.6M tokens的训练集样本数量和FP 16的混合精度,吞吐量达到118 TFLOP per GPU per second,在8天内增量训练110B tokens的数据。
多任务有监督微调
- 采用课程学习和增量训练策略,使用大模型辅助划分数据难度,通过“Easy To Hard”方式分阶段进行SFT训练。
- SFT训练数据包括多个高质量数据集,如Self-Instruct构造的数据、内部收集的Code数据、推理/逻辑相关数据、中英平行语料和多轮对话语料。
人类反馈学习
- 为了提升模型表现,进行了人类反馈训练(HFT),采用人类反馈强化学习(RM、PPO)结合其他方法如人类反馈微调(HFFT)、后见链微调(COHFT)、AI反馈和基于规则的奖励系统(RBRS)。
- 在内部自研框架上实现HFT训练流程,使用最少8张40G的A100显卡完成全参数训练。
模型使用示例
python3 from transformers import LlamaTokenizer, LlamaForCausalLM tokenizer = LlamaTokenizer.from_pretrained(IDEA-CCNL/Ziya-LLaMA-13B-v1) model = LlamaForCausalLM.from_pretrained(IDEA-CCNL/Ziya-LLaMA-13B-v1) model.eval() prompt = <human>:1+1=? <bot>: inputs = tokenizer(prompt, return_tensors="pt") generate_ids = model.generate(inputs.input_ids, max_length=128) decode = tokenizer.batch_decode(generate_ids)[0] print(decode)
搜集汇总
数据集介绍

以上内容由遇见数据集搜集并总结生成



