Transformers 文档
GPT-Sw3
并获得增强的文档体验
开始使用
GPT-Sw3
概述
GPT-Sw3模型最早由Ariel Ekgren、Amaru Cuba Gyllensten、Evangelia Gogoulou、Alice Heiman、Severine Verlinden、Joey Öhman、Fredrik Carlsson和Magnus Sahlgren在《从GPT-SW3中汲取的经验:构建首个瑞典语大规模生成式语言模型》一文中提出。
自第一篇论文发表以来,作者扩展了他们的工作,并利用其名为“北欧语料库”(The Nordic Pile)的1.2TB新语料库训练了新模型。
GPT-Sw3是由AI Sweden与RISE以及WASP WARA for Media and Language合作开发的一系列大型仅解码器预训练Transformer语言模型。GPT-Sw3在一个包含3200亿词元的瑞典语、挪威语、丹麦语、冰岛语、英语和编程代码的数据集上进行了训练。该模型利用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: typing.Optional[dict[str, typing.Any]] = None **kwargs )
参数
- vocab_file (
str
) — SentencePiece 文件(通常扩展名为 .spm),其中包含实例化分词器所需的词汇表。 - do_lower_case (
bool
, 可选, 默认为False
) — 是否在分词时将输入转换为小写。 - remove_space (
bool
, 可选, 默认为False
) — 是否在分词时去除文本(删除字符串前后多余的空格)。 - keep_accents (
bool
, 可选, 默认为False
) — 是否在分词时保留重音符号。 - pad_token (
str
, 可选) — 用于填充的词元,例如在批处理不同长度的序列时使用。如果未提供,将根据模型大小默认为“<pad>”或“<unk>”。 - unk_token (
str
, 可选) — 未知词元。不在词汇表中的词元无法转换为ID,将被设置为此词元。如果未提供,将默认为“<unk>”。 - eos_token (
str
, 可选) — 预训练期间见到的序列结束词元。如果未提供,将默认为“<|endoftext|>”。 - bos_token (
str
, 可选) — 可用于下游任务的序列开始词元,在预训练期间未见过。如果未提供,将根据模型大小默认为“<s>”或“<|endoftext|>”。 - sp_model_kwargs (
dict
, 可选) — 将传递给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的合并操作的丢弃概率。
- 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]