Transformers 文档

GPT-Sw3

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始

GPT-Sw3

PyTorch TensorFlow Flax

概述

GPT-Sw3 模型最初在 Lessons Learned from GPT-SW3: Building the First Large-Scale Generative Language Model for Swedish 这篇论文中提出,作者是 Ariel Ekgren, Amaru Cuba Gyllensten, Evangelia Gogoulou, Alice Heiman, Severine Verlinden, Joey Öhman, Fredrik Carlsson, Magnus Sahlgren。

自从第一篇论文发表以来,作者们扩展了他们的工作,并使用他们新的 1.2TB 语料库 The Nordic Pile 训练了新的模型。

GPT-Sw3 是由 AI Sweden 与 RISE 以及 WASP WARA for Media and Language 合作开发的大型仅解码器预训练 Transformer 语言模型集合。GPT-Sw3 已经在一个包含 320B 个 token 的数据集上进行了训练,该数据集包含瑞典语、挪威语、丹麦语、冰岛语、英语和编程代码。该模型使用因果语言建模 (CLM) 目标进行预训练,并采用了 NeMo Megatron GPT 实现。

此模型由 AI Sweden Models 贡献。

使用示例

>>> from transformers import AutoTokenizer, AutoModelForCausalLM

>>> tokenizer = AutoTokenizer.from_pretrained("AI-Sweden-Models/gpt-sw3-356m")
>>> model = AutoModelForCausalLM.from_pretrained("AI-Sweden-Models/gpt-sw3-356m")

>>> input_ids = tokenizer("Träd är fina för att", return_tensors="pt")["input_ids"]

>>> generated_token_ids = model.generate(inputs=input_ids, max_new_tokens=10, do_sample=True)[0]

>>> print(tokenizer.decode(generated_token_ids))
Träd är fina för att de är färgstarka. Men ibland är det fint

资源

该实现使用了 GPT2Model 并结合了我们的 GPTSw3Tokenizer。有关 API 参考和示例,请参阅 GPT2Model 文档

请注意,使用我们的 tokenizer 需要 sentencepiece,可以使用 pip install transformers[sentencepiece]pip install sentencepiece 安装

GPTSw3Tokenizer

class transformers.GPTSw3Tokenizer

< >

( vocab_file do_lower_case = False remove_space = False keep_accents = False pad_token = None unk_token = None eos_token = None bos_token = None sp_model_kwargs: typing.Optional[typing.Dict[str, typing.Any]] = None **kwargs )

参数

  • vocab_file (str) — 包含实例化 tokenizer 所需词汇表的 SentencePiece 文件(通常带有 .spm 扩展名)。
  • do_lower_case (bool, 可选, 默认为 False) — 是否在 tokenizing 时将输入转换为小写。
  • remove_space (bool, 可选, 默认为 False) — 是否在 tokenizing 时去除文本中的空格(移除字符串前后多余的空格)。
  • keep_accents (bool, 可选, 默认为 False) — 是否在 tokenizing 时保留 accents。
  • pad_token (str, 可选) — 用于 padding 的 token,例如当 batch 处理不同长度的序列时。如果未提供,则默认使用 “” 或 “”,具体取决于模型大小。
  • unk_token (str, 可选) — 未知 token。词汇表中不存在的 token 无法转换为 ID,而是设置为此 token。如果未提供,则默认使用 “”。
  • eos_token (str, 可选) — 预训练期间看到的序列结束 token。如果未提供,则默认使用 “<|endoftext|>”。
  • bos_token (str, 可选) — 可用于下游任务的序列开始 token,在预训练期间未见过。如果未提供,则默认使用 “” 或 “<|endoftext|>”,具体取决于模型大小。
  • sp_model_kwargs (dict, 可选) — 将传递给 SentencePieceProcessor.__init__() 方法。 SentencePiece 的 Python 封装器 可用于设置以下内容:

    • enable_sampling: 启用 subword regularization。

    • nbest_size: unigram 的采样参数。对 BPE-Dropout 无效。

      • nbest_size = {0,1}: 不执行采样。
      • nbest_size > 1: 从 nbest_size 结果中采样。
      • nbest_size < 0: 假设 nbest_size 是无限的,并使用前向过滤和后向采样算法从所有假设(lattice)中采样。
    • alpha: unigram 采样的平滑参数,以及 BPE-dropout 的合并操作的 dropout 概率。

  • sp_model (SentencePieceProcessor) — 用于每次转换(字符串、token 和 ID)的 SentencePiece 处理器。
  • whitespaces (set) — 在预处理中的空格规范化中替换的空格符集合。
  • non_printing_characters_re (Pattern) — 编译后的正则表达式,用于移除预处理中的非打印字符。

构建 GPTSw3 tokenizer。基于 SentencePiece

此 tokenizer 继承自 PreTrainedTokenizer,其中包含大多数主要方法。用户应参考此超类以获取有关这些方法的更多信息。

使用示例

>>> from transformers import GPTSw3Tokenizer

>>> tokenizer = GPTSw3Tokenizer.from_pretrained("AI-Sweden-Models/gpt-sw3-126m")
>>> tokenizer("Svenska är kul!")["input_ids"]
[1814, 377, 3617, 63504]

save_vocabulary

< >

( save_directory: str filename_prefix: typing.Optional[str] = None )

< > 在 GitHub 上更新