최근 기업용 인공지능 모델을 특정 도메인 데이터로 학습시키려는 시도가 늘고 있으나, 학습 과정에서 모델이 기존에 보유한 일반적인 추론 능력을 잃어버리는 현상이 빈번하게 발생한다. 이번에 공개된 Amazon Nova Forge SDK(Amazon Nova 모델을 맞춤형으로 학습시키기 위한 개발 도구)는 이러한 문제를 해결하기 위해 데이터 혼합 기술을 도입했다. 이는 사용자의 도메인 데이터와 Amazon이 선별한 일반 데이터를 결합하여 학습함으로써, 모델의 범용성을 유지하면서도 특정 작업의 정확도를 높이는 방식이다. 실제로 고객 데이터와 일반 데이터를 혼합했을 때, 음성 고객 분류 작업에서 F1 점수가 12포인트 향상되었으며 MMLU(대규모 다중 작업 언어 이해 벤치마크) 점수는 기준치에 가깝게 유지되었다.
Amazon Nova Forge SDK 설치 및 환경 설정
학습을 시작하기 위해서는 Amazon SageMaker(머신러닝 모델을 구축, 학습, 배포하는 플랫폼) HyperPod CLI 도구가 필요하다. 사용자는 Amazon Nova Forge S3(데이터 저장소) 버킷에서 제공되는 설치 스크립트를 통해 의존성을 해결하고 가상 환경을 구축해야 한다. 설치가 완료되면 다음 명령어를 통해 환경을 활성화하고 Jupyter(데이터 분석 및 코드 실행을 위한 대화형 환경) 커널로 설정한다.
bash
가상 환경 활성화 및 SDK 설치
source venv/bin/activate
pip install nova-forge-sdk
설치 확인
python -c "import nova_forge; print(nova_forge.__version__)"
학습에는 4개의 ml.p5.48xlarge(고성능 GPU 인스턴스)가 권장되며, 비용 절감을 위해 전체 학습 전 max_steps=5를 설정한 짧은 테스트 실행을 권장한다. 데이터는 JSONL, JSON, CSV 형식을 지원하며, 본 가이드에서는 Hugging Face(인공지능 모델 및 데이터셋 공유 플랫폼)의 MedReason(의료 추론 데이터셋)을 활용한다.
데이터 정제 및 변환 프로세스
기존 방식은 단순히 데이터를 모델에 주입하는 형태였으나, 이제는 모델의 내부 대화 템플릿과 충돌하는 토큰을 사전에 제거하는 정제 과정이 필수적이다. 특히 System, User, Assistant와 같은 구분자 문자열이 데이터에 포함될 경우 모델이 대화 단계를 오인할 수 있다. 이를 방지하기 위해 SDK는 콜론 앞에 공백을 삽입하거나 특수 토큰을 제거하는 과정을 거친다.
python
토큰 충돌 방지를 위한 정제 함수
INVALID_TOKENS = ["System:", "User:", "Assistant:", "[EOS]", "<image>"]
def sanitize_text(text):
for token in INVALID_TOKENS:
if ":" in token:
word = token[:-1]
text = re.sub(rf'\b{word}:', f'{word} :', text, flags=re.IGNORECASE)
else:
text = text.replace(token, "")
return text.strip()
JSONLDatasetLoader(데이터를 모델 학습에 적합한 형식으로 변환하는 도구)를 사용하면 단순 질의응답 쌍이 Nova 모델이 이해할 수 있는 다중 턴 대화 형식으로 자동 변환된다. 이후 validate() 메서드를 통해 템플릿 구조와 토큰 유효성을 검증한다.
데이터 혼합을 통한 성능 최적화
학습 시 적용되는 데이터 혼합은 모델이 학습 도중 일반 능력을 망각하는 것을 방지하는 핵심 기제다. 이번 가이드에서는 LoRA(모델의 전체 가중치가 아닌 일부 어댑터 가중치만 업데이트하는 효율적 학습 방식)를 사용한 SFT(지도 미세 조정) 방식을 채택했다. 이는 전체 파라미터를 수정하는 방식보다 훨씬 적은 컴퓨팅 자원으로 빠르게 학습을 완료할 수 있게 한다. 개발자는 Amazon Nova Forge SDK 공식 문서를 통해 상세한 API 명세와 데이터 혼합 비율 설정 방법을 확인할 수 있다.
도메인 특화 모델의 성능은 결국 범용 지식의 보존과 전문 지식의 습득 사이에서 얼마나 정교한 균형을 맞추느냐에 달려 있다.




