模型简介
模型特点
模型能力
使用案例
🚀 Minerva-7B-instruct-v1.0模型介绍
Minerva是首个完全基于意大利语从头开始预训练的大语言模型(LLM)家族。它由Sapienza NLP在未来人工智能研究(FAIR)项目框架下开发,与CINECA合作,并得到了Babelscape和CREATIVE PRIN项目的额外支持。值得注意的是,Minerva模型是真正开放(数据和模型)的意大利语 - 英语大语言模型,大约一半的预训练数据包含意大利语文本。

🚀 快速开始
如何使用Hugging Face Transformers调用Minerva
import transformers
import torch
model_id = "sapienzanlp/Minerva-7B-instruct-v1.0"
# 初始化管道。
pipeline = transformers.pipeline(
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
# 模型的输入文本。
input_conv = [{"role": "user", "content": "Qual è la capitale dell'Italia?"}]
# 计算输出。
output = pipeline(
input_conv,
max_new_tokens=128,
)
output
[{'generated_text': [{'role': 'user', 'content': "Qual è la capitale dell'Italia?"}, {'role': 'assistant', 'content': "La capitale dell'Italia è Roma."}]}]
✨ 主要特性
Minerva-7B-instruct-v1.0是一个拥有70亿参数的模型,在近2.5万亿个标记(1.14万亿个意大利语标记、1.14万亿个英语标记和2000亿个代码标记)上进行了训练。该模型属于Minerva大语言模型家族,该家族还包括:
- Minerva-350M-base-v1.0
- Minerva-1B-base-v1.0
- Minerva-3B-base-v1.0
- Minerva-7B-base-v1.0
- Minerva-7B-instruct-v1.0
🔧 技术细节
模型架构
Minerva-7B-base-v1.0是一个基于Mistral架构的Transformer模型。有关该模型超参数的详细分解,请查看配置文件。
Minerva大语言模型家族的构成如下:
模型名称 | 标记数 | 层数 | 隐藏层大小 | 注意力头数 | KV头数 | 滑动窗口 | 最大上下文长度 |
---|---|---|---|---|---|---|---|
Minerva-350M-base-v1.0 | 700亿 (350亿意大利语 + 350亿英语) | 16 | 1152 | 16 | 4 | 2048 | 16384 |
Minerva-1B-base-v1.0 | 2000亿 (1000亿意大利语 + 1000亿英语) | 16 | 2048 | 16 | 4 | 2048 | 16384 |
Minerva-3B-base-v1.0 | 6600亿 (3300亿意大利语 + 3300亿英语) | 32 | 2560 | 32 | 8 | 2048 | 16384 |
Minerva-7B-base-v1.0 | 2.48万亿 (1.14万亿意大利语 + 1.14万亿英语 + 2000亿代码) | 32 | 4096 | 32 | 8 | 无 | 4096 |
模型训练
Minerva-7B-base-v1.0使用来自MosaicML的llm-foundry 0.8.0进行训练。所使用的超参数如下:
模型名称 | 优化器 | 学习率 | 贝塔系数 | 误差 | 权重衰减 | 调度器 | 预热步数 | 批量大小(标记) | 总步数 |
---|---|---|---|---|---|---|---|---|---|
Minerva-350M-base-v1.0 | 解耦AdamW | 2e-4 | (0.9, 0.95) | 1e-8 | 0.0 | 余弦 | 2% | 400万 | 16690 |
Minerva-1B-base-v1.0 | 解耦AdamW | 2e-4 | (0.9, 0.95) | 1e-8 | 0.0 | 余弦 | 2% | 400万 | 47684 |
Minerva-3B-base-v1.0 | 解耦AdamW | 2e-4 | (0.9, 0.95) | 1e-8 | 0.0 | 余弦 | 2% | 400万 | 157357 |
Minerva-7B-base-v1.0 | AdamW | 3e-4 | (0.9, 0.95) | 1e-5 | 0.1 | 余弦 | 2000 | 400万 | 591558 |
SFT训练
SFT模型使用Llama-Factory进行训练。数据混合情况如下:
数据集 | 来源 | 代码数据量 | 英语数据量 | 意大利语数据量 |
---|---|---|---|---|
Glaive-code-assistant | 链接 | 100000 | 0 | 0 |
Alpaca-python | 链接 | 20000 | 0 | 0 |
Alpaca-cleaned | 链接 | 0 | 50000 | 0 |
Databricks-dolly-15k | 链接 | 0 | 15011 | 0 |
No-robots | 链接 | 0 | 9499 | 0 |
OASST2 | 链接 | 0 | 29000 | 528 |
WizardLM | 链接 | 0 | 29810 | 0 |
LIMA | 链接 | 0 | 1000 | 0 |
OPENORCA | 链接 | 0 | 30000 | 0 |
Ultrachat | 链接 | 0 | 50000 | 0 |
MagpieMT | 链接 | 0 | 30000 | 0 |
Tulu-V2-Science | 链接 | 0 | 7000 | 0 |
Aya_datasets | 链接 | 0 | 3944 | 738 |
Tower-blocks_it | 链接 | 0 | 0 | 7276 |
Bactrian-X | 链接 | 0 | 0 | 67000 |
Magpie (我们翻译的) | 链接 | 0 | 0 | 59070 |
Everyday-conversations (我们翻译的) | 链接 | 0 | 0 | 2260 |
alpaca-gpt4-it | 链接 | 0 | 0 | 15000 |
capybara-claude-15k-ita | 链接 | 0 | 0 | 15000 |
Wildchat | 链接 | 0 | 0 | 5000 |
GPT4_INST | 链接 | 0 | 0 | 10000 |
Italian Safety Instructions | - | 0 | 0 | 21426 |
Italian Conversations | - | 0 | 0 | 4843 |
更多详细信息,请查看我们的技术页面。
在线DPO训练
本模型卡是关于我们的DPO模型的。直接偏好优化(DPO)是一种基于用户反馈来优化模型的方法,类似于基于人类反馈的强化学习(RLHF),但无需强化学习的复杂性。在线DPO通过在训练过程中实现实时自适应进一步改进了这一点,利用新的反馈不断优化模型。在训练此模型时,我们使用了Hugging Face TRL库和在线DPO,并使用Skywork/Skywork-Reward-Llama-3.1-8B-v0.2模型作为评判器来评估和指导优化。在此阶段,我们仅使用了来自HuggingFaceH4/ultrafeedback_binarized(英语)、efederici/evol-dpo-ita(意大利语)和Babelscape/ALERT(翻译成意大利语)的提示,并添加了额外的手动整理数据以确保安全性。
更多详细信息,请查看我们的技术页面。
分词器丰富度
分词器丰富度衡量的是每个分词后的单词平均产生的标记数量。在特定语言中表现出高丰富度值的分词器通常表明它会对该语言的单词进行广泛的切分。分词器丰富度与模型在特定语言上的推理速度密切相关,因为较高的值意味着需要生成更长的标记序列,从而降低推理速度。
基于Cultura X(CX)数据和维基百科(Wp)样本计算的丰富度:
模型 | 词汇表大小 | 意大利语丰富度(CX) | 英语丰富度(CX) | 意大利语丰富度(Wp) | 英语丰富度(Wp) |
---|---|---|---|---|---|
Mistral-7B-v0.1 | 32000 | 1.87 | 1.32 | 2.05 | 1.57 |
gemma-7b | 256000 | 1.42 | 1.18 | 1.56 | 1.34 |
Minerva-3B-base-v1.0 | 32768 | 1.39 | 1.32 | 1.66 | 1.59 |
Minerva-7B-base-v1.0 | 51200 | 1.32 | 1.26 | 1.56 | 1.51 |
📚 详细文档
模型评估
在评估Minerva时,我们使用了ITA-Bench,这是一个用于测试意大利语模型能力的新评估套件。ITA-Bench由18个基准测试组成,用于评估语言模型在各种任务上的性能,包括科学知识、常识推理和数学问题解决。

.png)
团队成员
项目领导与协调
- Roberto Navigli:项目领导与协调;模型分析、评估与选择,安全性与防护,对话设计。
模型开发
- Edoardo Barba:预训练、后训练、数据分析、提示工程。
- Simone Conia:预训练、后训练、评估、模型和数据分析。
- Pere-Llu√≠s Huguet Cabot:数据处理、过滤和去重、偏好建模。
- Luca Moroni:数据分析、评估、后训练。
- Riccardo Orlando:预训练过程和数据处理。
安全与防护
- Stefan Bejgu:安全与防护。
- Federico Martelli:合成提示生成、模型和安全分析。
- Ciro Porcaro:额外的安全提示。
- Alessandro Scir√®:安全与防护。
- Simone Stirpe:额外的安全提示。
- Simone Tedeschi:用于安全评估的英语数据集。
特别感谢
- Giuseppe Fiameni, Nvidia
- Sergio Orlandini, CINECA
致谢
这项工作得到了PNRR MUR项目PE0000013 - FAIR和CREATIVE PRIN项目的资助,后者由MUR国家重要研究项目计划(PRIN 2020)资助。我们感谢CINECA在ISCRA计划下授予的 “IscB_medit” 奖项,为我们提供了高性能计算资源和支持。
📄 许可证
本模型采用Apache 2.0许可证。
⚠️ 重要提示
本模型是一个聊天基础模型,尽管采取了模型对齐和安全风险缓解策略,但仍可能存在以下问题:
- 过度代表某些观点,而忽视其他观点。
- 包含刻板印象。
- 包含个人信息。
- 生成以下内容:
- 种族主义和性别歧视内容。
- 仇恨、辱骂或暴力语言。
- 歧视性或偏见性语言。
- 可能不适用于所有场景的内容,包括色情内容。
- 出现错误,包括产生不正确的信息或历史事实,就好像它们是真实的一样。
- 生成无关或重复的输出。
我们意识到当前预训练大语言模型存在的偏差和潜在的问题/有害内容:更具体地说,作为(意大利语和英语)语言的概率模型,它们反映并放大了训练数据中的偏差。有关此问题的更多信息,请参考我们的调查:



