프로덕션 로컬라이제이션은 분리된 문단과 문자열 단위로 이뤄진다. CI/CD 파이프라인은 이전 버전과의 차이를 비교해 변경된 부분만 다시 번역한다. UI 문자열, 툴팁, 수정된 문단이 여기에 해당한다. 각 요청은 주변 페이지도, 문서 전체 맥락도, 이 텍스트가 EU 법률 문체인지 마케팅 카피인지 알려 주는 어떤 신호도 없이 LLM에 단독으로 들어간다. 추론 시점에 도메인 맥락이 주입되지 않으면, 이렇게 분리된 요청 하나하나가 용어 드리프트를 일으킬 기회가 된다.
**검색 증강 로컬라이제이션(RAL)**은 각 번역 요청에 추론 시점에 용어집 항목, 브랜드 보이스 규칙, 로캘별 지침을 더해 이 격차를 메운다. 이는 Retrieval Augmented Generation (RAG)의 retrieve-inject 패턴과 같은 방식이다. 5개 LLM 제공업체와 5개 유럽 언어를 대상으로 한 통제된 평가에서 RAL은 용어 오류를 16.6~44.6% 줄였다.
주요 결과:
- RAL은 테스트한 5개 LLM 제공업체 전체에서 용어 오류를 16.6~44.6% 줄였다
- 전체적 품질 점수(GEMBA-DA)로는 이런 차이를 감지할 수 없었다. 점수 차이는 0.0007~0.0178에 불과했지만, MQM은 오류가 수천 건 더 적다고 집계했다
- 기본 용어 점수가 낮은 모델일수록 개선 폭이 컸다. Mistral(-44.6%)과 Deepseek(-42.1%)는 Anthropic(-24.4%)과 Google(-16.6%)보다 더 크게 개선됐다
- 로캘별로는 포르투갈어의 개선 폭이 가장 컸고 프랑스어가 가장 작았다. 도메인 용어가 학습 데이터와 더 멀수록 RAL의 효과는 더 커졌다
분리의 문제#
프로덕션 로컬라이제이션의 단위는 작다. 문단 하나, 문자열 하나, diff 하나다. 200단어를 넘는 경우는 드물고, 50단어 미만인 경우도 흔하다. JSON 로캘 파일에는 개별 키가 들어 있고, 각 키에는 구나 문장이 담긴다. CMS 페이지는 블록으로 구성되며, 각 블록은 독립적으로 번역된다.
모델이 분리된 영어 문단에서 "provider"를 마주하면 판단해야 한다. 포르투갈어의 일반 표현인 "fornecedor"인지, 아니면 공식 EU 법률 용어인 "prestador"인지. 도메인 맥락이 없으면 모델은 보통 더 흔한 표현을 고른다. 이런 일이 모든 로캘의 모든 도메인 특화 용어에서 반복되면, 용어 드리프트는 예외가 아니라 기본값이 된다.
우리는 이 격차가 실제로 얼마나 큰지, 그리고 추론 시점에 용어집 맥락을 주입하면 이를 얼마나 메울 수 있는지 정확히 측정하고자 했다.
첫 번째 시도에서는 아무것도 보이지 않았다#
초기 실험에서는 로캘 쌍당 37개의 용어집 항목을 사용했고, 번역을 아티클 수준에서 평가했다. 즉 각 아티클(200~700단어)을 하나의 단위로 채점했다. 결과는 이랬다. GEMBA-DA — WMT23 우승 전체적 품질 프롬프트 — 는 순수 출력과 구성된 출력 모두에 0.952를 부여했다. MQM 오류 주석 점수도 모든 번역에서 0.985~0.999를 기록했다. 신호가 없었다. 차이도 없었다. 모든 지표상에서 순수 출력과 용어집 보강 출력은 동일해 보였다.
우리는 하마터면 의미 있는 차이가 없다는 결과를 그대로 발표할 뻔했다. 그러다 왜 그런지 들여다봤다.
문제는 두 가지였다. 첫째, 용어집 37개는 너무 적었다. 많은 테스트 문단에 용어집 일치 항목이 아예 없어서, 구성된 엔진이 이점을 가질 수 없었다. 둘째, 아티클 수준 평가는 품질 차이를 수학적으로 잡음으로 압축해 버린다. MQM 점수는 1 - penalty / wordCount로 계산된다. 500단어 아티클에서 주요 용어 오류 하나: 1 - 5/500 = 0.99. 같은 오류가 50단어 문단에 있을 때: 1 - 5/50 = 0.90. 오류는 똑같다. 점수는 그렇지 않다. 아티클 수준에서는 실제 품질 차이가 모두 0.98 위에서 사라진다.
이건 우리 연구만의 측정 문제가 아니다. 페이지나 아티클 수준에서 평가하는 모든 번역 벤치마크에 해당한다. 오류는 분명히 존재한다. 다만 지표가 그것을 보지 못할 뿐이다.
우리는 보는 방식을 바꿨다#
두 번째 실험에서는 네 가지를 바꿨다.
첫째, 용어집을 로캘 쌍당 37개에서 72개로 늘렸다. 이는 평가에 사용한 테스트 세트와 분리된 아티클 학습 세트에서 추출했다. 둘째, 실제 프로덕션 번역 단위에 맞춰 문단 수준(50~200단어)에서 채점했다. 셋째, 심사자가 용어를 직접 비교할 수 있도록 MQM 채점 프롬프트에 사람 기준 번역을 추가했다. 넷째, 심사자 수를 6명에서 4명으로 줄였다. Deepseek와 QWEN은 문단당 1~3개 오류만 표시한 반면, 더 엄격한 심사자들은 5~15개를 표시했다. 지나치게 관대해 신호를 더해 주지 못했다.
신호는 바로 나타났다.
연구 설계#
데이터셋. 우리는 까다로운 조건에서 용어집 주입을 스트레스 테스트하기 위해, 가능한 한 용어 밀도가 높은 텍스트 유형을 찾았다. EU AI Act(규정 2024/1689)가 딱 맞았다. 모든 문단에 공식적으로 정의된 번역이 필요한 용어가 들어 있는, 격식 있는 규제 문서이기 때문이다. EUR-Lex는 5개 대상 언어 모두에 대해 공식 사람 번역을 제공하므로, 문단별로 정답 기준과 비교해 채점할 수 있다. 총 15개 아티클을 영어에서 독일어, 프랑스어, 스페인어, 포르투갈어, 이탈리아어로 번역했다.
엔진. 각 제공업체는 두 가지 로컬라이제이션 엔진 구성으로 테스트했다. 순수 엔진(LLM 단독 — 용어집 없음, 검색 없음, 학습된 지식만으로 번역)과 RAL 보강 엔진(동일 모델에 도메인 용어집, 브랜드 보이스 프로필, 로캘별 지침을 추론 시점에 적용)이다. 총 10개의 엔진을 평가했으며, 모든 RAL 보강 엔진은 같은 구성을 사용했다.
| 제공업체 | 모델 | 순수 엔진 | RAL 엔진 |
|---|---|---|---|
| Anthropic | claude-opus-4.6 | 모델만 | 용어집 + 브랜드 보이스 + 지침 |
| OpenAI | gpt-5.4 | 모델만 | 용어집 + 브랜드 보이스 + 지침 |
| gemini-3.1-pro-preview | 모델만 | 용어집 + 브랜드 보이스 + 지침 | |
| Mistral | mistral-large-2512 | 모델만 | 용어집 + 브랜드 보이스 + 지침 |
| Deepseek | deepseek-v3.2 | 모델만 | 용어집 + 브랜드 보이스 + 지침 |
QWEN도 처음에는 포함됐지만 최종 세트에서는 제외됐다. 번역 속도가 느리고 결과도 불안정했는데, 심사자에서 제외된 이유도 같은 문제였다.
RAL 구성. 각 보강 엔진에는 로캘 쌍당 72개의 용어집 항목(사용자 정의 번역 70개와 비번역 항목 2개), 브랜드 보이스 프로필(EU 규제 문체의 격식 있는 레지스터), 그리고 로캘별 지침 13개가 포함됐다. 용어집 항목은 평가에 사용한 테스트 세트와 분리된 아티클 학습 세트에서 추출했다. 예시 항목: EN "provider" → PT "prestador" ("fornecedor"가 아님); EN "high-risk AI system" → PT "sistema de IA de risco elevado" ("sistema de IA de alto risco"가 아님). 추론 시점에는 현재 문단과 일치하는 항목만 검색해 모델에 전달하므로, 용어집 크기가 컨텍스트 창을 불필요하게 부풀리지는 않는다. 엔진은 Lingo.dev에서 상태 저장형 로컬라이제이션 엔진으로 구성했으며, 모든 요청에 지속적인 맥락이 적용됐다.
채점. 번역된 각 문단은 4명의 LLM 심사자가 평가했고, 개별 심사자의 편향을 완화하기 위해 평균을 냈다. 각 심사자는 자기 모델의 출력만이 아니라 모든 제공업체의 출력을 평가한다:
| 심사자 | 모델 |
|---|---|
| Anthropic | claude-sonnet-4.6 |
| OpenAI | gpt-4.1 |
| gemini-2.5-flash | |
| Mistral | mistral-large-2512 |
GEMBA-MQM. MQM (Multidimensional Quality Metrics)은 번역 품질 평가를 위한 표준 프레임워크로, 보통 훈련된 사람 주석자가 수행한다. GEMBA-MQM은 WMT23 우승 평가 방식으로, 동일한 MQM 프로토콜을 따르되 사람 주석자를 LLM으로 대체한다. 즉 심사자는 번역을 읽고 모든 오류를 표시한 뒤, 각각에 범주와 심각도를 부여한다.
오류 범주는 정확성, 유창성, 스타일, 용어다. 심각도 가중치는 공식 MQM 표준을 따른다: minor = 1, major = 5, critical = 25.
문단별 MQM 점수: max(0, 1 - weighted penalty / word count). 50단어 문단에 주요 용어 오류가 하나 있으면 점수는 1 - 5/50 = 0.90가 된다. 완벽한 문단의 점수는 1.0이다. 결과 표의 오류 수는 특정 제공업체와 로캘에 대해 4명의 심사자와 모든 문단에 걸쳐 합산한 값이다.
표준 GEMBA-MQM 프롬프트에서 한 가지를 바꿨다. 사람 기준 번역을 추가한 것이다. GEMBA-MQM은 설계상 reference-free여서, 심사자는 "정답"을 보지 않고 품질을 평가한다. 하지만 EUR-Lex가 EU AI Act의 공식 번역을 5개 대상 언어 모두에 대해 제공하기 때문에, 심사자가 용어를 정답 기준과 직접 비교할 수 있도록 기준 번역을 추가했다.
GEMBA-DA. GEMBA-DA 프롬프트를 사용하는 전체적 0~1 품질 점수다(이 역시 WMT23 우승 방식). MQM과 달리 오류 주석 없이 단일 점수만 산출한다. 결과가 보여주듯, 이를 sanity check로 포함했지만 용어 수준의 차이는 감지하지 못했다.
Deepseek는 지나치게 관대한 채점(문단당 1~3개 오류, 엄격한 심사자는 5~15개) 때문에 심사 패널에서 제외됐다. 4명의 심사자 평균은 개별 편향을 완화하며, 순수 대비 RAL 개선의 상대적 패턴은 모든 심사자에서 일관되게 나타났다.
표본 크기. 제공업체당 짝지은 문단 관측치 535개(문단 107개 × 로캘 5개)였다. 총 42,000건이 넘는 개별 품질 판정(문단 535개 × 제공업체 5개 × 구성 2개 × 각 8개 점수)이다.
용어 오류 16.6~44.6% 감소#
| 제공업체 | 순수 오류 수 | RAL 오류 수 | 감소율 |
|---|---|---|---|
| Mistral | 3,336 | 1,847 | -44.6% |
| Deepseek | 3,672 | 2,127 | -42.1% |
| OpenAI | 2,276 | 1,508 | -33.7% |
| Anthropic | 1,559 | 1,179 | -24.4% |
| 1,901 | 1,586 | -16.6% |
15개 아티클, 5개 로캘, 4명의 심사자 기준 MQM 용어 오류 수.
개선 폭은 기본 성능과 반비례하는 흐름을 보였다. 순수 오류 수가 가장 많았던 Mistral과 Deepseek는 42.1~44.6% 감소를 기록했다. 반면 학습 단계에서 이미 EU 법률 용어를 더 많이 반영하고 있던 Anthropic과 Google은 개선 폭이 더 작았다. 패턴은 분명하다. RAL은 모델이 아직 모르는 부분을 메워 준다.
반면 전체적 점수인 GEMBA-DA는 모든 제공업체에서 순수와 RAL 사이의 차이를 0.0007~0.0178로 보고했다. MQM이 16.6~44.6% 더 많은 용어 오류를 지적한 바로 그 번역들이, 전체적 점수에서는 거의 같은 평가를 받은 것이다. 이것이 측정의 간극이다. 평가 단위가 무엇이든, 전체적 평가는 용어 수준의 품질 차이를 감지할 수 없다.
한편 총 오류 수(MQM의 모든 범주 합계)도 5개 제공업체 모두에서 더 작지만 일관된 감소를 보였다.
| 제공업체 | Raw 총계 | RAL 총계 | 변화 |
|---|---|---|---|
| Deepseek | 10,423 | 9,014 | -13.5% |
| Mistral | 8,846 | 7,812 | -11.7% |
| OpenAI | 7,563 | 7,155 | -5.4% |
| 7,793 | 7,545 | -3.2% | |
| Anthropic | 6,232 | 6,039 | -3.1% |
용어 오류 감소폭(16.6~44.6%)과 전체 오류 감소폭(3.1~13.5%) 사이의 차이는 대부분 스타일에서 비롯된다. LLM 평가자는 텍스트가 공식 레퍼런스에 더 가까워지는 방향으로 달라졌더라도, 자신의 학습 데이터 선호와 어긋나면 이를 "어색하다"고 판단하는 경향이 있다. 이는 self-preference bias로 알려진 한계다. 용어와 정확성은 레퍼런스를 기준으로 판단할 수 있지만, 스타일에는 평가자 스스로 느끼는 자연스러움 외에 별도의 기준점이 없다.
통계적 유의성#
용어 오류 감소는 각 제공업체별로 대응표본 Wilcoxon 부호순위 검정(단측, 5개 제공업체 전체에 대해 Holm-Bonferroni 보정 적용)으로 검정했다. 문단별 용어 오류 수는 4명의 평가자 결과를 합산한 뒤, 문단 단위로 짝지었다(동일한 원문, 동일한 평가자, raw vs RAL).
| 제공업체 | 대응 문단 수 | 문단당 평균 감소 | 95% 신뢰구간 | Cohen's d | p(보정값) |
|---|---|---|---|---|---|
| Mistral | 532 | 2.80 | [2.42, 3.21] | 0.60 | < 0.001 |
| Deepseek | 526 | 2.94 | [2.45, 3.44] | 0.50 | < 0.001 |
| OpenAI | 535 | 1.44 | [1.12, 1.77] | 0.37 | < 0.001 |
| Anthropic | 533 | 0.71 | [0.50, 0.93] | 0.28 | < 0.001 |
| 533 | 0.59 | [0.34, 0.85] | 0.20 | < 0.001 |
5개 제공업체 모두에서 용어 오류 감소가 통계적으로 유의했다(다중 비교에 대한 Holm-Bonferroni 보정 후 p < 0.001). 95% 신뢰구간 역시 모두 0을 제외했다. 효과 크기는 중간~큰 수준(Mistral, d = 0.60)부터 작은 수준(Google, d = 0.20)까지 분포했으며, 이는 기본 용어 커버리지가 낮은 모델일수록 RAL의 효과를 더 크게 본다는 패턴과 일치한다.
RAL의 효과가 가장 큰 경우#
포르투갈어는 모든 제공업체에서 가장 큰 용어 개선 폭을 보였다. 포르투갈어 법률 용어는 일상적인 포르투갈어와 차이가 크고, 포르투갈어 EU 법률 용어는 LLM 학습 데이터에서 충분히 다뤄지지 않는다. 반대로 프랑스어는 개선 폭이 가장 작았다. 프랑스어 법률 용어는 학습 코퍼스에 잘 반영되어 있기 때문이다.
사례 연구: OpenAI 포르투갈어
OpenAI의 raw 출력은 EU AI Act를 포르투갈어로 번역하면서 구어적인 "high risk" 표현인 "alto risco"를 71회, "fornecedores"를 39회, "fornecedor"를 36회 사용했다. 반면 공식 EUR-Lex 번역은 "risco elevado"와 "prestadores"를 사용한다. RAL 적용 후 OpenAI 포르투갈어의 용어 오류는 648건에서 266건으로 줄어 59% 감소했다.
이 패턴은 다른 경우에도 그대로 나타난다. 특정 도메인의 용어가 LLM의 학습 분포와 멀수록, 해당 로캘은 RAL의 효과를 더 크게 본다.
메커니즘#
효과를 만드는 메커니즘은 단순하다. 추론 시점에 엔진은 입력 텍스트를 n-gram 구문으로 분해하고 임베딩한다. 그런 다음 용어집의 벡터 인덱스를 대상으로 코사인 유사도 검색을 수행해 일치하는 용어를 찾는다. 이렇게 찾은 용어는 원문과 함께 LLM의 컨텍스트 윈도에 주입된다. 모델은 "fornecedor"와 "prestador" 중 무엇을 쓸지 추측하는 것이 아니라, 컨텍스트 안에서 올바른 매핑을 보고 그대로 사용한다. 구조적으로는 RAG와 동일하다: 임베딩, 검색, 주입, 생성.
Raw 품질 기준 제공업체 순위#
RAL 미적용 시 - raw 모델 출력만 기준:
| 순위 | 제공업체 | MQM 평균 |
|---|---|---|
| 1 | Anthropic | 0.955 |
| 2 | OpenAI | 0.942 |
| 3 | 0.938 | |
| 4 | Mistral | 0.915 |
| 5 | Deepseek | 0.883 |
Anthropic과 Deepseek 사이의 0.072 격차는 100단어 문단당 대략 3~4개의 추가 오류에 해당한다. RAL은 이 격차를 좁혔다. RAL을 적용한 Mistral(평균 0.940)은 Google의 raw 품질(0.938)에 근접했다. 토큰당 비용이 훨씬 낮은 모델이 72개 용어 용어집으로 보강되자, 더 비싼 모델이 용어집 없이 낸 결과와 맞먹는 수준의 용어 정확도를 달성했다.
프로덕션에서의 의미#
raw LLM 출력과 프로덕션 수준의 로컬라이제이션 사이에 생기는 품질 격차는 결국 컨텍스트 문제이며, 시간이 지날수록 더 커진다. RAL 없이 열 번의 릴리스를 거치면 "provider"의 서로 다른 오역 세 가지가 제품 안에 동시에 남게 된다.
RAL은 이 패턴을 끊는다. 용어집은 지속적으로 유지되며, 무엇이 바뀌었는지와 관계없이 모든 요청에 적용된다. 이번 연구에서 오류를 16.6~44.6% 줄인 72개 용어 용어집은 일회성 개선이 아니다. 제품 수명 전반에 걸쳐 모든 번역 요청에 작동하는 일관성 계층이다.
LLM 번역을 실제로 배포하는 팀이 기억해야 할 점은 두 가지다. 첫째, 전체적인 품질 점수만으로는 용어 수준의 문제를 포착할 수 없다. WMT23 우승 방법인 GEMBA-DA는 raw 번역과 RAL로 보강된 번역의 점수 차이를 0.0007~0.0178로 평가했다. 반면 MQM은 용어 오류가 16.6~44.6% 더 적다고 집계했다. 페이지 단위의 단일 점수로만 평가하면 전체 그림을 놓치게 된다.
둘째, 해결책은 문제의 복잡함에 비해 훨씬 단순하다. 추론 시점에 주입한 도메인 용어집은 우리가 테스트한 모든 제공업체에서 용어 오류를 줄였다. 가장 잘 번역하는 모델(Anthropic, MQM 0.955)도 개선됐고, 기본 오류율이 가장 높은 모델(Deepseek, MQM 0.883)은 가장 크게 개선됐다.
RAL은 로컬라이제이션에서 RAG가 생성에 하는 역할과 같다. 모델과 프로덕션 사이를 잇는 엔지니어링 계층이다.

