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

Este modelo fue aportado a Hugging Face Transformers el 2022-12-12.

GPT-Sw3

Resumen

El modelo GPT-Sw3 fue propuesto por primera vez en Lessons Learned from GPT-SW3: Building the First Large-Scale Generative Language Model for Swedish por Ariel Ekgren, Amaru Cuba Gyllensten, Evangelia Gogoulou, Alice Heiman, Severine Verlinden, Joey Öhman, Fredrik Carlsson, Magnus Sahlgren.

Desde ese primer artículo, los autores han ampliado su trabajo y han entrenado nuevos modelos en sus nuevos corpus de 1,2 TB denominados The Nordic Pile.

GPT-Sw3 es una colección de grandes modelos de lenguaje transformer preentrenados solo de decodificación que fueron desarrollados por AI Sweden en colaboración con RISE y el WASP WARA para Medios y Lenguaje. GPT-Sw3 se entrenó en un conjunto de datos que contiene 320B tokens en sueco, noruego, danés, islandés, inglés y código de programación. El modelo se preentrenó utilizando un objetivo de modelado de lenguaje causal (CLM) con la implementación NeMo Megatron GPT.

Este modelo fue aportado por AI Sweden Models.

Ejemplo de uso

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

Recursos

La implementación utiliza el GPT2Model junto con nuestro GPTSw3Tokenizer. Consulte la documentación de GPT2Model para obtener la referencia de la API y ejemplos.

Tenga en cuenta que sentencepiece es necesario para usar nuestro tokenizer y se puede instalar con pip install transformers[sentencepiece] o pip install sentencepiece

GPTSw3Tokenizer

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

Parámetros

  • vocab_file (str) — archivo de SentencePiece (generalmente tiene la extensión .spm) que contiene el vocabulario necesario para instanciar un tokenizador.
  • do_lower_case (bool, opcional, valor predeterminado False) — Indica si se debe convertir la entrada a minúsculas al tokenizar.
  • remove_space (bool, opcional, valor predeterminado False) — Indica si se debe eliminar el texto al tokenizar (quitando espacios sobrantes antes y después de la cadena).
  • keep_accents (bool, opcional, valor predeterminado False) — Si se conservan o no los acentos al tokenizar.
  • pad_token (str, opcional) — El token utilizado para el relleno, por ejemplo, al agrupar secuencias de diferentes longitudes. Si no se proporciona, se utilizará por defecto ’’ o ’’ dependiendo del tamaño del modelo.
  • unk_token (str, opcional) — El token desconocido. Un token que no está en el vocabulario no se puede convertir en un ID y se establece como este token en su lugar. Si no se proporciona, el valor predeterminado será ’‘.
  • eos_token (str, opcional) — El token de fin de secuencia visto durante el preentrenamiento. Si no se proporciona, se usará ’<|endoftext|>’ por defecto.
  • bos_token (str, opcional) — El token de inicio de secuencia que se puede utilizar para tareas posteriores, no visto durante el preentrenamiento. Si no se proporciona, el valor predeterminado será ’’ o ’<|endoftext|>’, dependiendo del tamaño del modelo.
  • sp_model_kwargs (dict, opcional) — Se pasará al SentencePieceProcessor.__init__() método. El envoltorio de Python para SentencePiece se puede utilizar, entre otras cosas, para configurar:
    • enable_sampling: Habilita la regularización de subpalabras.

    • nbest_size: Parámetros de muestreo para unigramas. No válido para BPE-Dropout.

      • nbest_size = {0,1}: No se realiza muestreo.
      • nbest_size > 1: muestrea de los resultados de nbest_size.
      • nbest_size < 0: se asume que nbest_size es infinito y se muestrea de todas las hipótesis (lattice) utilizando el algoritmo de filtrado hacia adelante y muestreo hacia atrás.
    • alpha: Parámetro de suavizado para la muestreo de unigramas y probabilidad de descarte para las operaciones de fusión en BPE-dropout.

  • sp_model (SentencePieceProcessor) — El procesador SentencePiece que se utiliza para cada conversión (cadenas, tokens e IDs).
  • whitespaces (set) — Los espacios en blanco que se reemplazan en la normalización de espacios en blanco durante el preprocesamiento.
  • non_printing_characters_re (Pattern) — La expresión regular compilada para eliminar caracteres no imprimibles en la preprocesación.

Construye un tokenizador GPTSw3. Basado en SentencePiece.

Este tokenizador hereda de PreTrainedTokenizer, que contiene la mayoría de los métodos principales. Los usuarios deben consultar esta superclase para obtener más información sobre dichos métodos.

Ejemplo de uso:

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

Parámetros

  • save_directory (str) — El directorio en el que se guardará el vocabulario.
  • filename_prefix (str, opcional) — Un prefijo opcional para añadir al nombre de los archivos guardados.

Devuelve

tuple(str)

Rutas a los archivos guardados.

Guarde el vocabulario de sentencepiece (copie el archivo original) en un directorio.

Update on GitHub