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
) — 在分词时是否去除文本中的空格(去除字符串前后多余的空格)。 - 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]