Transformers documentation
GPT-Sw3
该模型于 2022-12-12 贡献至 Hugging Face Transformers。
GPT-Sw3
概述
GPT-Sw3 模型首次提出于 Ariel Ekgren、Amaru Cuba Gyllensten、Evangelia Gogoulou、Alice Heiman、Severine Verlinden、Joey Öhman、Fredrik Carlsson 和 Magnus Sahlgren 撰写的 Lessons Learned from GPT-SW3: Building the First Large-Scale Generative Language Model for Swedish 一文中。
自那篇论文以来,作者们扩展了他们的研究,并在他们名为 The Nordic Pile 的新 1.2TB 语料库上训练了新的模型。
GPT-Sw3 是由 AI Sweden 与 RISE 以及 WASP WARA for Media and Language 合作开发的一系列大型仅解码器预训练 Transformer 语言模型。GPT-Sw3 在一个包含 320B 个 token 的数据集上进行训练,该数据集涵盖瑞典语、挪威语、丹麦语、冰岛语、英语以及编程代码。该模型使用 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", device_map="auto")
input_ids = tokenizer("Träd är fina för att", return_tensors="pt").to(model.device)["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
< source >( vocab_filedo_lower_case = Falseremove_space = Falsekeep_accents = Falsepad_token = Noneunk_token = Noneeos_token = Nonebos_token = Nonesp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )
参数
- vocab_file (
str) — 包含实例化分词器所需词汇表的 SentencePiece 文件(通常具有 .spm 扩展名)。 - do_lower_case (
bool,可选,默认为False) — 是否在分词时将输入转换为小写。 - remove_space (
bool,可选,默认为False) — 是否在分词时去除文本中的空格(即移除字符串前后多余的空格)。 - keep_accents (
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:用于一元采样(unigram sampling)的平滑参数,以及 BPE-dropout 中合并操作的 dropout 概率。
-
- sp_model (
SentencePieceProcessor) — 用于所有转换(字符串、token 和 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
< source >( save_directory: strfilename_prefix: str | None = None ) → tuple(str)
将 sentencepiece 词表(复制原始文件)保存到一个目录中。