模型简介
模型特点
模型能力
使用案例
基础模型: nicholasKluge/TeenyTinyLlama-160m 二氧化碳当量排放: 排放量: 5.6 地理位置: 德国 使用硬件: NVIDIA A100-SXM4-40GB 来源: CodeCarbon 训练类型: 预训练 数据集:
- nicholasKluge/Pt-Corpus-Instruct 推理: true 语言:
- pt 库名称: transformers 许可证: apache-2.0 指标:
- 困惑度 模型索引:
- 名称: TeenyTinyLlama-160m
结果:
- 数据集:
参数:
num_few_shot: 3
名称: ENEM挑战赛(无图像)
拆分: train
类型: eduagarcia/enem_challenge
指标:
- 名称: 准确率 类型: acc 值: 19.24 来源: 名称: 葡萄牙语开源大模型排行榜 网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=nicholasKluge/TeenyTinyLlama-160m 任务: 名称: 文本生成 类型: text-generation
- 数据集:
参数:
num_few_shot: 3
名称: BLUEX(无图像)
拆分: train
类型: eduagarcia-temp/BLUEX_without_images
指标:
- 名称: 准确率 类型: acc 值: 23.09 来源: 名称: 葡萄牙语开源大模型排行榜 网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=nicholasKluge/TeenyTinyLlama-160m 任务: 名称: 文本生成 类型: text-generation
- 数据集:
参数:
num_few_shot: 3
名称: OAB考试
拆分: train
类型: eduagarcia/oab_exams
指标:
- 名称: 准确率 类型: acc 值: 22.37 来源: 名称: 葡萄牙语开源大模型排行榜 网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=nicholasKluge/TeenyTinyLlama-160m 任务: 名称: 文本生成 类型: text-generation
- 数据集:
参数:
num_few_shot: 15
名称: Assin2 RTE
拆分: test
类型: assin2
指标:
- 名称: f1宏平均 类型: f1_macro 值: 53.97 来源: 名称: 葡萄牙语开源大模型排行榜 网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=nicholasKluge/TeenyTinyLlama-160m 任务: 名称: 文本生成 类型: text-generation
- 数据集:
参数:
num_few_shot: 15
名称: Assin2 STS
拆分: test
类型: eduagarcia/portuguese_benchmark
指标:
- 名称: 皮尔逊系数 类型: pearson 值: 0.24 来源: 名称: 葡萄牙语开源大模型排行榜 网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=nicholasKluge/TeenyTinyLlama-160m 任务: 名称: 文本生成 类型: text-generation
- 数据集:
参数:
num_few_shot: 15
名称: FaQuAD NLI
拆分: test
类型: ruanchaves/faquad-nli
指标:
- 名称: f1宏平均 类型: f1_macro 值: 43.97 来源: 名称: 葡萄牙语开源大模型排行榜 网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=nicholasKluge/TeenyTinyLlama-160m 任务: 名称: 文本生成 类型: text-generation
- 数据集:
参数:
num_few_shot: 25
名称: HateBR二元分类
拆分: test
类型: ruanchaves/hatebr
指标:
- 名称: f1宏平均 类型: f1_macro 值: 36.92 来源: 名称: 葡萄牙语开源大模型排行榜 网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=nicholasKluge/TeenyTinyLlama-160m 任务: 名称: 文本生成 类型: text-generation
- 数据集:
参数:
num_few_shot: 25
名称: 葡萄牙语仇恨言论二元分类
拆分: test
类型: hate_speech_portuguese
指标:
- 名称: f1宏平均 类型: f1_macro 值: 42.63 来源: 名称: 葡萄牙语开源大模型排行榜 网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=nicholasKluge/TeenyTinyLlama-160m 任务: 名称: 文本生成 类型: text-generation
- 数据集:
参数:
num_few_shot: 25
名称: tweetSentBR
拆分: test
类型: eduagarcia-temp/tweetsentbr
指标:
- 名称: f1宏平均 类型: f1_macro 值: 11.39 来源: 名称: 葡萄牙语开源大模型排行榜 网址: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=nicholasKluge/TeenyTinyLlama-160m 任务: 名称: 文本生成 类型: text-generation 模型创建者: nicholasKluge 模型名称: TeenyTinyLlama-160m 管道标签: text-generation 量化者: afrideva 标签:
- 数据集:
参数:
num_few_shot: 3
名称: ENEM挑战赛(无图像)
拆分: train
类型: eduagarcia/enem_challenge
指标:
- 文本生成推理
- gguf
- ggml
- 量化 小部件:
- 示例标题: 示例 文本: 'PUCRS是一所大学'
- 示例标题: 示例 文本: 很久以前,在一个遥远的星系,生活着一个种族
- 示例标题: 示例 文本: 在丑闻中,议会阵线要求参议员Silva
TeenyTinyLlama-160m-GGUF
nicholasKluge/TeenyTinyLlama-160m的量化GGUF模型文件,来自nicholasKluge
原始模型卡片:
TeenyTinyLlama-160m

模型概述
大语言模型(LLM)显著推动了自然语言处理的发展,但其进步在不同语言间并不均衡。虽然大多数LLM针对英语等高资源语言训练,但多语言模型通常表现不如单语言模型。此外,其多语言基础的某些方面有时会限制其产出,如计算需求和许可制度。因此,我们开发了_TeenyTinyLlama_配对模型:两个用于巴西葡萄牙语文本生成的紧凑模型。
阅读我们在ArXiv上的预印本。
详情
- 架构: 基于Transformer的因果语言建模预训练模型
- 规模: 162,417,408参数
- 上下文长度: 2048个token
- 数据集: Pt-Corpus Instruct(62亿token)
- 语言: 葡萄牙语
- 训练步数: 458,000步
- GPU: 1块NVIDIA A100-SXM4-40GB
- 训练时间: ~36小时
- 碳排放: 5.6千克CO2(德国)
- 总能耗: 15.5千瓦时
此仓库包含训练该模型的源代码。主要使用的库包括:
预期用途
TeenyTinyLlama的主要预期用途是研究为低资源语言开发语言模型的相关挑战。训练过程中保存的检查点旨在为进行科学实验提供受控环境。您也可以根据Apache 2.0许可证进一步微调和适配TeenyTinyLlama进行部署。如果您决定使用预训练的TeenyTinyLlama作为微调模型的基础,请自行进行风险和偏见评估。
非预期用途
TeenyTinyLlama不适用于部署。它不是产品,不应用于面向人类的交互。
TeenyTinyLlama模型仅适用于巴西葡萄牙语,不适合翻译或生成其他语言的文本。
TeenyTinyLlama尚未针对语言模型常见部署的下游场景进行微调。
基本用法
使用pipeline
:
from transformers import pipeline
generator = pipeline("text-generation", model="nicholasKluge/TeenyTinyLlama-160m")
completions = generator("Astronomia é a ciência", num_return_sequences=2, max_new_tokens=100)
for comp in completions:
print(f"🤖 {comp['generated_text']}")
使用AutoTokenizer
和AutoModelForCausalLM
:
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# 加载模型和分词器
tokenizer = AutoTokenizer.from_pretrained("nicholasKluge/TeenyTinyLlama-160m", revision='main')
model = AutoModelForCausalLM.from_pretrained("nicholasKluge/TeenyTinyLlama-160m", revision='main')
# 将模型移至设备
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.eval()
model.to(device)
# 分词输入并移至设备
inputs = tokenizer("Astronomia é a ciência", return_tensors="pt").to(device)
# 生成文本
completions = model.generate(**inputs, num_return_sequences=2, max_new_tokens=100)
# 打印生成文本
for i, completion in enumerate(completions):
print(f'🤖 {tokenizer.decode(completion)}')
局限性
与几乎所有基于从网络抓取的大型文本数据集训练的语言模型一样,TTL配对模型表现出的一些行为使其不能成为许多现实世界应用的即用解决方案,特别是那些需要真实、可靠、无毒文本生成的应用。我们的模型都存在以下问题:
-
幻觉: 该模型可能产生看似真实但实际上是误导或完全错误的内容,即幻觉。
-
偏见和毒性: 该模型继承了训练数据中的社会和历史刻板印象。鉴于这些偏见,模型可能产生有毒内容,即对个人、群体或社区有害、冒犯或不利的内容。
-
不可靠代码: 模型可能产生错误的代码片段和语句。这些代码生成不应被视为建议或准确解决方案。
-
语言限制: 该模型主要设计用于理解标准巴西葡萄牙语。其他语言可能会挑战其理解能力,导致潜在的误解或响应错误。
-
重复和冗长: 模型可能会陷入重复循环(特别是在生成过程中重复惩罚设置得非常低时),或产生与给定提示无关的冗长响应。
因此,尽管我们的模型是使用宽松许可证发布的,但我们敦促用户如果打算将这些模型用于现实世界应用,需自行进行风险分析,并在这些模型与受众交互的应用中安排人工审核输出,确保用户始终意识到他们正在与语言模型交互。
评估
在我们的训练过程中,两个模型都显示出持续收敛。在任何时候,我们的评估曲线都没有显示出过拟合或饱和的迹象。对于我们的460m参数模型,我们有意在最佳点后继续训练约75,000步,以评估是否有饱和迹象,但我们的评估始终给出更好的结果。我们假设我们的模型训练不足,但如果进一步训练超过Chinchilla最优范围,可能会有所改善。
处理token数 | 困惑度 | 能耗(kWh) | 排放量(KgCO2eq) |
---|---|---|---|
8.1M | 20.49 | 9.40 | 3.34 |
1.6B | 16.90 | 18.82 | 6.70 |
2.4B | 15.43 | 28.59 | 10.16 |
3.2B | 14.64 | 38.20 | 13.57 |
4.0B | 14.08 | 48.04 | 17.07 |
4.9B | 13.61 | 57.74 | 20.52 |
5.7B | 13.25 | 67.32 | 23.92 |
6.5B | 12.87 | 76.84 | 27.30 |
7.3B | 12.57 | 86.40 | 30.70 |
8.1B | 12.27 | 96.19 | 34.18 |
9.0B | 11.96 | 106.06 | 37.70 |
9.8B | 11.77 | 115.69 | 41.31 |
基准测试
基准测试评估使用Language Model Evaluation Harness(由EleutherAI开发)进行。Laiviet翻译了我们使用的LM-Evaluation-Harness任务。标有"*"的模型结果取自Open LLM Leaderboard。
ARC | HellaSwag | MMLU | TruthfulQA | 平均 | |
---|---|---|---|---|---|
Pythia-410m | 24.83* | 41.29* | 25.99* | 40.95* | 33.26 |
TTL-460m | 29.40 | 33.00 | 28.55 | 41.10 | 33.01 |
Bloom-560m | 24.74* | 37.15* | 24.22* | 42.44* | 32.13 |
Xglm-564M | 25.56 | 34.64* | 25.18* | 42.53 | 31.97 |
OPT-350m | 23.55* | 36.73* | 26.02* | 40.83* | 31.78 |
TTL-160m | 26.15 | 29.29 | 28.11 | 41.12 | 31.16 |
Pythia-160m | 24.06* | 31.39* | 24.86* | 44.34* | 31.16 |
OPT-125m | 22.87* | 31.47* | 26.02* | 42.87* | 30.80 |
GPorTuguese-2 | 22.48 | 29.62 | 27.36 | 41.44 | 30.22 |
Gpt2-small | 21.48* | 31.60* | 25.79* | 40.65* | 29.97 |
多语言GPT | 23.81 | 26.37* | 25.17* | 39.62 | 28.73 |
巴西葡萄牙语基准测试评估使用葡萄牙语实现的EleutherAI LM Evaluation Harness(由Eduardo Garcia创建)进行。
ASSIN2 RTE | ASSIN2 STS | BLUEX | ENEM | FAQUAD NLI | HateBR | OAB考试 | 平均 | |
---|---|---|---|---|---|---|---|---|
Qwen-1.8B | 64.83 | 19.53 | 26.15 | 30.23 | 43.97 | 33.33 | 27.20 | 35.03 |
TinyLlama-1.1B | 58.93 | 13.57 | 22.81 | 22.25 | 43.97 | 36.92 | 23.64 | 31.72 |
TTL-460m | 53.93 | 12.66 | 22.81 | 19.87 | 49.01 | 33.59 | 27.06 | 31.27 |
XGLM-564m | 49.61 | 22.91 | 19.61 | 19.38 | 43.97 | 33.99 | 23.42 | 30.41 |
Bloom-1b7 | 53.60 | 4.81 | 21.42 | 18.96 | 43.97 | 34.89 | 23.05 | 28.67 |
TTL-160m | 53.36 | 2.58 | 21.84 | 18.75 | 43.97 | 36.88 | 22.60 | 28.56 |
OPT-125m | 39.77 | 2.00 | 21.84 | 17.42 | 43.97 | 47.04 | 22.78 | 27.83 |
Pythia-160 | 33.33 | 12.81 | 16.13 | 16.66 | 50.36 | 41.09 | 22.82 | 27.60 |
OLMo-1b | 34.12 | 9.28 | 18.92 | 20.29 | 43.97 | 41.33 | 22.96 | 27.26 |
Bloom-560m | 33.33 | 8.48 | 18.92 | 19.03 | 43.97 | 37.07 | 23.05 | 26.26 |
Pythia-410m | 33.33 | 4.80 | 19.47 | 19.45 | 43.97 | 33.33 | 23.01 | 25.33 |
OPT-350m | 33.33 | 3.65 | 20.72 | 17.35 | 44.71 | 33.33 | 23.01 | 25.15 |
GPT-2 small | 33.26 | 0.00 | 10.43 | 11.20 | 43.52 | 33.68 | 13.12 | 20.74 |
GPorTuguese | 33.33 | 3.85 | 14.74 | 3.01 | 28.81 | 33.33 | 21.23 | 19.75 |
Samba-1.1B | 33.33 | 1.30 | 8.07 | 10.22 | 17.72 | 35.79 | 15.03 | 17.35 |
微调比较
为了进一步评估我们模型的下游能力,我们决定在Poeta基准测试的子集上对我们的TTL配对模型应用基本微调程序。出于比较目的,我们对BERTimbau模型也应用相同的程序,因为它们也是针对巴西葡萄牙语从头训练的LLM,并且与我们的模型规模范围相似。我们使用这些比较来评估我们的预训练是否产生了能够在下游应用中产生良好结果("良好"在这里意味着"接近BERTimbau")的LLM。
模型 | IMDB | FaQuAD-NLI | HateBr | Assin2 | AgNews | 平均 |
---|---|---|---|---|---|---|
BERTimbau-large | 93.58 | 92.26 | 91.57 | 88.97 | 94.11 | 92.10 |
BERTimbau-small | 92.22 | 93.07 | 91.28 | 87.45 | 94.19 | 91.64 |
TTL-460m | 91.64 | 91.18 | 92.28 | 86.43 | 94.42 | 91.19 |
TTL-160m | 91.14 | 90.00 | 90.71 | 85.78 | 94.05 | 90.34 |
所有显示的结果是在各自任务测试集上微调模型后达到的最高准确率分数。所有微调运行使用相同的超参数,代码实现可以在我们微调模型的模型卡片中找到。
引用 🤗
@misc{correa24ttllama,
title = {TeenyTinyLlama: 巴西葡萄牙语训练的开源微型语言模型},
author = {Corr{\^e}a, Nicholas Kluge and Falk, Sophia and Fatimah, Shiza and Sen, Aniket and De Oliveira, Nythamar},
journal={arXiv preprint arXiv:2401.16640},
year={2024}
}
资助
此仓库是RAIES(Rede de Inteligência Artificial Ética e Segura)计划的一部分,该项目由FAPERGS - (Fundação de Amparo à Pesquisa do Estado do Rio Grande do Sul),巴西支持。
许可证
TeenyTinyLlama-160m根据Apache License, Version 2.0授权。详见LICENSE文件。


