{ "experiment": "multilingual-script-repertoire-masks", "date": "2026-09-01", "title": "타깃 언어별 스크립트 오염 억제 — 레퍼토리 기반 마스크 (Qwen3.8-27B)", "environment": { "base_model": "Qwen/Qwen3.8-27B", "engine": "vllm/vllm-openai:v0.28.0", "gpu": "NVIDIA B200 x1", "serve": { "max_model_len": 8192, "gpu_memory_utilization": 0.85, "max_num_seqs": 256, "TORCH_COMPILE_DISABLE": "0", "verified_in_pod": "CompilationMode.VLLM_COMPILE · CUDAGraphMode.FULL_AND_PIECEWISE", "model_load_sec": 105.6 }, "method": "logit_bias -100 프록시 (27B 에서 실가중치와 -0.03pp 재현). 샤드 패치 없음." }, "prompts": { "per_language": 300, "design": "템플릿 15 x 주제 20", "⛔": "모델이 작성했고 원어민 검수 없음" }, "contamination": { "zh-TW": { "T0": { "base_pct": 8.0, "mask_pct": 0.0, "delta_pp": -8.0, "mcnemar_p": 3e-06, "verdict": "SIGNIFICANT", "contam_chars": [ 32, 0 ], "target_script_ratio": [ 0.96, 0.964 ], "n": 300 }, "T1": { "base_pct": 40.0, "mask_pct": 1.33, "delta_pp": -38.67, "mcnemar_p": 0.0, "verdict": "SIGNIFICANT", "contam_chars": [ 231, 7 ], "target_script_ratio": [ 0.956, 0.956 ], "n": 300 }, "temperature_multiplier": 5.0 }, "yue": { "T0": { "base_pct": 2.33, "mask_pct": 0.33, "delta_pp": -2.0, "mcnemar_p": 0.0771, "verdict": "NOT_SIGNIFICANT", "contam_chars": [ 11, 1 ], "target_script_ratio": [ 0.952, 0.951 ], "n": 300 }, "T1": { "base_pct": 20.33, "mask_pct": 0.67, "delta_pp": -19.66, "mcnemar_p": 0.0, "verdict": "SIGNIFICANT", "contam_chars": [ 213, 2 ], "target_script_ratio": [ 0.95, 0.946 ], "n": 300 }, "temperature_multiplier": 8.7 }, "ja": { "T0": { "base_pct": 0.67, "mask_pct": 0.33, "delta_pp": -0.34, "mcnemar_p": 1.0, "verdict": "NO_POWER", "contam_chars": [ 3, 2 ], "target_script_ratio": [ 0.989, 0.991 ], "n": 300 }, "T1": { "base_pct": 5.0, "mask_pct": 0.33, "delta_pp": -4.67, "mcnemar_p": 0.001154, "verdict": "BORDERLINE", "contam_chars": [ 304, 2 ], "target_script_ratio": [ 0.99, 0.991 ], "n": 300 }, "temperature_multiplier": 7.5 }, "vi": { "T0": { "base_pct": 0.0, "mask_pct": 0.0, "delta_pp": 0.0, "mcnemar_p": 1.0, "verdict": "NO_POWER", "contam_chars": [ 0, 0 ], "target_script_ratio": [ 1.0, 1.0 ], "n": 300 }, "T1": { "base_pct": 2.0, "mask_pct": 0.0, "delta_pp": -2.0, "mcnemar_p": 0.041227, "verdict": "BORDERLINE", "contam_chars": [ 12, 0 ], "target_script_ratio": [ 1.0, 1.0 ], "n": 300 } }, "ar": { "T0": { "base_pct": 0.33, "mask_pct": 0.0, "delta_pp": -0.33, "mcnemar_p": 1.0, "verdict": "NO_POWER", "contam_chars": [ 1, 0 ], "target_script_ratio": [ 0.987, 0.988 ], "n": 300 }, "T1": { "base_pct": 0.33, "mask_pct": 0.33, "delta_pp": 0.0, "mcnemar_p": 1.0, "verdict": "NO_POWER", "contam_chars": [ 1, 1 ], "target_script_ratio": [ 0.988, 0.987 ], "n": 300 }, "temperature_multiplier": 1.0 } }, "capability": { "base": { "coding": { "n_scored": 164, "correct_n": 155, "pct": 94.51, "min_detectable_delta_pp": 7.05, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 } }, "english": { "n_scored": 200, "correct_n": 161, "pct": 80.5, "min_detectable_delta_pp": 11.1, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 } } }, "zh-TW": { "coding": { "n_scored": 164, "correct_n": 155, "pct": 94.51, "min_detectable_delta_pp": 7.05, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 }, "delta_pp_vs_base": 0.0, "verdict": "UNDETECTED (|delta| < MDD — '회귀 없음'이 아니다)" }, "english": { "n_scored": 200, "correct_n": 161, "pct": 80.5, "min_detectable_delta_pp": 11.1, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 }, "delta_pp_vs_base": 0.0, "verdict": "UNDETECTED (|delta| < MDD — '회귀 없음'이 아니다)" } }, "yue": { "coding": { "n_scored": 164, "correct_n": 157, "pct": 95.73, "min_detectable_delta_pp": 6.26, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 }, "delta_pp_vs_base": 1.22, "verdict": "UNDETECTED (|delta| < MDD — '회귀 없음'이 아니다)" }, "english": { "n_scored": 200, "correct_n": 161, "pct": 80.5, "min_detectable_delta_pp": 11.1, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 }, "delta_pp_vs_base": 0.0, "verdict": "UNDETECTED (|delta| < MDD — '회귀 없음'이 아니다)" } }, "ja": { "coding": { "n_scored": 164, "correct_n": 156, "pct": 95.12, "min_detectable_delta_pp": 6.67, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 }, "delta_pp_vs_base": 0.61, "verdict": "UNDETECTED (|delta| < MDD — '회귀 없음'이 아니다)" }, "english": { "n_scored": 200, "correct_n": 161, "pct": 80.5, "min_detectable_delta_pp": 11.1, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 }, "delta_pp_vs_base": 0.0, "verdict": "UNDETECTED (|delta| < MDD — '회귀 없음'이 아니다)" } }, "vi": { "coding": { "n_scored": 164, "correct_n": 155, "pct": 94.51, "min_detectable_delta_pp": 7.05, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 }, "delta_pp_vs_base": 0.0, "verdict": "UNDETECTED (|delta| < MDD — '회귀 없음'이 아니다)" }, "english": { "n_scored": 200, "correct_n": 161, "pct": 80.5, "min_detectable_delta_pp": 11.1, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 }, "delta_pp_vs_base": 0.0, "verdict": "UNDETECTED (|delta| < MDD — '회귀 없음'이 아니다)" } }, "ar": { "coding": { "n_scored": 164, "correct_n": 155, "pct": 94.51, "min_detectable_delta_pp": 7.05, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 }, "delta_pp_vs_base": 0.0, "verdict": "UNDETECTED (|delta| < MDD — '회귀 없음'이 아니다)" }, "english": { "n_scored": 200, "correct_n": 161, "pct": 80.5, "min_detectable_delta_pp": 11.1, "settings": { "temperature": 0.0, "enable_thinking": false, "max_tokens": 1200 }, "delta_pp_vs_base": 0.0, "verdict": "UNDETECTED (|delta| < MDD — '회귀 없음'이 아니다)" } } }, "findings": [ "온도가 오염률을 지배한다 — base 오염이 T=0 대비 T=1.0 에서 zh-TW 5.0배 · yue 8.7배 · ja 7.5배. 한국어에서 관측한 5배가 다른 언어에서도 재현된다.", "T=1.0 에서 4개 언어가 유의하게 내려간다: zh-TW 40.0→1.33 · yue 20.33→0.67 · ja 5.0→0.33 · vi 2.0→0.0.", "⛔ 아랍어는 널이다 — T=0/T=1.0 둘 다 base 0.33% 이고 마스크가 바꾸지 못한다. 이 모델은 아랍어에 페르소-우르두 정서법을 (우리 300 프롬프트에서) 흘리지 않는다.", "T=0 만 재면 5개 중 4개가 '측정력 없음'으로 나온다 — 널을 '효과 없음'으로 읽으면 틀린다.", "능력 회귀 없음: coding -0.0~+1.22pp, english 전 팔 동일. 모두 최소검출차 이내.", "대가 없음: 생성 단위 대가 프로브에서 마스크로 인한 손실 0건 (5개 언어 30문항).", "타깃 스크립트 비율이 전 팔에서 유지됐다 — 마스크가 '다른 언어로 도망가게' 만들지 않았다." ], "honest_caveats": [ "⛔ 프롬프트는 모델이 작성했고 원어민 검수가 없다. 문법 오류가 섞여 있을 수 있다.", "⛔ 오염 문자 판정 기준이 마스크 토큰 판정 기준과 같은 레퍼토리다. 자명하게 0 이 되지는 않지만(잔여가 남는다) 독립적인 지표는 아니다.", "⛔ Big5 는 간체처럼 보이는 일부 글자(种·机·确·制·价)를 포함한다 — 마스크도 지표도 이들을 못 본다. zh-TW 수치는 'Big5 가 볼 수 있는 간체 오염'의 감소분이다.", "⛔ Shift-JIS 는 中國語에서 흔한 个 를 포함한다 — 일본어 마스크의 알려진 위음성.", "능력 축(coding·english)은 마스크된 문자를 애초에 쓰지 않는다 — 회귀를 잡을 힘이 구조적으로 약하다. 그래서 생성 단위 대가 프로브를 따로 뒀다.", "vi(p=0.041)·yue T=0(p=0.077)은 단일 런 경계값이다 — 결정에 쓰려면 반복 측정이 필요하다.", "각 언어 300 프롬프트 x 1회. 반복 런 없음 — 런간 산포는 재지 않았다.", "logit_bias 프록시다. 27B 에서 실가중치와 -0.03pp 재현했지만 0.8B 에서는 깨진 전례가 있다.", "능력 팔의 logit_bias 도달은 프로세스 인자와 양성 대조(电脑→computer)로 확인했다." ], "collateral": { "ja": { "n": 6, "base_pass": 5, "mask_pass": 5, "collateral_loss": 0 }, "zh-TW": { "n": 6, "base_pass": 6, "mask_pass": 6, "collateral_loss": 0 }, "yue": { "n": 6, "base_pass": 5, "mask_pass": 5, "collateral_loss": 0 }, "vi": { "n": 6, "base_pass": 6, "mask_pass": 6, "collateral_loss": 0 }, "ar": { "n": 6, "base_pass": 6, "mask_pass": 6, "collateral_loss": 0 } }, "note": "공개본입니다. 측정값과 서빙 설정은 원본과 동일하고 내부 인프라 식별자만 제거했습니다." }