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.2).
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) — Добавляет указанное количество дополнительных идентификаторов в конец словаря для использования в качестве маркеров. Эти токены доступны как «id{%d}>», где «{%d}» — число от 0 до extra_ids-1. Дополнительные токены индексируются от конца словаря к началу («» — последний токен в словаре, как в предобработке ByT5, см. здесь).
  • additional_special_tokens (list[str], необязательный) — Дополнительные специальные токены, используемые токенизатором.

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

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

build_inputs_with_special_tokens

< >

( token_ids_0: listtoken_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: listtoken_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: listtoken_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