大規模言語モデルの展開 -- マルチモーダルへ
はじめに
ChatGPTの急速な普及を転換点として、かってない規模とエネルギーで、多くの研究者・開発者・企業が人工知能の分野に参入しようとしています。下の図は、arXivへの"transformer"関係の投稿数です。
セミナーでは、第一に、現在進行中のこの変化がどのような技術的背景を持つのかを考えてみたいと思っています。第二に、現時点での現実的な技術的焦点がどの辺にあるのかを考えようと思います。
大規模言語モデルの展開
第一点の現在の急激な変化の技術的背景についてですが、僕は、次のように考えています。
それは、自然言語処理だけではなく、コード生成、視覚情報の処理、分子構造と反応のモデリング等の様々な領域においても、大規模言語モデルが極めて優秀な能力を発揮できることが明らかになったことだと思います。
登場しつつある新しい人工知能技術が、現在の自然言語ベースの大規模言語モデルを超えるものだというイメージを持っている人も少なくないと思いますが、それは少し違うと思います。現在の展開には、技術的連続性があります。セミナーのタイトルを、「大規模言語モデルの展開」としたのはそのためです。
現在の技術的焦点 -- マルチモーダルへ
もっとも、技術に連続性があると言っても、技術は変化します。現時点での技術的焦点は何かを考えることは大事なことです。
僕は、それは「テキストの世界とイメージの世界の統合」だと考えています。
OpenAIのGPT-4でのMultimodalな機能の追加は、とても印象的なものでした。Googleも、それに追従しようとしています。
今回のセミナーでは、人工知能技術の現在の技術的焦点の一つが、「Multimodalな人工知能」 にあると考えて、その分野でのいくつかの基本的な技術を紹介しようと思います。
セミナーで取り上げるトピックス
今回のセミナーでは、大規模言語モデルのマルチモーダルへの展開として、主要に次の二つのプロジェクトを取り上げます。
- GoogleのVision Transformer
- OpenAIのCLIP.
重要なことは、これらのプロジェクトの中で、AIに対する新しいアプローチが生まれていることです。セミナーでは、次のようなアイデアに注目して、その概要を紹介したいと思います。
- Inductive Bias Free
- Natural Language Supervision
- Contrastive Representation Learning
あらためて「言語モデル」の意味を考える
少し前までは、自然言語の意味理解にはRNNが、画像認識にはCNNが主なエンジンとして使われていました。
上に見たような多様な応用への展開が、大規模言語モデルの飛躍を生み出したTransformer という一つのエンジンで可能になるかもしれないというのは、確かに魅力的なビジョンです。ただ、それほど簡単な話ではないのだということも、今回のセミナーで伝えたいことです。
多様で大きな変化が起きつつあるのですが、同時に、それらの変化のドライビング・フォースが何かを見極めることは重要だと考えています。
僕は、その中心的な力は、大規模言語モデルが採用した「意味の分散表現」だと考えています。
あらためて「大規模言語モデル」の意味を考えることは大事なことです。それについては、今回のセミナーとは別に整理していきたいと考えています。
OpenAIのマルチモーダル・サービスの開始
現時点での嬉しいニュースの一つは、OpenAIが ChatGPTのマルチモーダル・サービスの公開を予告したことです。(2023/09/25)
僕は、それは、AI利用の拡大の新しいゲーム・チェンジャーになると考えています。(ChatGPT等の新しいAI技術の利用者は、多く見積もっても数億人で、それはスマホの利用者よりはるかに少ないのです。)
AI利用の拡大は、今回のセミナーが取り上げたテキストと画像の統合が主要な舞台となるというよりは、AIの入力と出力が音声で可能になるというのが大きいのではと考えています。自然言語というのは、もともとは、「文字」ではなく、音声で伝えられるものです。
僕は、長い目で見たとき、大規模言語モデルの人間にとっての最大の貢献は、人間にことばの壁を乗り越える現実的手段を初めて提供したことにあると考えています。それは、「幻想」に悩まされることもない、大規模言語モデルの最良の能力を利用することでもあります。
( 資料pdf ビデオを文字起こしした資料 )
Part 1 画像認識とAttention
画像認識の課題とWindows Sliding
画像認識では、次のような技術が求められます。
- オブジェクトのカテゴリーの認識(分類)
- オブジェクトの位置の認識
- オブジェクトの切り出し
一つの画像の中に複数のオブジェクトが存在する時、これらの課題に応えるには、特別なアプローチが必要になります。
Windows Sliding は、これらの課題に応えるもっとも基本的なテクニックです。それは、Transformer のAttention Mechanism に相応するものです。
( 資料pdf blog:「 Windows Sliding は Attention である 」)
Caption生成の試みとAttention
実は、2016年のBahdanauらの論文より前に、Attentionの重要性を指摘した論文があるのです。それは、2015年のKelvin Xu らの次の論文です。
"Show, Attend and Tell: Neural Image Caption Generation with Visual Attention"
http://arxiv.org/pdf/1502.03044v2.pdf
興味深いことは、ここで提唱されているのは、画像に対するAttentionを利用することで、画像からCaptionを生成することができるというシステムでした。
( 資料pdf blog:「 Show, Attend and Tell ! 」)
Part 2 Vision Transformer : Inductive Bias Free
大規模言語モデルがMulti-Modal なAI に展開して上で、大きな役割を果たしたシステムがあります。それが、2021年に Google が発表した Vision Transformer です。
自然言語処理の世界では、Transformerベースの大規模言語モデルが大きな成功を収めていたのですが、画像情報処理の世界では、近年に至るまで CNN ( Convolution Neural Network )が主流でした。
それに対して、GoogleのVision Transformer は、大規模な画像情報処理の世界でも、CNNを全く利用せずに、Transformer だけで最先端のCNNのシステムを上回る性能を発揮できることを示しました。
このことは、Transformerをエンジンとする一つのシステムで、自然言語処理と画像処理のタイプの異なる二つの処理が同時に可能になることを意味しています。Vision Transformer が、Multi-ModalなAIへの突破口となったというのは、そういうことです。
Vision Transformer の画像embedding
Vision Transformerが自然言語だけではなく、画像も処理できるのは、次のような手法を用いているからです。
「元の画像を小さな画像パッチに分割し、これらのパッチの線形なembeddingのシーケンスをTransformerへの入力として提供する。」
画像パッチは、自然言語処理アプリケーションにおけるトークン(単語)と同じように扱われ、教師あり方式で画像分類モデルを学習します。
論文タイトルの "An Image Is Worth 16x16 Words" というのは、このことを指しています。
( 資料pdf blog:「 大規模訓練とInductive Bias 」)
Vision Transformer 内部表現の分析
今回のセッションの隠れたテーマの一つは、前回も触れた Vision Transformer の「CNNのInductive Biasの排除」という設計デザインについてです。
「Vision TransformerはCNNに比べ、画像固有の帰納的バイアスがはるかに少ない。」「CNNでは、局所性、2次元近傍構造、並進等価性がモデル全体を通して各層に焼き付けられている。」
最初に、CNNが画像認識の上で、画像データの特徴をどのように捉えているかを、簡単に振り返ろうと思います。
「 Vision Transformerの 内部表現の分析 」では、Vision Transformer での Attentionの働きが分析の焦点になります。
なぜなら、Transformer = 分散表現+Attentionと考えていいので、このアーキテクチャーで CNNと同じような画像認識の機能を発揮することができるのは何故かという疑問が出てくるのは当然ですから。
その答えの一つは、Vision Transformer も、CNNと同じふるまいを行うことがあることを示すことです。
( 資料pdf blog:「 Attention の働きを「見える化」する 」)
Part 3 CLIP: Connecting text and images
CLIP (Contrastive Language–Image Pre-training) は、テキストとイメージを結合することを目指したOpenAIのプロジェクトです。
CLIPは、大規模言語モデルをマルチモーダルな人工知能に展開する上での、OpenAIの中心的なプロジェクトと考えていいと思います。
CLIPのアプローチ : Natural Language Supervision
先に見た Vision Transformer は、”Inductive Bias Free”なシンプルなアーキテクチャーでも、データセットの規模を拡大すると、画像認識の性能を上げられることを強調し、「大規模訓練が帰納的バイアスに勝ることを発見した。」と豪語していたのですが、OpenAIのCLIPのアプローチは、すこし違ったものです。
「典型的なビジョン・データセットは、作成に労力とコストがかかる一方で、狭い範囲の視覚概念しか教えない。標準的なビジョン・モデルは、1つのタスクと1つのタスクにしか向いておらず、新しいタスクに適応させるためには多大な労力を必要とする。」
( 資料pdf blog:「 natural language supervision とは何か? 」)
CLIPのデータセットと予測サンプル
このセッションでは、CLIPがどのようなデータセットを訓練用データを構築したのか、また、CLIPがどのような性能を持つかを、いくつかのサンプルで見ていこうと思います。
( 資料pdf blog:「 CLIPの性能を見る 」)
CLIP : Contrastive Representation Learning
( 資料pdf blog:「 「似ているもの」は近くに、「違うもの」は遠くに 」)