← Home
SFT 데이터셋 구축

학습 데이터 & 품질 보증

300~2,000개 자동 생성 및 품질 검증 체계

자연어 → Flowchart 생성을 위한 JSONL 데이터셋 구조와 자동 증식, 품질 검증 프로세스를 정의합니다

📄
JSONL 데이터셋 구조
한 줄 = 한 샘플, 메시지 배열 형태
각 샘플은 system(규칙 강제), user(태스크+입력), assistant(정답 Mermaid)로 구성됩니다. [TASK] 스위치로 macro/micro 모드를 구분합니다.
{"messages": [
  {"role": "system", "content": "..."},
  {"role": "user", "content": "STN1 이동 공정에서 그립퍼모터1은..."},
  {"role": "assistant", "content": "```mermaid\ngraph LR\n...```"}
]}
📈
자동 증식 전략
동일 그래프 → 다양한 입력 변형
🗺️ Macro 증식
  • 부분 그래프(subset) 추출
  • 모듈 N개 랜덤 선택
  • MODULES 순서 셔플
  • 연결 3개 이상만 채택
🔬 Micro 증식
  • 모듈당 3~6개 변형
  • 구조화/순서셔플/자연어형
  • 컨텍스트 제공형
  • autoPre 포함/미포함
데이터 밸런싱
Micro Detail
50~70%
Macro Skeleton
20~40%
혼합(Context)
10~20%
autoPre 포함
5~20%
⚠️ 밸런싱 주의사항
  • autoPre가 지나치게 많으면 점선만 남발, 주 흐름 누락
  • macro만 많으면 subgraph 생성이 빈약해짐
  • micro만 많으면 전체 구조(Work 간 연결) 약해짐
  • 자연어 입력 샘플: 전체의 10~25% 권장
품질 검증 체크리스트
📐 문법 검증 (자동)
  • Mermaid 코드블록 정확히 1개
  • graph LR로 시작
  • subgraph는 end로 닫힘
  • edge의 src/dst 노드 존재
  • autoPre는 -.->|autoPre| 형태
Mermaid Parse 성공률 99%+
🔍 구조 검증 (논리)
  • 입력 NODES/EDGES 모두 포함
  • 누락된 엣지 없음
  • WORK_CONNECTIONS 라벨/방향 보존
  • Modules 섹션 노드 선언 충분
  • 분기/합류 구조 동일
노드/엣지 커버리지 97%+
🛡️ 품질 가드레일
  • assistant에 설명문 끼어들지 않음
  • 다른 태스크 데이터 혼입 금지
  • 라벨 대소문자/언더스코어 유지
  • 노드 id 충돌 방지 (prefix)
  • edge 라벨 --> |Label| 통일
엣지 누락률 < 3%
고품질 SFT 데이터셋으로 모델 정확도 극대화
2단 태스크 스위치([TASK])와 자동 증식 전략으로 300~2,000개 데이터를 생성하고
문법/구조 검증을 거쳐 Mermaid parse 성공률 99%+를 달성합니다
📄 JSONL 포맷 📈 자동 증식 ⚖️ 밸런싱 ✅ 품질 검증
8 / 9