콘텐츠로 건너뛰기
번역기
이 페이지는 Microsoft 번역기의 기계 번역 서비스에서 자동으로 번역되었습니다. 자세히

마이크로 소프트 번역기 블로그

클라우드에서 인간 패리티 혁신을 가능하게 하는 신경기계 번역

2018년 3월 발표 (하산 외. 2018) 우리가 처음으로 인간 번역뿐만 아니라 수행 할 수있는 기계 번역 시스템을 보여 준 획기적인 결과 (특정 시나리오에서 - 중국어 - 영어 뉴스 번역). 이것은 기계 번역 연구에서 흥미로운 돌파구였지만, 이 프로젝트를 위해 구축한 시스템은 여러 최첨단 기술을 통합한 복잡하고 헤비급 연구 시스템이었습니다. 이 시스템의 출력을 여러 테스트 집합에 릴리스했지만 시스템 자체는 실시간 기계 번역 클라우드 API에 배포하기에 적합하지 않았습니다.

오늘 우리는 우리의 최신 세대의 신경 기계 번역 모델의 생산가용성을 발표하게 되어 기쁩니다. 이러한 모델은 연구 시스템의 장점을 대부분 통합하고 Microsoft 번역기 API를 사용할 때 기본적으로 사용할 수 있습니다. 이 새로운 모델은 오늘 중국어, 독일어, 프랑스어, 힌디어, 이탈리아어, 스페인어, 일본어, 한국어, 러시아어, 영어에서 사용할 수 있습니다. 더 많은 언어가 곧 출시될 예정입니다.

연구 논문에서 클라우드 API로 이동

지난 한 해 동안 Microsoft는 인간 패리티 시스템의 품질을 최대한 발전시킬 수 있는 방법을 모색해 왔습니다. 번역기 API로고가 저렴한 실시간 번역을 지속적으로 제공합니다. 다음은 해당 여정의 몇 가지 단계입니다.

교사-학생 교육

우리의 첫 번째 단계는 "교사 - 학생"프레임 워크로 전환하는 것이었습니다, 여기서 우리는 무거운 교사 네트워크를 모방하는 경량 실시간 학생을 훈련 (바와 카루아나 2014). 이는 MT 시스템이 일반적으로 학습하는 병렬 데이터가 아니라 교사가 제작한 번역에서 학생을 교육함으로써 수행됩니다.김과 러쉬 2016). 이것은 원시 데이터에서 배우는 것보다 더 간단한 작업이며, 얕고 간단한 학생이 복잡한 교사를 매우 밀접하게 따를 수 있습니다. 하나는 예상할 수 있듯이, 우리의 초기 시도는 여전히 교사에서 학생으로 품질 저하를 겪었다 (무료 점심 없음!), 그러나 우리는 그럼에도 불구하고 우리는 WNMT2018 효율적인 디코딩에 대한 공유 작업에서 1 위를 차지했습니다 (Junczys-Dowmunt 외. 2018a). 이 노력에서 몇 가지 특히 흥미로운 결과 변압기했다 (바스와니 외. 2017) 모델과 수정은 교사 - 학생 교육과 잘 재생하고 CPU에 추론하는 동안 놀라, 매우 효율적입니다.

이러한 초기 결과에서 학습하고 반복의 많은 후 우리는 우리의 간단한 학생이 복잡한 교사와 거의 동일한 품질을 가질 수있는 조리법을 발견 (때로는 결국 무료 점심이있다?). 이제 우리는 실시간 제약 (너무 많이)에 대한 걱정없이 품질을 극대화하기 위해 크고 복잡한 교사 모델을 자유롭게 구축 할 수있었습니다.

실시간 번역

교사-학생 프레임워크로 전환하기로 한 우리의 결정은 김과 러쉬 (2016))을 위한 간단한 RNN 기반 모델. 그 시점에서 보고 된 혜택뿐만 아니라 변압기 모델에 대한 매니페스트 경우 불분명했다 (참조 바스와니 외. 2017 이 모델에 대한 자세한 내용은). 그러나, 우리는 빨리 이것이 실제로 사실이었다는 것을 발견했습니다.

변압기 학생은 매우 단순화 된 디코딩 알고리즘을 사용할 수 있습니다 (욕심 검색) 여기서 우리는 단지 가능한 거대한 공간을 통해 검색을 포함하는 일반적인 방법 (빔 검색)보다, 각 단계에서 하나의 최고의 번역 단어를 선택 번역. 이러한 변화는 품질에 미치는 영향을 최소화했지만 번역 속도가 크게 향상되었습니다. 반면, 교사 모델은 빔 검색에서 탐욕검색으로 전환할 때 품질이 크게 저하됩니다.

동시에, 우리는 디코더에서 최신 신경 아키텍처 (자기 주의를 가진 변압기)를 사용하는 대신, 학생이 크게 단순화되고 빠른 반복 (RNN) 아키텍처를 사용하도록 수정 할 수 있다는 것을 깨달았습니다. 이는 트랜스포머 인코더가 전체 소스 문장을 병렬로 계산할 수 있지만 대상 문장은 한 번에 하나의 단어가 생성되므로 디코더의 속도는 전체 번역 속도에 큰 영향을 미치기 때문입니다. 자기 주의에 비해 반복 디코더는 알고리즘의 복잡성을 이차에서 선형으로 목표 문장 길이로 줄입니다. 특히 교사 -학생 설정에서, 우리는 이러한 수정으로 인해 품질에 손실을 보았다, 어느 쪽도 자동 또는 인간의 평가 결과에 대한. 매개 변수 공유와 같은 몇 가지 추가 개선 사항으로 인해 복잡성이 더욱 감소하고 속도가 빨라지게 되었습니다.

교사 -학생 프레임 워크의 또 다른 장점은 우리가 보고 매우 흥분했다 지속적으로 성장하고 변화하는 교사의 시간에 품질 개선은 쉽게 변경되지 않는 학생 아키텍처로 이월된다는 것입니다. 이와 관련하여 문제를 본 경우 학생 모델 용량이 약간 증가하면 격차가 다시 좁혀질 것입니다.

이중 학습

이중 학습의 핵심 인사이트(그는 외. 2016)은 사람들이 때때로 번역 품질을 확인하는 데 사용하는 "왕복 번역"검사입니다. 온라인 번역사를 사용하여 영어에서 이탈리아어로 이동한다고 가정해 보겠습니다. 우리가 이탈리아어를 읽지 않는다면, 그것이 좋은 일을 했는지 어떻게 알 수 있습니까? 클릭하기 전에 보내기 이메일에서, 우리는 다시 영어 (어쩌면 다른 웹 사이트에)로 이탈리아어를 번역하여 품질을 확인하도록 선택할 수 있습니다. 우리가 다시 얻을 영어가 원본에서 너무 멀리 벗어난 경우, 기회는 번역 중 하나는 레일을 갔다.

이중 학습은 동일한 접근 방식을 사용하여 두 시스템(예: 영어-영어-이탈리아어 및 이탈리아어-영어)을 병렬로 교육하며, 한 시스템의 왕복 번역을 사용하여 다른 시스템을 점수매기고, 검증하고, 훈련합니다.

이중 학습은 인간 패리티 연구 결과에 큰 기여를 했습니다. 연구 시스템에서 생산 레시피로 이동하면서 이 방법을 광범위하게 일반화했습니다. 우리는 서로의 출력에 대한 시스템 쌍을 공동 학습했을 뿐만 아니라 병렬 데이터를 필터링하는 데도 동일한 기준을 사용했습니다.

부정확한 데이터 정리

기계 번역 시스템은 "병렬 데이터", 즉 인간 번역가가 이상적으로 만든 서로 번역된 문서 쌍에 대해 교육을 받습니다. 알고 보니, 이 병렬 데이터는 종종 부정확한 번역으로 가득차 있습니다. 때로는 문서가 실제로 평행하지 않고 서로의 느슨한 의역일 뿐입니다. 인간 번역자는 일부 소스 자료를 남기거나 추가 정보를 삽입하도록 선택할 수 있습니다. 데이터에는 오타, 맞춤법 오류, 문법 오류가 포함될 수 있습니다. 때로는 데이터 마이닝 알고리즘이 유사하지만 병렬이 아닌 데이터 또는 잘못된 언어로 된 문장에 속지 않습니다. 최악의 경우, 우리가 보는 많은 웹 페이지는 스팸이거나 실제로 인간 번역이 아닌 기계 번역일 수 있습니다. 신경 시스템은 데이터의 이러한 종류의 부정확성에 매우 민감합니다. 이러한 부정확성을 자동으로 식별하고 제거하는 신경 모델을 구축하면 시스템 품질이 향상되었습니다. 데이터 필터링에 대한 당사의 접근 방식은 WMT18 병렬 코퍼스 필터링 벤치마크 (Junczys-다우문트 2018a)에서 가장 강력한 영어-독일어 번역 시스템 중 하나를 구축하는 데 도움을 주었습니다. WMT18 뉴스 번역 작업 (Junczys-다우문트 2018b). 오늘 출시된 프로덕션 시스템에서 이 접근 방식의 개선된 버전을 사용했습니다.

요인화 된 단어 표현

연구 기술을 프로덕션기술로 이전할 때 몇 가지 실제 적인 과제가 발생합니다. 숫자, 날짜, 시간, 대문자, 간격 등을 얻는 것은 연구 시스템보다 생산에서 훨씬 더 중요합니다.

대문자의 과제를 고려하십시오. 우리는 문장을 번역하는 경우 "여기에 고양이 비디오를 시청". 우리는 "고양이"를 번역하는 방법을 알고있다. 우리는 "CAT"를 같은 방식으로 번역하고 싶습니다. 그러나 지금 고려 "여기 미국 축구를보고". 우리는 이 맥락에서 "우리"라는 단어와 약어 "US"를 혼동하고 싶지 않습니다.

이를 처리하기 위해 팩터링 된 기계 번역 (쿤과 호앙 2007젠리치와 해도우 2016)은 다음과 같이 작동합니다. "cat" 또는 "CAT"에 대한 단일 숫자 표현("포함") 대신 "요인"이라고 하는 여러 포함을 사용합니다. 이 경우 기본 포함은 "CAT" 및 "cat"에 대해 동일하지만 별도의 요소는 대문자문자를 나타내며 한 인스턴스에서는 모두 대문자이지만 다른 경우에는 소문자임을 나타냅니다. 소스와 대상 측에서 유사한 요소가 사용됩니다.

우리는 단어 조각과 단어 사이의 간격을 처리하기 위해 유사한 요인을 사용합니다 (중국어, 한국어, 일본어 또는 태국어와 같은 간격이 없는 언어 또는 반 간격 언어의 복잡한 문제).

요인은 또한 많은 시나리오에서 중요한 숫자의 번역을 크게 향상. 숫자 변환은 대부분 알고리즘 변환입니다. 예를 들어 1,234,000은 힌디어로 12,34,000, 독일어로 1.234.000, 중국어로 123.4를 기록할 수 있습니다. 일반적으로 숫자는 다양한 길이의 문자 그룹으로 단어처럼 표시됩니다. 따라서 기계 학습이 알고리즘을 검색하기가 어렵습니다. 대신, 우리는 시작과 끝을 표시하는 요인과 함께 숫자의 모든 한 자리를 별도로 공급합니다. 이 간단한 트릭은 강력하고 안정적으로 거의 모든 번호 번역 오류를 제거.

더 빠른 모델 교육

인간 패리티 연구 프로젝트에서와 마찬가지로 단일 시스템을 단일 목표로 교육할 때, 교육하는 데 몇 주가 걸리는 모델에 방대한 수의 하드웨어를 던질 것으로 예상됩니다. 20개 이상의 언어 쌍에 대한 프로덕션 모델을 교육할 때 이 접근 방식은 불가능해집니다. 합리적인 전환 시간이 필요할 뿐만 아니라 하드웨어 요구도 완화해야 합니다. 이 프로젝트의 경우, 우리는 여러 가지 성능 향상을 이루었습니다. 마리안 NMT (Junczys-Dowmunt 외. 2018b).

마리안 NMT는 마이크로소프트 번역기를 기반으로 하는 오픈 소스 신경 MT 도구 키트입니다. Marian은 순수한 C++ 신경기계 번역 툴킷으로, 결과적으로 런타임에 GPU가 필요하지 않고 교육 시간에 매우 효율적입니다.

자체 포함된 특성으로 인해 NMT 특정 작업에 대해 Marian을 최적화하는 것이 매우 쉬우므로 가장 효율적인 NMT 툴킷 중 하나가 됩니다. 한 번 보세요. 벤치 마크. 신경 MT 연구 개발에 관심이 있다면, 가입하여 Github에 커뮤니티.

혼합 정밀 교육 및 디코딩에 대한 개선 사항과 대형 모델 교육은 곧 공개 Github 리포지토리에서 제공될 예정입니다.

우리는 신경기계 번역의 미래에 대해 기쁘게 생각하고 있습니다. 우리는 나머지 언어로 새로운 모델 아키텍처를 계속 출시 할 것입니다. 사용자 지정 번역기 올해 내내. 우리의 사용자는 자동으로 통해 훨씬 더 나은 품질의 번역을 얻을 것이다 번역기 API우리의 번역기 앱, 마이크로 소프트 오피스, 그리고 가장자리 브라우저. 우리는 새로운 개선이 당신의 개인 및 직업 생활에 도움이 당신의 의견을 기대 바랍니다.

 

참조

  • 지미 바와 리치 카루아나. 2014. 깊은 그물은 정말 깊은 해야 합니까? 신경 정보 처리 시스템의 발전 27. 2654-2662쪽. https://papers.nips.cc/paper/5484-do-deep-nets-really-need-to-be-deep
  • 하니 하산, 앤서니 아우, 장첸, 비샬 차우다리, 조나단 클라크, 크리스티안 페더만, 쉬동 황, 마르친 Junczys-다우문트, 윌리엄 루이스, 무 리, 슈지 리우, 타이얀 리우, 렌첸 루오, 아룰 메네제스, 타오 진, 프랭크 세이드, 슈 첸, 슈 첸, 슈첸 슈앙지 우, 잉체샤, 동동장, 지루이장, 밍저우. 2018. 영어 뉴스 번역에 자동 중국어에 인간의 패리티를 달성. http://arxiv.org/abs/1803.05567
  • 그, 디와 샤, 잉체와 진, 타오와 왕, 리웨이와 유, 응하이와 리우, 타이 얀과 마, 웨이 잉. 2016. 기계 번역을위한 이중 학습. 신경 정보 처리 시스템의 발전 29. 820-828쪽. https://papers.nips.cc/paper/6469-dual-learning-for-machine-translation
  • 마르신 준치스-다우문트. 2018a. 시끄러운 병렬 코포라의 이중 조건부 교차 엔트로피 필터링. 기계 번역에 대한 세 번째 컨퍼런스 의 절차 : 공유 작업 논문. 벨기에, 888-895쪽. https://aclweb.org/anthology/papers/W/W18/W18-6478/
  • 마르신 준치스-다우문트. 2018b. WMT2018 뉴스 번역 작업에 마이크로 소프트의 제출 : 나는 걱정을 중지하고 데이터를 사랑하는 방법을 배웠습니다. 기계 번역에 대한 세 번째 컨퍼런스 의 절차 : 공유 작업 논문. 벨기에, 425-430쪽. https://www.aclweb.org/anthology/W18-6415/
  • 마르신 준치스-다우문트, 케네스 히필드, 히우 호앙, 로마 그런드키에비츠, 안토니 아우. 2018a. 마리안: C++의 비용 효율적인 고품질 신경기계 번역. 신경기계 번역 및 세대에 관한 제2회 워크숍 진행. 호주 멜버른, 129-135쪽. https://aclweb.org/anthology/papers/W/W18/W18-2716/
  • 마르친 Junczys-Dowmunt, 로마 그런드키에비츠, 토마스 드워작, 히우 호앙, 케네스 히필드, 톰 네커만, 프랭크 세이드, 울리히 게르만, 알함 피크리 아지, 니콜라이 보고이체프, 안드레 F. T. 마틴스, 알렉산드라 버치. 2018b. 마리안: C ++에서 빠른 신경 기계 번역. ACL 2018, 시스템 데모의 절차. 호주 멜버른, 116-121쪽. https://www.aclweb.org/anthology/P18-4020/
  • 김윤과 알렉산더 M. 러쉬. 2016. 시퀀스 수준의 지식 증류. 2016년 자연어 처리 에 대한 경험적 방법에 관한 컨퍼런스, EMNLP 2016, 미국 텍사스 주 오스틴, 2016년 11월 1-4일, 1317-1327페이지. https://aclweb.org/anthology/papers/D/D16/D16-1139/
  • 필립 코엔, 히우 호앙. 2007. 요인 변환 모델. 자연어 처리 및 전산 자연어 학습의 경험적 방법에 대한 2007 공동 회의 (EMNLP-CoNLL)의 절차. 체코 프라하, 868-876쪽. https://www.aclweb.org/anthology/D07-1091/
  • 리코 젠리치, 배리 해도우. 2016. 언어 입력 기능은 신경 기계 번역을 향상시킵니다. 기계 번역에 대한 첫 번째 컨퍼런스 의 절차 : 볼륨 1, 연구 논문. 독일 베를린, 83-91쪽. https://www.aclweb.org/anthology/W16-2209/
  • 바스와니, 아시쉬, 샤제르, 노암과 파르마, 니키와 우스코레이트, 야콥과 존스, 리온과 고메즈, 에이단 N과 카이저, 루카스와 폴로수킨, 일리아. 2017. 주의는 당신이 필요로하는 전부입니다. 신경 정보 처리 시스템의 발전 30. 5998-6008. https://papers.nips.cc/paper/7181-attention-is-all-you-need