Transformers documentation
myt5
このモデルは2024年3月15日にHF papersで公開され、2024年10月6日にHugging Face Transformersに貢献されました。
myt5
概要
myt5モデルは、Tomasz Limisiewicz、Terra Blevins、Hila Gonen、Orevaoghene Ahia、Luke Zettlemoyer による MYTE: Morphology-Driven Byte Encoding for Better and Fairer Multilingual Language Modeling で提案されました。 MyT5(Myte T5)は、T5アーキテクチャに基づく多言語言語モデルです。 このモデルは、私たちの論文で説明されているmorphologically-driven byte(MYTE)表現を使用しています。MYTEは、UTF-8エンコーディングで使われる文字とは対照的に、モーフィームに対応するコードポイントを使用します。 前提として、99言語のモーフィームインベントリを取得するために、教師なし形態素セグメンテーション(Morfessor)を使用しました。 ただし、ハブから定義済みのモーフィームインベントリを使用する場合は(参照: Tomli/myt5-base)、形態素セグメンテーションのステップは不要です。
論文の抄録は以下の通りです。
多言語言語モデリングにおける重要な検討事項の一つは、多様な語彙や文字体系を持つ言語をどのように表現するかにあります。現在のテキストエンコーディング手法は世界のほとんどの文字体系をカバーしていますが、グローバル・ウエストの高リソース言語に偏りが見られます。その結果、リソースが不足している言語のテキストは、言語的に意味のないユニットの長い列に分割されがちです。この格差を解消するため、多様な言語間で一定のサイズを持つセグメントによって同じ情報をエンコードする新しいパラダイムを導入します。私たちのエンコーディング規約(MYTE)は形態素に基づいており、従来の手法で使用されている文字よりも、言語間のインベントリ(語彙の範囲)がよりバランスよく分布しているためです。MYTEは、分析対象の99言語すべてでより短いエンコーディングを生成し、特にヨーロッパ以外の言語やラテン文字以外の文字体系において顕著な改善が見られました。これにより、多言語LMのパフォーマンスが向上し、多様な言語にわたるパープレキシティの差が縮小されます。
このモデルはTomasz Limisiewicz氏によって提供されました。 元のコードはこちらで確認できます。
MyT5Tokenizer
クラス transformers.MyT5Tokenizer
< source >( 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, optional, defaults to 125) — Add a number of extra ids added to the end of the vocabulary for use as sentinels. These tokens are accessible as “id{%d}>” where ”{%d}” is a number between 0 and extra_ids-1. Extra tokens are indexed from the end of the vocabulary up to beginning (“ ” is the last token in the vocabulary like in ByT5 preprocessing see here). - additional_special_tokens (
list[str]、省略可) — トークナイザーで使用される追加の特殊トークン。
MyT5のトークナイザーを構築します。
このトークナイザーは、PreTrainedTokenizer を継承しており、主要なメソッドのほとんどが含まれています。これらのメソッドに関する詳細については、このスーパークラスを参照してください。
build_inputs_with_special_tokens
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]
パラメータ
- token_ids_0 (
list[int]) — 特殊トークンが追加されるIDのリストです。 - token_ids_1 (
list[int]、省略可) — シーケンスペア用の第2のIDリスト(任意)。
戻り値
list[int]
適切な特殊トークンを含む入力 IDのリスト。
シーケンス分類タスクにおいて、シーケンスまたはシーケンスのペアからモデルの入力を構築するために、特殊トークンを連結して追加します。シーケンスは以下の形式を持ちます:
- 単一シーケンス:
X </s> - シーケンスのペア:
A </s> B </s>
get_special_tokens_mask
< source >( token_ids_0: listtoken_ids_1: list[int] | None = Nonealready_has_special_tokens: bool = False ) → list[int]
特殊トークンが追加されていないトークンリストからシーケンスIDを取得します。このメソッドは、トークナイザーのprepare_for_modelメソッドを使用して特殊トークンを追加する際に呼び出されます。
create_token_type_ids_from_sequences
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]
シーケンスペア分類タスクで使用するために、渡された2つのシーケンスからマスクを作成します。MyT5はトークンタイプIDを使用しないため、ゼロのリストが返されます。