T5とは
Text-to-Text Transfer Transformer
あらゆる自然言語処理タスクをテキスト入力からテキスト出力への変換として統一的に扱うGoogleのエンコーダ・デコーダ型言語モデル
ひとことで言うと
翻訳・要約・分類など種類の異なるタスクをすべて「テキストを入力してテキストを出力する」形式に統一し、1つの枠組みで扱えるようにしたGoogleの言語モデル。
概要
T5(Text-to-Text Transfer Transformer)とは、翻訳・要約・分類・質問応答などあらゆる自然言語処理タスクをテキスト入力からテキスト出力への変換として統一的に扱うGoogleの言語モデルを指す。 各タスクの入力先頭に「translate English to German:」のようなプレフィックスを付与することで、タスクごとに異なるモデル構造やヘッドを用意せずとも、単一のエンコーダ・デコーダ型Transformerで多様なタスクを処理できるようにした。 事前学習にはWebクロールデータを大規模にクリーニングしたC4(Colossal Clean Crawled Corpus)を用い、モデル規模やデータ量、事前学習手法などの設計選択を体系的に比較した実験結果も合わせて報告された。 BERTのようなエンコーダのみ、GPTのようなデコーダのみのモデルと異なり、標準的なエンコーダ・デコーダ構成を採用しており、その後のFlan-T5等の指示チューニング済み派生モデルの土台にもなっている。
歴史
2019年10月にGoogleの研究者ら(Raffelら)が論文「Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer」で発表した。
アーキテクチャ
標準的なエンコーダ・デコーダ型Transformerを採用する。エンコーダが入力テキストを処理して文脈表現を生成し、デコーダがその表現を参照しながら出力テキストを自己回帰的に生成する。あらゆるタスクの入力と出力を「テキストからテキストへ」という共通形式に統一しているため、分類タスクの出力もラベルを表す単語列として生成する。
ワークフロー
入力テキストの先頭にタスクを示すプレフィックス(例: “summarize:”)を付与する → エンコーダが入力全体を処理し文脈表現を得る → デコーダがその表現を参照しながら出力テキストを生成する。生成されたテキストをそのままタスクの出力として扱う。