QA기술팀 리더 제리님을 소개합니다.

QA와 MRC에 개발하고 있는 제리님께 이야기를 들어보겠습니다.

Aug. 2, 2019, 1 a.m.

포티투마루의 QA(Question Answering, 질의응답) 서비스를 위한 핵심 기술인 MRC(Machine Reading Comprehension, 기계독해)를 개발하고 있는 제리님께 QA와 MRC에 대한 이야기를 들어보겠습니다.

먼저 자기 소개 부탁드립니다

개인적으로는 20년 가까이 개발을 하고 있고, 지금은 QA기술팀을 이끌고 있습니다. 현재 주로 기계독해를 중심으로 텍스트 요약, NLP 모델을 개발하고 상용화하는 작업을 하고 있습니다.

개발의 중심이 되는 MRC 기술은 무엇인가요

크게 보면 지향점은 QA 서비스입니다. 기존 검색은 DB에서 데이터를 찾고, 키워드 기반으로 검색한 결과를 리스트로 제공하는 방식이죠. QA 서비스는 이런 방식을 넘어서, 정형 데이터든 비정형 데이터든 다양한 데이터 속에서 키워드 기반이 아니라 사용자 의도를 분석해 원하는 답을 찾아줍니다. ‘비욘드 서치(Beyond Search)’라고 이야기하죠. MRC는 비정형 데이터에서 질문에 적합한 답을 찾는 QA의 핵심 기술입니다.

MRC 기술의 성능은 어느 정도인가요

가장 제시하기 쉬운 수치는 SQuAD가 있습니다. 기존 SQuAD1.0과 현재 SQuAD2.0 모두 사람이 문제를 풀면 80~90점 정도의 점수가 나옵니다. 현재 나와있는 MRC 모델은 이 점수는 넘어섰습니다. 물론 점수가 더 잘나온다고 인공지능이 사람보다 뛰어난 것은 아니지만, 특정 분야에서는 사람보다 나은 결과가 나오는 수준은 됩니다.

MRC 기술을 이야기하면 BERT를 뺄 수는 없을 것 같습니다

MRC는 작년 초에 본격적으로 시작했습니다. 내부적으로 다양한 시도를 했습니다. 그런데 작년 하반기에 NLP계를 뒤집은 BERT 모델이 나왔고, 우리 모델에 접목했죠. 그렇게 하면서 SQuAD 리더보드 최상위에 오를 수 있었습니다.

올해는 BERT를 능가하는 모델이 나오기 시작했습니다. 내부적으로 성능을 올리기 위해 어떤 논문이 나오는지, 트랜드가 어떤지 꾸준히 살피고 있습니다. 하지만 R&D만 하는 연구소가 아니라, 상용 서비스를 만드는 회사이기 때문에 서비스를 만드는데 초점을 맞춰 작업하고 있습니다.

MRC 기술 개발에 이슈는 어떤 것이 있나요

MRC는 나온지 몇 년 안된 기술입니다. 다른 자연어 처리 서비스보다 빠르게 발전하는 상태이지만 여전히 사람의 능력을 따라가기에는 부족한 면이 많습니다. 지금은 누구(who), 무엇(what), 언제(when)과 같이 지문에서 문구를 찾는 것은 잘하지만 왜(why), 어떻게(how)와 같은 어려운 문제는 답을 못합니다. 답 자체가 길거나, 제시문의 특정 문구가 아니라 답을 유추해야하는 경우도 많기 때문이죠.

또 MRC가 답을 찾아낸다고 해도, 왜 이렇게 답이 나왔는지 사람이 이해하기는 쉽지 않죠. 작년부터 설명가능한 AI에 대한 이야기가 많이 나옵니다. MRC도 왜 이런 답을 주는지 설명하는 방향으로 데이터 셋을 만들고 있습니다.

포티투마루는 기존에는 SQuAD 형태의 리더보드에서 순위를 올리는 부분에 중점을 뒀다면 지금은 상용 서비스를 위한 개발에 노력하고 있습니다.

상용화를 위한 개발에는 어떤 내용들이 있나요

기본적으로 MRC는 주어진 제시문에서 질의에 적합한 답을 찾아내는 형태입니다. 하지만 대부분 질문은 오픈 도메인에서, 제시문 없이 모든 문서에서, 답을 찾는 형태가 됩니다. 웹 기반 서비스를 위해서는 사용자들의 요청에 즉각적으로, AI의 특징을 고려해도 2-3초 안에 답을 줘야 합니다. 질문에 맞는 제시문을 찾는데만 몇 초가 걸리면 오픈 도메인 서비스는 불가능한 형태죠. 그래서 먼저 답이 포함된 지문을 찾는 검색 기술이 MRC와 결합해야 합니다. 그래야 MRC가 빛을 발하죠. 포티투마루는 뛰어난 검색기술팀이 있어서 검색 퀄리티를 높이는 개발을 하고 있습니다.

여기에 MRC 성능을 높여서 접목해 제대로된 상용화 서비스를 합니다. 레이턴시를 줄이고, 동시 리퀘스트를 처리할 수 있게 하는 것이죠. 모델 크기를 줄이면서 레이턴시도 줄이는, 가볍고 빠르게 동작하는 모델을 만들기 위해 노력하고 있습니다. 해외 시장을 위한 다국어 버전 연구도 하고 있습니다.

다국어 버전은 어떤 것인가요

포티투마루는 세계 시장에 나가기 위해 준비하고 있습니다. 이를 위해 MRC든 QA 서비스든 기본으로 지원하는 언어는 영어가 될 것입니다. 그외에 시장에 맞게 독일어, 프랑스어같은 다른 언어를 이해할 수 있는 서비스를 만들어야 합니다. 내부적으로 MRC를 영어 버전, 한국어 버전을 만들었고, 독일어 버전은 프로토타입으로 만들었습니다. 현지에서, 특정 도메인에서 어떻게 사용될지는 더 작업해야겠지만 베이스는 만들어졌습니다.

MRC 이외에 개발 중인 것은 어떤 것이 있나요

텍스트 요약 같은 자연어 처리 관련 기술을 개발하고 있습니다. 예를 들어 텍스트 요약은 사람이 하는 수준까지 갈 수 있도록 품질을 획기적으로 개선할 필요가 있죠. 그래야 서비스로 갈 수 있습니다. MRC보다 연구개발에 많은 시간을 들여야 할 것 같습니다. 하반기를 목표로 다른 팀과 협업하고 있습니다.

QA기술팀에서는 어떤 분들과 함께 일하고 있는지요

전체 팀은 총 6명입니다. 다른 팀과의 차이라면 반이 인턴 직원이라는 점입니다. 정직원이 아니라도 학부생이든 대학원생이든, 좋은 사람과 같이 연구 개발하고 있습니다. 또 다른 특징은 독일인 개발자 1명, 프랑스 개발자 1명이 있는 글로벌한 인재로 구성됐다는 점입니다.

포티투마루 자랑과 하고 싶은 말

MRC는 SQuAD, KorQuAD에서 점수를 내는 것은 어느 회사든지, 심지어 관심있는 학생이라도 할 수 있을 것이라 생각합니다. 하지만 상용 서비스를 위해서는 노하우도 필요하고, 검색에 대한 기술이 충분히 있어야 합니다. 포티투마루는 MRC만이 강점이 아니라 검색 전문가들이 많이 포진한 점이 강점입니다.

좋은 사람들과 일하고 싶다는 욕심은 늘 가지고 있습니다. 그런 사람을 찾기 위해서 노력하면서도, 내부적으로 기술력을 가지고 있어야 어필할 수 있기 때문에 늘 신경쓰고 있습니다. 지금 인공지능 분야는 특히나 뛰어난 인재의 역할이 큽니다. 서비스를 만들기 위한 선행 연구에서 뛰어난 개발자, 연구자의 역할이 더 커졌습니다. 좋은 사람이 있는 곳이라면 어디든 달려가 함께 하자고 제안하겠습니다.