Google Researchは、ByT5をオープンソース化している。これは抽象的なトークンの代わりに未加工のバイトで動作する自然言語処理(NLP)AIモデルである。ベースラインモデルと比較して、ByT5はいくつかのベンチマークタスクでより正確であり、スペルミスやノイズに対してより堅牢である。
このシステムといくつかの実験が、arXivに掲載された論文に記載されている。ByT5は多言語T5モデル(mT5)に基づいているが、単語を辞書のトークンIDにマッピングする代わりに、テキストのバイトレベルの表現を直接操作する。これにより、トークンベースのモデルに関するいくつかの問題が解消される。トークンベースのモデルでは、元のトレーニングデータにない単語を処理できない。バイトレベルの処理では、ベースラインと比較して推論時間が遅くなりますが、ByT5はmT5よりもノイズに対してはるかに堅牢である。経験として、ランダムに大文字や小文字を変更したテキストが与えられた場合、mT5の25%と比較して1%の精度低下で済んでいる。ByT5は、生成タスクおよびXTREME多言語NLPベンチマークでもmT5よりも優れている。
NLPタスク向けの深層学習モデルは、元々テキスト文字列を単語トークンのシーケンスとして表しており、各トークンには一意の数値識別子(ID)が与えられる。通常は語彙単語の固定リストへのインデックスである。トークンIDはコンパクトで効率的な表現であるが、このモデルでは語彙に含まれていない単語を処理できない。トレーニングデータにない単語や、既知の単語のスペルミスもそうである。語彙にない単語はすべて単一の「不明な」トークンにマップされるため、モデルはこれらの単語を区別できなくなる。
最近では、モデルで、単語をより小さな単位に分割するSentencePieceなどのサブ単語トークナイザーを使って、この問題に対処しようとした。これは、見たことがない単語を既知のサブユニットに分解することで対処できるようになるが、それでも、これらのモデルはスペルミスや形態変化(「run」と「ran」など)の影響を受ける。また、他の言語の文字など、見たことがない文字を処理することもできない。これにより、研究者は、未処理のバイトで動作するBERTの1バージョンであるGoogleのCANINEモデルなど、バイトレベルのモデルを調査するようになった。バイトレベルモデルの欠点の1つは、モデルの後続のレイヤーに供給される結果のシーケンスがトークン化されたものよりもはるかに長く、その結果、モデルが大きくなり、遅くなることである。これは、モデルのサイズと計算コストの両方がサポートされる最大シーケンス長とともに増加するためである。
ByT5を実装するために、研究者は3つの方法でmT5アーキテクチャを変更した。まず、SentencePieceを使って入力テキストをトークン化する代わりに、UTF-8バイトがモデルに直接提供される。ただし、UTF-8で無効なバイトはすべて削除され、パディングと文の終わりを表すために2つの特別なトークンが使われる。次に、トレーニング前のスパン破損タスクが変更され、平均3トークンをマスクするmT5と比較して、平均20バイトがマスクされる。最後に、エンコーダーとデコーダーに同じ数のTransformerブロックを使うのではなく、ByT5ではエンコーダーの深さはデコーダーの3倍となる。
チームは、ByT5とmT5のパフォーマンスを比較するためにいくつかの実験を行った。各アーキテクチャを使って、さまざまなサイズの5つのモデル(Small、Base、Large、XL、XXLと表記)を作成し、いくつかのベンチマークで評価した。GLUEとSuperGLUE言語理解ベンチマークでは、ByT5はSmallサイズとBaseサイズでmT5よりも正確であったが、mT5はより大きいサイズでよい結果となった。生成ベンチマークのXSumとTweetQAでは、すべてのモデルサイズで、ByT5がmT5を上回った。XTREMEの言語に関するタスクでは、すべてのターゲット言語の「ゴールド」データでモデルが微調整されるが、ByT5はすべてのタスクとモデルサイズでmT5を上回った。ただし、他のタスクでは結果がまちまちであった。しかし、ByT5は低速で、事前トレーニングを完了するのに33%長いクロック時間がかかり、推論時間は分類で最大2倍、生成で最大7倍遅かった。
Twitterでのディスカッションで、ユーザはこの新しいモデルを「古い学校」のキャラクターレベルのモデルと比較して、どうなのかを尋ねた。論文の共著者であるNoah Constant氏は次のように答えた。
概念的には非常に似ている。違いは、(1)文字に対してバイトを使用、(2)デコーダーのみに対して、エンコーダーとデコーダーを使用、(3)純粋なLM目標に対して、スパン破損を使用した双方向効果の学習、(4)LMにおける混乱でなく、転送学習タスクの評価です。
ByT5コードと事前トレーニング済みのモデルファイルはGitHubから入手できる。