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 Retrieval | SPLADE類似の疎ベクトル検索 | キーワード精度が高い |
| Multi-Vector(ColBERT) | トークン単位の細粒度マッチング | 精度最高・コスト高 |
これらを組み合わせたハイブリッド検索により、単一手法の弱点を補完できます。
基本仕様
| 項目 | 仕様 |
|---|---|
| パラメータ数 | 567M |
| 出力次元(Dense) | 1024 |
| 最大入力トークン | 8,192 |
| 対応言語 | 100言語以上(日本語含む) |
| ライセンス | MIT(商用利用可) |
| Hugging Face | BAAI/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-M3 | Qwen3-Embedding-8B |
|---|---|---|
| パラメータ | 567M | 7.6B |
| 次元数(Dense) | 1024 | 4096 |
| MTEB Avg | 68.1 | 75.0 |
| 推論速度 | 高速 | 低速 |
| ハイブリッド検索 | 対応(Dense+Sparse+ColBERT) | Denseのみ |
精度ではQwen3が上回りますが、BGE-M3のハイブリッド検索機能は検索精度とコストのバランス面で優位性があります。jisaku.comの用語集検索ではjisaku_glossary_qwen3コレクション(Qwen3-Embedding-8B)を採用しています。