许可证:其他
许可证名称:NVIDIA开放模型许可证
许可证链接:https://developer.download.nvidia.com/licenses/nvidia-open-model-license-agreement-june-2024.pdf
库名称:transformers
流水线标签:文本生成
语言:
- 英语
标签:
- NVIDIA
- llama-3
- pytorch
模型概述
Minitron-8B-Base是通过剪裁Nemotron-4 15B获得的大型语言模型(LLM)。具体而言,我们对模型的嵌入维度、注意力头数和MLP中间维度进行了剪裁。剪裁后,我们使用940亿个token进行蒸馏持续训练,最终得到该模型;为此我们采用了Nemotron-4 15B使用的持续预训练数据语料库。
相比从头训练,采用我们的方法从基础15B模型衍生出Minitron 8B和4B模型,每个模型所需的训练token数量可减少高达40倍;这使得训练整个模型家族(15B、8B和4B)的计算成本节省了1.8倍。与从头训练相比,Minitron模型在MMLU分数上表现出高达16%的提升,性能与Mistral 7B、Gemma 7B和Llama-3 8B等社区模型相当,并优于文献中最先进的压缩技术。更多细节请参阅我们的arXiv论文。
本模型仅供研究和开发使用。
模型开发者: NVIDIA
模型训练时间: Minitron-8B-Base的训练时间为2024年2月至2024年6月。
许可证
Minitron-8B-Base基于NVIDIA开放模型许可证协议发布。
模型架构
Minitron-8B-Base的嵌入维度为4096,注意力头数为48,MLP中间维度为16384。
它还采用了分组查询注意力(GQA)和旋转位置嵌入(RoPE)。
架构类型: Transformer解码器(自回归语言模型)
网络架构: Nemotron-4
输入类型: 文本
输入格式: 字符串
输入参数: 无
与输入相关的其他属性: 无
输出类型: 文本
输出格式: 字符串
输出参数: 无
与输出相关的其他属性: 无
使用方法
该模型的支持将在即将发布的transformers
版本中添加。在此之前,请从源代码安装库:
pip install git+https://github.com/huggingface/transformers
以下代码展示了如何加载Minitron-8B模型并用于文本生成:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "nvidia/Minitron-8B-Base"
tokenizer = AutoTokenizer.from_pretrained(model_path)
device='cuda'
dtype=torch.bfloat16
model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype=dtype, device_map=device)
prompt = "To be or not to be,"
input_ids = tokenizer.encode(prompt, return_tensors="pt").to(model.device)
output_ids = model.generate(input_ids, max_length=50, num_return_sequences=1)
output_text = tokenizer.decode(output_ids[0], skip_special_tokens=True)
print(output_text)
数据集与训练
数据收集方法: 混合
标注方法: 不适用
属性: Minitron-8B-Base的训练语料库包含英语和多语言文本以及代码。我们的数据来源涵盖多种文档类型,如网页、对话、文章和其他书面材料。语料库涉及的领域包括法律、数学、科学、金融等。在持续训练集中,我们引入了一小部分问答和对齐风格数据以提高模型性能。
数据新鲜度: 预训练数据的截止时间为2023年6月。
评估结果
5-shot性能。 使用Massive Multitask Language Understanding评估语言理解能力:
Zero-shot性能。 使用LM Evaluation Harness中的选定数据集及补充进行评估:
HellaSwag |
Winogrande |
GSM8K |
ARC-C |
XLSum |
81.6 |
80.3 |
54.2 |
49.2 |
31.1 |
代码生成性能。 使用HumanEval评估:
完整结果请参阅我们的论文。
推理
引擎: TensorRT-LLM
测试硬件: NVIDIA A100
数据类型: Float16/BFloat16
局限性
该模型基于从互联网爬取的数据训练,其中包含有毒语言、不安全内容和社会偏见。因此,模型可能放大这些偏见并返回有毒响应,尤其是在有毒提示下。即使提示本身不包含任何明确的冒犯性内容,模型生成的答案也可能不准确、遗漏关键信息或包含无关或冗余文本,产生社会不可接受或不良的文本。
伦理考量
NVIDIA认为可信赖的AI是共同责任,我们已制定政策和实践以支持广泛AI应用的开发。在下载或按照我们的服务条款使用时,开发人员应与内部模型团队合作,确保该模型满足相关行业和用例的要求,并解决意外的产品滥用问题。请通过此链接报告安全漏洞或NVIDIA AI相关问题。
引用
如果您认为我们的工作有帮助,请考虑引用我们的论文:
@article{minitron2024,
title={Compact Language Models via Pruning and Knowledge Distillation},
author={Saurav Muralidharan and Sharath Turuvekere Sreenivas and Raviraj Joshi and Marcin Chochowski and Mostofa Patwary and Mohammad Shoeybi and Bryan Catanzaro and Jan Kautz and Pavlo Molchanov},
journal={arXiv preprint arXiv:2407.14679},
year={2024},
url={https://arxiv.org/abs/2407.14679},
}