🎹

NLP News #5

【1】A Generalist Agent (担当: ELYZA Yuuri Kurashima)

論文情報

タイトル
A Generalist Agent
学会
arxiv
発表日
May, 12, 2022
URL
備考
DeepMind

概要

ELYZA tweet

DeepMind は汎用人工知能 (AGI) 研究として汎用エージェント (Generalist Agent)『Gato』を開発した。Gato は単一の Transformer 系モデル (1.2B) で、同一のモデル重みに対し prompt を切り替え、会話・Atari・ロボット操作等の複数モーダル・複数タスクをこなす

- リアルタイム制御系タスクにおける計算速度制限よりモデルサイズは1.18Bに抑えられた

image

先行研究: Decision Transformer

  • TransformerにOffline RLと呼ばれる、制御系タスクをリアルタイムではなく、過去に集めたデータを用いて、強化学習を用いず、言語モデルと同様に教師あり学習の枠組みを用いて学習することを可能な手法を提案した
    • GatoではこのDecision Transformerモデルをベースにマルチモーダルなタスクへ適応を試みた

提案手法

image
image

全てのデータをフラットなシーケンスに直列化しGPT architectureなTransformerに入力することで、大規模言語モデルと同様に学習・サンプリングが可能にした。

各モーダル・エンボディメント毎に次の対応する手法で整数化

テキスト
SentencePieceで32000のサブワード系列に変換
画像
Visual Transformerと同様の手法。 非重複の16*16サイズのバッチに分割後、バッチ毎に位置コーディングを施し、2次元画像を1次元的なフラットなシーケンスに変換され、線形射影を用いてEmbedding
離散値(ex. Atariのボタン押下)
各要素は[0,1024]の整数型に対応
連続値(ex. 固有受容入力や関節トルク)
μ-law encodingと呼ばれる手法で[-1, 1]の範囲に変換後、1024個の値に離散化し[32000, 33024]の範囲にシフト

損失関数

image

ただし、以下の通り

  • :シーケンスの各トークン
  • b:シーケンスBのトレーニングバッチのインデックス
  • 番目のインデックスがテキストまたはログされたアクションの場合

プロンプト

初めに、デモ的なプロンプトがトークン化され、初期シーケンスが生成される

image
image

結果

シミュレーション制御系タスク

604タスク中450以上のタスクがExpertスコアの50%以上を達成

- Expert Score: 現在のSOTAモデルを教師信号としたスコア

image

ロボティクス系タスク

RGB Stacking robotics benchmark(色のついたブロックを積むタスク)において、このタスクに特化したベースラインモデル(BC-IMP)と同程度の結果

image

画像のキャプション・対話

ドメイン特化なモデルには劣るものの、ある程度的確

image

実験

スケール性

モデルサイズの増加に従い、平均性能も向上する傾向

image

few-shotでの汎化性能

シミュレーション制御系タスク

事前学習データと視覚的に類似した画像を扱うDMLab order of apples forge simpleタスクにおいて、制御系の学習データを含まないモデルがfew-shotで十分高い性能を達成している。

一方、視覚的に類似た画像の少ないAtari boxingタスクにおいては有意な影響はなかった。

image

ロボティクス系タスク

サイズが大きいほど、少ないfine-tuningで良い結果

image

まとめ

  • マルチモーダル・マルチ操作エージェントのタスクを単一のモデル・パラメタで解くためのトークン化の手法を提案
  • ドメイン特化モデルには及ばないが、604ものマルチモーダルなタスクに一定以上の性能を発揮
  • 歴史的に汎用モデルはドメイン特化モデルを追い越す傾向があり、今後計算効率やメモリ制約の改善により、モデルサイズをスケールすることで、より汎用的なモデルを実現することが期待される

参考文献

【2】Building Machine Translation Systems for the Next Thousand Languages (担当: ELYZA Ryo Misawa)

論文情報

一言説明

💡
高性能な言語識別モデルや様々なWebデータのフィルタリング方法を活用し低リソース言語の単言語コーパスを収集。それによる自己教師ありタスクと高リソース言語での翻訳を同時に学習し,低リソース言語での zero-shot 翻訳を実現。そのうち24言語が Google 翻訳に追加された。

先行研究との比較

※ 先行研究との比較というよりは問題意識

  • 課題意識
    • ヨーロッパの言語が主流で 1 % 程度しかサポートされていない
  • ボトルネック
    • Language Identification (LangID) の性能が低く,Web 上で見つけるのが困難
    • 対訳データが不足しており,単言語データから翻訳を学習する必要がある

技術や手法のキモ

要点

  • Transformer ベースの LangID モデルと独自のフィルタリングによって単一言語のコーパスを収集
    • LangIDモデルは Transformer Big で MAsked Sequence-to-Sequence (MASS) という自己教師ありタスクも解く
    • フィルタリングには Term Frequency-Inverse Internet Frequency (TF-IIF) を使用し,他言語にも共通するような単語を含む文を破棄
      • e.g. トク・ピシンという言語では収集したデータのうち99.7 % が英語なのでフィルタリングが必要
    • 更に,Google や他機関所属のネイティブの協力で言語特化のフィルタリングの適用
      • 違いが曖昧な言語の区別など
      • そのほかにも色々とネイティブの手を借りたらしい
    • その他にもフィルタリングがあるが割愛
  • zero-shot 翻訳モデルの新しい学習パラダイムを提案
    • 翻訳タスクを学習するため,高リソース言語の対訳データを利用
    • 低リソース言語については同時に MASS を解いて学習
    • 合計で1138言語の単言語データ,112言語の対訳データで学習
    • 翻訳タスクとMASSを区別させるため,<2task>(翻訳時には<2translation>,MASSでは<2mass>)を指示文に入れる
  • その他
    • 学習したモデルを使って back-translation と self-training により対訳データを生成し,それで fine-tuning
    • デプロイのため蒸留

要素技術の解説

  • MASS とは?
    • 説明よりも Raffel et al. (2019) から引用した表の方がわかりやすい!
    • Raffel et al. (2019) より。様々な事前学習 objective の比較。
      Raffel et al. (2019) より。様々な事前学習 objective の比較。
    • T5で採用された span corruption は計算効率のためマスクされたトークンのみを出力していたが,今回適用したいのは翻訳タスクなので,原文を全て復元するMASSが望ましい
  • Term Frequency-Inverse Internet Frequency (TF-IIF)とは?
    • TF-IDF の document(idf の d)部分をインターネットに変えたもの
    • 要は,インターネット内で頻出するような他の言語にも共有するような単語を除外したい
    • 名前通り,特定言語のコーパスでの単語の頻度とインターネットでの頻度の逆数の積
    • clipping factor 番目に高頻度なトークン)に設定
      • つまり,低頻度の単語に対しては を同じ重みを与える
      • 逆数をかけているので,を小さくするとコーパスに現れない(=out-of-vocaburalyな)単語のスコアが高くなってしまうため調整が必要
    • TF-IIFの高い単語を含むような文を利用
    • その他ヒューリスティクも適用

実験

実験設定

  • モデル
    • 15億,60億パラメータの Transformer ベースの encoder-decoder モデル
  • 評価指標
    • CHRF
      • character n-gram F-score
    • ROUGE
  • 蒸留先のモデル
    • Google Docs の要約モデルや Meta 翻訳で取り入れられているアーキテクチャを利用
    • encoder が Transformer,decoder が LSTM

定量評価

  • xx → en の方向の翻訳は,モデルサイズとともに性能がスケールするが,en → xx の方向はむしろ悪化
    • 翻訳ではなく入力をコピーする傾向にあり,それによる性能劣化
    • 112言語の対訳データ,206言語の単言語データで学習した際の15億パラメータ,60億パラメータのモデルの性能比較。en → xx, xx → en の翻訳タスクでの chrF。
      112言語の対訳データ,206言語の単言語データで学習した際の15億パラメータ,60億パラメータのモデルの性能比較。en → xx, xx → en の翻訳タスクでの chrF。
  • 言語数を増やすと全体的に性能改善する
  • 60億パラメータのモデルの12言語の対訳データ,206言語また1000言語の単言語データで学習した際の性能比較。en → xx, xx → en の翻訳タスクでの chrF。
    60億パラメータのモデルの12言語の対訳データ,206言語また1000言語の単言語データで学習した際の性能比較。en → xx, xx → en の翻訳タスクでの chrF。
  • 教師モデルが生成したデータで学習した生徒モデルは, en → xx の方向では平均して 1.1 ポイント,xx → en では0.2ポイントの改善
    • 自然な英語の文を翻訳して作成した評価データなので,翻訳ちっくなデータで学習した生徒モデルの方がスコアが出やすいため注意が必要
    • 教師モデルが生成したデータで学習した生徒モデルとの性能比較。en → xx, xx → en の翻訳タスクでの chrF。
      教師モデルが生成したデータで学習した生徒モデルとの性能比較。en → xx, xx → en の翻訳タスクでの chrF。

興味深い分析

  • 自己教師あり故に分布的に似通った単語を区別することができない
    • 動物や色,時間情報などは似通った文脈で現れるため教師データが十分ないと正確な単語の対応関係を理解できない
    • 図の2段目のように,lion は別の動物に間違えられがち
  • 一方で,上手く翻訳できる色とできない色がある
    • 図の赤色の翻訳には強く,黄色はそこそこ,橙色には弱い
    • これは,色の言語としての発生段階が普遍的であるという知見と整合している
    • 赤色は Stage II,黄色は Stage III,橙色は Stage IV
image
  • 単一の単語を入力したとき,冗長な翻訳をする
    • 図の上半分は,追加の定義を括弧などで出力している
    • 下半分では,完全な定義を出力している
    • 学習データからコピーしていることを示唆
    • image
  • 蒸留後のモデルは,蒸留に用いたデータ(教師モデルが生成した翻訳データ)のノイズによって特徴的なエラーを起こす
      • ナイジェリア・ピジン語は攻撃的な英語のスラングに翻訳されることがある
        • “She said to herself” → “da b***** say ta da b*****self.”
      • デンマーク語への翻訳のはずがグリーンランド語への翻訳になることが多い
      • ヒンディー語への翻訳のはずがサンスクリット語になることが多い
    • ノイズの多い英語のクローリングデータを教師モデルで翻訳しそれを訓練データとする場合のデータの質が低い

議論

展望として以下の3つ

  • 意味的に近い単語を区別するための辞書の作成
    • 上述した自己教師ありタスクに起因する分布的に似通った単語を区別することができない問題への対処
  • 言語特化の研究
    • 今回のようなWeb上の単言語テキストを使った研究を補完するような取り組み
    • 例えば,翻訳データセットを作成するなど
  • マルチモーダルな情報の活用とモデルの開発
    • 言語がテキストとして存在しない言語に対しては,音声とテキストのマルチモーダルを扱う必要がある (textless NLP)

読んだ所感

  • 言語に依存しない翻訳という「タスクの性質に関する理解」は言語を超えて転移できることが示唆されている点は興味深かった(多言語モデル論文大体そうではあるが)
    • 意味的に近い単語を区別できはしないものの構造は理解できていそうなため
    • 一方で,性質の近い言語の対訳データがある場合には性能が出やすいことから,言語的な知識の寄与の方が大きそう。日本語のような似た言語が乏しい言語では厳しい?

【3】RANKGEN: Improving Text Generation with Large Ranking Models (担当: ELYZA Akira Sasaki)

論文情報

一言説明

  • 直近の言語モデルには “likelihood trap” (See+ 2019, Zhang+ 2021) という、高い尤度の生成結果が退屈だったり繰り返し気味だったりという課題があった
  • また言語モデルは局所的な文脈に頼りがちなせいで、大局的な一貫性が崩れがち
  • RANKGENという、contrastive learningベースで言語モデル出力を並び替える手法を提案
    • ある入力系列 (prefix) に関して、そのprefixの直後に来る系列を正例、そうでないものを負例として学習
    • これにより言語モデルによる複数の生成結果を、prefixから見たときの一貫性に基づきランキング可能
image

先行研究との比較

  • likelihood trapへの対処のため、sampling手法が盛んに研究されていた
    • top-k (Fan+ 2018), nucleus (top-p) (Holtzman+ 2020), typical (Meister+ 2022), …
    • とはいえ、一貫性に乏しかったりhallucinationを含んでいたりという課題は残っていた

技術や手法のキモ

  • 基本的な発想は上記「一言説明」を参照
  • アーキテクチャとしてはT5のencoder部分を利用してfine-tuning

  • 負例作成方法: 特徴の異なる以下2パターンを検証
    • INBOOK Negative
      • prefixと同一ドキュメント中のランダムな系列を負例とする
      • 流暢かつprefixに対するトピックやentityのoverlapはあるが、prefixとの関係が薄かったりする
    • GENERATIVE Negative
      • 言語モデルによりprefixから生成された系列を負例とする
      • prefixへの関係性は強かったりするが、hallucinationやrepetitionの問題がある

  • 推論時の手法は以下2パターンを検証
    • 手法1: 言語モデルで余分に候補を出力し、最後にreranking
      • 論文中では20候補を出力

    • 手法2: beam searchに組み込む
      • beam searchでprefixから長さ の系列を 件生成してそのうち上位 件を選び、それをprefixに再度加えてまた長さ の系列を出力し、… というやり方
      • 論文中では としている
      • image

実験

  • RANKGENによりMAUVE大幅改善
    • MAUVE
    • …ただモデルサイズが大きくなればなるほど影響は小さくなる?
    • 負例作成方法としてはINBOOK Negativeのほうが良好だが、組み合わせることでより強い
    • image

  • 既存手法に比べて、人手評価でも望ましい結果に
    • ↓ 既存手法とRANKGENそれぞれの出力結果を提示し、人間がRANKGEN側を望ましいと答えた割合 ↓
    • image

    • ↓評価者がRANKGENの出力を好んだ理由の集計結果↓
    • image

  • 推論時間はいくらか余分にかかってしまう
    • ここでRANKGENによるリランキングはそこまで問題でなく、どちらかというとover-generationのほうがボトルネック
    • image
      image

議論

  • 残課題
    • 推論時間 (上記の通り)
    • あくまでランキングする手法のため、もととなる言語モデルの性能にも依存する
    • 論文中では自由な生成のみを行っていたが、要約/QA/翻訳などの他タスクでも使えるかは未知

読んだ所感

  • 手法としては非常にシンプルなので、日本語でも & どのデータでもそこそこワークしそう
  • beam searchとの組み合わせた生成のあたりが、いろいろと掘りどころありそう?
    • 効率化観点やら、毎回固定長 で生成せずに状況に応じて可変にするとか…

【4】ここ一ヶ月のそのほかのNLPニュース

  • ※ SlackリンクはNLP Hacks Slackへのログインが必要です
  • ※ ページの都合上、やや内容の表示が遅れることがあるようです…!その場合はのちほど再度ご確認ください 🙇
  • 👀 などが2コ以上付いていたものを時系列順に並べています