本記事は下記の続きです。
経営、方針など
2020年1月、GoogleのCEOであるSundar Pichai氏が「人工知能には規制が必要であることに疑いの余地はない」と語り1、AI規制の必要性に関して積極的な姿勢を示した。2018年に発表した「AI Principles」の進捗をまとめたレポートAI Principles: 2020 Progress Updateも公表、Googleが掲げた次の7原則(社会への利益、有害行為の回避、公平性、安全性、説明可能性、プライバシー、人間の管理)に照らして、実際にどのような行動をとったかを報告した。その中で、Googleはプロジェクト開始時、AI Principlesに照らした事前審査を行う「AI Principles Review」の体制を整備し、倫理・プライバシー・法務の各専門チームが横断的に関与する運用を本格化させた2。
T5
大量のデータセットを用いて事前学習(pre-training)を行うことが一般的になっており、理想的には事前学習によってモデルは汎用的な能力と知識を獲得し、それらを下流のタスクに転移できる
「分類」「生成」「質問応答」「翻訳」などタスクごとにモデルや入出力形式が異なり、横断的な比較や知見の共有が困難になっていることを課題とし、Google Researchは、すべてをテキスト → テキスト問題として扱うT5(Text-to-Text Transfer Transformer)を発表した(このプロジェクトの目標は、新手法の提案ではなく、この分野の現状に関する包括的な視点を提供することであると強調されている)3。
データセット
Colossal Clean Crawled Corpus(C4)と呼ばれるGoogle AIがT5のために自作したものである。既存のWikipediaやBooksCorpus(約7,000冊の英語書籍。BERTで使用)は、データサイズが小さく、スタイルが限られているなどの理由から、C4はCommon Crawl(詳細は後述)の生データから以下のような厳格なフィルタリング・正規化処理を行って作成されている3。
- 英語検出(LangDetect):英語の文のみを抽出
- HTMLタグの除去
- ページタイトルやナビゲーション要素の除去
- 過剰な繰り返し/スパムの排除
- NSFW(アダルト)や攻撃的言語のフィルタリング
- 極端に短い文・ページを除外
- Wikipediaや特定ドメインの重複排除
モデル構造
Encoder–Decoder構造のTransformerモデルであり、当初提案された形式にほぼ従っている。各パートの詳細は下記の通り34。
- 前処理
- C4を「タスク名: 入力文」という形式に変換し、すべてのタスクをテキスト → テキスト問題として扱う
- 例
- 入力:
translate German to English: Das ist gut.
- 出力:
That is good.
- 入力:
- トークン化
-
SentencePiece
というトークナイザーを利用
-
- Encoder - Decoder
- Transformerモデルから下記の点を変更
- レイヤー正規化バイアスの除去
- レイヤー正規化を残差パス外へ配置
- Relative Position Embeddings方式の使用
- Transformerモデルから下記の点を変更
学習
BERTなどで用いられた従来のMLM(Masked Language Modeling)とは異なる、文中の連続した複数単語を特殊トークンで置き換えるMasked Span Predictionが用いられた。それにより、文構造の保持、意味の復元、接続の自然さ、単語選択の適切さなど、文生成に必要な言語的スキルの総合習得に繋が理、テキスト再構成能力の向上が期待され、C4のような外部ラベルなしのデータセットでも可能な自己教師あり学習が適用できる。
具体例
- MLM(Masked Language Modeling)
- 入力: I want to [MASK] a sandwich.
- 出力: eat
- Masked Span Prediction
- 入力: I want to a sandwich.
- 出力: eat
また、T5のプロジェクトでは、ゼロショット学習よりも転移学習(事前学習 - ファインチューニング)に焦点を当てており、タスクのprefixを変更してファインチューニングを行い、要約や翻訳のタスクで高い転移性能を示した。
Common Crawl
Google元エンジニアでありApplied Semantics創業者のGil Elbaz氏が、Googleが2003年にApplied Semanticsを買収し、膨大なデータにアクセスすることでイノベーションの独占になりつつあることを懸念し、2007年に「Webは知識の公共財」という理念のもとで設立した、非営利団体5。
一般向けに積極的にデータ提供していなかったが、2012年にAmazon Web Servicesのパブリックデータセットにホストされることで6、誰でも数行のコードでペタバイト級のWebコーパス、続くリリースでメタデータも分析可能になった7(それまでは、研究用途に自力でクローリングするしかなかった)。
その後、検索エンジンBlekkoのクロールメタデータ寄贈を受ける8、Apache Nutchへのクロールエンジンを移行する9など技術刷新と品質向上がなされた。
自然言語処理の研究には、内容のクオリティが確保されたデータを使うのが常識であり、Common Crawlはノイズが多く、品質管理が困難で扱いづらかった。
Alphafold2
2016年ごろのAlphaGoが囲碁のチャンピオンに勝利をした(参考:Google(2. 2015~2016年ごろ:Distillation, AlphaGo, Tensorflow, TPU, GNMT))後、DeepMindのDemis Hassabis氏はその技術をタンパク質フォールディングへ応用することに注目していた10。2017年にAlphaZeroが発表された後、2018年にAlphafoldというアミノ酸配列からタンパク質の立体構造(3D座標)を予測をするモデルが発表され1112、国際タンパク質構造予測コンペ13(CASP13: Critical Assessment of Structure Prediction)で平均合計スコア58.9を記録した13。
そして2020年、タンパク質構造の進化的、物理的、幾何学的制約に基づく新しいニューラルネットワークアーキテクチャと学習手順を組み込むことで、構造予測の精度を大幅に向上させたAlphafold2が発表され、CASP14で平均合計スコア92.4を記録した。
モデル
アミノ酸配列をベクトルにエンコードし、下記の二種類のテンソルをEvoformerに入力する。
- MSA(Multiple Sequence Alignment):図の上段
- 進化的に類似した配列を整列した行列状のデータ
- MSAにより、各アミノ酸の位置ごとの保存性(conservation)が分かり、進化的な変異パターンを学習させることができる
- 例:進化的に変異しにくい位置 → 構造的に重要な位置
- Pair:図の下段
- アミノ酸間の構造的な関係性のデータ
- アミノ酸i と j が共進化(co-evolve)していれば、空間的に近い可能性が高い
Evoformerは、従来のTransformerアーキテクチャをベースにして、タンパク質構造予測に特化して大幅に拡張されたモジュールである。AlphaFold2においては、タンパク質の進化的情報と残基間相互作用を同時に扱うために、MSA(Multiple Sequence Alignment)テンソルとPair(残基間特徴)テンソルの2つの情報ストリームを持ち、これらを交互に更新していく構造となっている。
- MSAの行方向および列方向のAttention(図の上段)
- MSAストリームで使用される処理
- 行方向:異なる配列が同じ位置に持つアミノ酸のパターンを抽出
- 列方向:単一配列内の残基位置間の関係から進化的共変動を捉える
- Triangle Self-Attention(図の下段)
- Pairストリームで使用される処理
- 残基iとjが「一つまたは複数の残基kを挟んで」どう関係するかを学習
- 三角関係(i–j–k)を通じて長距離相互作用や立体構造的配置を表現
最終的に、Evoformerの出力するMSAとPairのテンソルから、各塩基の座標を決定する。
-
Google CEO calls for regulation of artificial intelligence ↩
-
Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer ↩ ↩2 ↩3
-
A Critical Analysis of the Largest Source for Generative AI Training Data: Common Crawl ↩
-
Improved protein structure prediction using potentials from deep learning ↩
-
AlphaFold: a solution to a 50-year-old grand challenge in biology ↩ ↩2