d1-3B 의사결정 모델 커스텀 데이터 파인튜닝 가이드: Unsloth와 TRL 활용법
무료 GPU 환경에서 Unsloth와 Hugging Face TRL을 사용해 d1-3B 의사결정(Decision) 모델을 30분 만에 파인튜닝하는 2종의 실습 노트북과 데이터 분할·옵션 셔플링 핵심 주의사항을 정리했습니다.
레오니(Leonie, @helloiamleonie)가 자체 데이터를 활용해 의사결정(Decision) 모델인 'd1-3B'를 직접 파인튜닝할 수 있는 실무 가이드 노트북 2종을 공개했습니다. Unsloth와 Hugging Face TRL을 기반으로 구성되어 무료 티어 GPU 환경에서도 약 30분 만에 학습을 완료할 수 있습니다.

이미지 출처: @helloiamleonie / X
이번에 공개된 튜토리얼은 정형화된 의사결정 로직과 선택지 분류 태스크에 특화된 d1-3B 모델을 다루며, 데이터셋 전처리부터 실제 학습 파이프라인 구성, 그리고 실전 학습 시 발생하기 쉬운 통계적 편향을 교정하는 방법까지 단계별로 안내합니다.
Unsloth와 Hugging Face TRL 기반의 2가지 실습 노트북
공개된 가이드는 개발자의 선호 라이브러리와 인프라 환경에 맞춰 선택할 수 있도록 Unsloth 버전과 Hugging Face TRL 버전의 두 가지 주피터 노트북으로 제공됩니다.
- 학습 데이터 준비: 의사결정 태스크에 맞춘 입력 프롬프트와 정답 옵션 레이블 구성
- d1-3B 모델 파인튜닝: 단일 옵션 코드 토큰을 예측하는 파인튜닝 실행
- 프레임워크 지원: @UnslothAI 및 @huggingface TRL 환경에 맞춘 파이프라인 제공
- 하드웨어 및 소요 시간: 무료 티어 GPU 인스턴스에서 30분 내외로 전체 파인튜닝 완료
노트북 접근 링크는 아래와 같습니다.
- Unsloth 버전 노트북: https://t.co/VxwfzlwHXP
- Hugging Face TRL 버전 노트북: https://t.co/yqzvFwVoZ5
데이터 누출 방지를 위한 케이스(Case) 단위 분할
실습 노트북 공개 직후 커뮤니티와의 기술 논의를 통해 모델의 일반화 성능을 보장하기 위한 중요한 검증 원칙이 노트북에 추가 반영되었습니다.
커뮤니티 검토자(@0xYinji)가 지적한 바와 같이, 의사결정 데이터셋을 학습(Train)과 평가(Eval) 세트로 분할할 때 단순 무작위(Random) 분할을 사용하면 심각한 데이터 누출(Data Leakage)이 발생할 수 있습니다. 동일한 기저 의사결정 사안(underlying case)에 대해 문장 표현이나 질문 방식만 다르게 바꾼(reworded) 변형 데이터가 학습셋과 평가셋 양쪽에 동시에 포함될 경우, 모델이 의사결정 논리를 일반화한 것이 아니라 단순히 문맥을 암기하여 높은 평가 점수를 기록하게 됩니다.
원작자 레오니는 이 지적을 확인하고, 동일한 기저 의사결정 케이스 단위로 데이터를 묶어 분할하도록 노트북 예제를 공식 업데이트했습니다.
옵션 코드 셔플링과 위치 편향(Positional Bias) 해소
또 다른 핵심 설계 특성은 d1 모델의 판독 메커니즘과 옵션 순서 처리 방식입니다.
d1-3B 모델은 외부에 별도의 분류 헤드(head)를 추가로 결합하지 않고, 모델 자체의 판독 토큰(readout token)을 재사용하여 의사결정을 수행합니다. 이에 따라 학습 대상이 단 하나의 옵션 코드(option-code) 토큰으로 귀결되어 학습 구조가 간결하고 효율적입니다.
그러나 옵션 코드가 선택지 목록의 위치(position) 순서에 따라 순차적으로 할당될 경우 잠재적인 한계가 발생합니다. 향후 새로운 라벨이 추가되거나 순서가 변경될 때 옵션 코드의 대응 관계가 어긋나 모델을 재학습해야 하거나, 특정 순번의 옵션을 편향되게 선택하는 위치 편향이 생길 수 있습니다(@jmfmdev01 지적).
이를 방지하기 위해 각 데이터 포인트마다 옵션 코드를 무작위로 셔플링(shuffled codes)하고, 전체 옵션 중 일부 부분집합(subsets of options)을 다양하게 조합하여 학습하도록 노트북 로직이 보완되었습니다.
원문 출처
- Leonie (@helloiamleonie) X 게시글: https://x.com/helloiamleonie/status/2110994738811715943