──トランスフォーマーモデルの処理の特徴について、詳しく教えていただけますか?
椎橋:トランスフォーマーモデルの処理の特徴を理解するには、まず従来のRNN(Recurrent Neural Network)との違いを理解する必要があります。
RNNの処理の仕方は、入ってきた単語を順番にニューラルネットワークに入れて処理していきます。これまでに入力された単語の意味は、ニューラルネットワークの中に1つのベクトルとして圧縮されています。そして、新しく入ってきた単語との関係性だけを見ていくという形になります。つまり、これまで入ってきたものを「がっちゃんこ」した、総合としてのベクトルと、新しく入ってきた単語のベクトルの関係性を見るだけです。
一方、トランスフォーマーモデルは全く異なるアプローチを取ります。トランスフォーマーの核心部分は「アテンション機構」と呼ばれるもので、これが非常に特徴的です。
トランスフォーマーモデルでは、入力された全ての単語(トークン)同士の関係性を、それぞれ個別に計算します。例えば、10個の単語が入力されたとすると、1つの単語に対して他の9個の単語との関係性を全て見ていきます。そして、これを全ての単語に対して行います。
この処理方法により、文脈をより深く、より正確に理解できるようになります。直感的に考えても、全ての単語間の関係性を見る方が、より精度の高い理解ができそうだと想像できますよね。実際、この方法により、トランスフォーマーモデルは非常に高い性能を発揮しています。
ただし、この処理方法には大きなデメリットもあります。それは、計算量が膨大になるということです。入力されるトークンの数が増えれば増えるほど、計算量は飛躍的に増加していきます。
また、この処理には大量のメモリアクセスが必要になります。入力された文章をいったんメモリに置いて、そこから何度も参照しながら処理を行う必要があるからです。
さらに、この処理は並列化が難しいという特徴があります。全ての要素が互いに関係し合っているため、単純に処理を分割して並列に実行するということが難しいのです。
【トランスフォーマーの処理:分かりやすい例】
トランスフォーマーの処理、特にその核心であるアテンション機構を理解するために、次のような例を考えてみましょう。ある主(王様、政治家、組織長……)に仕える100人の専門家からなるアドバイザリーボードがいます。主は、アドバイザリーボードの意見(総意)を踏まえて、自らが信じる意思決定をします。
従来のRNNモデルでは、この状況を次のように処理します。
ここで問題なのは、次の2点です。
一方、トランスフォーマーモデルは、この状況を全く異なる方法で処理します。
このトランスフォーマーの方法には、いくつかの重要な特徴があります。
この例で分かるように、トランスフォーマーモデルは非常に詳細で包括的な情報処理を行いますが、それには大量の計算リソースとメモリが必要になります。これが、トランスフォーマーモデルに最適化された特殊なハードウェアが必要とされる理由です。
Copyright © ITmedia, Inc. All Rights Reserved.