Explorables

言語モデルは何を学んだのか

穴埋めをさせることで、言語モデルが世界をどう理解しているかを探れます。

What Have Language Models Learned?

大規模言語モデルのおかげで、コンピュータは物語を書いたりウェブサイトをプログラムしたりキャプションから画像を生成したりできるようになりました。

こうしたモデルの初期に登場した BERT は、文を単語に分割し、その一部をランダムに隠して当てるという学習を繰り返すことで訓練されます。何百万回もこれを行うと、BERT はシェイクスピアを十分に「読んだ」ことになり、このフレーズが通常どのように終わるか予測できるようになります。

このページでは、Wikipedia と書籍で学習した BERT を使っています。¹さまざまな単語をクリックして、どのように穴埋めされるか試したり、別の文を入力して BERT が何を学んでいるか確かめたりしてみてください。

牛か、それとも洋服か?

ハムレットの存在に対する恐れ以外にも、BERT が学習した文章にはさまざまなパターンが含まれています。

とはいえ、すべての州で最有力なのが牛や馬というわけではありません。ニューヨークでは洋服や本、芸術といった単語がよく選ばれます。

BERT の語彙には 3 万語以上の単語や句読点、語片が含まれています。BERT が穴埋めをするたびに、それぞれに確率を割り当てます。わずかな文章の違いで確率がどう変わるかを見ることで、地域ごとの購買パターンをどのように捉えているか垣間見ることができます。

文を編集することもできます。あるいは次の比較例から試してみてください。

コンピュータプログラムが何かを「知る」としたら、BERT はあなたが住んでいる場所について何を知っているのでしょうか。

名前が持つ意味は?

この手法は、BERT が異なる人々のグループについてどんな連想を学んだのかを探るのにも使えます。たとえば、エルシーという名前の人はローレンという名前の人より年上だと予測します。

BERT はまた、ジムという名前の人の仕事はジェーンという名前の人よりも典型的に男性的だと学習しています。

これは単なる偶然の相関ではありません。エルシーという名前の人は実際にローレンより高齢である傾向が強いのです。 そしてモデルが女性的だと結びつけた職業は、実際にも女性が従事する割合が高いことがわかっています。

こうした相関を気にするべきでしょうか。BERT は Wikipedia や書籍の穴埋めをするために訓練されたため、その役割は見事に果たしています。しかし問題は、モデルが学習した内部的な言語表現がさらに幅広く利用されていることです。いくつかの指標では、コンピュータがテキストを理解して扱う最良の手段と位置づけられています。

医師は男性だと当然のように決めつける会話相手や採用担当者がいれば、性差別的だと非難するでしょう。それと同じことを、BERT をチャットボットや採用ソフトに何の配慮もなく組み込めば起こしかねません。

このような思い込みを調整するのは簡単ではありません。機械学習システムが「なぜ」ある出力をするのか、いまだ十分には解明されていません。BERT を基盤とした与信モデルが、ある融資申請を性別による差別のために却下したのかどうかを見極めるのは、とても難しいかもしれません。

大規模言語モデルを広く展開することは、今日の有害なステレオタイプを増幅固定化させるリスクも伴います。たとえば「Two Muslims walked into a…(2人のムスリムが…に入った)」というプロンプトを与えるとGPT-3 は暴力的な描写で文を終えることが多いのです。

どう対処すればよいのか?

発想として分かりやすいのは、学習データから不要な相関を減らし、モデルのバイアス軽減することです。

昨年、Zari と呼ばれる BERT のバージョンが、追加の生成文セットを使って再学習されました。ジェンダーを持つ名詞(boy や aunt など)が含まれる文ごとに、その名詞を対となる語に置き換えた文を追加するという手法です。「The lady doth protest too much」に加えて「The gentleman doth protest too much」も学習させたわけです。

Zari は入れ替え文で訓練した結果、看護師も医師も「she」「he」をほぼ同じ確率で割り当てるようになりました。ただしジェンダーの相関が完全に消えたわけではありません。名前自体は入れ替えていないため、男性的な名前と医師の結びつきは BERT よりわずかに小さくなっただけです。 また、この再学習はノンバイナリーのジェンダー表現には影響を与えていません。

言葉の表現からジェンダーバイアスを取り除こうとした他の試みでも似たことが起きました。バイアスを数学的に定義し、モデルを「外科手術」して除去することはできますが、言語にはジェンダーが染み込んでいます。巨大なモデルは数十億のパラメータを持ち、ステレオタイプを学習できてしまいます。別の指標でバイアスを測定すると、再学習したモデルが単にステレオタイプを別の形に移しただけで、最初の指標では検出しにくくなっていることもあるのです。

他の応用分野と同様に、実際に起こり得る被害に目を向けるのが有効です。AllenNLPLMdiffLanguage Interpretability Tool のようなツールを使えば、言語モデルの弱点を見つけるのが容易になります。 課題が見つかったら、モデル全体を作り替えるよりも、タスクに特化した対策を講じた方が容易な場合があります。

モデルがより高度になるにつれ、自ら説明したり、バイアス除去を一部こなしてくれる可能性もあります。「医師」の性別を言い当てさせるのではなく、不確実性を示す回答をユーザーに提示し、想定を上書きできるようにすることも考えられます。

クレジット

Adam Pearce // 2021年7月

このコンテンツの制作にあたり、Ben Wedin、Emily Reif、James Wexler、Fernanda Viégas、Ian Tenney、Kellie Webster、Kevin Robinson、Lucas Dixon、Ludovic Peran、Martin Wattenberg、Michael Terry、Tolga Bolukbasi、Vinodkumar Prabhakaran、Xuezhi Wang、Yannick Assogba、Zan Armstrong に感謝します。

脚注

このページで使用している BERT モデルは、Hugging Face 版の bert-large-uncased-whole-word-masking。”BERT” はモデルアーキテクチャの体系名称でもあり、これまでに数百もの BERT モデルが訓練され公開されています。ここで使用しているモデルやチャートのコードは GitHub で公開しています。

上位に “1800” や “1900”、”2000” が並んでいる点にも注目してください。実際には世紀の変わり目に生まれる人が多いわけではありませんが、BERT が学習した書籍や Wikipedia のコーパスでは端数のない数字がよく登場します

このインターフェースで BERT と Zari を比較するには、遷移中のトークンを注意深く追跡する必要があります。BERT Difference Plots の Colab では、モデル出力の違いを体系的に比較するための拡張案が紹介されています。

モデルを展開したからといって分析を止めるべきではありません。言語や利用状況が変化するにつれ、潜在的な影響を継続的に調査し、緩和していくことが重要です。

付録:時間による差の変化

男性女性の予測が一つの文でどう異なるかを見るだけでなく、その差が時間とともにどう変化したかも可視化できます。

近年の収束傾向から、別の緩和策も考えられます。前置きを工夫して、自然言語の理解を保ちながら望ましくない相関からモデルを遠ざけるというアイデアです。

とはいえ、前置きとして “In $year” を使う方法には限界があります。ジェンダーニュートラルな代名詞に対応できず、別の相関を強めてしまう恐れがあるからです。しかし、より良い前置きを見つけ出し、わずかな例で特定のバイアスを抑えることも可能かもしれません。

こうした差の変化を詳しく調べると、この方法で BERT から引き出せる事実には限界があることも分かります。

下段のチャートでは、男性と女性の職業に関する予測の差が 1908 年から 2018 年の間にどう変化したかを示しています。右端のチャートは 1908 年の he/she の差と 2018 年の差を比較したものです。

右端のグラフがほぼ平らなのは、職種ごとに he/she の差がほぼ同じ割合で減少したことを示しています。しかし現実の職業構造の変化はそれほど滑らかではなく、会計のように男性が多数派から女性が多数派へと逆転した例もあります。

こうした現実と予測のズレは、学習データの不足やモデルの規模、分析手法の粗さが原因かもしれません。これらのモデルには膨大な一般知識が詰め込まれており、少し訓練を加えるだけでクイズの達人のように振る舞うことさえあります。