Transformers 文档
GPT-Sw3
并获得增强的文档体验
开始使用
该模型于 2022-06-25 发布,并于 2022-12-12 添加到 Hugging Face Transformers。
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。
自第一篇论文以来,作者们已扩展了他们的工作,并在他们新的 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)
将 SentencePiece 词汇表(复制原始文件)保存到目录。