LLM EVAL
4B급 Gemma3와 Gemma4 한국어 SFT 비교: 품질, 학습, 노이즈
Ilho Ahn
Gemma3와 Gemma4를 한국어 instruction 환경에서 비교했다. base 품질, QLoRA SFT 후 성능, 학습 효율, 입력 노이즈 안정성을 정리한다.
Format alignment는 1 - Violation으로 계산했다. 세부 수치는 본문에서 따로 설명한다.이 글은 google/gemma-3-4b-it와 google/gemma-4-E4B-it를 같은 한국어 instruction 평가 조건에서 비교한다. Gemma4는 judge가 더 자주 선택했고, 출력 형식도 더 잘 지켰다. 질문에 오타나 전사 오류가 섞여도 답변이 더 읽을 만하게 남았고, 같은 100-step QLoRA SFT도 더 빨리 끝났다. Gemma3는 일부 reference overlap 지표와 다중 답안 SFT의 상대 개선폭에서 볼 만한 신호를 보였다. 그래서 이 비교는 단순한 승패보다 응답 품질, 학습 반응, 입력 노이즈 안정성이 어디서 갈라지는지를 본다.
비교 대상 모델
평가 방법
평가는 세 축으로 나눴다. 첫째, base 모델의 한국어 응답 품질을 본다. 둘째, 같은 데이터로 SFT한 뒤 응답 품질과 학습 효율이 어떻게 달라지는지 본다. 셋째, 질문 본문에 타이핑 오타나 음성 전사체 오류가 들어갔을 때 답변이 얼마나 흔들리는지 본다.
모든 생성 평가는 같은 출력 제약 아래에서 진행했다.
- 한국어 일반 문장으로 답변하기
- 한 문단으로 쓰고, 400자와 5문장을 넘기지 않기
- Markdown, 제목, 표, 목록, 불릿, 코드, 굵게 쓰기 금지
평가 메트릭
메트릭은 네 가지 축으로 나눠 읽었다.
Judge Preference는 gpt-oss-120b를 판정기로 쓴 pairwise 선택률이다. 같은 질문에 대한 두 모델 답변을 나란히 보여주고, 답변 순서는 섞은 뒤 더 나은 쪽을 고르게 했다. 핵심 비교는 기준 답안을 보여주지 않는 blind_to_reference로 진행했다.
Rubric
- 질문에 직접 답하는가
- 사실적으로 무리한 설명이 적은가
- 한국어 문장이 자연스럽고 완결적인가
- 요청한 출력 형식을 지키는가
이 rubric은 한 가지 점수만 보지 않기 위한 장치다. 따라서 Judge Preference는 절대 점수라기보다, 같은 질문에서 두 답 중 어느 쪽이 더 좋아 보였는지를 나타내는 상대 지표다. 표의 Judge Score는 같은 rubric으로 개별 답변에 부여한 1-10점 평균이다.
Formula
예를 들어 0.70은 같은 질문 100개에서 해당 모델 답변이 70번 선택됐다는 뜻이다.
Reference Match는 기준 답안과 표현이 얼마나 겹치는지를 보는 자동 지표다. 여기서는 Char F1과 ROUGE-L F1을 함께 봤다. 이 값은 기준 답안에 가까운 표현을 잘 잡지만, 더 자연스러운 패러프레이즈나 더 짧고 완결적인 답을 과소평가할 수 있다.
Char F1은 예측 답변과 기준 답안의 문자 overlap을 precision과 recall로 나눠 본 뒤 F1로 합친 값이다.
ROUGE-L F1은 두 텍스트 사이의 longest common subsequence, 즉 순서를 유지한 최장 공통 부분열을 기반으로 한다.
Violation은 출력 형식 제약을 어긴 비율이다. 이 글에서는 모든 생성 평가에 같은 출력 제약을 걸었다.
Checked Constraints
- 한국어 일반 문장으로 답변하기
- 한 문단으로 쓰기
- 400자와 5문장을 넘기지 않기
- Markdown, 제목, 표, 목록, 불릿, 코드, 굵게 쓰기 금지
Violation이 낮을수록 형식을 더 잘 지킨 것이다.
Figure 1에서는 모든 행을 “높을수록 좋음” 방향으로 맞추기 위해 Format alignment로 바꿔 표시했다.
예를 들어 base 조건에서 Gemma4의 violation은 0.11이므로 Format alignment = 0.89가 된다. Gemma3의 violation은 0.90이므로 Format alignment = 0.10으로 표시했다.
질문 손상 안정성은 시스템 프롬프트나 템플릿을 바꾸지 않고, 질문 본문만 손상시켜 봤다. Real typo는 타이핑 오타와 띄어쓰기 붕괴, ASR noise는 음성 전사체처럼 구두점이 사라지거나 발음 유사 표현이 섞인 입력이다. 즉 모델이 사용자의 불완전한 입력을 얼마나 안정적으로 처리하는지를 보는 축이다.
여기서 Readability는 Judge Preference와 같은 gpt-oss-120b를 사용하지만, 방식은 다르다. Judge Preference는 두 모델 답변을 직접 비교하는 pairwise 선택률이고, Readability는 각 답변 하나를 1-10점으로 채점한 단일 답변 judge 점수다.
How to read
Noise Avg: 손상된 질문 답변을gpt-oss-120bReadabilityjudge가 1-10점으로 평가한 평균Raw Avg: 같은 질문을 손상하지 않았을 때의 답변을 같은Readabilityjudge로 평가한 평균Delta: 같은 모델 안에서 손상 질문 평균에서 원래 질문 평균을 뺀 값
Readability Rubric
- 문장으로 자연스럽게 읽히는가
- 손상된 질문의 의도를 대체로 복원했는가
- 반복이나 중간 끊김이 적은가
- 설명이 과도하게 무너지지 않았는가
이 rubric은 정답과 똑같은 표현을 쓰는지를 보는 기준이 아니다. 손상 입력에서도 답변이 읽을 만하게 남는지를 gpt-oss-120b가 1-10점으로 평가한 judge 점수다.
평가 설계 요약
세 축을 한 번에 비교하기 위한 해석 가이드다.
| 평가 축 | 무엇을 봤나 | 대표 지표 | 주의할 점 |
|---|---|---|---|
| Base | 한국어 instruction 응답의 기본 품질 | Judge Preference, Char F1, ROUGE-L, Violation |
Violation은 출력 형식 제약을 어긴 비율 |
| SFT | 학습 후 품질, loss 변화, runtime | Judge Preference, Train loss, runtime |
모델 간 절대 loss만으로 품질을 비교하면 안 됨 |
| Noise | 질문 본문 손상에 대한 안정성 | Noise Avg, Raw Avg, Char F1, Violation |
같은 모델 안의 하락폭과 noise 상태의 절대 품질을 분리해서 봐야 함 |
상단 Figure 1은 이 평가 설계를 따라 전체 결과를 먼저 압축한 요약이다. 각 행은 서로 다른 단위의 지표이므로, 막대 길이는 행 안에서 두 모델의 상대 차이를 보여준다. 세부 해석은 이어지는 Base, SFT, 노이즈 섹션에서 따로 풀어본다.
Base: 품질과 형식 제어
base 비교는 beomi/KoAlpaca-v1.1a holdout 100문항에서 진행했다. Judge Preference는 Gemma4를 0.70 비율로 더 자주 골랐다. 반면 Char F1과 ROUGE-L은 두 모델이 거의 같은 범위에 있었고, Gemma3가 아주 근소하게 높았다.
자동 지표 차이는 작았고, 형식 차이는 컸다
같은 출력 제약을 걸었는데도 Gemma4는 답을 짧게 닫고 형식을 더 잘 지켰다. 반면 Gemma3는 기준 답안과 겹치는 표현이 약간 많게 나온 대신 평균 출력이 길고 5문장 제한을 자주 넘겼다.
따라서 base 결과는 단순한 품질 승패가 아니라, 작은 기준 답안 유사도 차이와 큰 지시 준수 차이가 함께 나온 사례로 읽어야 한다. 이 조건에서는 Gemma3의 형식 위반과 장황함이 Judge Preference를 끌어내린 주요 요인이었을 가능성이 크다. 자동 지표의 근소한 차이는 유의미한 품질 차이로 해석하기 어렵다.
| 모델 | Judge-based Eval | Reference Match | Output Control | |||
|---|---|---|---|---|---|---|
| Preference | Score | Char F1 | ROUGE-L | Avg chars | Violation | |
| Gemma4 | 0.70 | 6.25 | 0.5532 | 0.3175 | 353.2 | 0.11 |
| Gemma3 | 0.30 | 4.86 | 0.5644 | 0.3268 | 516.9 | 0.90 |
Reference Match 차이는 작았고, 더 뚜렷한 차이는 Judge Preference와 출력 제약 준수에서 나타났다.구급차나 경찰차는 왜 특정한 색을 사용하는 걸까요?
차량의 색상은 각 차량의 기능과 역할을 시각적으로 명확하게 구분하고 긴급 상황에서 높은 주목도를 확보하기 위해 사용됩니다. 구급차가 흰색을 주로 사용하는 것은 의료 서비스의 전문성과 신뢰성을 전달하며, 경찰차가 흰색과 파란색 또는 빨간색을 사용하는 것은 법 집행 및 공공 안전 유지라는 권위적인 역할을 나타내기 위함입니다.
구급차, 경찰차, 소방차 등 특정 색상이 사용되는 이유는 안전과 인지도를 높이기 위한 전통적인 이유와 심리적인 효과가 결합된 결과입니다.
1. 흰색: 구급차와 경찰차의 흰색은 ‘상징적인 색’으로, 멀리서도 쉽게 눈에 띄어 사람들에게 신속하게 접근해야 하는 긴급 상황의 차량임을 알려줍니다.
SFT: 성능과 학습 효율
성능 비교
QLoRA learning curve에서는 base부터 step500까지 같은 평가셋으로 비교했다. Judge Preference 기준으로는 모든 stage에서 Gemma4가 우세했다. step50에서 0.92, step200에서 0.85, step500에서 0.79를 기록했다.
다만 자동 지표는 한 방향으로만 움직이지 않았다. ROUGE-L은 두 모델이 비슷한 범위에서 오갔고, step200과 step500에서는 Gemma3가 아주 근소하게 높았다. 그래서 이 결과는 “Gemma4가 모든 숫자에서 이겼다”가 아니라, “SFT 후 Judge Preference와 출력 제어는 Gemma4 쪽으로 기울었고, reference match 차이는 유의미한 품질 차이로 보기 어려웠다”로 읽는 편이 정확하다.
SFT 후 품질 차이는 Judge Preference에서 더 분명했다
Gemma4는 learning curve와 100-step 구성 비교 모두에서 더 자주 선택됐다. 반면
ROUGE-L차이는 작아서 품질 우세의 근거로 삼기 어렵다. 따라서 SFT 성능 비교의 중심은 기준 답안 유사도가 아니라Judge Preference와 출력 제어다.
Judge Preference는 같은 질문에서 judge가 해당 모델 답변을 선택한 비율이고, 오른쪽 ROUGE-L은 reference 답안과의 overlap이다. 두 패널은 축 범위가 다르므로 각 패널 안에서 방향성을 읽어야 한다. Judge Preference는 Gemma4 쪽으로 뚜렷했지만, ROUGE-L 차이는 유의미한 품질 차이로 보기 어려웠다.| Stage | Judge Preference | ROUGE-L | Violation | |||
|---|---|---|---|---|---|---|
| Gemma4 | Gemma3 | Gemma4 | Gemma3 | Gemma4 | Gemma3 | |
| base | 0.70 | 0.30 | 0.3175 | 0.3268 | 0.11 | 0.90 |
| step50 | 0.92 | 0.08 | 0.3219 | 0.2942 | 0.05 | 0.53 |
| step200 | 0.85 | 0.15 | 0.3270 | 0.3329 | 0.09 | 0.24 |
| step500 | 0.79 | 0.21 | 0.3289 | 0.3326 | 0.09 | 0.17 |
Violation은 출력 형식 제약을 어긴 비율이다. 낮을수록 좋다.100-step SFT 구성 비교는 답안 다양성 효과와 단순 반복 효과를 분리하기 위해 세 조건으로 나눴다.
- 단일 답안(
single): 질문마다 기준 답안 1개만 붙인 기본 구성 - 다중 답안(
multi): 같은 질문에 여러 답안 변형을 붙여 답안 다양성을 늘린 구성 - 반복 대조군(
duplicate):multi와 row 수를 맞추기 위해single데이터를 반복한 대조 구성
이 비교에서도 Judge Preference와 Judge Score는 Gemma4가 우세했다. 단일 답안, 다중 답안, 반복 대조군 모두 Gemma4가 더 자주 선택됐고, Judge Score도 더 높았다. 다만 다중 답안 조건에서는 Gemma3의 Judge Preference가 0.0667에서 0.3333으로 올라 격차가 줄었다.
| SFT 구성 | Model | Judge-based Eval | |
|---|---|---|---|
| Preference | Score | ||
| single | Gemma4 | 0.9333 | 7.1333 |
| single | Gemma3 | 0.0667 | 3.8333 |
| multi | Gemma4 | 0.6667 | 6.4667 |
| multi | Gemma3 | 0.3333 | 5.4667 |
| duplicate | Gemma4 | 0.9667 | 7.7667 |
| duplicate | Gemma3 | 0.0333 | 3.7000 |
Judge Preference와 Judge Score 비교다. 다중 답안 조건에서는 격차가 줄었지만, 선택률과 평균 점수는 세 구성 모두 Gemma4가 높았다.다중 답안 조건은 별도로 볼 만하다. 같은 질문에 여러 답안 변형을 보여줬을 때 Gemma3의 Judge Preference는 0.0667 -> 0.3333으로 올랐다. Gemma4도 여전히 이겼지만 0.9333 -> 0.6667로 격차가 줄었다. 그래서 Gemma3는 답안 다양성에 더 크게 반응한 것으로 보인다. 다만 그것이 최종 품질 우세로 전환되지는 않았다.
여름에도 계곡이 시원한 이유는 무엇인가요? 계곡은 다른 물과 비교해서 왜 더 시원한 걸까요?
계곡물이 다른 물보다 더 시원한 이유는 지표수를 따라 흐르면서 지하 깊은 곳에서 차가워진 물이 지표로 솟아나오기 때문이야. 이 과정에서 물은 오랜 시간 동안 땅속을 흐르면서 온도를 낮추고, 주변 공기와 접촉하면서 더 차가워져. 또한, 계곡은 주변 산림의 영향을 많이 받아서 그늘이 지고 바람이 잘 통하지 않아 더 시원하게 느껴지는 거야. 그래서 계곡물은 다른 물보다 더 시원하고 깨끗한 특성을 가지고 있지.
계곡은 다른 물보다 시원한 이유는 지표면과 지하수면의 온도 차이 때문입니다. 지표면은 햇빛을 직접 받아 열이 가해지기 때문에 온도가 높고, 지하수면은 지표면보다 깊이 들어가 있어 햇빛을 받지 못하고 온도가 낮습니다. 따라서 계곡의 물은 지표면보다 온도가 낮아 시원하게 느껴집니다.
학습 효율 비교
학습 효율도 위 세 구성의 100-step SFT 조건에서 비교했다. loss는 모델 간 절대값을 그대로 품질 순위로 바꾸면 안 된다. tokenizer와 출력 분포가 다르기 때문이다. 여기서는 같은 모델 안에서 loss가 내려갔는지, 그리고 같은 100-step 조건에서 어느 쪽이 더 빠르게 학습을 마쳤는지를 봤다.
둘 다 학습됐지만, 같은 step은 Gemma4가 더 빨랐다
loss 감소는 양쪽 모델 모두에서 SFT가 실제로 진행됐다는 확인용 신호다. 효율 비교에서 더 직접적인 차이는 runtime이었다. 같은 100-step 조건을 끝내는 데 걸린 시간은 세 구성 모두 Gemma4가 짧았다.
Figure 3의 Loss Remaining은 마지막 step loss가 첫 step loss의 몇 퍼센트로 남았는지를 뜻한다. 낮을수록 같은 run 안에서 loss가 더 많이 줄었다는 의미지만, 모델 간 절대 품질 비교로 읽으면 안 된다. 여기서는 SFT가 실제로 진행됐는지 확인하는 sanity check로만 사용했다.
결과는 두 가지로 읽을 수 있다. 먼저 세 구성 모두에서 마지막 step loss가 첫 step loss보다 크게 낮아졌으므로, 양쪽 모델 모두 SFT가 진행됐다는 점은 확인된다. 그러나 같은 100-step을 끝내는 시간은 모든 구성에서 Gemma4가 짧았다. 단일 답안은 1348s 대 2411s, 다중 답안은 1427s 대 2682s, 반복 대조군은 1510s 대 2683s였다. 따라서 이 실험에서 학습 효율 차이는 loss의 절대값이 아니라 runtime에서 더 분명하게 나타났다.
| SFT 구성 | Model | Training Signal | ||
|---|---|---|---|---|
| Step loss first->last | Train loss | Runtime | ||
| single | Gemma4 | 16.05 -> 0.42 | 2.3239 | 1348s |
| single | Gemma3 | 4.33 -> 0.04 | 0.9212 | 2411s |
| multi | Gemma4 | 16.36 -> 1.23 | 2.6546 | 1427s |
| multi | Gemma3 | 4.25 -> 0.57 | 1.2520 | 2682s |
| duplicate | Gemma4 | 16.54 -> 0.51 | 2.4186 | 1510s |
| duplicate | Gemma3 | 4.52 -> 0.04 | 0.9257 | 2683s |
노이즈: 질문이 흔들릴 때
노이즈 실험에서는 SFT된 모델에 실제 사용자 입력 오류에 가까운 질문을 넣어 봤다. 여기서 손상은 시스템 프롬프트나 템플릿이 아니라 질문 본문에만 적용했다. Real typo는 타이핑 오타와 띄어쓰기 붕괴, ASR noise는 음성 전사체처럼 구두점이 사라지거나 발음 유사 표현이 섞인 입력이다.
| Noise | 무엇을 흉내 냈나 | 예시 | 해석 범위 |
|---|---|---|---|
| Real typo | 사람이 직접 입력할 때 생기는 오타와 띄어쓰기 붕괴 | 저작권이 있나요 -> 저작권이 나있요 |
타이핑 실수에 가까운 입력 손상 |
| ASR noise | 음성 인식 전사체처럼 구두점이 사라지거나 발음 유사 표현이 섞인 입력 | 어떻게 되나요 -> 어떡해되나요 |
말을 텍스트로 옮기는 과정의 가벼운 전사 오류 |
결과는 두 층으로 읽어야 한다. 두 현실형 노이즈 조건 모두에서 raw 입력보다 손상 입력의 Readability 점수가 낮아졌다. 중요한 점은 손상된 입력 상태의 절대 Readability가 Gemma4 쪽에 더 높게 남았다는 것이다. 두 가지 현실형 노이즈 평균에서 Gemma4는 5.50, Gemma3는 3.93이었다.
둘 다 흔들렸지만, 흔들린 뒤의 품질은 Gemma4가 높았다
이 실험은 노이즈가 성능을 올리는지 보는 것이 아니다. 원래 질문과 손상 질문을 같은 모델 안에서 비교하고, 손상된 입력에서도 답변이 얼마나 읽을 만하게 남는지를
Readability로 본다. 두 현실형 노이즈 조건에서 손상 입력의Readability평균은 Gemma4가 더 높았다.
Readability 평균, 즉 Table 7의 Readability 값이다. 높을수록 손상된 질문에서도 답변이 더 읽기 좋게 남았다는 뜻이다. 오른쪽 패널은 같은 질문셋에서 Noise Avg - Raw Avg로 계산한 raw 대비 변화량이다. 0에 가까울수록 raw 대비 하락폭이 작다.따라서 노이즈 결과는 Figure 4의 두 패널을 함께 봐야 한다. 왼쪽은 손상된 입력을 받았을 때 어느 모델 답변이 더 읽을 만하게 남았는지를 보여준다. 오른쪽은 같은 모델 안에서 raw 대비 얼마나 흔들렸는지를 보여준다. 이 둘은 같은 결론을 말하는 지표가 아니다.
Table 7은 손상 입력에서의 모델 간 차이를 원래 평가 지표 중심으로 다시 정리한 것이다. 같은 손상 질문에 대해 gpt-oss-120b가 1-10점으로 평가한 Readability, 기준 답안 overlap인 Char F1, 출력 형식 위반율인 Violation을 나란히 놓았다. raw 대비 하락폭은 Figure 4의 오른쪽 패널에서 따로 보고, 이 표에서는 손상된 입력을 받은 뒤 어느 모델의 답변이 더 읽을 만하게 남았는지를 본다.
| Noise | Readability | Char F1 | Violation | |||
|---|---|---|---|---|---|---|
| G4 | G3 | G4 | G3 | G4 | G3 | |
| Real typo | 5.32 | 3.86 | 0.542 | 0.474 | 0.14 | 0.32 |
| ASR noise | 5.68 | 4.00 | 0.534 | 0.496 | 0.16 | 0.26 |
G4와 G3는 각각 Gemma4와 Gemma3를 줄인 표기다. Readability는 gpt-oss-120b가 평가한 1-10점 평균이고, Char F1은 기준 답안 overlap이다. 둘은 높을수록 좋고, Violation은 낮을수록 좋다. raw 대비 변화량은 Figure 4의 오른쪽 패널에서 따로 본다.아로마와 허브의 차ㅣ는엇뭐인가요? 아직도 아로마에포함될 수 있는 식물들이 더 추가될 수 있나요?
아로마는 식물에서 추출한 에센셜 오일의 향을 말하며, 이 향을 이용해 심신 안정, 스트레스 완화, 기분 전환 등에 도움을 주는 것입니다. 반면에 허브는 식물의 줄기, 잎, 꽃, 열매 등을 약재나 향료로 사용하는 것입니다. 아로마테라피는 식물에서 추출한 에센셜 오일의 향을 이용하여 심신 안정, 스트레스 완화, 기분 전환 등에 도움을 주는 것으로, 식물 전체를 사용하는 것이 아니라 그 향을 이용하는 것입니다. 따라서 아로마와 허브는 서로 다른 개념으로, 식물 전체를 사용하는 것이 아니라 그 향을 이용하는 것이 아로마테라피의 핵심입니다.
아로마와 허브는 같은 의미로 사용되지만, 아로마는 향기로운 식물 전체를 가리키는 용어이고, 허브는 향기로운 식물의 종류 중 하나입니다. 따라서, 아로마는 향기로운 식물 전체를 가리키는 용어이며, 허브는 향기로운 식물의 종류 중 하나입니다. 아로마에 포함될 수 있는 식물들은 아직도 추가될 가능성이 있습니다.
결론
이 비교에서 가장 안정적으로 남는 결론은 단순하다. Gemma4는 base와 SFT 모두에서 Judge Preference와 Judge Score, 출력 형식 제어, 현실형 질문 손상 조건의 절대 Readability에서 더 강했다. SFT도 실제로 진행됐고, 100-step SFT 조건에서는 runtime도 더 짧았다.
Gemma3의 장점은 더 좁게 써야 한다. ROUGE-L과 Char F1에서 보인 차이는 작아서 유의미한 품질 우세로 해석하기 어렵다. 더 분명하게 남는 신호는 같은 질문에 여러 답안 변형을 보여준 학습에서 개선폭이 더 크게 나타났다는 점이다. 하지만 그것도 최종 품질 우세나 일반적인 노이즈 안정성 우세로 넓히면 과장된다.
4B급 한국어 SFT 비교에서 Gemma4는
Judge Preference,Judge Score, 형식 제어, 학습 효율, 현실형 질문 손상 조건의 절대Readability에서 더 일관되게 앞섰다. Gemma3는 답안 다양성에 더 크게 반응하는 모습이 있었지만, 기준 답안 유사도 차이는 품질 우세로 보기 어려웠다.
Appendix: 실험 조건
본문에는 결론을 읽는 데 필요한 수치만 남겼다. 재현을 위해 필요한 조건은 아래에 따로 정리한다. 핵심은 같은 데이터 분할과 같은 판정 조건에서 base, SFT, 질문 본문 손상 평가를 분리해 본 것이다.
| 항목 | 조건 |
|---|---|
| 비교 모델 | google/gemma-4-E4B-it, google/gemma-3-4b-it |
| 데이터셋 | beomi/KoAlpaca-v1.1a, train split |
| 분할 방식 | random_holdout, split_seed = 42, 같은 평가 index 사용 |
| Base / learning curve 평가 | 100문항 holdout, base, step50, step200, step500 비교 |
| SFT 구성 비교 평가 | 30문항 holdout, single, multi, duplicate arm 비교 |
| 질문 본문 손상 평가 | 50문항 holdout, raw, real_typo, asr_noise 비교 |
| 항목 | 조건 |
|---|---|
| Judge 모델 | gpt-oss-120b GGUF를 llama.cpp server로 실행 |
| Preference 산출 방식 | 두 답변을 pairwise로 제시하고 순서를 섞은 뒤 더 나은 답을 선택 |
| Reference 노출 | 핵심 모델 간 비교는 blind_to_reference로 진행 |
| Judge 실행 설정 | reasoning_effort = low, judge_concurrency = 2, judge_max_tokens = 1024 |
| 자동 지표 | Char F1, ROUGE-L F1; 기준 답안과의 표현 overlap 측정 |
| Readability 산출 | 같은 gpt-oss-120b로 각 답변을 1-10점 채점; 본문에는 손상 입력 답변의 Readability 평균과 raw 대비 변화량을 사용 |
Judge Preference는 절대 점수가 아니라 같은 질문에서 두 답변 중 선택된 비율이다.| 항목 | 조건 |
|---|---|
| 학습 방식 | QLoRA SFT; 4-bit로 base model을 load한 뒤 LoRA adapter만 학습 |
| Quantization | BitsAndBytesConfig(load_in_4bit = true), nf4, double quant, bfloat16 compute |
| Adapter 설정 | r = 16, lora_alpha = 32, lora_dropout = 0.05, bias = none |
| Adapter 대상 | text language_model의 attention/MLP projection 계열에만 adapter 부착 |
| K-bit 학습 준비 | prepare_model_for_kbit_training, bf16 = true, gradient checkpointing 사용 |
| SFT step | learning curve는 step50, step200, step500; SFT 구성 비교는 100-step |
| 학습 데이터 구성 | single 100 rows, multi 300 rows, duplicate 300 rows |
| 100-step SFT batch | per_device_batch_size = 16, gradient_accumulation_steps = 1, max_length = 1024 |
| 출력 형식 제약 | 한국어 일반 문장, Markdown/표/제목/목록/불릿/코드/굵게 금지, 한 문단 400자 이내, 5문장 제한 |
| 생성 설정 | max_new_tokens = 512, generation_batch_size = 16 |
Citation
이 글을 인용할 때는 아래 형식을 사용할 수 있다.
Ilho Ahn, "4B급 Gemma3와 Gemma4 한국어 SFT 비교: 품질, 학습, 노이즈", Mini Research, Apr 2026.
또는 BibTeX 형식으로는 다음처럼 적을 수 있다.
@article{ahn2026gemma3gemma4korean,
author = {Ilho Ahn},
title = {4B급 Gemma3와 Gemma4 한국어 SFT 비교: 품질, 학습, 노이즈},
journal = {Mini Research},
year = {2026},
month = apr,
url = {https://muted-color.github.io/research/2026/04/12/gemma3-e4b-korean-sft/}
}