sdgb-ai/ko-anti-cliche-gemma4-12b
ko-anti-cliche-gemma4-12b
A LoRA adapter for google/gemma-4-12B-it that suppresses the translationese "AI tells" Korean LLM output tends to carry — phrasings such as 단순히 ~가 아니라 ("not just X, but Y"), 핵심은 ~에 있다 ("the key lies in X"), and 반만 맞다 ("that's only half true").
What it suppresses
`단순히 ~가 아닌 B` — a manufactured contrast (English "not just X, but Y") An English-style construction that props up a foil A — set up only to be knocked down — so that B sounds bigger.
단순히 통제가 아닌 비전이다 → 비전을 제시하는 능력이다
Genuine factual distinctions like GPU 문제가 아니라 드라이버 문제다 ("it's a driver issue, not a GPU issue") are natural in Korean and are left untouched.
`핵심은 ~에 있다` — a "lies in" calque (English "the key lies in X")
협업의 핵심은 신뢰에 있다 → 협업의 핵심은 신뢰다
`반만 맞다` — an "only half true" calque (English "that's only half true")
Training
The preference signal is localized to the scaffold span/sentence rather than the full response. Token-level unlikelihood directly lowers the probability of the scaffold tokens (excluded on factual-correction rows), and a small CE anchor preserves fluency. Same recipe as the 26B-A4B sibling.
Self-evaluation
Protocol. 1,375 synthetic "definition" prompts; the 1,143 on which the base emitted a not-A-but-B scaffold were retained. Base and adapter were decoded through the same inference stack (HuggingFace, greedy). Truncated rows were dropped, leaving N = 1,137. Detection is a regex proxy; 95% Wilson CIs.
Table 1 — Conditional removal rate (denominator = prompts where the base emits the target)
Table 2 — Auxiliary measures (N = 1,137)
Limitations
This adapter works at the surface (word/phrase) level. English and Korean differ in how paragraphs and arguments are organized (point-first vs. point-last, etc.), and a LoRA does not change that discourse structure. It reduces the most visible translationese so individual sentences read less awkwardly.
Usage
from peft import PeftModel
from transformers import AutoModelForImageTextToText, AutoTokenizer
base = AutoModelForImageTextToText.from_pretrained(
"google/gemma-4-12B-it", torch_dtype="bfloat16", device_map="auto")
tok = AutoTokenizer.from_pretrained("google/gemma-4-12B-it")
model = PeftModel.from_pretrained(base, "sdgb-ai/ko-anti-cliche-gemma4-12b")<details> <summary><b>한국어</b></summary>
본 LoRA는 Gemma가 한국어를 생성할 때 나타나는 "단순히 ~가 아니라", "핵심은 ~에 있다", "반만 맞다" 같은 LLM 특유의 번역투를 억제하고, 자연스러운 한국어로 교정한다.
억제 대상
"단순히 ~가 아닌 B" — B를 강조하기 위해 깎아내릴 A를 인위적으로 만들어 내세우는 영어식 구문.
단순히 통제가 아닌 비전이다 → 비전을 제시하는 능력이다
다만 "GPU 문제가 아니라 드라이버 문제다"처럼 실제 사실을 구분하는 표현은 한국어에서도 자연스러우므로 억제하지 않음.
"핵심은 ~에 있다" — 영어 "the key lies in"의 직역. "~에 있다" 꼬리.
협업의 핵심은 신뢰에 있다 → 협업의 핵심은 신뢰다
"반만 맞다" — "that's only half true"의 직역으로, 주장을 평가하는 답변에서 자주 나타남.
학습 방법
선호 신호를 응답 전체가 아니라 스캐폴드 구간에 국소화함. token-level unlikelihood로 스캐폴드 토큰 확률을 직접 하향(사실 교정 행 제외), 작은 CE 앵커로 유창성 유지. 26B-A4B 형제와 동일 레시피.
자체 평가
방법. synthetic 정의형 프롬프트 1,375개 중 base가 not-A-but-B를 생성한 1,143개를 추림. base와 adapter를 동일 추론 스택(HF greedy) 으로 디코딩. 잘린 행 제외 → N = 1,137. 정규식 proxy, 95% Wilson 신뢰구간.
표 1 — 조건부 제거율 (분모 = base가 해당 패턴을 생성한 프롬프트)
표 2 — 보조 지표 (N = 1,137)
한계
영어와 한국어는 문단 구성·논리 전개 방식 자체가 다르지만(두괄식 vs 미괄식 등), 이 어댑터가 그 담화 구조까지 바꾸지는 못함. 다만 눈에 띄는 번역투를 줄여 문장 단위의 어색함을 완화하는 수준으로 사용할 수 있음.
</details>
<sub>LoRA r=16, q/k/v/o (language tower), 85MB. base google/gemma-4-12B-it (gemma license). 형제: ko-anti-cliche-gemma4-26b-a4b.</sub>
