Up 「訓練の追加」 作成: 2026-02-21
更新: 2026-02-21


    データ埋め込みモデルは,Transformer Encoder にトレーニングを追加してつくる。

    Transformer Encoder は「文章をベクトル列に変換する汎用的な機械」だが,それだけでは「検索に使える埋め込み」にはならない。
    そこに 追加の Training(ファインチューニング) が入って初めて「埋め込みモデル」と呼べるものになる。


    このとき,つぎの疑問をもつ:
    • Transformer Encoder は,「テクストを読む」:
        SelfAttention, FFN のレイヤー繰り返し
        が出力するベクトル列を,「読み」とする。
    • これは,Training によってつくられた
        重み等各種パラメータの値
      によって,実現されている。
    • この Transformer Encoder に
        別様の Training (類似検索用)
      を加えることは,
      「テクストを読む」を実現しているパラメータ値を壊してしまう,ということなのでは?
      「テクストを読む」をできなくすることなのでは?

    実際これは,研究者たちが長年向き合ってきた問題そのものである。


    埋め込みモデルの訓練は,Transformer Encoder の重みを完全に上書きするのではなく,
      元の読み能力を保持しつつ
      検索に適した空間構造を追加で Training する
    という方向で行われる。

    2024〜2026 年現在の主流は:
     「追加パラメータ (Adapter, LoRA) 」方式  
      Transformer 本体は固定 (元の重みを凍結 freeze) し,
      小さな追加パラメータ
        LoRA の低ランク行列
        Adapter の追加層
      だけを訓練

    これは,
      訓練コストが低い
      元の「読む能力」を完全に保持
      埋め込みモデルの品質も高い

    OpenAI,Cohere,Google,Meta などの最新モデルは,ほぼ例外なくこの方式を採用している。

    特に LoRA(Low-Rank Adaptation) は,2023 年以降の標準技術になった。


    他の方式としては,「微調整 fine-tuning」方式が挙げられる:
      Transformer Encoderをそのまま使う。
      学習率を極端に小さくして,
      元の重み壊さないよう調整。
      全層を微調整するが,変化は最小限。

    Sentence-BERT(SBERT)や多くの研究用モデルはこの方式。

    いずれにしても,考えることは:
      1. Transformer Encoder の重みを初期値にする
      2. 小さな学習率で安定させる


    出来上がる埋め込みモデルは,
      元々あったパラメータ
      追加 Training でつくられたパラメータ
    が合わさったものになる。
    それでも,データ検索用のデータベクトルを,ちゃんとつくる。
    不思議だが,結果オーライというわけ。