曲突徙薪(きょくとつししん)第7号
エンコーダとデコーダ
こうして文脈の情報を取り入れた文字列のベクトルと重み付けの情報には、次のフィードフォワード層にて、文字列全体の特徴を抽出するための結合処理がなされて、再びベクトル情報としてアテンションに戻ってきます(図表1.1右部で「繰り返し」と記載した箇所)。アテンション論文の例では、この繰り返し処理を6回おこなうな「6層構造」という表現がなされています。
エンコーダで何度もアテンション処理を繰り返すことで、文字列情報には強力な文脈の情報が付与されますが、これを入力情報として、次に来るべき単語を推定するフローが、図表の右側にある「デコーダ」です。デコーダも、アテンションとフィードフォワード層の組み合わせからなる点で、中身はエンコーダとほとんど同じですが、一つだけ異なるのが、一番手前にアテンションが追加されている点です。ここは、新しい文字列データを追加する直前までの文字列データにアテンション処理を加える層と考えればよいでしょう。
たとえば、新たに入力された文字列が「巨人が中日に勝つ」だとして、その前に入力されていた文字列が「明日こそ必ず」だったとすると、この情報も加えることで、新たな文字列の文脈をより正確にとらえたうえで、次に来るべき単語を推定することができます。また、トランスフォーマーによって一語一語、単語を順に並べて会話を進めていく場合には、直前までの会話の情報がデコーダの最初のアテンションに入力されます。
デコーダでは再びアテンションが活躍し、すべての文脈情報、序列情報、重み付けを元に特徴量を計算して、最後の処理であるSoftmax関数に渡されます。Softmax関数は受け取った情報から、次に来るべき単語の出現確率を計算しています。候補となる単語すべてが含まれる行列に対して確率計算をおこなうため、ここで最も高い確率を得た単語(トークン)が、次に来るべき単語としては、文脈の観点から最も適切であるものと評価されます。
GPTを支える技術には、このほかにも「ファインチューニング」「強化学習」などがあります。機会があれば、そちらも取り上げていきたいと思います。
参考URL
“Attention is All You Need"
Google社ほかによるトランスフォーマーのテクニカルドキュメント
Introducing ChatGPT
OpenAI社による技術紹介
What Are Transformer Models and How Do They Work?
What Is Attention in Language Models
”Attention Is All You Need”の共同著者の一人Aidan N. Gomez氏の所属するCohere社による技術紹介
ディスカッション
コメント一覧
まだ、コメントがありません