Transformers documentation

BARTpho

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 2021-09-20 y se contribuyó a Hugging Face Transformers el 2021-10-18.

BARTpho

BARTpho es un modelo de secuencia a secuencia a gran escala para vietnamita. Ofrece una versión basada en palabras y otra basada en sílabas. Este modelo se construye sobre la gran arquitectura BART con su preentrenamiento de desruido.

Puedes encontrar todos los puntos de control originales bajo la organización VinAI.

Este modelo fue aportado por dqnguyen. Consulta la barra lateral derecha para ver ejemplos de cómo aplicar BARTpho a diferentes tareas de lenguaje.

El siguiente ejemplo demuestra cómo resumir texto con Pipeline o la clase AutoModel.

AutoModel
from transformers import AutoTokenizer, BartForConditionalGeneration


tokenizer = AutoTokenizer.from_pretrained(
    "vinai/bartpho-word",
)
model = BartForConditionalGeneration.from_pretrained(
    "vinai/bartpho-word",
    device_map="auto",
)

text = """
Quang tổng hợp hay gọi tắt là quang hợp là quá trình thu nhận và chuyển hóa năng lượng ánh sáng Mặt trời của thực vật,
tảo và một số vi khuẩn để tạo ra hợp chất hữu cơ phục vụ bản thân cũng như làm nguồn thức ăn cho hầu hết các sinh vật
trên Trái Đất. Quang hợp trong thực vật thường liên quan đến chất tố diệp lục màu xanh lá cây và tạo ra oxy như một sản phẩm phụ
"""
inputs = tokenizer(text, return_tensors="pt").to(model.device)

outputs = model.generate(inputs["input_ids"], num_beams=2, min_length=0, max_length=20)
tokenizer.batch_decode(outputs, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]

Notas

  • BARTpho utiliza la gran arquitectura de BART con una capa adicional de normalización de capas sobre el codificador y el decodificador. Las clases específicas de BART deben reemplazarse con las clases específicas de mBART.
  • Esta implementación solo maneja la tokenización a través del archivo monolingual_vocab_file. Se trata de un subconjunto específico del vietnamita de tipos de tokens tomado de ese vocabulario multilingüe. Si deseas usar este tokenizador para otro idioma, reemplaza monolingual_vocab_file por uno especializado en tu idioma objetivo.

BartphoTokenizer

clase transformers.BartphoTokenizer

< >

( vocab_filemonolingual_vocab_filebos_token = '<s>'eos_token = '</s>'sep_token = '</s>'cls_token = '<s>'unk_token = '<unk>'pad_token = '<pad>'mask_token = '<mask>'sp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )

Parámetros

  • vocab_file (str) — Ruta al archivo de vocabulario. Este vocabulario es el modelo SentencePiece preentrenado disponible en el multilingual XLM-RoBERTa, también utilizado en mBART, y consta de 250K tipos.
  • monolingual_vocab_file (str) — Ruta al archivo de vocabulario monolingüe. Este vocabulario monolingüe consiste en tipos especializados en vietnamita extraídos del vocabulario multilingüe vocab_file de 250K tipos.
  • bos_token (str, opcional, por defecto "<s>") — El token de inicio de secuencia que se utilizó durante el preentrenamiento. Puede usarse como token de clasificador de secuencias. Al construir una secuencia con tokens especiales, este no es el token que se utiliza para el inicio de la secuencia. El token que se utiliza es cls_token.

    Al construir una secuencia con tokens especiales, este no es el token que se utiliza para el inicio de la secuencia. El token que se utiliza es cls_token.

  • eos_token (str, opcional, por defecto es "</s>") — El token de fin de secuencia. Al construir una secuencia con tokens especiales, este no es el token que se utiliza para el fin de la secuencia. El token que se utiliza es sep_token.

    Al construir una secuencia con tokens especiales, este no es el token que se utiliza para el final de la secuencia. El token que se utiliza es sep_token.

  • sep_token (str, opcional, valor predeterminado "</s>") — El token separador, que se utiliza al construir una secuencia a partir de varias secuencias, por ejemplo, dos secuencias para la clasificación de secuencias o un texto y una pregunta para la respuesta a preguntas. También se utiliza como el último token de una secuencia construida con tokens especiales.
  • cls_token (str, opcional, valor predeterminado "<s>") — El token clasificador que se utiliza al realizar clasificación de secuencias (clasificación de la secuencia completa en lugar de clasificación por token). Es el primer token de la secuencia cuando se construye con tokens especiales.
  • 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.
  • mask_token (str, opcional, valor predeterminado "<mask>") — El token utilizado para enmascarar valores. Este es el token que se emplea al entrenar este modelo con modelado de lenguaje enmascarado. Es el token que el modelo intentará predecir.
  • 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).

Adaptado de XLMRobertaTokenizer. 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.

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 BARTPho tiene el siguiente formato:

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

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. BARTPho no utiliza ids de tipo de token, por lo que se devuelve una lista de ceros.

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.

get_vocab

< >

( )

Sobrescribir para usar el vocabulario de fairseq

Update on GitHub