本仓库中,我们发布了(又一个)GPT-2 模型,该模型是在多种德语文本上训练而成的。
此模型旨在作为针对其他文本进行微调的切入点,其性能肯定不及英文 GPT-3 模型那般出色,也不会像它那样“具有风险”。我们不打算为此模型进行大规模的公关宣传或分阶段发布 😉
注意:该模型最初是以匿名别名(anonymous-german-nlp/german-gpt2)发布的,因此我们现在对其进行“去匿名化”。
有关 GPT-2 的更多详细信息,请参阅出色的 Hugging Face 文档。
2021年8月16日:公开发布经重新训练的德语 GPT-2 模型版本,该版本具有更优的结果。
2020年11月15日:初始版本。若需使用此旧版本,请使用标签 v1.0,可从 此链接获取。
我们使用的语料库与训练 DBMDZ BERT 模型时所使用的语料库基本相同,该语料库可在 此仓库 中找到。
感谢出色的 Hugging Face 团队,借助他们强大的 Tokenizers 库,我们能够创建字节级的 BPE。
利用前面提到的强大 Tokenizers 库,我们基于训练语料库创建了一个包含 50K 词汇的字节级 BPE 词表。
词表创建完成后,我们在 v3-8 TPU 上,使用完整的训练语料库对德语 GPT-2 模型进行了 20 个 epoch 的训练。所有超参数可在 Transformers 官方 JAX/FLAX 文档 此处 中找到。
模型本身可按以下方式使用:
from openmind import AutoTokenizer, AutoModelForCausalLM, is_torch_npu_available
from openmind_hub import snapshot_download
import torch.nn.functional as F
from torch import Tensor
import openmind
import torch
import argparse
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument(
"--model_name_or_path",
type=str,
help="Path to model",
default="jeffding/german-gpt2-openmind",
)
args = parser.parse_args()
return args
def main():
args = parse_args()
model_path = args.model_name_or_path
if is_torch_npu_available():
device = "npu:0"
else:
device = "cpu"
model = model_path
tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = openmind.pipeline(
"text-generation",
model=model,
torch_dtype=torch.float16,
device_map="auto",
)
sequences = pipeline(
'Der Sinn des Lebens ist es',
do_sample=True,
top_k=10,
num_return_sequences=1,
repetition_penalty=1.5,
eos_token_id=tokenizer.eos_token_id,
max_length=100,
)
for seq in sequences:
print(f"Result: {seq['generated_text']}")
if __name__ == "__main__":
main()
这可能会输出这段优美的文本:
Der Sinn des Lebens ist es, im Geist zu verweilen, aber nicht in der Welt zu sein, sondern ganz im Geist zu leben.
Die Menschen beginnen, sich nicht nach der Natur und nach der Welt zu richten, sondern nach der Seele,'所有模型均根据 MIT 许可协议授权。
所有模型均可在 Huggingface 模型中心 获取。
如对我们的 BERT 模型有任何疑问,请在此处提交 issue 🤗
本研究得到了 Google TensorFlow 研究云(TFRC)提供的 Cloud TPU 支持。感谢 TFRC 提供的访问权限 ❤️
感谢 Hugging Face 团队的慷慨支持,使得我们能够从其 S3 存储中下载大小写两种版本的模型 🤗