[SKT 언어AI 개발기] ①고성능 비결 '목적·데이터·리소스'

임민철 기자입력 : 2020-10-20 07:44
모델 학습에 아마존 클라우드 리소스 지원받아 코버트·KoGPT2는 상식·문법 익힌 '범용AI 모델' '특화학습'으로 코로나19 등 탄생 후 지식 습득
인간과 컴퓨터가 일상 언어로 소통하고 정보를 주고받게 해 주는 인공지능(AI) 기술이 주목받고 있다. 언어AI 기술을 IT 서비스와 프로그램에 구현하기 위한 언어AI 모델 연구가 활발하다. 최근 미국 기업 구글의 버트(BERT)와 오픈AI의 'GPT' 시리즈와 같은 언어AI 모델이 특히 뛰어난 성능을 보여 주며 세간의 관심을 모았다.

당초 영어만 읽고 쓸 줄 아는 두 언어AI 모델에 한국어를 가르친 전문가들이 국내에 있다. SK텔레콤 산하의 'AI랭귀지테크랩스(ALT Labs)' 소속 연구원들이다. 이들은 작년 10월과 올해 2월 각각 한국어를 익힌 코버트(KoBERT)와 KoGPT2를 선보였다. SK텔레콤 언어AI 기술 분야의 연구 성과와 발전 방향을 가늠하기 위해, 이들과의 서면 인터뷰를 진행했다.

ALT Labs의 데이비스 에릭 하트만 소장, 김태윤 리더, 김진 리서치엔지니어, 전희원 리서치엔지니어, 4명이 함께 질의에 답했다. 지난주 보도된 "SK텔레콤은 '언어신동 AI’에 어떻게 한국어를 가르쳤을까"가 이번 인터뷰의 답변 가운데 극히 일부분만을 담은 첫 기사다. 전체 인터뷰 질의응답을 주제별로 재배치해 두 편으로 재정리했다.

 

[사진=게티이미지뱅크]


전반부는 범용 AI모델의 역할과 용도, 한국어 AI모델 제작과정, 좋은 언어AI 모델을 위한 데이터의 중요성에 대한 SK텔레콤 ALT Labs 연구원들의 경험과 관점을 담고 있다. 연구원들은 좋은 AI모델을 만들기 위해 명확한 목적(과제), 그에 맞는 범용 모델의 선택, 충분한 학습을 위한 고성능 IT인프라, 고품질의 데이터 등이 필요하다고 봤다.

ALT Labs 연구원들과의 인터뷰 질의응답 전반부를 아래에 정리했다.

Q. 아마존웹서비스(AWS)와 협업했다고 들었는데 어떻게 시작됐고, 무슨 도움을 주고받았나요?

A. AWS와의 협업은 작년말 전희원 연구원이 개인적으로 코버트를 AWS 딥러닝 프레임워크 MXNet으로 포팅하는 작업을 도우면서 시작됐습니다. 아마존 머신러닝솔루션즈랩이 대용량 학습 인프라에 대한 환경 구축 작업을 해주셨고 AWS의 글루온NLP(GluonNLP) 팀이 학습코드 최적화에 도움을 주셨습니다.

AWS에는 MXNet 코어엔진을 다루는 엔지니어들이 많이 계셨고 저희 코버트, KoGPT2가 마침 MXNet으로 구축돼있었죠. 머신러닝솔루션즈랩은 코버트 등 한국어 모델을 글루온NLP 내부 프레임워크에 포팅하는 데 큰 의미를 두고 있었습니다.

저희는 코버트를 학습하기 위해 2개월간 엔비디아 테슬라 V100 GPU 16개를 사용했습니다. KoGPT2의 경우에는 1주일간 V100 GPU 64개를 사용했고요. KoGPT2 학습 당시 저희는 대용량 학습을 할 리소스가 충분하지 않았어요. AWS에서 적지 않은 리소스를 제공해 주셨습니다. 다른 클라우드 사업자하고는 이런 니즈를 서로 맞추기 어려웠을 것입니다.

Q. AI에 필요한 리소스가 점점 많아지고 있는데, 그만큼 효율은 떨어지고 있는게 아닌가요?

A. (AI 모델의) 효율의 의미는 상황에 따라 다르게 해석될 수 있습니다. 높은 정확도가 중요한 경우에는 많은 연산 자원이 필요합니다. 그리고 비록 많은 시간이 들더라도 대용량 모델의 학습 과정을 거쳐야 합니다. 반면 정확도보다 처리 속도가 중요하거나 빠른 학습이 필요한 경우라면, 작은 모델을 학습하는 것이 효율적이겠지요.

Q. 모델의 크기를 줄이기 위한 방법은 어떻게 발전되고 있나요?

A. 버트와 GPT 시리즈는 다양한 문제에 적용하기 위해 사전학습된 모델입니다. 이런 사전학습 모델을 기반으로 실제 애플리케이션에 적합하게 만든 고성능 모델이 지속적으로 개발되고 있습니다. 또 다양한 애플리케이션에 적용하기 위해 성능을 유지하면서 모델의 크기를 다양한 방법이 제안됐고, 그 효과가 입증되고 있습니다.

스마트폰 등의 저사양 기기에 모델을 적용하기 위한 여러 시도와 연구가 진행되고 있습니다. 최근 예측력 저하를 최소화하면서 모델 크기를 획기적으로 줄이는 연구가 다양하게 진행되고 있고, 실제 서비스에도 적용되는 추세입니다. 모델의 크기에 따라 행렬의 크기와 연산 단계가 달라지기 때문에, 모델 크기가 줄면 연산에 소요되는 리소스가 감소합니다.

Q. 한국어를 학습한 두 모델로 다른 언어도 처리할 수 있나요?

A. 코버트와 KoGPT2는 한국어 언어처리를 주된 목적으로 했기 때문에 한국어 말뭉치를 위주로 학습해 개발됐습니다. 한국어 외의 언어에 활용하는 것은 권장되지 않습니다.

Q. 한국어만 학습한 모델이 다른 언어를 입력받으면 어떤 일이 벌어지나요?

A. 어떤 언어가 학습에 포함되지 않았다면 아랍어든, 프랑스어든, 그 단어는 동일하게 '알 수 없음(Unknown)'으로 표현됩니다. 이러면 단어의 표현 벡터(representation vector)가 변별되지 않고, 관련 하위작업에 좋은 성능을 보이기 어렵습니다.

Q. '코로나19' 사태 이전에 나온 언어AI 모델은 그 관련 정보를 처리할 수 없나요?

A. 말씀대로 코버트와 KoGPT2는 모두 코로나19 사태 이전의 말뭉치로 사전학습(pre-training)돼, 코로나19에 대해 곧바로 적절히 처리하기는 어렵습니다. 하지만 작업 특화학습(task specific fine tuning)을 통해 적은 양의 코로나19 관련 데이터만으로 대화AI 모델로 만들 수 있습니다.

Q. 사전학습과 특화학습의 차이에 대해 간단히 설명을 부탁드립니다.

A. 일반적으로 언어모델은 사전학습과 특화학습이라는 두 가지 학습 방식을 거쳐 활용을 극대화합니다.

사전학습은 인터넷에 공개된 방대한 데이터를 활용합니다. 뉴스, 블로그, 위키 등 대량의 말뭉치로 학습해 AI모델이 일반적인 지식·상식 학습과 언어의 구조·문법, 두 가지를 학습할 수 있습니다. 코버트와 KoGPT2는 이렇게 학습한 언어모델입니다. 레이블링(labeling)이 불필요하기 때문에 가능한 방식입니다.

특화학습은 사전학습된 AI모델을 다듬는 학습 단계입니다. AI를 만드는 목적에 적합한 지식을 학습하는 것입니다. 대화AI를 만들고자 한다면 대화에 필요한 지식과 AI 사용자의 질의에 대한 답변을 어떻게 할지 학습하는 것이죠. 특화학습을 위한 데이터에는 양질의 레이블링이 필요합니다.

코버트와 KoGPT2 개발에 참여한 SK텔레콤 ALT Labs 연구원들. (왼쪽위부터 시계방향으로) 전희원 리서치엔지니어, 김진 리서치엔지니어, 데이비스 에릭 하트만 소장, 김태윤 리더.[사진=SK텔레콤 제공]


컴패션 [당장 오늘 먹을 것도 없었는데...], 코로나19재난구호

©'5개국어 글로벌 경제신문' 아주경제. 무단전재·재배포 금지

네티즌 의견 0
0 / 300

실시간 급상승

9.9초 더보기

아주 글로벌