DEV Community

Cover image for RAG 운영 비용·latency — 검색·생성·임베딩의 비용을 분리하고 깎는 법
HyunSeok Jeong
HyunSeok Jeong

Posted on • Originally published at blog.trysitely.com

RAG 운영 비용·latency — 검색·생성·임베딩의 비용을 분리하고 깎는 법

RAG 챗봇이 운영 환경에 들어가면 처음엔 "잘 작동한다"가 메인 관심사입니다. 한 달이 지나면 다른 숫자가 무겁게 다가옵니다 — 쿼리당 0.05달러·1.5초. 월 100만 쿼리면 5만 달러·평균 사용자 대기 1.5초. 그 비용·시간이 어디서 발생하고 어디서 깎을 수 있는지를 검색·생성·임베딩 3축으로 분리해 정리합니다. 정확도를 거의 안 깎고 비용을 1/3로 줄이는 운영 패턴.

1. RAG의 3가지 비용 축

RAG 한 쿼리의 비용·latency는 다음 3축의 합입니다.

  • 임베딩 비용 — 사용자 쿼리를 벡터로 (또는 사전 인덱스 빌드 비용)
  • 검색 비용 — 벡터 DB에서 top-k 검색 (벡터 비교 + reranker)
  • 생성 비용 — LLM이 retrieved context로 답 생성

마케팅 챗봇·내부 위키 검색에서 일반적인 분포:

쿼리당 비용 latency 점유율
쿼리 임베딩 0.0001 달러 30 ms 1%
검색 (top-10 + rerank) 0.0010 달러 200 ms 5%
생성 (GPT-4o-mini, 2k context) 0.0040 달러 1200 ms 80%
0.005 달러 1430 ms 100%

생성이 비용·latency의 80%를 차지합니다. 비용 최적화의 가장 큰 자리도 여기. 다만 정확도를 안 깎고 줄이는 게 핵심입니다.

RAG 한 쿼리의 비용·latency를 3축으로 분해한 다이어그램
쿼리당 비용의 80%는 생성 단계. 검색·임베딩은 합쳐서 6%. 비용 최적화의 가장 큰 자리는 생성 모델·컨텍스트 길이·캐싱이다.

📌 이 글에서 다루는 것

이 글은 RAG의 정확도 향상보다 운영 비용·latency 최적화에 집중합니다. 정확도는 RAG 평가 4지표 글이 다뤘고, 이 글은 같은 시스템을 1/3 비용으로 굴리는 운영 패턴.

2. 생성 비용 깎기 — 가장 큰 자리

2-1. 모델 사이즈 선택

GPT-4 → GPT-4o → GPT-4o-mini로 갈수록 1/10·1/30로 비용 감소. 대신 정확도가 떨어지는 자리도 있습니다. 운영 결정의 핵심은 다음입니다.

  • 난이도가 다른 쿼리에 다른 모델 — 단순 FAQ는 GPT-4o-mini, 복잡 추론은 GPT-4o
  • 분기 라우팅 — 쿼리 유형 분류기를 가볍게 두고 모델 선택
  • fallback 패턴 — mini로 답하고 confidence 낮으면 큰 모델로 재시도

2-2. 컨텍스트 길이 다이어트

retrieved context가 5,000 토큰이면 10,000 토큰의 1/2 비용·1/2 latency. 정확도를 거의 안 깎고 줄이는 도구:

  • top-k를 10 → 5로 줄이기
  • 각 chunk 길이를 500 → 200 토큰으로
  • reranker로 top-50 → top-5 거르기 (Cohere Rerank·BGE-Reranker)
  • 추출(extractive) summarization으로 chunk 안의 핵심만

2-3. 캐싱

같은·비슷한 쿼리에 같은 답. semantic caching:

  • 입력 쿼리의 임베딩이 cache의 임베딩과 cosine 0.95 이상이면 cache hit
  • cache hit률 30~50% 가 일반적
  • 비용 30~50% 감소 + latency 거의 0

OpenAI prompt caching·Anthropic prompt caching 같은 모델 레벨 캐싱도 있어, 같은 시스템 프롬프트가 자주 반복되면 자동으로 비용 절감.

3. 검색 비용 깎기 — 정확도와 trade-off

3-1. 인덱스 크기 vs 검색 비용

벡터 DB의 검색 비용은 인덱스 크기에 비례. 임베딩 운영 글에서 다룬 차원 축소가 그대로 적용됩니다 — 1536 → 512차원이면 검색 latency·비용 1/3.

3-2. ANN(approximate nearest neighbor) 사용

정확한 검색(exact KNN)은 데이터 수에 비례. ANN(HNSW·IVF)으로 sub-linear 검색. Pinecone·Qdrant·pgvector 모두 ANN 디폴트. 정확도 손실 1~3%p로 검색 1/100 시간.

3-3. Reranker의 재고려

Cohere Rerank·BGE-Reranker로 top-50 → top-5 추리는 게 표준이지만, reranker가 또 한 비용. 운영 결정:

  • 고정확도 필요(법률·의료) → reranker 사용
  • 속도 우선(일반 챗봇) → reranker 생략, top-10을 그대로 LLM에

4. 임베딩 비용 — 작지만 누적

쿼리 임베딩은 쿼리당 0.0001 달러로 작아 보이지만, 인덱스 빌드는 다릅니다. 1억 문서 임베딩이 1,000~5,000 달러. 정기 재생성 비용까지 더하면 한 달 기준의 무거운 자리.

운영 도구:

  • 증분 임베딩 — 신규/수정 문서만 임베딩
  • 배치 API — OpenAI batch API는 50% 할인 (24시간 처리 OK 자리)
  • 오픈소스 임베딩 — BGE·E5 모델을 자체 호스팅. 1억 문서 100달러 미만

5. 운영 모니터링 — 어디서 비싼지 매일 보기

비용 최적화의 첫 걸음은 측정입니다. 매일 봐야 할 5가지 메트릭:

메트릭 측정 방법 알람 임계
쿼리당 평균 비용 (총 비용) / (총 쿼리) 전월 대비 +15%
쿼리당 평균 latency p50·p95·p99 p95 > 2초
Cache hit률 (cache hit) / (총 쿼리) < 20%
생성 토큰 점유율 (input tokens) / (총 tokens) > 70%
검색·생성·임베딩 비율 비용 분해 생성 < 60%

python
Enter fullscreen mode Exit fullscreen mode

Top comments (0)