模型简介
模型特点
模型能力
使用案例
🚀 芬兰语GPT - 2中等模型
本项目是一个基于因果语言建模(CLM)目标,在芬兰语上预训练的GPT - 2中等模型。GPT - 2最早在这篇论文中被提出,并在此页面首次发布。
注意:此模型是拥有3.45亿参数的变体,与Huggingface的GPT - 2中等模型配置一致,并非OpenAI著名的拥有15亿参数的大模型变体。我们还有参数更多(7.74亿)的[gpt2 - large - finnish](https://huggingface.co/Finnish - NLP/gpt2 - large - finnish)模型可供使用,其性能优于本模型。
✨ 主要特性
- 基于因果语言建模(CLM)目标,在芬兰语上进行预训练。
- 学习到芬兰语的内在表示,可用于提取对下游任务有用的特征。
- 擅长根据提示生成文本。
🚀 快速开始
你可以直接使用此模型进行文本生成,或对其进行微调以应用于下游任务。你可以在模型中心查找针对你感兴趣任务的微调版本。
📦 安装指南
文档未提及安装步骤,可参考Huggingface的相关库安装说明来使用此模型。
💻 使用示例
基础用法
使用管道进行文本生成:
>>> from transformers import pipeline
>>> generator = pipeline('text-generation', model='Finnish-NLP/gpt2-medium-finnish')
>>> generator("Teksti√§ tuottava teko√§ly on", max_length=30, num_return_sequences=5)
[{'generated_text': 'Tekstiä tuottava tekoäly on tullut ihmisten arkeen viime vuosina. Se auttaa hahmottamaan ja tulkitsemaan monimutkaisia kokonaisuuksia ja ilmiöitä, joita ihmiset tekevät esimerkiksi ruokakaupassa'},
{'generated_text': 'Tekstiä tuottava tekoäly on jo ottanut haltuunsa myös ihmisten käyttämiä sovelluksia ja esimerkiksi pankkipalveluita. Sen vuoksi tekoäly on tärkeä kumppani etenkin yritysten liiketoiminnan kehittämisessä.-'},
{'generated_text': 'Teksti√§ tuottava teko√§ly on teko√§lylle luonnollinen valinta, sill√§ sen avulla voi kommunikoida ihmisten kanssa hyvin pitk√§lle samalla tavalla kuin tietokoneiden kanssa. Se on kehittynyt muun'},
{'generated_text': 'Teksti√§ tuottava teko√§ly on ihmisen kehitt√§m√§ teko√§ly, jota ei viel√§ ole pystytty rakentamaan. Teko√§ly kykenee toimimaan esimerkiksi matemaattisissa, tilastollisissa ja sosiaalisissa'},
{'generated_text': 'Tekstiä tuottava tekoäly on jo niin iso juttu ettei sitä kannata rajoittaakaan. Ja jos se saadaan käyttöön, niin se voi jo pian syrjäyttää perinteisen'}]
高级用法
获取给定文本的特征:
PyTorch实现
from transformers import GPT2Tokenizer, GPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('Finnish-NLP/gpt2-medium-finnish')
model = GPT2Model.from_pretrained('Finnish-NLP/gpt2-medium-finnish')
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='pt')
output = model(**encoded_input)
TensorFlow实现
from transformers import GPT2Tokenizer, TFGPT2Model
tokenizer = GPT2Tokenizer.from_pretrained('Finnish-NLP/gpt2-medium-finnish')
model = TFGPT2Model.from_pretrained('Finnish-NLP/gpt2-medium-finnish', from_pt=True)
text = "Replace me by any text you'd like."
encoded_input = tokenizer(text, return_tensors='tf')
output = model(encoded_input)
📚 详细文档
模型描述
芬兰语GPT - 2是一个以自监督方式在大量芬兰语数据语料库上预训练的Transformer模型。这意味着它仅在原始文本上进行预训练,没有人工对其进行任何标注(因此可以使用大量公开可用的数据),并通过自动流程从这些文本中生成输入和标签。更确切地说,它被训练用于预测句子中的下一个单词。
具体而言,输入是一定长度的连续文本序列,目标是相同的序列,但向右移动一个标记(单词或单词片段)。模型内部使用掩码机制,确保对标记 i
的预测仅使用从 1
到 i
的输入,而不使用未来的标记。
通过这种方式,模型学习到芬兰语的内在表示,可用于提取对下游任务有用的特征。不过,该模型最擅长的还是根据提示生成文本。
预期用途和限制
用途
你可以使用原始模型进行文本生成,或对其进行微调以应用于下游任务。
限制和偏差
此模型使用的训练数据包含大量来自互联网的未过滤内容,这些内容远非中立。因此,模型可能会产生有偏差的预测,这种偏差也会影响该模型的所有微调版本。
与所有语言模型一样,很难预先预测芬兰语GPT - 2对特定提示的响应,并且可能会在无预警的情况下生成冒犯性内容。我们建议在发布输出之前,由人工对输出进行审核或过滤,以审查不良内容并提高结果质量。
训练数据
这个芬兰语GPT - 2模型是在六个数据集的组合上进行预训练的:
- mc4_fi_cleaned:mC4数据集是Common Crawl网络爬取语料库的多语言、经过清理的版本。我们使用了mC4数据集中的芬兰语子集,并使用我们自己的文本数据清理代码进一步清理了该子集(可查看数据集仓库)。
- wikipedia:我们使用了维基百科(2021年8月)数据集中的芬兰语子集。
- Yle芬兰新闻档案2011 - 2018
- Yle芬兰新闻档案2019 - 2020
- 芬兰新闻社档案(STT)
- Suomi24句子语料库
原始数据集经过清理,以过滤掉质量不佳和非芬兰语的示例。这些清理后的数据集总共约有84GB的文本。
训练过程
预处理
文本使用字节级的字节对编码(BPE)(用于处理Unicode字符)进行分词,词汇表大小为50,257。输入是由512个连续标记组成的序列。
预训练
该模型在由Google TPU研究云赞助的TPUv3 - 8虚拟机上训练了360k步(略超过1个epoch,批量大小为128)。使用的优化器是AdamW,学习率为1e - 4,学习率在4000步内进行预热,之后学习率呈余弦衰减。
评估结果
评估使用了mc4_fi_cleaned数据集的验证分割,并使用困惑度(分数越小越好)作为评估指标。从下表可以看出,该模型(表中的第一行)的性能优于我们较小的gpt2 - finnish模型变体,但不如我们更大的gpt2 - large - finnish模型。
模型名称 | 困惑度 |
---|---|
Finnish - NLP/gpt2 - medium - finnish | 34.08 |
Finnish - NLP/gpt2 - finnish | 44.19 |
Finnish - NLP/gpt2 - large - finnish | 30.74 |
🔧 技术细节
分词
采用字节级的字节对编码(BPE),词汇表大小为50,257。
输入序列
输入为512个连续标记组成的序列。
训练环境
在TPUv3 - 8虚拟机上训练,由Google TPU研究云赞助。
优化器
使用AdamW优化器,学习率1e - 4,学习率预热4000步,之后余弦衰减。
📄 许可证
本项目采用Apache - 2.0许可证。
致谢
如果没有Google通过TPU研究云慷慨提供的计算资源,这个项目将无法实现。
团队成员
- Aapo Tanskanen,Hugging Face个人主页,领英个人主页
- Rasmus Toivanen,Hugging Face个人主页,领英个人主页
如有更多细节需求,请随时与我们联系。



