NVIDIA Nemotron을 활용한 도메인 특화 임베딩 파인튜닝 – 하루 안에

TL;DR: NVIDIA와 Hugging Face는 6단계, 단일 GPU 파이프라인을 공개했으며, 1 억 파라미터 Llama‑Nemotron‑Embed‑1B‑v2 모델을 합성 도메인 데이터로 하루 안에 파인튜닝하여 Recall@10/NDCG@10에서 >10 % 향상과 실제 기업 데이터셋에서 최대 26 % 개선을 달성했습니다.

개요 – 도메인 특화 임베딩 파인튜닝이 중요한 이유

일반 목적 임베딩 모델은 인터넷 규모의 의미론에 뛰어나지만 계약서, 제조 로그, 내부 분류 체계와 같은 세부 구분을 놓칩니다. 도메인 특화 데이터를 사용한 파인튜닝은 이러한 격차를 메우며 Retrieval‑Augmented Generation (RAG) 파이프라인에서 검색 품질을 향상시킵니다. 새로운 레시피는 데이터 생성, 하드 네거티브 마이닝, 멀티‑홉 처리, 학습, 평가 및 배포를 자동화하며, 모두 단일 NVIDIA Ampere급 GPU로 수행됩니다.

빠른 접근 링크

통합 오픈소스 구성 요소

구성 요소 역할
NeMo Data Designer 원시 문서에서 합성 질문‑답변 쌍을 생성합니다
NeMo Automodel 바이‑인코더 임베딩 모델을 학습합니다
BEIR 표준화된 평가 벤치마크를 제공합니다
NeMo Export‑Deploy 체크포인트를 ONNX/TensorRT로 변환합니다
NVIDIA NIM OpenAI 호환 임베딩 엔드포인트를 통해 모델을 서비스합니다

전제 조건

  • 도메인 문서가 들어 있는 디렉터리 (.txt, .md 등)
  • https://build.nvidia.com/에서 무료 NVIDIA API 키
  • ≥ 80 GB VRAM을 가진 NVIDIA Ampere GPU 이상 (A100‑80GB 및 H100‑80GB 테스트)

단계별 파이프라인

1️⃣ 합성 학습 데이터 생성

파이프라인은 LLM nvidia/nemotron-3-nano-30b-a3b를 사용해 각 문서를 읽고 수동 라벨링 없이 고품질 QA 쌍을 생성합니다.

nemotron embed sdg -c default corpus_dir=./data/my_domain_docs

4단계 SDG 파이프라인(NeMo Data Designer에 구현)은 복잡도가 다양한 질문(1‑3 홉)을 생성하고 품질 점수를 부여합니다. 설정 가능한 임계값 이상인 쌍만 학습에 사용됩니다.

2️⃣ 하드 네거티브 마이닝

하드 네거티브는 기본 모델이 양성 답변과 가까운 순위에 매기는 비관련 구절입니다. 마이닝은 다음과 같이 진행됩니다:

  1. 모든 쿼리와 코퍼스 구절을 기본 모델로 임베딩합니다.
  2. 유사도 점수를 계산합니다.
  3. 실제 양성을 마스킹합니다.
  4. 95 % 마진 필터를 적용해 false negative를 방지합니다.
  5. 상위 k(기본값 5) 높은 점수의 비양성을 하드 네거티브로 선택합니다.
nemotron embed prep -c default

이 명령은 데이터를 (80 % 학습, 20 % 테스트)로 분할하고 멀티‑홉 질문을 독립적인 (쿼리, 양성) 예제로 풀어내며, 각 예제에 동일한 하드 네거티브를 유지합니다.

3️⃣ 멀티‑홉 질문 이해

멀티‑홉 쿼리(2‑3 홉)는 모델이 여러 관련 구절을 검색하도록 요구합니다. 각 홉을 별개의 학습 인스턴스로 풀어냄으로써 모델은 모든 관련 문서를 양성으로 취급하는 방법을 학습하고, 복잡한 사용자 질의에 대한 완전한 답변 세트를 제공하는 능력을 향상시킵니다.

4️⃣ 바이‑인코더 파인튜닝

학습은 온도 0.02의 대조 손실을 사용하여 모델이 양성을 하드 네거티브와 명확히 구분하도록 강제합니다.

nemotron embed finetune -c default

핵심 하이퍼파라미터 (기본값은 예시 데이터셋에 맞게 조정됨):

파라미터 기본값
에폭 3 (대규모 코퍼스의 경우 1–2 에폭 권장)
학습률 1e‑5
워밍업 스텝 5 (전체 스텝의 약 5‑10 % )
전체 배치 크기 128
쿼리당 구절 수 5 (1 양성 + 4 하드 네거티브)

5️⃣ 검색 성능 평가

평가는 보류된 테스트 세트에서 BEIR 프레임워크를 실행하고 k = 1, 5, 10, 100에 대한 nDCG, Recall, Precision, MAP을 보고합니다.

nemotron embed eval -c default

합성 NVDocs 결과 (기본 → 파인튜닝):

  • NDCG@10: 0.555 → 0.616 (+10.9 %)
  • Recall@10: 0.630 → 0.693 (+10.0 %)
  • 모든 k 값에서 유사한 향상이 관찰되었습니다.

실제 Atlassian 사례: 공개 JIRA 데이터셋에 파인튜닝을 적용해 Recall@60을 0.751에서 0.951로 상승시켰으며, 이는 26.7 % 개선이며 단일 A100‑80GB GPU를 사용했습니다.

문제 해결

  • 합성 품질 저하 → 문서 포맷을 개선하거나 더 강력한 LLM을 사용하세요.
  • 데이터 부족 → 더 많은 원본 문서를 추가하고 SDG를 다시 실행하세요.
  • 과적합 → 에폭을 1‑2로 줄이거나 품질 임계값을 높이세요.
  • 학습률 비최적 → 기본값의 0.5배 또는 2배를 시도하세요.

6️⃣ 내보내기 및 배포

파인튜닝된 체크포인트를 ONNX(opset 17)로 변환하고, 필요에 따라 최대 처리량을 위해 TensorRT 엔진을 컴파일합니다.

nemotron embed export -c default            # ONNX only
nemotron embed export -c default export_to_trt=false
nemotron embed export -c default quant_cfg=fp8   # FP8 quantization

NVIDIA NIM을 사용해 모델을 배포하면 OpenAI 호환 /v1/embeddings 엔드포인트가 노출됩니다.

nemotron embed deploy -c default

예시 요청:

curl -X POST http://localhost:8000/v1/embeddings \
  -H "Content-Type: application/json" \
  -d '{"input": ["What cooling is needed for 8 H100 GPUs in a 2U chassis?"], "model": "custom", "input_type": "query"}'

내장된 NIM 정확도 검사는 변환으로 인한 성능 저하가 없음을 확인하기 위해 배포된 서비스를 BEIR와 다시 평가합니다.

엔드‑투‑엔드 명령 요약

# 1. Synthetic data generation
nemotron embed sdg -c default corpus_dir=./data/my_docs

# 2. Data preparation (split, hard‑negative mining, unroll)
nemotron embed prep -c default

# 3. Fine‑tune the embedding model
nemotron embed finetune -c default

# 4. Evaluate base vs. fine‑tuned checkpoint
nemotron embed eval -c default

# 5. Export to ONNX/TensorRT
nemotron embed export -c default

# 6. Deploy with NVIDIA NIM
nemotron embed deploy -c default

자원 및 시간 추정

단계 GPU 필요 여부 예상 시간 (단일 A100‑80GB)
합성 데이터 생성 아니오 (API) ~1 시간 (코퍼스 크기에 따라 다름)
데이터 준비 (하드 네거티브 마이닝) 예 (≈ 40 GB VRAM) ~5 분
파인튜닝 예 (80 GB VRAM) ~1 시간
평가 예 (≈ 40 GB VRAM) ~5 분
내보내기 예 (≈ 40 GB VRAM) ~5 분
배포 예 (≈ 40 GB VRAM) ~5 분
총합: < 24 시간; 약 500개의 문서로 구성된 보통 규모 코퍼스의 경우 전체 흐름이 2–3 시간 내에 완료됩니다.

실용적인 시사점

이 레시피는 도메인에 맞춘 임베딩이 이제는 수주에 걸친 다중 GPU 작업이 아니라는 것을 보여줍니다. 합성 데이터 생성, 하드 네거티브 마이닝, NVIDIA의 최적화 도구를 활용하면 실무자는 단일 GPU와 하루 미만의 연산으로도 상당한 검색 성능 향상을 달성할 수 있습니다—표준 지표에서 종종 >10 %, 기업 워크로드에서는 >25 % 향상.

직접 해보기

저장소를 클론하고 NVIDIA API 키를 획득한 뒤 파이프라인을 자신의 문서 컬렉션에 지정하세요. 준비된 nvidia/Retrieval-Synthetic-NVDocs-v1 데이터셋을 통해 즉시 실험할 수 있습니다. Nemotron, NeMo Data Designer, NeMo Automodel 저장소에 대한 기여와 스타는 환영합니다.

Sources