Machine Translation
기계 번역(MT)은 텍스트나 음성을 한 언어에서 다른 언어로 변환합니다. 규칙 기반, 통계적, 신경망 기반 MT, BLEU와 COMET, LLM을 다룹니다.
기계 번역(MT)은 텍스트나 음성을 한 언어에서 다른 언어로 자동 번역하는 기술입니다. 이는 자연어 처리(NLP)의 가장 오래된 작업 중 하나이자 가장 널리 사용되는 작업 중 하나입니다. Google Translate, DeepL, Microsoft Translator는 웹 페이지, 문서, 채팅 메시지, 제품 목록, 음성 대화를 인간 번역가로 구성된 어떤 팀도 따라잡기 어려운 규모로 번역합니다. 오늘날의 시스템은 신경망을 사용하며, 대규모 언어 모델(LLMs)은 일반적인 기능 중 하나로 번역을 수행합니다.
규칙 기반 방식에서 통계 기반 방식, 신경망 방식으로#
1954년 조지타운-IBM 실험에서는 250개 단어의 어휘와 6개의 문법 규칙을 사용해 60개가 넘는 러시아어 문장을 영어로 번역했으며, 주최자들은 몇 년 안에 MT가 해결될 것이라고 예측했습니다. 1966년 ALPAC 보고서는 기계 번역이 인간 번역보다 느리고 정확도가 낮다고 평가했고, 미국의 MT 연구 지원금은 대폭 삭감되었습니다. 1968년에 설립된 SYSTRAN과 같은 규칙 기반 시스템은 각 언어 쌍의 사전과 문법 규칙을 수작업으로 입력했습니다.
통계 기반 MT는 대신 데이터에서 번역을 학습했습니다. Peter Brown이 이끄는 IBM 연구진은 1993년에 캐나다 의회의 이중 언어 기록을 바탕으로 어떤 프랑스어 단어가 어떤 영어 단어에 대응하는지 학습하는 단어 정렬 모델을 발표했습니다. 구 단위 MT(2003)는 여러 단어로 구성된 덩어리를 번역했으며, Google Translate가 2006년 출시 당시 사용한 접근 방식이었습니다. 신경망 MT는 통계 기반 파이프라인을 종단 간 학습된 하나의 네트워크로 대체했습니다. Ilya Sutskever와 동료들이 만든 시퀀스-투-시퀀스 모델(2014)은 장단기 메모리(LSTM) 네트워크를 사용해 문장을 하나의 벡터로 인코딩한 다음 다른 언어로 디코딩했습니다. Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio는 디코더가 모든 원문 단어를 다시 살펴볼 수 있도록 하는 어텐션 메커니즘을 추가했습니다. Google의 신경망 시스템은 2016년 간단한 문장을 대상으로 한 인간 평가의 대조 실험에서 구 단위 상용 시스템보다 번역 오류를 평균 60% 줄였습니다. 번역을 위해 이듬해 소개된 트랜스포머는 WMT 2014 벤치마크에서 영어-독일어 28.4 BLEU, 영어-프랑스어 41.8 BLEU를 기록했습니다.
신경망 기계 번역의 작동 방식#
원문은 바이트 페어 인코딩과 같은 토큰화 방식으로 하위 단어 토큰으로 분할되므로, 드문 단어와 이름도 알려진 조각으로 나뉩니다. 인코더는 원문 문장 전체를 문맥 벡터로 변환하고, 디코더는 이미 생성한 토큰에 주의를 기울이는 동시에 교차 어텐션을 통해 인코더의 벡터도 참고하면서 한 번에 토큰 하나씩 번역문을 작성합니다:
디코더가 어떤 내용도 작성하기 전에 인코더가 문장 전체를 읽기 때문에 각 단어의 번역은 문맥에 따라 달라집니다:
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
# T5 is an encoder-decoder transformer; a text prefix selects the translation task
tokenizer = AutoTokenizer.from_pretrained("google-t5/t5-small")
model = AutoModelForSeq2SeqLM.from_pretrained("google-t5/t5-small")
sentences = ["She went to the bank to open an account.", "They had a picnic on the bank of the river."]
inputs = tokenizer([f"translate English to German: {s}" for s in sentences], return_tensors="pt", padding=True)
# The decoder writes each German sentence one token at a time with beam search
outputs = model.generate(**inputs, num_beams=4, max_new_tokens=40)
for source, translation in zip(sentences, tokenizer.batch_decode(outputs, skip_special_tokens=True)):
print(f"{source} -> {translation}")영어-독일어 번역을 작업 중 하나로 학습한 Google의 6천만 매개변수 T5-small은 "Sie ging an die Bank, um ein Konto zu eröffnen."에서 "bank"를 "Bank"(금융 기관)로, "Sie hatten ein Picknick am Ufer des Flusses."에서는 "Ufer"(강둑)로 번역합니다. 또한 독일어 어순에 맞게 "eröffnen"(열다)을 절의 끝으로 이동합니다.
번역 평가#
2002년 IBM의 Kishore Papineni와 동료들이 소개한 BLEU는 번역문과 하나 이상의 인간 참조 번역문 사이에서 겹치는 단어 시퀀스를 기준으로 점수를 계산하고, 결과가 지나치게 짧으면 감점합니다. 비용이 적고 재현성이 높지만, 참조 번역문과 다른 표현을 사용한 올바른 번역에는 낮은 점수를 줍니다. COMET(2020)과 같은 학습 기반 지표는 인간의 품질 평가를 학습한 신경망으로 번역문에 점수를 매깁니다. 2022년 WMT 지표 공동 평가 과제인 "Stop Using BLEU"에서는 신경망 지표가 BLEU보다 전문가의 인간 평가와 더 높은 일치도를 보인다고 밝혔습니다.
현재 시스템과 과제#
Meta의 NLLB-200(2022)은 디지털 텍스트가 거의 없는 언어를 포함해 200개 언어 간 번역을 지원하며, Flores-200 벤치마크에서 이전 최고 성능 대비 BLEU를 44% 향상했습니다. 저자원 언어에는 병렬 학습 데이터가 부족하므로, 시스템은 역번역이라는 데이터 증강 기법을 사용해 합성 쌍을 생성합니다. 이 기법은 목표 언어의 단일 언어 텍스트를 원문 언어로 번역합니다. 신경망 시스템은 특히 잡음이 있거나 저자원인 입력에서 원문과 관련이 없는 유창한 결과를 환각할 수도 있습니다. 성별은 잘 알려진 편향의 원인입니다. 성별을 특정하지 않는 터키어 대명사가 의사를 가리킬 때는 "he", 간호사를 가리킬 때는 "she"로 번역될 수 있습니다. 이로 인해 Google Translate는 2018년에 일부 검색어에 대해 여성형과 남성형 번역을 모두 표시했습니다. MT는 다른 양식과도 결합됩니다. 휴대전화 카메라 앱은 표지판과 메뉴를 번역하기 전에 광학 문자 인식(OCR)을 적용합니다. 음성 번역은 음성-텍스트 변환, MT, 텍스트-음성 변환을 연결하거나 세 가지를 하나의 모델에서 모두 수행합니다. Ultralytics LLM 인터페이스는 프롬프트와 함께 image 인수를 받으므로, Python 파이프라인은 표지판 사진을 비전-언어 모델에 보내 한 번의 호출로 영어 텍스트를 요청할 수 있습니다.
기계 번역과 관련 용어 비교#
- NLP: 인간 언어를 컴퓨터로 다루는 분야이며, MT는 이 분야의 한 가지 작업입니다.
- LLM 번역: GPT와 Gemini 같은 범용 모델은 프롬프트를 받으면 번역할 수 있으며, 전체 문서나 용어집을 문맥으로 활용할 수 있습니다. 전용 MT 모델은 번역만을 위해 학습되며, NLLB-200은 6억 개와 13억 개 매개변수의 증류 버전을 제공해 200개 언어 전체를 지원합니다.
- 현지화: 날짜, 통화, 이미지, 문화적 참조 등을 포함해 제품을 특정 시장에 맞게 조정하는 작업입니다. MT는 텍스트를 번역하고, 현지화 팀은 이를 검토하고 조정합니다.










