CoolFace
Modelpublic

lxxexxbxx/gemma3-4b-ko-rlaif-ppo

sourceHugging Facegemmaupdated 10d agoView on Hugging Face
0likes20downloads
Model Card

gemma3-4b-ko-rlaif-ppo

google/gemma-3-4b-it에 RLAIF(Reinforcement Learning from AI Feedback) 기반 PPO를 적용한 LoRA 어댑터

  • —한국공학대학교 딥러닝응용 팀 프로젝트(2025-2) 중 PPO 트랙 단독 담당 산출물
  • —목표: 4B 경량 모델 + 4-bit 양자화 환경에서 보상 기반 학습의 동작 여부 검증
  • —결과: PPO 적용 후 baseline 대비 성능 하락. 원인을 보상 설계 및 데이터 가공 결함으로 분석
  • —평가 결과와 한계 항목 반드시 참조

저장 구성

TRL AutoModelForCausalLMWithValueHead는 정책 모델과 가치 헤드가 백본 공유 → 두 가중치가 본 저장소에 함께 저장

파일역할크기
adapter_model.safetensors정책 모델(Policy) LoRA 어댑터131 MB
pytorch_model.bin가치 헤드(Value head, v_head) 가중치7 kB
adapter_config.jsonLoRA 설정1 kB
tokenizer.json / tokenizer_config.json / chat_template.jinja토크나이저33 MB
  • —보상 모델(Reward): 별도 저장소 → lxxexxbxx/gemma3-4b-ko-rlaif-reward
  • —참조 모델(Reference): LoRA 어댑터 비활성화 상태의 base 모델로 대체 → 별도 저장 없음

학습 구성

  • —Base: google/gemma-3-4b-it (4-bit 양자화, BitsAndBytes)
  • —LoRA: r=16, lora_alpha=32, lora_dropout=0.1
  • —Target modules: q_proj, k_proj, v_proj, o_proj
  • —Framework: TRL PPOTrainer + PEFT
  • —학습 데이터: RLAIF 500건 (TruthfulQA-ko 250 + KMMLU-QA 250)
  • —환경: RunPod RTX 3090 / Google Colab A100

RLAIF 데이터 생성

  • —Gemini를 심판으로 사용
  • —동일 질문에 대한 응답을 Chosen(사실적 답변) / Rejected(할루시네이션 답변)로 분류
  • —선호 쌍(preference pair) 데이터셋 구성

사용 방법

python
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel

base = AutoModelForCausalLM.from_pretrained(
    "google/gemma-3-4b-it",
    device_map="auto",
)
model = PeftModel.from_pretrained(base, "lxxexxbxx/gemma3-4b-ko-rlaif-ppo")
tokenizer = AutoTokenizer.from_pretrained("lxxexxbxx/gemma3-4b-ko-rlaif-ppo")

messages = [{"role": "user", "content": "질문을 입력하세요"}]
inputs = tokenizer.apply_chat_template(
    messages, add_generation_prompt=True, return_tensors="pt"
).to(model.device)

outputs = model.generate(inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True))
  • —가치 헤드까지 로드하려면 trl.AutoModelForCausalLMWithValueHead 사용

평가 결과와 한계

평가 설계

  • —평가셋: 50문항 (TruthfulQA-ko 25 + KMMLU-QA 25)
  • —심판: Gemini 2.5 Flash, temperature=0 (학습 미사용 외부 LLM)
  • —지표: Accuracy / Conciseness 분리 채점, 각 10점 만점
구성AccuracyConcisenessAccuracy = 0
Base Gemma3-4B1.101.6844 / 50
+ PPO (본 모델)0.780.8246 / 50

원인 분석

1. 보상 해킹(Reward hacking)

  • —보상 모델이 "모른다"는 응답보다 근거 없이 풍부한 설명에 높은 점수 부여
  • —정책 모델이 해당 패턴 학습 → 할루시네이션 증가

2. 평가 데이터 가공 결함

  • —KMMLU 객관식 → QA 형식 변환 과정에서 논리적 불일치 발생
  • —질문은 객관식 형태인데 정답으로는 보기 내용만 제공
  • —모델이 존재하지 않는 보기를 생성해 답하고 0점 처리된 사례 다수

3. Base 모델의 낮은 점수(1.10)에 대하여

  • —심판 기준: "정답의 핵심 언급 여부"
  • —Gemma3-4B 응답 특성: 마크다운 불릿 기반 장문 → 핵심 희석
  • —결론: 본 수치는 모델 성능뿐 아니라 평가 설계의 한계를 함께 반영

관련 저장소

라이선스 및 출처

  • —Base 모델 google/gemma-3-4b-it의 Gemma Terms of Use 적용
  • —학습 데이터: TruthfulQA 한국어 번역본, KMMLU (HAERAE-HUB)
  • —LoRA 어댑터만 배포, base 모델 가중치 재배포 없음