페르시아어 LLM 미세 조정(Fine Tuning)을 위한 합성 데이터 파이프라인 설계: 토픽 그래프(Topic Graphs)부터 QLoRA
요약
저자원 언어인 페르시아어 LLM의 성능 향상을 위해 토픽 트리 기반의 합성 데이터 생성 및 QLoRA 미세 조정 파이프라인을 설계했습니다. 데이터의 다양성과 품질을 보장하기 위해 다층 필터링과 구조화된 도메인 설계를 적용한 엔드 투 엔드 시스템을 제안합니다.
핵심 포인트
- 페르시아어와 같은 저자원 언어의 데이터 부족 문제 해결
- 토픽 트리를 활용한 제어된 다양성 확보 및 모드 붕괴 방지
- 의미론적 중복 제거 및 LLM 기반 품질 점수 산정 필터링 적용
- GPT 및 Qwen2.5를 활용한 모델 불가지론적 파이프라인 설계
- QLoRA를 이용한 효율적인 미세 조정 프로세스 구축
서론: 이 프로젝트가 중요한 이유
지시 이행(Instruction following) LLM을 학습시키는 것은 더 이상 단순히 모델의 규모를 키우는 것만의 문제가 아닙니다. 그것은 데이터 품질을 확장하는 것에 관한 것입니다.
영어와 같은 고자원 언어(High resource languages)의 경우, Alpaca 및 OpenAssistant와 같은 데이터셋이 이미 존재합니다. 하지만 페르시아어와 같은 저자원 언어(Low resource languages)의 경우, 고품질 지시 데이터셋이 매우 제한적입니다.
현재 사용 가능한 대부분의 페르시아어 코퍼스(Corpora)는 다음과 같은 문제를 겪고 있습니다:
• 지시 구조(Instruction structure)의 부족
• 아랍어 언어 오염(Arabic language contamination)
• 낮은 다양성
• 열악한 정렬 품질(Alignment quality)
그 결과, 강력한 베이스 모델(Base models)조차 다음과 같은 작업에 실패합니다:
• 일관된 지시 이행
• 유창한 페르시아어 생성
• 일관된 구조 유지
핵심 병목 현상은 모델 용량(Model capacity)이 아니라 데이터 부족입니다.
이 프로젝트는 전체 합성 데이터 생성 및 미세 조정(Fine tuning) 파이프라인을 통해 이 문제를 해결합니다.
시스템 개요: 엔드 투 엔드(End to End) 파이프라인
이 시스템은 모듈형 데이터 엔진으로 설계되었습니다:
> 토픽 트리(Topic Tree) > LLM 생성(LLM Generation) > 중복 제거(Deduplication) > 품질 점수 산정(Quality Scoring) > 데이터셋 내보내기(Dataset Export) > QLoRA 미세 조정(Fine Tuning) > 평가(Evaluation)
각 구성 요소는 독립적이어서 확장성과 재현성을 보장합니다.
핵심 설계 철학: 제어된 다양성(Controlled Diversity)
자유 형식의 생성 대신, 다음과 같은 구조화된 토픽 트리(Topic tree)를 사용합니다:
• 51개 도메인
• 약 350개의 하위 주제(Subtopics)
이를 통해 균형 잡힌 범위를 보장하고 모드 붕괴(Mode collapse)를 방지합니다.
다층 필터링(Multi layer Filtering). 가공되지 않은 합성 데이터(Raw synthetic data)는 본질적으로 노이즈가 많습니다. 시스템은 여러 필터링 단계를 적용합니다:
• 의미론적 중복 제거(Semantic deduplication)
• LLM 기반 품질 점수 산정(LLM based quality scoring)
이를 통해 가공되지 않은 출력물을 정제된 학습 데이터로 변환합니다.
모델 불가지론적 설계(Model Agnostic Design). 이 파이프라인은 각 단계에서 여러 모델을 지원합니다:
• 생성을 위한 GPT 4.1 mini 및 GPT 4.1 nano
• 평가를 위한 두 번째 LLM
• 미세 조정을 위한 Qwen2.5 3B Instruct
이를 통해 시스템을 다양한 언어와 도메인에서 재사용할 수 있습니다.
데이터 생성 엔진
프롬프팅 전략(Prompting Strategy)
각 생성 호출은 구조화된 지시 데이터(Instruction data)를 생성합니다:
{ "instruction": "대학 입시를 어떻게 준비해야 하나요?", "input": "", "output": "입시를 준비하기 위해서는...", "topic": "교육 (Education)", "subtopic": "입시 (Entrance Exams)" }
생성 설정 (Generation Configuration)
주요 파라미터(Parameters)는 다음과 같습니다:
• 호출당 쌍(pairs per call): 3
• 서브토픽(Subtopic)당 호출 횟수: 2
• 최대 토큰(max tokens): 1500
• 호출 간 지연 시간(delay between calls): 0.3초
이러한 파라미터들은 비용, 다양성, 그리고 안정성 사이의 균형을 맞춥니다.
멀티 모델 생성 (Multi model generation)
여러 모델을 사용하면 편향(Bias)을 줄이고 다양성을 높일 수 있습니다:
• GPT 4.1 mini는 구조화된 추론(Structured reasoning)을 제공합니다.
• GPT 4.1 nano는 변동성을 높이고 비용을 절감합니다.
중복 제거 계층 (Deduplication Layer): 의미론적 필터링 (Semantic Filtering)
합성 데이터셋(Synthetic datasets)에는 의미론적으로 유사한 항목이 포함되는 경우가 많습니다.
예시:
• “스트레스를 줄이는 방법은?”
• “불안 조절을 위한 방법들”
표현 방식은 다르지만, 두 문장 모두 동일한 의도(Intent)를 나타냅니다.
이를 해결하기 위해 임베딩(Embedding) 기반의 유사도 측정이 사용됩니다:
if similarity(instruction_a, instruction_b) > 0.75 : remove duplicate
이 단계는 의미론적 다양성을 보존하고 반복적인 패턴에 대한 과적합(Overfitting)을 방지합니다.
품질 점수 산정 (Quality Scoring): 판사로서의 LLM (LLM as a Judge)
중복 제거 후, 두 번째 LLM을 사용하여 데이터를 평가합니다.
각 샘플은 다음 기준에 따라 점수가 매겨집니다:
유창성 (Fluency)
언어의 자연스러움 및 문법적 정확성
관련성 (Relevance)
응답이 지시 사항(Instruction)을 올바르게 다루는지 여부
완전성 (Completeness)
답변이 충분히 상세하고 유용한지 여부. 5점 만점에 평균 점수가 3.5점 이상인 샘플만 유지됩니다.
데이터셋 결과 (Dataset Outcome)
최종 데이터셋은 다음을 포함합니다:
• 약 4,000개의 지시 쌍 (Instruction pairs)
• 51개의 도메인 (Domains)
• 약 350개의 서브토픽 (Subtopics)
하지만 핵심 가치는 규모가 아니라 구조화된 다양성과 필터링 품질에 있습니다.
미세 조정 단계 (Fine Tuning Phase): Qwen2.5 3B에 대한 QLoRA
설정:
• 베이스 모델 (Base model): Qwen2.5 3B Instruct
• 방법 (Method): QLoRA
• 프레임워크 (Framework): Unsloth
• 하드웨어 (Hardware): Google Colab T4
• 학습 (Training): 3 epochs, 714 steps
왜 QLoRA인가
QLoRA는 전체 모델 가중치 (full model weights) 대신 저차원 어댑터 (low rank adapters)를 학습함으로써 효율적인 미세 조정 (fine tuning)을 가능하게 합니다. 이는 강력한 성능을 유지하면서도 메모리 사용량을 줄여줍니다.
학습 동작 (Training Behavior)
학습 손실 (training loss)은 불안정성이나 과적합 (overfitting) 없이 꾸준한 수렴 (convergence)을 보여주며, 이는 다음을 나타냅니다:
• 높은 데이터셋 일관성 (dataset consistency)
• 필터링 후 낮은 노이즈 (low noise)
• 안정적인 학습 역학 (stable learning dynamics)
평가 (Evaluation): 베이스 모델 vs 미세 조정된 모델
주요 관찰 사항
베이스 모델은 다음과 같은 특징을 보입니다:
• 간헐적인 아랍어 (Arabic) 언어 전환
• 불완전하거나 반복적인 응답
• 약한 지시 이행 (instruction adherence)
미세 조정된 모델은 다음과 같은 특징을 보입니다:
• 유창하고 일관된 페르시아어 출력
• 구조화된 추론 (structured reasoning)
• 개선된 지시 이행 (instruction following) 동작
핵심 통찰 (Key Insight)
성능 향상은 모델 스케일링 (model scaling)이 아닌 데이터 엔지니어링 (data engineering)에 의해 주도되었습니다. 이는 현대 LLM 시스템의 핵심 원칙을 강조합니다. 데이터 품질 (data quality)은 종종 모델 크기보다 더 중요합니다.
주요 기술적 통찰 (Key Technical Insights)
통찰 1: 데이터 품질이 주요 병목 구간 (bottleneck)이다
적절하게 큐레이션된 경우, 작은 데이터셋 (4,000개 샘플)만으로도 성능을 크게 향상시킬 수 있습니다.
통찰 2: 이중 필터링 (Dual filtering)이 필수적이다
데이터셋 품질을 유지하기 위해서는 의미론적 중복 제거 (semantic deduplication)와 LLM 기반 스코어링 (LLM based scoring)이 모두 필요합니다.
통찰 3: 구조화된 토픽 그래프 (Structured topic graphs)가 자유 형식 프롬프팅 (free form prompting)보다 우수하다
제어된 토픽 분포 (controlled topic distribution)는 더 나은 커버리지와 다양성으로 이어집니다.
통찰 4: 판사로서의 LLM (LLM as a judge)은 핵심 시스템 구성 요소이다
확장 가능한 데이터셋 구축을 위해서는 자동화된 평가 (automated evaluation)가 필수적입니다.
이 프로젝트가 증명하는 것은 무엇인가?
이 시스템은 단순한 데이터셋 생성기가 아닙니다. 이는 다음과 같이 구성된 저자원(low resource) LLM 정렬 (alignment)을 위한 완전한 합성 데이터 엔진입니다:
• 구조화된 생성 (structured generation)
• 의미론적 필터링 (semantic filtering)
• 품질 평가 (quality evaluation)
• 미세 조정 통합 (fine tuning integration)
• 성능 벤치마킹 (performance benchmarking)
향후 과제 (Future Work)
잠재적인 개선 사항은 다음과 같습니다:
• 50,000개 샘플 이상의 데이터셋 규모 확장 (scaling dataset size)
• 선호도 최적화 (DPO) 통합
• 다국어 지원 추가
• 인간 피드백 루프 (RLHF 방식의 학습) 포함
결론 (Conclusion)
이 프로젝트는 LLM 개발의 패러다임 변화를 보여줍니다:
성능 향상은 모델 규모 확장 (model scaling)보다는 데이터 시스템에 의해 점점 더 주도되고 있습니다. 구조화된 생성 (structured generation), 필터링, 그리고 경량 미세 조정 (lightweight fine tuning)을 결합함으로써, 저자원 언어 (low resource language) 환경에서도 상당한 성능 향상을 달성할 수 있습니다.
링크 (Links):
GitHub Repository
Dataset in Huggingface
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기