AI・機械学習
上級

BGE-M3(ビージーイーエムスリー)

BAAI(北京人工知能研究院)が開発したオープンソース多機能埋め込みモデル。Dense・Sparse・ColBERT(Multi-Vector)の3種類の検索を1モデルで提供。

0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
embedding
bge
baai
rag
hybrid-search
open-source
multilingual

BGE-M3

概要

BGE-M3(BAAI General Embedding Multilingual Multi-Functionality Multi-Granularity)は、北京人工知能研究院(BAAI)が2024年2月に公開したオープンソース埋め込みモデルです。1つのモデルでDense・Sparse・ColBERT(Multi-Vector)の3種類の検索手法をサポートする点が最大の特徴です。

3種類の検索手法

手法説明特徴
Dense Retrieval固定次元(1024)ベクトルで意味的類似度検索高速・汎用
Sparse RetrievalSPLADE類似の疎ベクトル検索キーワード精度が高い
Multi-Vector(ColBERT)トークン単位の細粒度マッチング精度最高・コスト高

これらを組み合わせたハイブリッド検索により、単一手法の弱点を補完できます。

基本仕様

項目仕様
パラメータ数567M
出力次元(Dense)1024
最大入力トークン8,192
対応言語100言語以上(日本語含む)
ライセンスMIT(商用利用可)
Hugging FaceBAAI/bge-m3

Python での使用

from FlagEmbedding import BGEM3FlagModel

# モデルロード
model = BGEM3FlagModel('BAAI/bge-m3', use_fp16=True)

# Dense埋め込み生成
sentences = [
    "RTX 4090のVRAMは24GBです",
    "GeForce RTX 4090は24GBのGDDR6Xメモリを搭載"
]

embeddings = model.encode(
    sentences,
    batch_size=12,
    max_length=8192,
    return_dense=True,
    return_sparse=False,
    return_colbert_vecs=False
)

dense_vecs = embeddings['dense_vecs']  # (2, 1024)のnumpy配列

# ハイブリッド検索(Dense + Sparse)
all_embeddings = model.encode(
    sentences,
    return_dense=True,
    return_sparse=True,
    return_colbert_vecs=False
)

lexical_weights = all_embeddings['lexical_weights']
print(lexical_weights[0])  # {"RTX": 0.8, "4090": 0.7, "VRAM": 0.6, ...}

ハイブリッド検索スコアリング

def hybrid_score(dense_score: float, sparse_score: float,
                 alpha: float = 0.5) -> float:
    return alpha * dense_score + (1 - alpha) * sparse_score

dense_sim = model.compute_dense_score(vec1, vec2)
lexical_sim = model.compute_lexical_matching_score(
    lexical_weights_query, lexical_weights_doc
)
hybrid = hybrid_score(dense_sim, lexical_sim, alpha=0.3)

Qwen3-Embedding-8Bとの比較

項目BGE-M3Qwen3-Embedding-8B
パラメータ567M7.6B
次元数(Dense)10244096
MTEB Avg68.175.0
推論速度高速低速
ハイブリッド検索対応(Dense+Sparse+ColBERT)Denseのみ

精度ではQwen3が上回りますが、BGE-M3のハイブリッド検索機能は検索精度とコストのバランス面で優位性があります。jisaku.comの用語集検索ではjisaku_glossary_qwen3コレクション(Qwen3-Embedding-8B)を採用しています。

この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/6/7