Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Transformerによるテキストベクトル化を解説

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for payanotty payanotty
January 18, 2024

 Transformerによるテキストベクトル化を解説

Avatar for payanotty

payanotty

January 18, 2024
Tweet

More Decks by payanotty

Other Decks in Technology

Transcript

  1. 自己紹介
 • 名前
 ◦ 早野 康太
 • お仕事
 ◦ 自然言語モデルの改善


    • 今期アニメ
 ◦ ダンジョン飯
 ◦ 姫様“拷問”の時間です
 ◦ 魔法少女にあこがれて

  2. • Attention Is All You Need (Łukasz Kaiser et al.,

    2017)
 ◦ 文章の単語同士の関連度を測る (Attention) 機構を組み込むことで
 自然言語処理モデルの性能が大きく向上
 ◦ GPTなどの文章生成モデル
 ▪ → TransformerモデルのDecoder部分を利用
 ◦ テキストベクトル化用のモデル
 ▪ → TransformerモデルのEncoder部分を利用
 Transformerモデル 

  3. • A Survey of Transformers 
 (TIANYANG LIN et. al.,

    2021)
 ◦ Transformer派生についてのサーベイ
 ◦ 膨大な数のTransformer派生について
 詳細にまとめられている
 ◦ もっと詳しく知りたい方は
 こちらを読まれるのをおすすめします
 
 Transformerから他のモデルへの派生

  4. Attentionによる単語のベクトル化
 吾輩
 は
 猫
 である
 。
 吾輩
 は
 猫
 である


    。
 文章を単語単位に分かち書き(トークナイズ) 
 各単語に対応するベクトル 

  5. Attentionによる単語のベクトル化
 吾輩
 は
 猫
 である
 。
 吾輩
 は
 猫
 である


    。
 0.1
 0.3
 -0.5
 0.8
 長方形はベクトルだと思ってください 
 文章を単語単位に分かち書き(トークナイズ) 

  6. Attentionによる単語のベクトル化
 吾輩
 は
 猫
 である
 。
 吾輩
 は
 猫
 である


    。
 文章を単語単位に分かち書き(トークナイズ) 
 各単語に対応するベクトル 
 単語に対応する新しいベクトル 
 ベクトル同士の内積の値(類似度) 
 ×

  7. AttentionからTransformerへ
 吾輩
 は
 猫
 である
 。
 Attention
 Attention
 Transformer
 吾輩


    は
 猫
 である
 。
 BERTやGPTをはじめとしたTransformer系列のモデルは 
 Attentionを繰り返して文章をベクトルの連なりに変換している 

  8. AttentionからTransformerへ
 吾輩
 は
 猫
 である
 。
 Attention
 Attention
 Transformer
 吾輩


    は
 猫
 である
 。
 BERTやGPTをはじめとしたTransformer系列のモデルは 
 Attentionを繰り返して文章をベクトルの連なりに変換している 
 一番はじめのベクトルは 
 ランダム初期化
 (学習の中で最適化されていく) 
 

  9. 文章のベクトル化
 吾輩
 は
 猫
 である
 。
 Attention
 Attention
 Transformer
 吾輩


    は
 猫
 である
 。
 [CLS]
 [CLS]
 文頭に特別な トークンを追加
 • CLS Pooling
 ◦ 文頭の特別なトークンのベクトルを文章ベクトルとして使う 
 • Average Pooling
 ◦ 全トークンの値を平均して文章ベクトルとして使う 

  10. ベクトル化に特化させるためのfine-tuning
 Query:
 吾輩は猫であるの作者は?
 Negative Passage:
 『人間失格』(にんげんしっかく)は、太宰 治による中編小説。
 ベクトル化&類似度計算 
 ポジティブ類似度


    ネガティブ類似度
 Positive Passage:
 『吾輩は猫である』(わがはいはねこであ る)は、夏目漱石の長編小説であり、処女 小説である。
 • ポジティブ類似度が高く、ネガティブ類似度が低くなるように 
 ロス関数を設定して学習する
 ◦ ロス = - ポジティブ / (ポジティブ + ネガティブ) 

  11. ベンチマーク上位のモデルたち
 • MTEB Leaderboard - a Hugging Face Space by

    mteb
 ◦ AnglE-optimized Text Embeddings
 ◦ Cohere/Cohere-embed-english-v3.0 · Hugging Face
 ◦ BAAI/bge-large-en-v1.5 · Hugging Face
 ◦ intfloat/e5-large-v2 · Hugging Face
 
 

  12. RAG (Retrieval Augmented Generation)
 質問 + 選択肢
 Wikipedia passages
 dump


    Wikipedia embeddings
 
 あらかじめベクトル化 
 ベクトル化
 embedding
 ベクトル類似度検索 
 関連する文章
 (Context)
 LLMへのインプット
 Wikipedia記事から
 検索してContextを取得
 ベクトル検索用に調整された言語モデルを使う 
 (質問に回答するモデルとは別物) 

  13. Stable Diffusion (画像生成モデルへの応用)
 
 
 raw pixel value
 VAE
 latent


    noisy latent
 + noise
 input text
 Text
 Encoder
 embedding 
 UNET
 prediction
 loss
 velocity
 生成したい画像についての文章を 
 ベクトル化して生成モデルに与える 

  14. 音楽生成モデル
 
 
 • Suno AI
 ◦ 自然言語で歌詞や曲調を指定すると
 その通りに音楽を生成してくれる
 ◦

    具体的なモデルは公開されていないが
 内部では文章→ベクトルの変換を通して
 文章情報を生成モデルに与えている......はず!