Documents
Home>Documents>AI>Embedding

Choosing the Right Embedding Model for RAG Systems

7 min readMar 1, 2025Mar 1, 2025

Why Embedding Model Selection Matters

40–60% of a RAG system's performance is determined by the embedding model. Even with a great LLM, poor retrieval quality leads to hallucinations.

Model Selection Decision Tree

flowchart TD
    A[RAG Project Start] --> B{Language?}
    B -->|English only| C[text-embedding-3-large]
    B -->|Multilingual/Korean| D{Budget?}
    D -->|Sufficient| E[OpenAI ada-002/3]
    D -->|Limited| F{Domain-specific?}
    F -->|Required| G[Custom training prj_ecellm approach]
    F -->|Not required| H[bge-m3 or e5-large]

    E --> I{Performance tuning?}
    I -->|Required| J[Add Reranker]
    I -->|Not required| K[Use as-is]

    G --> J
    H --> J

Embedding Model Comparison

ModelDimensionsKoreanCostSpeedRecommended Use
text-embedding-3-small1536⭐⭐PaidFastGeneral RAG
text-embedding-3-large3072⭐⭐PaidModerateHigh-precision RAG
bge-m31024⭐⭐⭐FreeModerateMultilingual RAG
multilingual-e5-large1024⭐⭐⭐FreeSlowAcademic research
ko-sbert-nli768⭐⭐⭐⭐FreeFastKorean-specialized

Lessons from Production Experience

1. Dimensionality vs. Performance

From experiments in prj_ecellm, the performance gap between 768 and 1024 dimensions was smaller than expected — roughly 2% by Retrieval@10. Storage costs, however, differ by 33%.

2. The Impact of a Reranker

Adding a Cross-Encoder Reranker consistently delivered an average nDCG improvement of 22%. It's the highest ROI optimization available.

3. ROI of Custom Training

Results from domain-specific fine-tuning:

  • Investment: ~2 weeks of development time + GPU costs
  • Return: 12% improvement in Retrieval@10
  • Conclusion: Worth it when the domain is well-defined and sufficient data is available
graph LR
    A[Query] --> B[Bi-Encoder bge-m3]
    B -->|Top-100| C[Cross-Encoder Reranker]
    C -->|Top-5| D[LLM Generation]

    style B fill:#e3f2fd
    style C fill:#fff8e1
    style D fill:#e8f5e9

This setup delivers the best performance per dollar. Everything here is based on hands-on experience from the prj_ecellm, Embedding-Is-All-RAG-Need, and Contextifier projects.

Tags
EmbeddingRAGModel SelectionGuideRerankerVector DB