Transformers documentation

GPT-Sw3

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

このモデルは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 で初めて提案されました。

最初の論文以降、著者たちは研究を拡張し、新たに1.2TBのコーパスであるThe Nordic Pileを用いて新しいモデルを訓練しました。

GPT-Sw3 は、AI Sweden が RISE と WASP WARA for Media and Language との協力のもとで開発した、大規模なデコーダー専用の事前学習済み Transformer 言語モデルのコレクションです。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", 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

クラス transformers.GPTSw3Tokenizer

< >

( 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, 任意) — パディングに使用されるトークンです。例えば、長さが異なるシーケンスをバッチ処理する場合に使用します。指定されない場合、モデルサイズに応じて ’<pad>’ または ’<unk>’ がデフォルトとして使用されます。
  • unk_token (str, 任意) — 不明トークンです。語彙に存在しないトークンは ID に変換できず、代わりにこのトークンが設定されます。指定しない場合、’<unk>‘ がデフォルトとして使用されます。
  • eos_token (str, 任意) — 事前学習中に使用されるシーケンス終了トークン。指定しない場合、’<|endoftext|>’がデフォルトとして使用されます。
  • bos_token (str, 任意) — 下流タスクで使用できるシーケンス開始トークンです。事前学習では使用されませんでした。指定しない場合、モデルサイズに応じて ’’ または ’<|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 が無限大であると仮定し、forward-filtering-and-backward-sampling アルゴリズムを使用して、すべての仮説(ラティス)からサンプリングします。
    • alpha: 単一語サンプリングの平滑化パラメータ、および BPE-dropout におけるマージ操作のドロップアウト確率。

  • sp_model (SentencePieceProcessor) — すべての変換(文字列、トークン、ID)に使用されるSentencePieceプロセッサ。
  • whitespaces (set) — 前処理における空白正規化で置換される空白文字です。
  • non_printing_characters_re (Pattern) — 前処理で非印刷文字を削除するために使用されるコンパイル済み正規表現。

SentencePieceをベースとしたGPTSw3トークナイザーを構築します。

このトークナイザーは、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: strfilename_prefix: str | None = None ) → tuple(str)

パラメータ

  • save_directory (str) — 語彙を保存するディレクトリ。
  • filename_prefix (str, 任意) — 保存するファイル名に付加する任意のプレフィックスです。

戻り値

tuple(str)

保存されたファイルへのパス。

sentencepieceの語彙(元のファイルのコピー)をディレクトリに保存します。

Update on GitHub