Tag Archives: NMT

fairseq: New SOTA of NMT

18158912_821511514668337_8758096610476425216_n

페이스북의 FAIR팀에서 블로그를 통해 기계번역에 대한 새 모델 fairseq를 공개하였습니다. 기계번역 분야에서는 리커런트 뉴럴 네트워크Recurrent Neural Network가 정석처럼 사용되어 왔습니다만 최근에 콘볼루션 뉴럴 네트워크Convolution Neural Network를 시퀀스 처리에도 사용되고 있습니다. fairseq는 콘볼루션 뉴럴 네트워크와 어텐션 메카니즘을 사용해 기계 번역에서 최고 성능state-of-the-art을 갱신했다고 합니다. 블로그에서 콘볼루션이 단어 한개씩 처리하는 RNN 보다 훨씬 효율적으로 GPU를 사용할 수 있고 전체 문맥을 한꺼번에 조망하는 것이 사람이 번역하는 그것과 비슷하다고 주장합니다. 최근 구글의 NMT 결과와 비교했을 때 더 성능이 높으면서도 NVidia K40 GPU에서 무려 9.3배가 빠르고 GTX-1080ti 에서는 21배나 빠르다고 합니다.

fairseq의 토치 소스는 깃허브에 공개되어 있으며 영어-프랑스어, 영어-독일어, 영어-루마니아어에 대해서는 미리 학습시킨 모델을 제공합니다. 콘볼루션이 주류가 된다면 NLP 책들의 수정이 불가피 하겠네요. 🙂

tf-seq2seq: open-source seq2seq framework in TF

68747470733a2f2f332e62702e626c6f6773706f742e636f6d2f2d3350626a5f64767430566f2f562d71652d4e6c365035492f41414141414141414251632f7a305f365774565774764152744d6b3069395f41744c6579794779563641

구글에서 이번주 신경망 기계번역, 즉 NMTneural machine translation를 위한 seq2seq 모델을 오픈소스로 공개하였습니다. 이 소스는 텐서플로우로 작성되어 있으며 깃허브에 공개되어 있습니다. 이 소스는 같이 공개된 ‘Massive Exploration of Neural Machine Translation Architectures‘ 페이퍼에서 사용된 코드입니다. 이 페이퍼에서 25만 GPU 시간을 들여 다양한 하이퍼파라미터 튜닝을 한 결과를 공유하고 있습니다. 어쩌면 많은 애플리케이션들이 연이어 나오는 뛰어난 알고리즘보다 이런 실험 결과를 더 목말라하고 있을지 모르겠습니다. 깃허브에 있는 tf-seq2seq 코드는 마치 일반 애플리케이션처럼 다운로드 받아 yaml로 모델을 정의하고 학습시킬 수 있습니다. 딥러닝 라이브러리들이 설정 방식에서 코딩 방식으로 빠르게 전환되더니 도메인 특화된 모델은 다시 패키지화될 수 있는것 아닌가 예상해 봅니다. 자세한 사용법은 도큐먼트를 참고하세요. 비록 한글 데이터는 없지만 구글의 선빵은 놀랍습니다. 🙂

Microsoft 11th NMT language: Korean

마이크로소프트가 신경망을 이용한 기계 번역 언어에 한국어를 추가했다고 블로그를 통해 발표했습니다. 마이크소프트의 기계 번역 서비스는 브라우저에서 확인할 수 있고 모바일 어플리케이션으로도 제공하고 있습니다. 예전에 OpenNMT가 발표됐을 때 했던 간단한 번역 비교를 해 보겠습니다. 3개월전 결과와 어떤 변화가 있는지 알기 위해 동일한 영어 문장을 한글로 바꾸었습니다.

Microsoft: 결과가 아직 그다지 좋지 못하네요.

microsoft-nmt

OpenNMT: 이전 결과에서 조금 달라졌습니다. 이전의 번역이 조금 더 나은 듯도 합니다.

opennmt

Google Translate: 조금 바뀌었지만 큰 차이는 없습니다. 이번에도 mulled 를 해석하지 못했습니다.

google-translate

Naver NMT: 이전과 정확히 동일한 결과를 출력했습니다.

naver-nmt

OpenNMT와 구글 번역기는 계속 학습이 진행되고 있다는 느낌을 받을 수 있고 마이크로소프트 번역기는 아직 타사와 비교할 수 있는 수준은 안되는 것 같습니다.

OpenNMT: Open Source Neural Machine Translation

simple-attn

하버드 NLP 그룹과 하버드 PhD 학생인 Yoon Kim이 만든 오픈소스 신경망 기계번역 OpenNMT 가 공개되었습니다. OpenNMT 는 토치로 구현되어 깃허브에 공개되어 있으며 개발에 사용된 주요한 페이퍼들이 홈페이지에 자세히 나와 있습니다. 개인이 학습시키기에는 조금 무리가 있을 수 있으나 학습된 모델도 공개할 것이라 하니 기대를 해 봅니다. OpenNMT 개발에 번역 소프트웨어 회사인 SYSTRAN도 많은 참여를 했다고 합니다. OpenNMT의 데모를 SYSTRAN 데모 페이지에서 직접 확인해 볼 수 있습니다. 구글, 네이버 모두 신경망 기계번역을 도입했는데요. 오늘자 CNN 뉴스의 일부를 세 번역기에 모두 적용해 보았습니다. 네이버 번역기 글자수가 제한되어 있어 긴 문장을 적용하진 못했습니다. 결과는 OpenNMT 가 훨씬 자연스러운 번역을 만들어 주었습니다!

OpenNMT
opennmt

Google Translate
google_translate

Naver NMT
naverlabs_nmt