Transformers 文档

GPT-Sw3

Hugging Face's logo
加入Hugging Face社区

并获得增强的文档体验

开始使用

GPT-Sw3

概述

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 提出。

自那篇论文发表以来,作者们扩展了他们的工作,并在他们新的名为“北欧语料库”(The Nordic Pile)的 1.2TB 语料库上训练了新的模型。

GPT-Sw3 是由 AI Sweden 与 RISE 和 WASP WARA for Media and Language 合作开发的一系列大型解码器仅预训练 Transformer 语言模型。GPT-Sw3 在包含 3200 亿个瑞典语、挪威语、丹麦语、冰岛语、英语和编程代码标记的数据集上进行训练。该模型使用因果语言建模 (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 文档

请注意,使用我们的分词器需要 sentencepiece,可以通过 `pip install transformers[sentencepiece]` 或 `pip install sentencepiece` 进行安装。

GPTSw3Tokenizer

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: Optional = None **kwargs )

参数

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

    • enable_sampling:启用子词正则化。

    • nbest_size:一元模型的采样参数。对于 BPE-Dropout 无效。

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

  • sp_model (SentencePieceProcessor) — 用于每次转换(字符串、标记和 ID)的 SentencePiece 处理器。
  • whitespaces (set) — 在预处理中的空格标准化中被替换的空格。
  • non_printing_characters_re (Pattern) — 在预处理中删除不可打印字符的已编译正则表达式。

构建一个 GPTSw3 分词器。基于 SentencePiece

此分词器继承自 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_directory: str filename_prefix: Optional = None )

< > 在 GitHub 上更新