Embedding 技術の使い分けガイド
Azure OpenAI と OSS/ローカルモデルをどう選ぶべきか
RAG(Retrieval-Augmented Generation)が一般化したことで、
埋め込み(embedding)モデルをどう選ぶかは、
システムの性能・運用コスト・セキュリティまで大きく左右する判断となった。
本記事では、
Azure OpenAI の embedding
および
OSS・ローカル・他クラウドの embedding
を、目的別にどう使い分けるべきかを丁寧に整理する。
1. Embedding モデルは「目的別」で最適解が変わる
埋め込みモデルには大きく次の 3 つの選択肢がある。
- Azure OpenAI(text-embedding-3-large / small)
- OSS・ローカル(BGE / e5 / Instructor / Sentence Transformers / Ollama)
- クラウド各社の embedding(AWS Titan / Google Gecko / OpenAI API)
これらは優劣ではなく、
「ユースケース × 制約条件」によって適した選択肢が変わる。
以下で、それぞれの使いどころを明確にしていく。
2. Azure OpenAI Embedding の使いどころ
Azure の embedding は
「大規模」「多言語」「企業利用」を前提に設計されている。
2-1. 企業の本番 RAG システム
Azure の最大の強みは、信頼性とセキュリティである。
- VNet
- Private Endpoint
- Azure AD 認証
- ログ・監査
- SLA ベースの安定性
これらは企業の本番システムに必須の要素であり、
Embedding も同じインフラ上で安全に使える。
代表ユースケース
- 社内ナレッジ検索(文章量が非常に多い)
- 金融・法務・医療データの RAG
- 多言語問合せシステム
- 国際展開している企業のFAQ検索
大量データ × 企業要件 × 多言語対応
この条件に当てはまるなら、ほぼ Azure embedding 一択。
2-2. 多言語データを扱う検索
Azure の text-embedding-3-large は、
MIRACL ベンチマーク(多言語検索指標)で高評価を獲得している。
そのため以下のようなケースに強い。
- 英語+日本語+中国語が混在した文書検索
- グローバル企業のナレッジ管理
- 多言語チャットボットの RAG
OSSモデルよりも「言語間の意味距離」の扱いが安定している。
2-3. 高い検索精度が重要な場合
Azure 3-large は 3-small よりも検索精度が高く、
OSS embedding にも匹敵・上回るケースがある。
- 法律文書
- 契約書
- 専門領域の技術ドキュメント
のような「取り違えが許されない」検索に有効。
2-4. embedding 次元数を柔軟に調整したい場合
Azure の 3 系列 embedding は、
dimensions パラメータで出力次元数を変更できる。
たとえば:
- 3072 → 1024(コスト 1/3 に)
- 1536 → 768(速度向上)
大量データ×クラウド検索(Azure Cognitive Search)では
特にコスト最適化効果が大きい。
3. OSS・ローカル embedding の使いどころ
次に、Azure 以外の埋め込み手法について。
3-1. コストを極限まで抑えたい場合
OSSの BGE / e5 / Sentence Transformers は無料で使える。
Ollama を使えば推論すらローカルで完結する。
- スタートアップ
- 個人開発
- 研究用途
- PoC
では、Azure embedding より OSS embedding が適している。
代表ユースケース
- 社内 QA の試作
- RAG の A/B テスト
- embedding モデル比較実験
- 細かいプロンプト探索
特に BGE (bge-large) はコスパが非常に高く、
実務の RAG でも広く利用されている。
3-2. 完全オフラインで処理したい場合
医療・製造・警察・公共系など、
「データをクラウドに送れない」ケースがある。
この場合、
Ollama embedding や Sentence Transformers をローカルで実行する構成が最適。
オフライン向けユースケース
- 現場端末での診断補助
- 工場設備のログ解析
- 機密性の高い内部文書検索
- 官公庁向けの閉域システム
Azure embedding はクラウド必須であるため、
オフライン要求がある場合はローカル embedding 一択となる。
3-3. 巨大データを高速に処理したい場合
OSS embedding は
- バッチ化しやすい
- GPU並列処理ができる
- embedding生成コストがゼロ
という利点がある。
数百万〜数千万件の文書 embedding を作る際、
Azureよりもローカル GPU の方が圧倒的に安い。
3-4. embedding モデルの種類を柔軟に選びたい場合
Azure embedding は種類が限られるが、
OSSなら以下が自由に選べる。
- 法律特化 embedding
- 医療特化 embedding
- 多言語特化 embedding
- 意図理解(Instructor embedding)
- 翻訳最適化 embedding
- コード embedding(e.g. CodeBERT)
ユースケースに合わせて最適化できる点で非常に強い。
4. 他クラウド(AWS / GCP / OpenAI API)を選ぶ場合
4-1. AWS環境 → Titan Embeddings
AWS中心の企業なら、
VPC 内で完結する Titan embedding が扱いやすい。
- セキュリティ強化
- AWS Search(Kendra)との統合
が明確なメリット。
4-2. GCP環境 → textembedding-gecko
検索品質に定評があり、
Google Workspace や BigQuery と組み合わせやすい。
4-3. OpenAI API を選ぶ理由
Azure より以下が優れる場面がある。
- 新モデルの提供が早い
- 価格が少し安い
- 個人でも使いやすい
Azure が「企業向け」なら、
OpenAI 本家は「開発者向け」という位置づけ。
5. ユースケース別の最適解まとめ
企業・本番・多言語
- Azure text-embedding-3-large
- Azure Cognitive Search と組み合わせて構築
コスト最適化・高速大量処理
- BGE-large(OSS)
- GPU バッチ処理
- Chroma / Qdrant と組み合わせ
完全ローカル・オフライン
- Ollama embedding
- Sentence Transformers
- ローカル vector DB(Milvus Lite 等)
AWS/GCP統合が必要
- Titan Embeddings
- Gecko Embeddings
スタートアップ・研究・比較実験
- BGE、Instructor、e5 などを自由に選択
- OpenAI 本家 API で最新モデルを試す
6. 最終まとめ
Embedding の選定は
「性能」だけでなく「制約条件」で決まる。
- 企業本番・多言語 → Azure
- コスト重視 → OSS
- オフライン → ローカル(Ollama / HF)
- AWS/GCPに寄っている → Titan / Gecko
- 研究・新モデル探索 → OpenAI API + OSS
どれが最適かはユースケースによって変わるが、
Azure embedding は「企業向けの標準解」、
OSS embedding は「開発者の実験・高速RAGの基盤」、
ローカル embedding は「閉域・機密の必須環境」となる。
Discussion