Transformers documentation

GPT-Sw3

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Ce modèle a été contribué à Hugging Face Transformers le 2022-12-12.

GPT-Sw3

Aperçu

Le modèle GPT-Sw3 a été initialement proposé dans Lessons Learned from GPT-SW3: Building the First Large-Scale Generative Language Model for Swedish par Ariel Ekgren, Amaru Cuba Gyllensten, Evangelia Gogoulou, Alice Heiman, Severine Verlinden, Joey Öhman, Fredrik Carlsson, Magnus Sahlgren.

Depuis cet article initial, les auteurs ont étendu leur travail et ont entraîné de nouveaux modèles sur leurs nouveaux corpus de 1,2 To nommés The Nordic Pile.

GPT-Sw3 est une collection de grands modèles de langage transformers pré-entraînés, à décodeur uniquement, développés par AI Sweden en collaboration avec RISE et le WASP WARA for Media and Language. GPT-Sw3 a été entraîné sur un jeu de données contenant 320 milliards de jetons en suédois, norvégien, danois, islandais, anglais et en code de programmation. Le modèle a été pré-entraîné à l'aide d'un objectif de modélisation de langage causale (CLM) en utilisant l'implémentation NeMo Megatron GPT.

Ce modèle a été contribué par AI Sweden Models.

Exemple d'utilisation

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

Ressources

L’implémentation utilise le GPT2Model couplé à notre GPTSw3Tokenizer. Consultez la documentation de GPT2Model pour la référence de l’API et des exemples.

Notez que sentencepiece est requis pour utiliser notre tokenizer et peut être installé avec pip install transformers[sentencepiece] ou pip install sentencepiece

GPTSw3Tokenizer

classe 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 )

Paramètres

  • vocab_file (str) — fichier SentencePiece (généralement avec l’extension .spm) qui contient le vocabulaire nécessaire pour instancier un tokeniseur.
  • do_lower_case (bool, facultatif, valeur par défaut False) — Indique s'il faut mettre l'entrée en minuscules lors de la tokenisation.
  • remove_space (bool, facultatif, par défaut False) — Indique s'il faut ou non retirer les espaces du texte lors de la tokenisation (suppression des espaces superflus avant et après la chaîne).
  • keep_accents (bool, facultatif, par défaut False) — Indique s'il faut conserver les accents lors de la tokenisation.
  • pad_token (str, facultatif) — Le jeton utilisé pour le bourrage, par exemple lors du regroupement de séquences de longueurs différentes. S'il n'est pas fourni, la valeur par défaut sera ’’ ou ’’ en fonction de la taille du modèle.
  • unk_token (str, facultatif) — Le jeton inconnu. Un jeton qui n’est pas dans le vocabulaire ne peut pas être converti en identifiant et est remplacé par ce jeton. S’il n’est pas fourni, la valeur par défaut est ’‘.
  • eos_token (str, facultatif) — Le jeton de fin de séquence observé lors de la préformation. S’il n’est pas fourni, la valeur par défaut est ’<|endoftext|>’
  • bos_token (str, facultatif) — Le jeton de début de séquence qui peut être utilisé pour les tâches en aval, mais qui n’a pas été vu lors de la préformation. S’il n’est pas fourni, la valeur par défaut sera ’’ ou ’<|endoftext|>’, selon la taille du modèle.
  • sp_model_kwargs (dict, facultatif) — Sera transmis à la méthode SentencePieceProcessor.__init__() . Le wrapper Python de SentencePiece peut être utilisé, entre autres, pour définir :
    • enable_sampling : Active la régularisation des sous-mots.

    • nbest_size : Paramètres d'échantillonnage pour les unigrammes. Invalide pour BPE-Dropout.

      • nbest_size = {0,1} : Aucun échantillonnage n'est effectué.
      • nbest_size > 1 : échantillonne parmi les résultats de nbest_size.
      • nbest_size < 0 : suppose que nbest_size est infini et échantillonne à partir de toutes les hypothèses (lattice) en utilisant l'algorithme de filtrage avant et d'échantillonnage arrière.
    • alpha : Paramètre de lissage pour l'échantillonnage des unigrammes et probabilité de suppression pour les opérations de fusion dans le cas du BPE-dropout.

  • sp_model (SentencePieceProcessor) — Le processeur SentencePiece utilisé pour chaque conversion (chaîne, jetons et identifiants).
  • whitespaces (set) — Les espaces blancs qui sont remplacés lors de la normalisation des espaces blancs dans la prétraitement.
  • non_printing_characters_re (Pattern) — Expression régulière compilée pour supprimer les caractères non imprimables lors de la prétraitement.

Construit un tokenizer GPTSw3. Basé sur SentencePiece.

Ce tokenizer hérite de PreTrainedTokenizer, qui contient la plupart des méthodes principales. Les utilisateurs doivent se référer à cette superclasse pour plus d'informations sur ces méthodes.

Exemple d'utilisation :

>>> 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)

Paramètres

  • save_directory (str) — Le répertoire dans lequel enregistrer le vocabulaire.
  • filename_prefix (str, facultatif) — Préfixe facultatif à ajouter au nom des fichiers enregistrés.

Retourne

tuple(str)

Chemin des fichiers enregistrés.

Enregistrez le vocabulaire sentencepiece (copie du fichier d'origine) dans un répertoire.

Update on GitHub