Transformers documentation
GPT-Sw3
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 fintRecursos
- Guía de la tarea de clasificación de texto
- Guía de la tarea de clasificación de tokens
- Guía de la tarea de modelado de lenguaje causal
La implementación utiliza el
GPT2Modeljunto con nuestroGPTSw3Tokenizer. 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]opip install sentencepiece
GPTSw3Tokenizer
clase transformers.GPTSw3Tokenizer
< source >( 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 predeterminadoFalse) — Indica si se debe convertir la entrada a minúsculas al tokenizar. - remove_space (
bool, opcional, valor predeterminadoFalse) — Indica si se debe eliminar el texto al tokenizar (quitando espacios sobrantes antes y después de la cadena). - keep_accents (
bool, opcional, valor predeterminadoFalse) — 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á alSentencePieceProcessor.__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
< source >( save_directory: strfilename_prefix: str | None = None ) → tuple(str)
Guarde el vocabulario de sentencepiece (copie el archivo original) en un directorio.