NVIDIA 가 만든 합성 데이터 프로세스는 크게 다음과 같음:
- 데이터 생성:
- LLM NIM(Large Language Model NVIDIA Inference Microservice)을 활용해 원시 데이터를 생성함.
- 다양한 유형의 프롬프트(질문-답변, 코드 생성, 대화 시나리오 등)를 LLM NIM에 입력하여 대량의 원시 데이터를 생성함.
- NIM은 NVIDIA의 최적화된 하드웨어(예: H100 GPU)와 소프트웨어 스택(예: TensorRT)을 활용해 초고속 추론을 지원한다고 함. 분당 120만 토큰 생성이 가능하다고
- 그리고 다양한 도메인에서 데이터 생성이 가능하다고 함.
- 생성된 데이터 100만 건 중 92%가 미세 조정에 직접 활용 가능 (NVIDIA 내부 테스트 기준).
- 피드백 루프:
- 데이터를 생성하고, 검증하는 단계가 엮인 구조를 말함.
- 여러 LLM 과 보상 모델을 이용해서 평가를 함.
- 다중 필터를 통합해 검증하는 것도 가능. (점수 기반 필터, 중복 데이터 필터 등)
- 파이프라인을 이용해서 검증을 하는거임.
- 반복:
- 주어진 목표를 달성할 때까지 반복함.
- NVIDIA 의 데이터 합성 파이프라인에 데이터 생성/검증에 사용자가 가지고 있는 특화된 모델을 사용하는 것도 가능하다고. 그래서 품질 평가 계층확가 가능하다고 함:
- 1차: 사용자 소유 보상 모델이 정확도 평가 (예: 의학 용어 정합성).
- 2차: LLM Judge가 문맥 일관성 분석.
- 3차: NVIDIA 필터 적용 (중복 제거, 민감 정보 마스킹).
데이터 합성 파이프라인 예시:
pipeline = Curator()
pipeline.add_step(LLM_NIM("생성 모델"))
pipeline.add_step(RewardModel_NIM("품질 평가"))
pipeline.add_step(CustomFilter("금융용어 필터"))
pipeline.run(iterations=5)
보상 모델(Reward) 와 LLM 모두 평가에 사용하는 이유:
- 보상 모델은 데이터의 객관적 측면, 표면적 측면을 검사함:
- 데이터의 정확도 (예: 의료 데이터의 경우에 코드가 정확한 일치를 하는지)
- 문법 오류
- 논리적 일관성
- 반면 LLM 은 주관적 측면 데이터의 내재적인 측면을 검사함:
- 예: 창의성, 의료 도메인에서 암 진단 보고서의 경우에 환자에게 전달 가능한 수준의 명확성이 있는지
- 보상 모델은 학습된 작은 모델로 보다 빠르게 평가가 가능해서 1차 필터링 역할을 할거임.
- 실제 적용 사례 - 금융 리포터:
- 보상 모델은 금융 용어 정확성, 규정 준수 등을 이용해 평가한다면 LLM 은 리포트의 논리적 흐름과 투자자에게 전달 가능한 명확성으로 평가할거임.