🚀 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集群訪問權限以及其高性能計算與分析實驗室的支持。