Transformers documentation

myt5

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 se publicó en HF papers el 2024-03-15 y se contribuyó a Hugging Face Transformers el 2024-10-06.

myt5

Resumen

El modelo myt5 fue propuesto en MYTE: Morphology-Driven Byte Encoding for Better and Fairer Multilingual Language Modeling por Tomasz Limisiewicz, Terra Blevins, Hila Gonen, Orevaoghene Ahia y Luke Zettlemoyer. MyT5 (Myte T5) es un modelo de lenguaje multilingüe basado en la arquitectura T5. El modelo utiliza una representación morfológicamente dirigida de byte (MYTE) descrita en nuestro artículo. MYTE utiliza puntos de código correspondientes a morfemas, en contraste con los caracteres utilizados en la codificación UTF-8. Como requisito previo, utilizamos segmentación morfológica no supervisada (Morfessor) para obtener inventarios de morfemas para 99 idiomas. Sin embargo, el paso de segmentación morfológica no es necesario al utilizar el inventario de morfemas predefinido del hub (ver: Tomli/myt5-base).

El resumen del artículo es el siguiente:

Una consideración fundamental en el modelado de lenguaje multilingüe es cómo representar de la mejor manera los idiomas con vocabularios y sistemas de escritura diversos. Aunque los métodos de codificación de texto contemporáneos cubren la mayoría de los sistemas de escritura del mundo, presentan un sesgo hacia los idiomas de alto recurso del Occidente global. Como resultado, los textos de idiomas subrepresentados tienden a segmentarse en secuencias largas de unidades lingüísticamente sin sentido. Para abordar estas disparidades, introducimos un nuevo paradigma que codifica la misma información con segmentos de tamaño consistente a través de diversos idiomas. Nuestra convención de codificación (MYTE) se basa en morfemas, ya que sus inventarios están más equilibrados entre idiomas que los caracteres, que se utilizan en métodos anteriores. Demostramos que MYTE produce codificaciones más cortas para los 99 idiomas analizados, con las mejoras más notables para idiomas no europeos y sistemas de escritura no latinos. Esto, a su vez, mejora el rendimiento de los LM multilingües y reduce la brecha de perplexidad a través de diversos idiomas.

Este modelo fue aportado por Tomasz Limisiewicz. El código original se puede encontrar aquí.

MyT5Tokenizer

clase transformers.MyT5Tokenizer

< >

( vocab_fileeos_token = '</s>'unk_token = '<unk>'pad_token = '<pad>'extra_ids = 125additional_special_tokens = None**kwargs )

Parámetros

  • vocab_file (str) — El archivo que contiene las reglas de reescritura de bytes.
  • eos_token (str, opcional, por defecto "</s>") — El token de fin de secuencia.
  • unk_token (str, opcional, valor predeterminado "<unk>") — 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.
  • pad_token (str, opcional, valor predeterminado "<pad>") — El token utilizado para el relleno, por ejemplo, al agrupar secuencias de diferentes longitudes.
  • extra_ids (int, opcional, valor predeterminado 125) — Añade un número de ids adicionales al final del vocabulario para usarlos como centinelas. Estos tokens son accesibles como “id{%d}>” donde “{%d}” es un número entre 0 y extra_ids-1. Los tokens adicionales se indexan desde el final del vocabulario hasta el principio (“” es el último token del vocabulario como en el preprocesamiento de ByT5, ver aquí).
  • additional_special_tokens (list[str], opcional) — Tokens especiales adicionales utilizados por el tokenizador.

Construya un tokenizador MyT5.

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.

build_inputs_with_special_tokens

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parámetros

  • token_ids_0 (list[int]) — Lista de IDs a los que se les añadirán los tokens especiales.
  • token_ids_1 (list[int], opcional) — Segunda lista de IDs opcional para pares de secuencias.

Devuelve

list[int]

Lista de ID de entrada con los tokens especiales apropiados.

Construye las entradas del modelo a partir de una secuencia o un par de secuencias para tareas de clasificación de secuencias, concatenando y añadiendo tokens especiales. Una secuencia tiene el siguiente formato:

  • secuencia única: X </s>
  • par de secuencias: A </s> B </s>

get_special_tokens_mask

< >

( token_ids_0: listtoken_ids_1: list[int] | None = Nonealready_has_special_tokens: bool = False ) → list[int]

Parámetros

  • token_ids_0 (list[int]) — Lista de IDs.
  • token_ids_1 (list[int], opcional) — Segunda lista de IDs opcional para pares de secuencias.
  • already_has_special_tokens (bool, opcional, valor predeterminado False) — Indica si la lista de tokens ya está formateada con tokens especiales para el modelo.

Devuelve

list[int]

Una lista de enteros en el rango [0, 1]: 1 para un token especial, 0 para un token de secuencia.

Obtiene los ids de secuencia de una lista de tokens a la que no se le han añadido tokens especiales. Este método se llama al añadir tokens especiales mediante el método prepare_for_model del tokenizer.

create_token_type_ids_from_sequences

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parámetros

  • token_ids_0 (list[int]) — Lista de IDs.
  • token_ids_1 (list[int], opcional) — Segunda lista de IDs opcional para pares de secuencias.

Devuelve

list[int]

Lista de ceros.

Crea una máscara a partir de las dos secuencias pasadas para ser utilizada en una tarea de clasificación de pares de secuencias. MyT5 no utiliza ids de tipo de token, por lo que se devuelve una lista de ceros.

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None )

Update on GitHub