Gpt2 Small Turkish
这是一个基于GPT2-Small英语模型的微调版本,使用土耳其语维基百科文章进行训练,适用于土耳其语文本生成任务。
下载量 545
发布时间 : 3/2/2022
模型简介
该模型是基于GPT2架构的土耳其语文本生成模型,主要用于土耳其语的文本自动补全和生成任务。
模型特点
土耳其语优化
专门针对土耳其语进行了微调,提高了土耳其语文本生成的质量。
基于维基百科训练
使用土耳其语维基百科文章进行训练,具有丰富的语言知识。
多长度支持
支持最大1024的序列长度,适合生成较长的文本内容。
模型能力
土耳其语文本生成
文本自动补全
语言模型预测
使用案例
内容创作
自动文章写作
根据给定的开头自动生成完整的土耳其语文章
文本补全
根据部分输入自动补全完整的句子或段落
教育
语言学习辅助
帮助土耳其语学习者生成示例句子和文本
🚀 土耳其语微调GPT2模型
本项目基于GPT2-Small英文模型,使用2020年10月28日的土耳其语维基百科文章进行微调与额外训练。该模型可用于自然语言处理任务,为土耳其语相关的文本生成等应用提供支持。
🚀 快速开始
安装
from transformers import AutoTokenizer, AutoModelWithLMHead
import torch
tokenizer = AutoTokenizer.from_pretrained("gorkemgoknar/gpt2-small-turkish")
model = AutoModelWithLMHead.from_pretrained("gorkemgoknar/gpt2-small-turkish")
# Get sequence length max of 1024
tokenizer.model_max_length=1024
model.eval() # disable dropout (or leave in train mode to finetune)
生成一个单词
# input sequence
text = "Bu yazıyı bilgisayar yazdı."
inputs = tokenizer(text, return_tensors="pt")
# model output
outputs = model(**inputs, labels=inputs["input_ids"])
loss, logits = outputs[:2]
predicted_index = torch.argmax(logits[0, -1, :]).item()
predicted_text = tokenizer.decode([predicted_index])
# results
print('input text:', text)
print('predicted text:', predicted_text)
# input text:
# predicted text:
生成完整序列
# input sequence
text = "Bu yazıyı bilgisayar yazdı."
inputs = tokenizer(text, return_tensors="pt")
# model output using Top-k sampling text generation method
sample_outputs = model.generate(inputs.input_ids,
pad_token_id=50256,
do_sample=True,
max_length=50, # put the token number you want
top_k=40,
num_return_sequences=1)
# generated sequence
for i, sample_output in enumerate(sample_outputs):
print(">> Generated text {}\\\\
\\\\
{}".format(i+1, tokenizer.decode(sample_output.tolist())))
# >> Generated text
#
✨ 主要特性
- 微调模型:基于GPT2-Small英文模型,使用土耳其语维基百科文章进行微调,更适配土耳其语相关任务。
- 多用途:可用于文本生成、单词预测等自然语言处理任务。
- 实时演示:提供基于该模型的实时演示,可在 https://www.metayazar.com/ 查看。
- 微调写作器:有基于此模型的微调写作器,地址为 https://huggingface.co/gorkemgoknar/gpt2-turkish-writer。
📦 安装指南
使用以下代码安装所需的库和加载模型:
from transformers import AutoTokenizer, AutoModelWithLMHead
import torch
tokenizer = AutoTokenizer.from_pretrained("gorkemgoknar/gpt2-small-turkish")
model = AutoModelWithLMHead.from_pretrained("gorkemgoknar/gpt2-small-turkish")
# Get sequence length max of 1024
tokenizer.model_max_length=1024
model.eval() # disable dropout (or leave in train mode to finetune)
💻 使用示例
基础用法
# input sequence
text = "Bu yazıyı bilgisayar yazdı."
inputs = tokenizer(text, return_tensors="pt")
# model output
outputs = model(**inputs, labels=inputs["input_ids"])
loss, logits = outputs[:2]
predicted_index = torch.argmax(logits[0, -1, :]).item()
predicted_text = tokenizer.decode([predicted_index])
# results
print('input text:', text)
print('predicted text:', predicted_text)
# input text:
# predicted text:
高级用法
# input sequence
text = "Bu yazıyı bilgisayar yazdı."
inputs = tokenizer(text, return_tensors="pt")
# model output using Top-k sampling text generation method
sample_outputs = model.generate(inputs.input_ids,
pad_token_id=50256,
do_sample=True,
max_length=50, # put the token number you want
top_k=40,
num_return_sequences=1)
# generated sequence
for i, sample_output in enumerate(sample_outputs):
print(">> Generated text {}\\\\
\\\\
{}".format(i+1, tokenizer.decode(sample_output.tolist())))
# >> Generated text
#
📚 详细文档
模型描述
这是一个基于GPT2-Small英文的模型,截至2020年10月28日,使用土耳其语维基百科文章进行了微调与额外训练。
- 实时演示:https://www.metayazar.com/
- 微调写作器:https://huggingface.co/gorkemgoknar/gpt2-turkish-writer
- 参考教程:https://github.com/piegu/fastai-projects/blob/master/finetuning-English-GPT2-any-language-Portuguese-HuggingFace-fastaiv2.ipynb
- 代码适配:代码已转换为适用于Fastai 2.X。
- 训练环境:使用Google Colab进行训练。
- 后续教程和源码:后续将在 https://github.com/gorkemgoknar 提供。
预期用途与限制
预期用途
该模型可用于土耳其语的文本生成、单词预测等自然语言处理任务。
限制和偏差
该模型的训练数据来自土耳其语维基百科,其中包含大量未经过滤的互联网内容,远非中立。
训练数据
使用2020年10月28日的土耳其语维基百科文章转储作为训练数据。
评估结果
轮次 | 训练损失 | 验证损失 | 准确率 | 困惑度 | 时间 |
---|---|---|---|---|---|
0 | 4.777015 | 4.621834 | 0.292547 | 101.680367 | 2:42:05 |
1 | 4.509412 | 4.403999 | 0.305574 | 81.777267 | 1:09:38 |
2 | 4.169529 | 4.120755 | 0.324908 | 61.605747 | 1:07:45 |
3 | 4.293973 | 4.177899 | 0.317211 | 65.228653 | 1:07:02 |
4 | 4.049848 | 3.949103 | 0.338347 | 51.888783 | 1:05:53 |
注:第0轮在Tesla T4上训练,其他轮次在V100上训练。
🔧 技术细节
本模型基于GPT2-Small英文模型,使用土耳其语维基百科文章进行微调。训练过程中,代码适配了Fastai 2.X版本,并使用Google Colab进行训练。评估指标包括准确率和困惑度,通过多轮训练不断优化模型性能。
📄 许可证
本项目采用Apache-2.0许可证。
📦 可用模型
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