模型简介
模型特点
模型能力
使用案例
🚀 Tucano-2b4
Tucano 是一系列以葡萄牙语进行原生预训练的解码器 - 变换器模型。所有Tucano模型均在 GigaVerbo 上进行训练,这是一个由去重后的葡萄牙语文本语料库拼接而成的数据集,总计包含2000亿个标记。
阅读我们的预印本 点击此处。
🚀 快速开始
Tucano-2b4是一个基于变换器架构的模型,通过因果语言建模进行预训练。你可以使用以下代码示例快速开始使用该模型进行文本生成。
✨ 主要特性
- 原生葡萄牙语预训练:Tucano系列模型专门针对葡萄牙语进行预训练,能更好地处理葡萄牙语相关任务。
- 大规模数据集训练:在包含2000亿标记的GigaVerbo数据集上训练,学习到丰富的语言知识。
- 长上下文处理能力:支持4096个标记的上下文长度,能处理更复杂的文本任务。
📦 安装指南
文档未提供安装步骤,跳过该章节。
💻 使用示例
基础用法
使用 pipeline
进行文本生成:
from transformers import pipeline
generator = pipeline("text-generation", model="TucanoBR/Tucano-2b4")
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
# Specify the model and tokenizer
model_id = "TucanoBR/Tucano-2b4"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
# Specify the generation parameters as you like
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)
# Generate text
prompt = "A floresta da Amazônia é conhecida por sua"
completion = generator(prompt, generation_config=generation_config)
print(completion[0]['generated_text'])
📚 详细文档
模型详情
- 架构:基于变换器的模型,通过因果语言建模进行预训练
- 规模:2,444,618,240个参数
- 上下文长度:4096个标记
- 数据集:TucanoBR/GigaVerbo
- 语言:葡萄牙语
- 训练步数:1,960,000
- GPU:16块NVIDIA A100 - SXM4 - 80GB
- 训练时间:约845小时
- 碳排放:4,475 KgCO2(德国)
- 总能耗:11,749 kWh
本仓库包含用于训练该模型的 源代码。主要使用的库包括:
- PyTorch
- Transformers
- Datasets
- Tokenizers
- Sentencepiece
- Accelerate
- FlashAttention
- Liger Kernel
- Codecarbon
- TRL
预期用途
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},
}
致谢



