brunch

You can make anything
by writing

C.S.Lewis

by 서진호 Jul 22. 2020

YouTube 제작자를 위한 SmartReply

2020년 7월 1일 (수) - 구글 AI 리서치 블로그

SmartReply가 출시된 지 4년이 넘었으며 그 이후로 Gmail 출시 및 Android Messages 들을 사용하는 더 많은 사용자들과 Android Wear를 사용하는 더 많은 기기로 확장되었습니다. 이제 개발자는 SmartReply를 사용하여 Play Developer Console 내의 리뷰에 응답하고 MLKit 및 TFLite에서 제공되는 API를 사용하여 자체 버전을 설정할 수 있습니다. 시작될 때마다 작업 요구 사항들에 맞게 SmartReply를 사용자 지정해야 하는 모델링 및 서빙에 있어 독특한 문제가 있었습니다.


YouTube를 위해 제작되고 YouTube Studio에서 업데이트된 SmartReply를 공유하여 제작자가 시청자들과 보다 쉽게 소통할 수 있게 되었습니다. 이 모델은 계산적으로 효율적인 확장된 self-attention 네트워크를 통해 주석 및 회신 표현을 학습하고 첫 번째 언어 및 문자 바이트 기반 SmartReply 모델을 나타냅니다. YouTube 용 SmartReply는 현재 영어 및 스페인어 제작자가 사용할 수 있으며 이 접근 방식은 향후 SmartReply 기능을 더 많은 언어로 확장하는 프로세스를 단순화합니다.


YouTube 크리에이터들은 동영상에 대한 많은 응답을 받습니다. 또한 YouTube의 크리에이터들과 시청자 커뮤니티는 의견, 토론 및 동영상의 창의성에 따라 반영하듯 다양합니다. YouTube 언어 의견은 길고 형식적인 언어에 의해 지배되는 이메일과 비교할 때 복잡한 언어 전환 패턴, 약어, 속어, 일관되지 않은 구두점 사용 및 이모티콘 사용률이 높습니다. 다음은 이 과제를 설명하는 설명 샘플들입니다.

깊은 검색

Input email 들로 인코딩 된 SmartReply for Inbox의 초기 릴리스는 단어별로 이메일을 순환 신경망(Recurrent Neural Network, RNN)으로 전송한 다음, 또 다른 단어 레벨의 순환 신경망으로 잠재적인 회신을 디코딩합니다. 이러한  방법의 표현력에도 불구하고 계산 비용이 많이 들었습니다. 그 대신, 가장 적절한 응답을 위해 사전 정의된 제안 목록을 검색하는 시스템을 설계함으로써 동일한 목표를 달성할 수 있음을 우리는 찾았습니다. 


이 검색 시스템은 메시지와 제안을 독립적으로 인코딩했습니다. 먼저, 단어와 짧은 문구를 추출하기 위해 텍스트를 사전 처리했습니다. 이 전처리에는 언어 식별, 토큰화 및 정규화가 포함되었지만 이에 국한되지는 않았습니다. 그런 다음 두 개의 신경망이 메시지와 제안을 동시에 독립적으로 인코딩했습니다. 이 인수 분해를 통해 제안 인코딩을 사전 계산한 다음 효율적인 최대 내부 제품 검색(maximum inner product search) 데이터 구조를 사용하여 제안 세트를 검색할 수 있었습니다. 이러한 심도 있는 검색 방식을 통해 SmartReply를 Gmail로 확장한 후 현재 YouTube 시스템을 비롯한 여러 SmartReply 시스템의 기반이 되었습니다.


Words 넘어 

위에서 설명한 이전 SmartReply 시스템은 제한된 수의 언어와 글쓰기의 좁은 장르에 맞게 조정된 단어 수준 사전 처리에 의존했습니다. 이러한 시스템은 YouTube 사례에서 이모티콘, ASCII 아트, 언어 전환 등과 같은 이기종 콘텐츠가 포함될 수 있는 중요한 문제와도 직면해 있습니다. 이에 비추어 볼 때, byte 및 character 언어 모델링에 대한 최근 연구에서 영감을 얻었습니다. 전처리 없이 텍스트를 인코딩하기로 결정했습니다. 이 접근 방식은 뉴럴 트랜스포머(Transformer) 네트워크가 단어 기반 모델과 비슷한 품질로 텍스트를 일련의 character 또는 byte로 공급하여 단어와 구를 처음부터 모델링할 수 있다는 연구를 통해 지원됩니다.


초기 결과가 유망했지만, 특히 이모지(emoji) 또는 오타로 주석을 처리하는 경우 유망하지만 문자 시퀀스가 단어 등가보다 길고 self-attention layer 들의 계산 복잡도는 시퀀스 길이의 함수로 2차적으로 증가하여 생산에 비해 추론 속도가 너무 느렸습니다. 우리는 WaveNet에 적용된 확장 기술과 유사하게 네트워크의 각 레이어에 시간 감소 레이어를 적용하여 시퀀스 길이를 줄이면 계산과 품질 사이에 좋은 절충점을 제공한다는 것을 알았습니다.


아래 그림은  constrastive objective로 네트워크를 훈련시켜 잠재적 표현 사이의 상호 정보를 최대화하기 위해 주석과 응답을 모두 인코딩하는 이중 인코더 네트워크를 보여줍니다. 인코딩은 변환기에 임베디드 된 바이트 시퀀스를 공급하는 것으로 시작합니다. 각 후속 레이어에 대한 입력은 동일한 오프셋에서 문자의 백분율을 삭제하여 줄어듭니다. 여러 트랜스포머 레이어를 적용한 후 시퀀스 길이가 크게 잘려 계산 복잡성이 크게 줄어듭니다. 이 시퀀스 압축 체계는 average pooling과 같은 다른 연산자로 대체될 수 있지만, 보다 복잡한 방법으로 얻은 장점은 발견되지 않았으므로 단순성을 위해 확장을 사용하기로 선택했습니다.

[그림 1] 

[그림 1] contrastive objective를 통해 의견과 답변 사이의 상호 정보를 최대화하는 이중 인코더 네트워크. 각 엔코더에는 일련의 바이트가 공급되며 계산 효율적인 확장 트랜스포머 네트워크로 구현됩니다.


그들 모두를 배우는 모델

각 언어마다 별도의 모델을 훈련하는 대신 지원되는 모든 언어에 대해 단일 언어 간 모델을 훈련하기로 했습니다. 이를 통해 주석에서 혼합 언어 사용을 지원할 수 있으며 모델이 이모티콘 및 숫자와 같은 다른 언어를 이해하기 위해 한 언어의 공통 요소 학습을 활용할 수 있습니다. 또한 단일 모델을 사용하면 유지 관리 및 업데이트의 물류가 간소화됩니다. 이 모델은 영어와 스페인어로 출시되었지만 이 접근 방식의 고유한 유연성으로 인해 향후 다른 언어로 확장될 수 있습니다.


모델에 의해 생성된 다국어 제안 세트의 인코딩을 검사하면 모델이 속한 언어에 관계없이 모델이 적절한 응답을 클러스터링 한다는 것을 알 수 있습니다. 이 크로스-언어 능력은 훈련 중에 모델을 어떤 parallel corpus에도 노출시키지 않고 나타났습니다. 아래 그림에서 3 개의 언어에 대해 모델이 입력 주석으로 프로브 될 때 응답이 의미에 의해 클러스터링 되는 방법을 보여줍니다. 예를 들어 영어로 'This is a great video, '는 'Thanks!'와 같은 적절한 답변으로 둘러싸여 있습니다. 또한, 다른 언어로 된 가장 가까운 답장을 조사한 결과 영어 답장과 관련하여 적절하고 유사하다는 것이 밝혀졌습니다. 2D 프로젝션은 비슷한 의미의 답으로 구성된 다른 여러 언어 간 클러스터도 보여줍니다. 이 클러스터링은 모델이 지원되는 언어로 풍부한 언어 간 사용자 환경을 지원할 수 있는 방법을 보여줍니다.

[그림 2]

[그림 2] hypothetical comment와 잠재적인 응답의 작은 목록이 제시될 때 모델 인코딩의 2D 프로젝션. English comments(검은색) 주변은 영어로 된 적절한 답변과 스페인어 및 아랍어로 된 답변으로 구성됩니다. 네트워크는 parallel 코퍼스에 액세스 하지 않고 영어 답글을 번역에 맞추는 방법을 배웠습니다.


제안할 때?

Google의 목표는 제작자를 돕는 것이므로 SmartReply가 유용할 가능성이 있을 때만 제안을 제안해야 합니다. 이상적으로는 작성자가 댓글에 응답할 가능성이 높고 모델이 적절하고 구체적인 응답을 제공할 가능성이 높은 경우에만 제안이 표시됩니다. 이를 위해 SmartReply 기능을 트리거할 주석을 식별하도록 보조 모델을 학습했습니다.


결론

첫 번째 언어 및 character byte 기반 SmartReply 인 영어 및 스페인어 댓글로 YouTube SmartReply를 시작했습니다. YouTube는 이기종 콘텐츠를 생성하는 다양한 사용자 기반을 갖춘 글로벌 제품입니다. 결과적으로 이 글로벌 잠재 고객에 대한 의견을 지속적으로 개선하는 것이 중요하며 SmartReply는 이러한 방향으로 강력한 발걸음을 나타냅니다.


감사의 말

YouTube 제작자를 위한 SmartReply는 Golnaz Farhadi, Ezequiel Baril, Cheng Lee, Claire Yuan, Coty Morrison, Joe Simunic, Rachel Bransom, Rajvi Mehta, Jorge Gonzalez, Mark Williams, Uma Roy 등이 개발했습니다. Nikhil Dandekar, Eileen Long, Siobhan Quinn, Sung Yun-suan Sung, Rachel Bernstein 및 Ray Kurzweil의 지도력 지원에 감사드립니다.


원본 제목: YouTube 제작자를 위한 SmartReply(SmartReply for YouTube Creators)
게시자 : Rami Al-Rfou, Google Research 연구 과학자
원본 소스: https://ai.googleblog.com/2020/07/smartreply-for-youtube-creators.html 
Smart Reply: Automated Response Suggestion for Email 논문: https://research.google/pubs/pub45189/
Efficinet Smart Reply, now for Gmail 블로그(영문): https://ai.googleblog.com/2017/05/efficient-smart-reply-now-for-gmail.html
Five new Features to try in Messages 블로그(영문): https://www.blog.google/products/messages/five-new-features-try-messages/
On-Device Conversational Modeling with TensorFlow Lite 블로그(영문): https://ai.googleblog.com/2017/11/on-device-conversational-modeling-with.html
I/O 2019: New Features to help you develop, release, and grow your business on Google Play 블로그 (영문) : https://android-developers.googleblog.com/2019/05/whats-new-in-play.html
Smart Reply MLKit 기술문서: https://developers.google.com/ml-kit/language/smart-reply
Smart Reply TFLite 기술문서: https://www.tensorflow.org/lite/models/smart_reply/overview
Recurrent neural network, RNN 순환 신경망 블로그(영문): https://en.wikipedia.org/wiki/Recurrent_neural_network
Computer, respond to this email 블로그(영문): https://en.wikipedia.org/wiki/Recurrent_neural_network
Efficient Natural Language Response Suggestion for Smart Reply 블로그(영문) : https://arxiv.org/abs/1705.00652
Local Orthogonal Decomposition for Maximum Inner product Search 논문: https://arxiv.org/abs/1903.10391
Character-Level Language Modeling with Deeper Self-Attention 논문: https://www.aaai.org/ojs/index.php/AAAI/article/view/4182
Attention Is All You Need 논문: https://arxiv.org/abs/1706.03762
Wavenet: A generative model for raw audio 논문: https://deepmind.com/blog/article/wavenet-generative-model-raw-audio
이 블로그는 2020년 7월 1일(수), Google AI 리서치 블로그 기사를 영한 번역한 것입니다. 또한 이 번역 글은 정보 공유 목적으로만 작성했으므로 어떠한 상업용으로 사용할 수 없으며, 원본 저작물 모두 구글에게 저작권이 있음을 알려 드립니다. (First Draft Version)
매거진의 이전글 더 많은 Google Compute 클러스터 추적데이터
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari