Transformers documentation

myt5

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Эта модель была опубликована в HF papers 15.03.2024 и добавлена в Hugging Face Transformers 06.10.2024.

myt5

Обзор

Модель myt5 была предложена в статье MYTE: Morphology-Driven Byte Encoding for Better and Fairer Multilingual Language Modeling Томаша Лимисевича, Терры Блевинс, Хилы Гонен, Ореваогене Ахия и Люка Зеттлемойера. MyT5 (Myte T5) — это мультиязыковая языковая модель, основанная на архитектуре T5. Модель использует представление mорфологически-ориентированных байтов (MYTE), описанное в нашей статье. MYTE использует кодовые точки, соответствующие морфемам, в отличие от символов, используемых в кодировке UTF-8. В качестве предварительного этапа мы использовали неуправляемую морфологическую сегментацию (Morfessor) для получения списков морфем для 99 языков. Однако этап морфологической сегментации не требуется при использовании предопределенного списка морфем из hub (см.: Tomli/myt5-base).

Аннотация из статьи следующая:

Ключевой вопрос при создании многоязычных языковых моделей — как наилучшим образом представлять языки с разнообразными словарями и системами письма. Хотя современные методы кодирования текста охватывают большинство мировых систем письма, они демонстрируют смещение в пользу высоко-ресурсных языков глобального Запада. В результате тексты на недостаточно представленных языках, как правило, сегментируются в длинные последовательности лингвистически бессмысленных единиц. Чтобы устранить эти диспропорции, мы предлагаем новую парадигму, кодирующую ту же информацию с помощью сегментов согласованного размера для различных языков. Наша конвенция кодирования (MYTE) основана на морфемах, поскольку их наборы более сбалансированы между языками, чем наборы символов, используемые в предыдущих методах. Мы показываем, что MYTE обеспечивает более короткие кодирования для всех 99 проанализированных языков, при этом наиболее значительные улучшения наблюдаются для неевропейских языков и нелатинских систем письма. Это, в свою очередь, повышает качество многоязычных языковых моделей и сокращает разрыв в показателе перплексии между различными языками.

Эта модель была предоставлена Tomasz Limisiewicz. Исходный код можно найти здесь.

MyT5Tokenizer

класс transformers.MyT5Tokenizer

< >

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

Параметры

  • vocab_file (str) — Файл, содержащий правила переписывания байтов.
  • eos_token (str, необязательный, по умолчанию "</s>") — Токен конца последовательности.
  • unk_token (str, необязательный, по умолчанию "<unk>") — Токен неизвестного слова. Токен, отсутствующий в словаре, не может быть преобразован в ID, поэтому вместо него используется этот токен.
  • pad_token (str, необязательный, по умолчанию "<pad>") — Токен, используемый для выравнивания, например, при пакетной обработке последовательностей разной длины.
  • extra_ids (int, необязательный, по умолчанию 125) — Добавляет указанное количество дополнительных идентификаторов в конец словаря для использования в качестве маркеров. Эти токены доступны как “<extraid{%d}>”, где “{%d}” — число от 0 до extra_ids-1. Дополнительные токены индексируются от конца словаря к началу (“<extra_id_0>” — последний токен в словаре, как в предобработке ByT5, см. здесь).
  • additional_special_tokens (list[str], необязательный) — Дополнительные специальные токены, используемые токенизатором.

Создайте токенизатор MyT5.

Этот токенизатор наследуется от PreTrainedTokenizer, который содержит большинство основных методов. За дополнительной информацией об этих методах следует обращаться к этому суперклассу.

build_inputs_with_special_tokens

< >

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

Параметры

  • token_ids_0 (list[int]) — Список идентификаторов, к которым будут добавлены специальные токены.
  • token_ids_1 (list[int], необязательный) — Необязательный второй список идентификаторов для пар последовательностей.

Возвращает

list[int]

Список идентификаторов входных токенов с соответствующими специальными токенами.

Создайте входные данные модели из последовательности или пары последовательностей для задач классификации последовательностей, объединяя их и добавляя специальные токены. Последовательность имеет следующий формат:

  • одна последовательность: X </s>
  • пара последовательностей: A </s> B </s>

get_special_tokens_mask

< >

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

Параметры

  • token_ids_0 (list[int]) — Список идентификаторов.
  • token_ids_1 (list[int], необязательный) — Необязательный второй список идентификаторов для пар последовательностей.
  • already_has_special_tokens (bool, необязательный, по умолчанию False) — Указывает, содержит ли список токенов уже отформатированные специальные токены для модели.

Возвращает

list[int]

Список целых чисел в диапазоне [0, 1]: 1 для специального токена, 0 для токена последовательности.

Получить идентификаторы последовательностей из списка токенов, в который не добавлены специальные токены. Этот метод вызывается при добавлении специальных токенов с помощью метода prepare_for_model токенизатора.

create_token_type_ids_from_sequences

< >

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

Параметры

  • token_ids_0 (list[int]) — Список идентификаторов.
  • token_ids_1 (list[int], необязательный) — Необязательный второй список идентификаторов для пар последовательностей.

Возвращает

list[int]

Список нулей.

Создаёт маску на основе двух переданных последовательностей для использования в задаче классификации пар последовательностей. MyT5 не использует идентификаторы типов токенов, поэтому возвращается список нулей.

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None )

Update on GitHub