LLM in Production

LLM을 프로덕션 시스템에서 효율적으로 학습·서빙·평가하는 엔지니어링 패턴


개요

LLM이 프로토타입에서 프로덕션으로 넘어가면서, 추론 비용·지연·품질 보장·스케일링이 핵심 엔지니어링 과제로 부상했다. 프롬프트 엔지니어링 → SFT → RL의 점진적 성숙 경로와, RAG → Graph RAG → 에이전틱 검색의 검색 진화가 동시에 진행 중이다.

프롬프트 → SFT → RL: 점진적 성숙 경로

단계장점단점적합 시점
프롬프트 엔지니어링빠른 구축, 유연외부 API 의존, 느린 추론, 프라이버시프로토타이핑
SFT (Supervised Fine-Tuning)데이터 내부 유지, 빠른 추론레이블 데이터·학습 인프라 필요민감 데이터 + 지연 요구
RL (Reinforcement Learning)인간 레이블 없이 자기 개선보상 설계 어려움, 불안정대규모 스케일링

Booking.com — SFT 기반 여행 추천

  • LLM Fine-Tuning — 7B 모델을 LoRA/QLoRA로 파인튜닝
  • p99 추론 지연 67% 감소 (약 3배), Hit@5 8% 향상 (사용자 위치 컨텍스트)
  • 레이블 설계: 예약 > 역순 클릭 > LLM-as-Judge 필터 조회
  • K 제어: 학습 샘플에 정수 prepend → 정확히 K개 추천

Netflix — Post-Training 스케일링

  • LLM Fine-Tuning — SFT + RL 통합 프레임워크
  • On-the-fly 시퀀스 패킹(FFD 빈 패킹)으로 4.7x 토큰 처리량 향상 (92-97% 효율)
  • 모델 개발자 40-60%의 시간이 데이터 준비 → 표준화된 데이터 추상화로 해결

LLM 서빙 최적화

LinkedIn — SGLang 기반 랭킹

  • ML Ranking Systems — prefill-only 워크로드에 특화된 4단계 최적화
  • 배치 토큰화 → 스코어링 전용 패스 → 인배치 프리픽스 캐싱 → Python 런타임 최적화
  • 3x 처리량 향상 (750 → 2,200 items/s/GPU)
  • GPU가 빨라지자 Python GC/GIL이 병목gc.freeze()로 100-300ms 지연 제거

Spotify Wrapped — 14억 LLM 리포트

  • LLM 호출은 쉬운 부분, 진짜 일은 용량 계획과 안전 시스템
  • 디스틸레이션으로 비용 최적화

RAG의 진화

Vanilla RAG → Graph RAG → 에이전틱 검색

  • RAG — 구조 파괴, 고정 Top-K, 교차 페이지 기억상실 문제를 단계적으로 해결
세대접근한계
Vanilla RAG벡터 유사도 Top-K구조 파괴, 고정 K
Graph RAG지식 그래프 + 커뮤니티 요약$33K 인덱싱 비용
LAD-RAG++문서 그래프 + 에이전틱 루프엔지니어링 복잡도 높음

핵심 기법

  • Triple-hybrid 검색: BM25 + Dense + SPLADE + ColBERT 리랭킹
  • 러닝 메모리: 인간 독자 시뮬레이션으로 교차 페이지 연결
  • 결정론적 링킹: LLM은 시맨틱 판단만, 엣지 생성은 규칙 기반
  • 메모리 토큰 75-80% 감소 (시간 기반 감쇠)

비용 최적화

  • 선택적 그래프 구축으로 10~90% 비용 절감
  • 하이브리드 벡터-그래프 아키텍처가 단일 방식 대비 최적

실전 RAG 구축 교훈

  • 1TB 기술 문서 대상 로컬 RAG 구축에서 데이터 품질이 가장 중요한 요인
  • 배치 처리 + 체크포인트 필수, ChromaDB(HNSW)로 벡터 저장
  • GPU 투입으로 인덱싱 가속 (738K 벡터, 54GB 인덱스)

LLM 평가

자동화된 품질 보증

  • LLM Evaluation — LangChain Deep Agent eval, DSPy 프롬프트 최적화
  • LLM-as-Judge — Zalando 검색 품질 ($250), Dropbox 관련성 (45% 에러 감소)

평가 원칙

  1. 벤치마크 점수보다 프로덕션 실패 패턴 기반 eval
  2. 정확성 + 효율성(Ideal Trajectory) 이중 메트릭
  3. pytest 태그로 eval 서브셋 실행
  4. Booking.com처럼 LLM-as-Judge를 레이블링에도 활용

에이전트 메모리와 컨텍스트

큰 컨텍스트 윈도우보다 구조화된 메모리가 효과적이다.

  • Context Engineering — 5대 패턴, Context Anchoring, 마크다운 메모리
  • AI Agent — LangChain Agent Builder: 단기/장기/절차적 메모리
  • 런북 기반 접근으로 반복 실행 시 토큰 90% 이상 절감

트레이드오프 테이블

선택이점비용
외부 API 프롬프트빠른 시작지연, 비용, 프라이버시 위험
내부 SFT빠른 추론, 데이터 보호학습 인프라, 레이블 데이터
Vanilla RAG간단한 구현장문 문서에서 실패
Graph RAG구조 보존, 교차 참조인덱싱 비용, 엔지니어링 복잡도
LLM-as-Judge대규모 자동 평가평가자 자체의 편향

관련 위키


관련 이슈: DEW #256, #257, #258, #261, #262, #263, #264, #265