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]