Teenytinyllama 160m GGUF
TeenyTinyLlama-160m是一个针对巴西葡萄牙语优化的微型语言模型,参数规模为1.6亿,专注于低资源语言研究。
下载量 148
发布时间 : 5/12/2024
模型简介
该模型是基于Transformer架构的因果语言模型,主要用于巴西葡萄牙语文本生成任务。它是为研究低资源语言模型开发挑战而设计的实验性模型。
模型特点
低资源语言优化
专门针对巴西葡萄牙语训练,填补了低资源语言模型的空白
高效训练
仅使用单块NVIDIA A100 GPU训练约36小时,碳排放量仅为5.6千克CO2
开源透明
完整公开训练代码和过程,便于研究和复现
轻量级
仅1.6亿参数的小型模型,适合研究和实验用途
模型能力
葡萄牙语文本生成
文本补全
语言理解
使用案例
教育
ENEM考试题目生成
生成巴西国家中等教育考试(ENEM)风格的题目
准确率19.24%
OAB法律考试辅助
生成巴西律师资格考试相关题目
准确率22.37%
内容审核
仇恨言论检测
识别葡萄牙语中的仇恨言论
F1宏平均36.92-42.63
语言理解
文本蕴含识别
判断两个葡萄牙语句子之间的逻辑关系
F1宏平均53.97
语义相似度计算
计算两个葡萄牙语句子的语义相似度
皮尔逊系数0.24
🚀 TeenyTinyLlama-160m-GGUF
本项目提供了来自 nicholasKluge 的 TeenyTinyLlama-160m 模型的量化 GGUF 格式文件。该模型在自然语言处理领域,尤其是巴西葡萄牙语的文本生成任务上具有重要价值,为低资源语言的语言模型研究提供了新的思路和工具。
📦 模型信息
属性 | 详情 |
---|---|
基础模型 | nicholasKluge/TeenyTinyLlama-160m |
二氧化碳排放量 | 排放量为 5.6 KgCO2,地理位置为德国,使用的硬件为 NVIDIA A100 - SXM4 - 40GB,数据来源为 CodeCarbon,训练类型为预训练 |
数据集 | nicholasKluge/Pt - Corpus - Instruct |
推理功能 | 支持推理 |
语言 | 葡萄牙语 |
库名称 | transformers |
许可证 | apache - 2.0 |
评估指标 | 困惑度 |
📊 模型评估结果
数据集 | 任务 | 指标 | 值 | 来源 |
---|---|---|---|---|
ENEM Challenge (No Images) | 文本生成 | 准确率 | 19.24 | Open Portuguese LLM Leaderboard |
BLUEX (No Images) | 文本生成 | 准确率 | 23.09 | Open Portuguese LLM Leaderboard |
OAB Exams | 文本生成 | 准确率 | 22.37 | Open Portuguese LLM Leaderboard |
Assin2 RTE | 文本生成 | f1 - macro | 53.97 | Open Portuguese LLM Leaderboard |
Assin2 STS | 文本生成 | pearson | 0.24 | Open Portuguese LLM Leaderboard |
FaQuAD NLI | 文本生成 | f1 - macro | 43.97 | Open Portuguese LLM Leaderboard |
HateBR Binary | 文本生成 | f1 - macro | 36.92 | Open Portuguese LLM Leaderboard |
PT Hate Speech Binary | 文本生成 | f1 - macro | 42.63 | Open Portuguese LLM Leaderboard |
tweetSentBR | 文本生成 | f1 - macro | 11.39 | Open Portuguese LLM Leaderboard |
✨ 主要特性
- 针对性设计:为巴西葡萄牙语文本生成量身打造,解决了多语言模型在葡萄牙语上表现不佳的问题。
- 轻量级模型:参数规模相对较小,降低了计算需求和资源消耗。
- 高效训练:训练时间短,能源消耗低,碳排放少。
🚀 快速开始
基础信息
- 架构:基于 Transformer 的模型,通过因果语言建模进行预训练。
- 规模:162,417,408 个参数。
- 上下文长度:2048 个标记。
- 数据集:[Pt - Corpus Instruct](https://huggingface.co/datasets/nicholasKluge/Pt - Corpus - Instruct)(62 亿个标记)。
- 语言:葡萄牙语。
- 训练步数:458,000 步。
- GPU:1 块 NVIDIA A100 - SXM4 - 40GB。
- 训练时间:约 36 小时。
- 排放量:5.6 KgCO2(德国)。
- 总能耗:15.5 kWh。
代码示例
使用 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)}')
🔧 技术细节
训练过程
在训练过程中,模型在多个指标上表现出了良好的收敛性,评估曲线未出现过拟合或饱和的迹象。研究人员推测模型可能处于欠训练状态,进一步训练可能会提高性能。
评估指标
处理的标记数 | 困惑度 | 能耗 (kWh) | 排放量 (KgCO2eq) |
---|---|---|---|
810 万 | 20.49 | 9.40 | 3.34 |
16 亿 | 16.90 | 18.82 | 6.70 |
24 亿 | 15.43 | 28.59 | 10.16 |
32 亿 | 14.64 | 38.20 | 13.57 |
40 亿 | 14.08 | 48.04 | 17.07 |
49 亿 | 13.61 | 57.74 | 20.52 |
57 亿 | 13.25 | 67.32 | 23.92 |
65 亿 | 12.87 | 76.84 | 27.30 |
73 亿 | 12.57 | 86.40 | 30.70 |
81 亿 | 12.27 | 96.19 | 34.18 |
90 亿 | 11.96 | 106.06 | 37.70 |
98 亿 | 11.77 | 115.69 | 41.31 |
基准测试
在多个基准测试中,模型与其他同类模型进行了比较,展示了其在巴西葡萄牙语任务上的性能。
通用基准测试
模型 | 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 |
Multilingual GPT | 23.81 | 26.37* | 25.17* | 39.62 | 28.73 |
巴西葡萄牙语基准测试
模型 | ASSIN2 RTE | ASSIN2 STS | BLUEX | ENEM | FAQUAD NLI | HateBR | OAB Exams | 平均 |
---|---|---|---|---|---|---|---|---|
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 |
微调比较
对模型进行了微调实验,并与 [BERTimbau](https://huggingface.co/neuralmind/bert - base - portuguese - cased) 模型进行了比较。
模型 | 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 |
⚠️ 重要提示
- 幻觉问题:模型可能会生成看似真实但实际上具有误导性或完全错误的内容。
- 偏见和毒性:由于训练数据的原因,模型可能会生成包含社会和历史刻板印象的有毒内容。
- 代码可靠性:模型生成的代码片段和语句可能不正确,不能作为准确的解决方案。
- 语言限制:模型主要设计用于理解标准巴西葡萄牙语,对其他语言的理解可能存在困难。
- 重复和冗长:模型可能会陷入重复循环或生成与提示无关的冗长响应。
建议用户在将模型用于实际应用时进行风险分析,并在与用户交互的应用中对模型输出进行人工审核。
📄 许可证
本模型采用 Apache 2.0 许可证。有关详细信息,请参阅 LICENSE 文件。
📖 引用信息
@misc{correa24ttllama,
title = {TeenyTinyLlama: open - source tiny language models trained in Brazilian Portuguese},
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}
}
💡 使用建议
- 在使用模型进行文本生成时,合理设置重复惩罚参数,以避免出现重复循环的问题。
- 对于重要的应用场景,建议对模型输出进行人工审核,以确保内容的准确性和可靠性。
- 如果需要进一步提高模型性能,可以考虑对模型进行微调。
Phi 2 GGUF
其他
Phi-2是微软开发的一个小型但强大的语言模型,具有27亿参数,专注于高效推理和高质量文本生成。
大型语言模型 支持多种语言
P
TheBloke
41.5M
205
Roberta Large
MIT
基于掩码语言建模目标预训练的大型英语语言模型,采用改进的BERT训练方法
大型语言模型 英语
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基础模型的蒸馏版本,在保持相近性能的同时更轻量高效,适用于序列分类、标记分类等自然语言处理任务。
大型语言模型 英语
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一个多语言大语言模型,针对多语言对话用例进行了优化,在常见的行业基准测试中表现优异。
大型语言模型 英语
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基于100种语言的2.5TB过滤CommonCrawl数据预训练的多语言模型,采用掩码语言建模目标进行训练。
大型语言模型 支持多种语言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基于Transformer架构的英语预训练模型,通过掩码语言建模目标在海量文本上训练,支持文本特征提取和下游任务微调
大型语言模型 英语
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI发布的开放预训练Transformer语言模型套件,参数量从1.25亿到1750亿,旨在对标GPT-3系列性能,同时促进大规模语言模型的开放研究。
大型语言模型 英语
O
facebook
6.3M
198
1
基于transformers库的预训练模型,适用于多种NLP任务
大型语言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多语言大语言模型系列,包含8B、70B和405B参数规模,支持8种语言和代码生成,优化了多语言对话场景。
大型语言模型
Transformers 支持多种语言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基础版是由Google开发的文本到文本转换Transformer模型,参数规模2.2亿,支持多语言NLP任务。
大型语言模型 支持多种语言
T
google-t5
5.4M
702
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98