🚀 Tucano-160m
Tucano-160m是一系列以葡萄牙语进行原生预训练的解码器-Transformer模型,在葡萄牙语语言建模研究和开发领域具有重要价值。
🚀 快速开始
Tucano模型主要用于涉及原生葡萄牙语语言建模的研究和开发。训练期间保存的检查点旨在为进行对比实验提供可控环境,特别是关于主动预训练对当前可用基准测试性能的影响。如果您的使用遵循Apache 2.0许可,也可以对Tucano模型进行微调并部署。
基础用法
使用pipeline
:
from transformers import pipeline
generator = pipeline("text-generation", model="TucanoBR/Tucano-160m")
completions = generator("A floresta da Amazônia é conhecida por sua", num_return_sequences=2, max_new_tokens=100)
for comp in completions:
print(f"🤖 {comp['generated_text']}")
使用AutoTokenizer
和AutoModelForCausalLM
:
from transformers import GenerationConfig, TextGenerationPipeline, AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "TucanoBR/Tucano-160m"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
generation_config = GenerationConfig(
**{
"do_sample": True,
"max_new_tokens": 2048,
"renormalize_logits": True,
"repetition_penalty": 1.2,
"temperature": 0.1,
"top_k": 50,
"top_p": 1.0,
"use_cache": True,
}
)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
generator = TextGenerationPipeline(model=model, task="text-generation", tokenizer=tokenizer, device=device)
prompt = "A floresta da Amazônia é conhecida por sua"
completion = generator(prompt, generation_config=generation_config)
print(completion[0]['generated_text'])
✨ 主要特性
- 原生葡萄牙语预训练:Tucano是一系列以葡萄牙语进行原生预训练的解码器-Transformer模型。
- 大规模数据集训练:所有Tucano模型均在GigaVerbo上进行训练,这是一个由去重后的葡萄牙语文本语料库拼接而成的数据集,包含2000亿个标记。
📚 详细文档
模型详情
- 架构:基于Transformer的模型,通过因果语言建模进行预训练。
- 规模:162,417,408个参数。
- 上下文长度:2048个标记。
- 数据集:TucanoBR/GigaVerbo
- 语言:葡萄牙语
- 训练步数:320,000
- GPU:8块NVIDIA A100 - SXM4 - 80GB
- 训练时间:约44小时
- 碳排放:89.73千克二氧化碳(德国)
- 总能耗:235.54千瓦时
本仓库包含用于训练该模型的源代码。主要使用的库包括:
预期用途
Tucano模型的主要预期用途是作为涉及原生葡萄牙语语言建模的研究和开发的基础。训练期间保存的检查点旨在为进行对比实验提供可控环境,特别是关于主动预训练对当前可用基准测试性能的影响。如果您的使用遵循Apache 2.0许可,也可以对Tucano模型进行微调并部署。如果您决定将Tucano模型作为微调模型的基础,请自行进行风险和偏差评估。
非预期用途
- 不适合部署:Tucano模型不适合直接部署,它们不是即开即用的产品,不应用于面向人类的交互。
- 仅支持葡萄牙语:Tucano模型仅适用于葡萄牙语,不适用于其他语言的文本生成任务。
- 未针对下游任务微调:Tucano模型未针对下游任务进行微调。
局限性
与几乎所有在从网络上抓取的大型文本数据集上训练的其他语言模型一样,Tucano模型的表现使其不能成为许多现实世界应用的即开即用解决方案,特别是那些需要事实性、可靠性和无毒文本生成的应用。Tucano模型存在以下问题:
- 幻觉问题:Tucano模型可能会生成看似真实但具有误导性或完全错误的内容,即幻觉。
- 偏差和毒性:Tucano模型继承了训练数据中的社会和历史刻板印象。由于这些偏差,模型可能会生成有毒内容,即对个人、群体或社区有害、冒犯或不利的内容。
- 不可靠的代码:Tucano模型可能会生成不正确的代码片段和语句。这些代码生成不应被视为建议或准确的解决方案。
- 语言限制:Tucano模型主要设计用于与葡萄牙语进行交互。其他语言可能会挑战其理解能力,导致潜在的误解或响应错误。
- 重复和冗长:Tucano模型可能会陷入重复循环(特别是在生成过程中重复惩罚设置为较低值时)或生成与给定提示无关的冗长响应。
因此,尽管我们的模型以宽松的许可发布,但我们敦促用户如果打算将其用于现实世界应用,对其进行风险分析。
评估
下表将我们的模型与几种葡萄牙语和多语言模型在我们研究中使用的评估框架上进行了比较。更多信息可在此处找到。要了解更多关于我们评估框架的选择,请阅读我们的预印本。
|
平均 |
Calame-PT |
Lambada-PT |
ARC-PT |
HellaSwag-PT |
Llama-3.2-3B |
52 |
58.43 |
49.1 |
43.25 |
57.2 |
Granite-3.0-2b |
51.63 |
56.36 |
47.55 |
42.56 |
60.05 |
Tucano-2b4 |
43.58 |
59.06 |
37.67 |
30.43 |
47.17 |
Llama-3.2-1B |
42.95 |
51.83 |
41.02 |
33.5 |
45.44 |
Tucano-1b1 |
41.55 |
58.24 |
34.7 |
30.43 |
42.84 |
Gemma-2b |
40.38 |
51.16 |
39.88 |
37.95 |
32.53 |
Bloom-1b7 |
40.37 |
55.64 |
31.98 |
30.34 |
43.52 |
Tucano-630m |
39.5 |
56.55 |
33.13 |
28.89 |
39.41 |
Gemma-2-2b |
39.21 |
56.7 |
47.1 |
24.19 |
28.85 |
Bloom-1b1 |
38.18 |
52.94 |
30.22 |
29.83 |
39.74 |
GlórIA-1b3 |
36.05 |
52.79 |
27.71 |
26.67 |
37.04 |
Tucano-160m |
35.14 |
52.31 |
28.16 |
27.01 |
33.07 |
Xglm-564m |
34.55 |
50.58 |
27.42 |
25.56 |
34.64 |
Bloom-560m |
34.32 |
49.95 |
25.44 |
24.74 |
37.15 |
TTL-460m |
33.78 |
49.42 |
23.29 |
29.4 |
33 |
mGPT-1b3 |
31.81 |
47.14 |
29.92 |
23.81 |
26.37 |
TTL-160m |
30.78 |
46.72 |
20.98 |
26.15 |
29.29 |
Lola-v1 |
30.19 |
26.4 |
18.32 |
30.42 |
45.61 |
GPorTuguese |
28.92 |
40.61 |
22.98 |
22.48 |
29.62 |
📄 许可证
Tucano采用Apache License 2.0许可。更多详情请参阅LICENSE文件。
Cite as 🤗
@misc{correa2024tucanoadvancingneuraltext,
title={{Tucano: Advancing Neural Text Generation for Portuguese}},
author={Corr{\^e}a, Nicholas Kluge and Sen, Aniket and Falk, Sophia and Fatimah, Shiza},
year={2024},
eprint={2411.07854},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2411.07854},
}
致谢
我们衷心感谢波恩大学提供的Marvin集群访问权限以及其高性能计算与分析实验室的支持。