🐯

NLP News #4

【1】PaLM: Scaling Language Modeling with Pathways (担当: Yuki Kawaraさん)

論文情報

一言説明

  • Pathways アーキテクチャを使用することで、よりパラメータ数が多く、より多数のタスクに適応できる言語モデルを提案した。BIG-bench と呼ばれるベンチマークでは人間の平均的な性能を上回る性能を達成した。

先行研究との比較

  • より効率的なスケーリング: Pathways と TPU v4 Pods を使用することで、今までのモデルでは到達できなかった大きさのモデルを学習することが可能になった。
  • スケーリングによる精度向上: パラメータを増やしたことで、過去のモデルと比較してさらなる精度向上を達成した。
  • 問題解決能力の増強: 常識推論などのタスクでは、これまでタスク固有のファインチューニングやドメインに特化したアーキテクチャを使用することで良い結果を出していた。PaLM では、それらを使用せず、chain-of-thought prompting という推論の一連の流れを示すようなプロンプトを与えるだけで、推論性能が大幅に向上できることを示した。
  • べき乗則を超える精度向上: スケーリング則の分析のために、8B、62B、540B のパラメータを持つモデルを訓練して性能を評価した。

技術や手法のキモ

  • Pathways アーキテクチャを使用して、より巨大なモデルの学習を行っている。Pathways アーキテクチャは、MoE のようにタスクによって使用する経路を変えられるアーキテクチャのようで、これによってスパースなモデルとなる(参考:https://blog.google/technology/ai/introducing-pathways-next-generation-ai-architecture/)。スパースなモデルになったおかげで、モデルサイズがより大きくなっても速いモデルが出来る。

実験と評価

モデル自体の訓練は、ウェブページ、本、wikipedia、ニュース記事、プログラムのソース、SNSの会話から構成された 7800 億トークンからなるコーパスによって訓練されている。

モデルの評価

  • これまで主に使用されている評価データセットでの結果(Table 4 より引用)
image

PaLM 540B では 0-shot、1-shot、few-shot においてほとんどのタスクで SOTA を達成している。特に few-shot では CoQA 以外のタスクすべてで SOTA を達成した。

  • BIG-bench での評価

BIG-bench とよばれる、より難しいタスクが含まれているベンチマークのデータセットでも、多くのタスクで今までのモデルの性能を上回る精度を達成している(Figure 4 より引用。青が今までのモデルと比較して性能が向上したタスク、オレンジが低下したタスク)パラメータ数を増やすことによる精度向上はまだまだ限界が見えなさそうである。

image

また、多くのタスクで人間の平均的な性能を上回る性能も達成している(FIgure 6 より引用)

image

さらに、モデルのパラメータ数の対数に比例して精度が線形に向上すると言われているが、それについても様々なタスクで実験を行っている(Figure 5 より引用)

image

タスクによっては精度が線形に向上するものもあれば、より大幅に向上したり、それほど向上しなかったものもあった。

  • 推論タスク

この論文では、推論のタスクとして、算術の推論と常識推論を行っている。タスクによって向上の幅は異なるが、chain-of-thought prompting という手法によって精度が大幅に向上している(Table 9 より引用)chain-of-thought prompting は推論の過程を表す入力で、これによって精度が向上していることから PaLM の言語理解能力の高さが伺える。

image
  • コーディングタスク
  • image

PaLM をプログラムのソースコードでファインチューニングした PaLM Coder で、タスクによってこれまでの結果を上回る性能を達成した。

  • 説明の探索 (Exploring Explanations)

推論のタスクでは出力があっているかを見ているが、なぜその答えに至ったのかを出力することも重要な点であると著者たちは考えている。「冗談の説明」と「論理的推論」の二つのタスクに対して、2-shot による PaLM の出力結果を論文に示している。

image

ジョークの説明の例(図 19 より引用)

image

論理的推論の例(図 19 より引用)

これらの入力は著者らが書いた文のため、訓練データに含まれていたものをそのまま出力しているとは考えづらい。そのため、これらの出力は PaLM の言語理解の能力を示していると考えられる。

読んだ所感

  • パラメータ数を増やしても限界はまだまだ見えず、これから先もよりパラメータ数の大きいモデルが提案されていきそうだと思いました。sMLP や Pathways のように、いかにスパースなモデルに出来るかが今後の流行になっていきそうです。
  • 個人的には、コーディングタスクの結果と説明の探求の結果が面白いと感じています。言語のタスクだけではなく、コーディングタスクにも自然言語による事前学習モデルが良い性能を発揮できることが分かり、他の生成系のタスクにも使えるようになるのではと期待できます。また説明の探求の分析がより出来れば、モデルの解釈にも役立ったり、モデルが何を間違っているかが分かるためさらなるモデルの性能向上につながるのではないかと思います。

【2】Chain of Thought Prompting Elicits Reasoning in Large Language Models (担当: Atsushi Matsuuraさん)

論文情報

  • タイトル : Chain of Thought Prompting Elicits Reasoning in Large Language Models
  • 学会 : -
  • 発表年 : (submitted) 2022/01/28, (last revised) 2022/04/06
  • URL : https://arxiv.org/abs/2201.11903

一言説明

  • few-shot examplars を prompt に入力する際に, 思考の過程も合わせて入力することで, 言語モデルが苦手としていた論理的な推論の精度を向上することができた。
image

技術や手法のキモ

  • prompt のデザイン (と大規模言語モデル) に手を加えるだけで, 論理的な推論の精度向上が見込める。

実験

  • 後述する3つのタスクに関して実験を行う。
  • 使用するモデルは以下 :
    • LaMDA (422M, 2B, 8B, 68B, 137B)
    • PaLM (8B, 62B, 535B)

Arithmetic Reasoning

  • 算数の文章問題を解くタスク。
  • 小学生レベルの問題を中心に以下のデータセットを用意 :
    • SingleOp (Roy et al., 2015)
    • SingleEq (Koncel-Kedziorski et al., 2015)
    • AddSub (Hosseini et al., 2014)
    • ASDiv (Miao et al., 2020)
    • MultiArith (Roy & Roth, 2015)
    • GSM8K (Cobbe et al., 2021)
image
  • prompt は下図に示すような standard prompting と chain of thought prompting を採用し比較 :
image
  • 簡単な問題を含む4つのデータセット (SingleOp, SingleEq, AddSub, ASDiv) については, いずれのモデルについても standard prompting と chain of thought prompting で大きな差は無かった。
image
  • 上記以外の2つのデータセット (MultiArith, GSM8K) については, standard prompting に比べ chain of thought prompting の方が精度が (モデルによっては劇的に) 良い傾向にあった。
image

Symbolic Reasoning

  • 以下の3種類のタスク :
    • Last letter concatenation : 姓と名の最後の文字を連結するタスク。
      • 例 : "Amy Brown" -> "yn"
    • Reverse list : リストの順番を逆にするタスク。
      • 例 : "sunglasses, monkey, phone, key" -> "key, phone, monkey, sunglasses"
    • Coin flip : コインをひっくり返す/返さない の操作を複数回繰り返した際に, 最終的にコインが表になっているかどうかを判定するタスク。
      • 例 : "A coin is heads up. Phoebe flips the coin. Osvaldo does not flip the coin. Is the coin still heads up?" -> "no"
  • few-shot examplars として与える chain of thought prompting の例は以下 :
image
  • 結果は以下 :
image

Commonsense Reasoning

  • 外部知識を必要とした推論タスク。
  • データセットは以下 :
    • CommonsenseQA (Talmor et al., 2019)
    • StrategyQA (Geva at al., 2021)
    • Big-bench (BIG-bench collaboration, 2021)
      • Date Understanding
      • Sports Understanding
  • few-shot examplars として与える chain of thought prompting の例は以下 :
image
  • 結果は以下 :
image

考察

  • chain of thought prompting を採用した場合, prompt のデザイン及び few-shot examplars の数に対してロバストな傾向にあることを確認。
  • GPT-3 (davinci) に対しても chain of thought prompting は有効。
image

読んだ所感

  • ある程度の大規模言語モデルが必要とはいえ, propmt を工夫するだけでここまで精度が改善することに驚き。
  • prompt のデザインや few-shot examplars の数に対してロバストなのも魅力。
  • 論文中では, なぜ chain of thought prompting が有効に働くのかの議論もなされている。

【3】DiffCSE: Difference-based Contrastive Learning for Sentence Embeddings (担当: Kazuki Hirataさん)

論文情報

一言説明

  • SimCSEの派生モデル。原文と編集後の文の差分に敏感になるように、教師なし対照学習モデルを作成
  • STS(Semantic Textual Similarity)タスクにて、教師なし学習modelの中でSOTAを達成

先行研究との比較

  • 最近、対照学習を用いたSentence embeddingsが多く研究されています。
  • 対照学習では、どのようなaugmentationに基づいて正例をつくるかが重要であり、下記のような先行研究がある。
  • CV領域の先行研究
    • SimCLR
      • 入力画像と意味的に近い画像を作成し、そのデータを正例、それ以外を負例
  • CVのaugmentation
    • RandomResizedCrop(画像内の一部分ランダムで抜粋し、元のサイズにリサイズ)
    • ColoJitter(色相、明度などの変換)
    • Rotate (画像の回転)
  • NLP領域の先行研究
    • ConSERT
      • adversarial attack(微量のノイズを付与)、token shuffling, cut-off、dropoutといったaugmentationで対照学習を検討
    • SimCSE
      • 入力文に対して異なるdropout maskを適用したものを正例として学習
  • 加えて、先行研究の中で、対照学習にとっては「有害」なaugmentationも挙げられている
    • SimCLR
      • Rotateによるaugmentationを用いた場合、ImageNetの線形探索精度が低下
    • SimCSE
      • 単語の15%を置換するMLMを用いた場合、STSタスクの性能が低下
  • 対照学習における学習目的は、入力に対して意味が不変な表現を作るaugmentationを行うことであるが、入力に対する直接的な変換(例えば、削除、置換)は文の意味を変えてしまうため、精度悪化の要因になってしまう。
  • 先行研究の多くは、上記のような「有害」なaugmentationは、学習過程から省かれている。しかし、DiffCSEでは、この「有害」なaugmentation(= MLM)も学習に利用するべきである、と主張。
  • 実際に、E-SSLの研究では、有害なaugmentationを、下記図のような形式で利用することで、精度向上を確認されています。
image
image
  • sensitive ... augmentationによる意味に変化に敏感な場合
  • insensitive... augmentationによる意味に変化に鈍感な場合
  • 上記の手法をNLPドメインにも拡張したモデルが、今回の「DiffCSE」になります。
    • *教師なしSimCSEは上記の図で言うところ、入力文の文埋め込みベクトルをよりinsensitiveになるように学習する

技術や手法のキモ

  • 下記図は、DiffCSEの概要になります。
image
  • 図の左側は先行研究となるSimCSEの構成になります。
    • ラベル無しの入力分xに対して、dropout maskを用いた意味類似度の高い文を生成し、対照学習を行います。
  • そして図の右側が、MLMを用いたaugmentationによって得られた文(= 編集文)が入力文(= 原文)の差分を学習する機構です。
    • 構造としては、ELECTRAで使われている学習構造の条件付きバージョンになります。
    • ELECTRAとの違いとしては、識別器側の入力に原文の埋め込みベクトルが入力されていることです。
    • これにより識別機の学習勾配をencoder側に逆伝搬させる事ができ、識別機側で原文と編集文の埋め込みベクトルの差分を学習する事ができます。
    • 上記の構成によって、DiffCSEの目的関数は以下のようになります。
    • image

実験

  • 学習データ
    • 事前学習にはSimCSEで提供されているWikipediaデータからランダムに取得した10610^6文のデータ
  • DiffCSEで使用するモデル
    • Sentence Encoder: Bert, RoBerta
    • Generator: DistilBERT, DistilRoBERTa
    • Discriminator: Bert, RoBerta
    • (学習時には、Generatorは固定)
  • 対象となる評価タスク
    • SentEvalで設定された7個のSTSタスク(=> 全て教師なし学習で実験)
    • SentEvalから選定した7つ下流タスク(=> EncoderはSTSタスクで学習したモデルで固定)
      • テキスト分類問題を埋め込みベクトルを入力としたロジスティック回帰を使用して評価
  • STSタスクの結果
    1. image
    2. BERTベース、RoBERTaベース共に、DiffCSEが平均スコアにて最高精度を達成
    3. SimCSEに比べて、BERTベースで+2.2%、RoBERTaベースで+1.2%の向上
  • 下流タスクの結果
    1. image
    2. BERTベースでは、SimCSEと比べて平均スコアを+1.3%向上
    3. RoBERTaベースでは、平均スコアを+2.2%向上
    4. CMLM-BERTbaseがDiffCSEよりも高い性能を示している。しかし、CMLM-BERTbaseでは1TBの学習データを使用しているのに対し、我々のモデルは115MBの学習データで上記の精度を達成
    5. SimCSEでは、下流タスクのfinetuningを行う際にMLMを使用することで精度が向上する。その場合のSimCSEの精度と比較すると+0.2%とあまり差はない
  • 類似文検索の検証
    1. image
    2. SimCSEでは単語の出現位置など、表現が近い文のスコアが高くなりがちなのに比べ、DiffCSEでは表現が似ていない文でも、意味類似度を高い文を検索できている
    3. 二重否定はまだ難しい

読んだ所感

  • CV領域とNLP領域での対照学習の研究を比較して、アイデアを得る過程が詳細に述べられていて、研究背景が理解しやすい
  • DiffCSEも学習構造自体もとてもシンプル
  • 論文内の類似文検索の結果を見る限り、確かにより正確に文の意味を把握できている用に見える(他のパターンを色々みたいところではあるが、、)

【4】DALL·E 2 (担当: ELYZA Akira Sasaki (hikomimo))

論文情報

  • タイトル:Hierarchical Text-Conditional Image Generation with CLIP Latents
  • 学会:現時点ではarXivのみ
  • 発表年:2022
  • URL:https://arxiv.org/abs/2204.06125
    • 43MB程度あるのでご注意ください...

一言説明

  • テキストを入力として高精細な画像を出力する、unCLIPという手法を提案
  • CLIPと拡散モデルの組み合わせによるアーキテクチャ
image

先行研究との比較

  • 事前知識として必要な、CLIP・拡散モデル・GLIDEを簡単に紹介しておきます

CLIP

  • Learning Transferable Visual Models From Natural Language Supervision
  • 従来の画像系タスクでは大量の正解ラベルつき教師データが必要という障壁があった
  • インターネット上から集まる大量の (image, text) ペアを用いて↓画像左のようにcontrastive learningを行うことで、テキストと画像を同じ空間に埋め込み
  • これにより、↓画像右のようにzero-shotでの予測も可能に
image

Diffusion Model (拡散モデル)

  • Denoising Diffusion Probabilistic Models (DDPM) などなど...
  • 拡散過程 (右から左) で画像にノイズを付与し、逆拡散過程 (左から右) でDNNを使ってノイズを徐々に除去
  • このような学習を行うことで、ただのノイズから画像を生成することが可能
  • また、ノイズを除去する際に指定のクラスやテキストによって導くことをguidanceと呼び、後述のGLIDEでもそれが用いられている
image

GLIDE

image

技術や手法のキモ

  • 上記CLIPと拡散モデルを組み合わせたアーキテクチャのunCLIPを提案
    • 上半分
      • CLIPにより、CLIP text embedding (青) とCLIP image embedding (茶) を事前学習
    • 下半分
      • prior
        • captionに基づきCLIP image embeddingを生成
        • autoregressive prior (上)、diffusion prior (下) それぞれ検証
      • decoder
        • diffusion modelによりCLIP image embeddingから画像を生成
        • 高精細な画像を生成するために、64x64 → 256x256 → 1024x1024 というdiffusion upsampler modelも利用
image

実験

  • 学習の詳細はAppendix Cに記載あり
    • encoder学習時はCLIP & DALL-Eのデータセット (およそ650M=6億5千万 images) を利用
    • prior学習時はDALL-Eのデータセット (およそ250M=2億5千万 images) を利用
  • ↓ 上部の元画像からCLIP image embeddingを作りdecoderに食わせ、その際にdecoderにランダム性をもたせることで、元画像のエッセンスを保ったバリエーションを生成
image
  • ↓ CLIPではimageとtextが同一空間にembeddingされることを利用し、あるテキストから別のテキストへのグラデーションのような画像を生成
image
  • ↓ auto regressive priorに比べてdiffusion priorのほうが良好
image
  • ↓ GLIDEなどを上回る性能
image

議論

  • まだ以下のような問題があるとのこと
  • ↓ テキスト中に含まれるオブジェクト同士の関係性をうまく表現できていない
image
  • ↓ decoderを使って元画像のバリエーションを作る際、複数オブジェクトの性質をまぜこぜにしてしまうことがある
image
  • ↓ テキストが含まれるような画像をうまく生成できない
image
  • ↓ 細部の質が悪いことがある
image

読んだ所感

  • アーキテクチャとしてはこれまでの研究の積み重ねという感じ
  • 高精細・多様な画像を生成できることもあり、悪用されないか気になるところ...
  • ちょうど先日rinna社が日本語CLIPを公開していたので、これを応用して日本語unCLIPなども...???