Transformers 文档

GPT-Sw3

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

该模型于 2022-06-25 发布,并于 2022-12-12 添加到 Hugging Face Transformers。

GPT-Sw3

PyTorch

概述

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

此模型由 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

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: dict[str, typing.Any] | None = None **kwargs )

参数

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

    • enable_sampling: 启用子词规则化。

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

      • nbest_size = {0,1}: 不执行采样。
      • nbest_size > 1: 从 nbest_size 结果中采样。
      • nbest_size < 0: 假设 nbest_size 为无穷大,并使用前向过滤和后向采样算法从所有假设(词格)中采样。
    • alpha: Unigram 采样的平滑参数,以及 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_vocabulary

< >

( save_directory: str filename_prefix: str | None = None ) tuple(str)

参数

  • save_directory (str) — 要保存词汇表的目录。
  • filename_prefix (str, optional) — 可选的前缀,用于添加到保存的文件名。

返回

tuple(str)

保存的文件路径。

将 SentencePiece 词汇表(复制原始文件)保存到目录。

在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.