[AI 이야기]
무엇을 요청할지 모르니 미리 공부해 두는 방식…구글의 자가 지도 학습 모델 ‘BERT’ 유용 [한경비즈니스 칼럼=이주열 LG CNS AI빅데이터연구소장, 김명지 AI빅데이터연구소 책임] 전이 학습(transfer learning)을 해 보려고 해도 비슷한 태스크에 대해 만들어 놓은 딥러닝 모델이 없다면 재활용할 수 없다. 전혀 다른 것에 대해 학습한 모델이라면 전이 학습을 해도 효과가 없을 가능성이 매우 높다. 이는 마치 그림을 그리는 화가에게 갑자기 100m 달리기 경기에 나가 달라고 요구하는 것과 같아 모델 간의 사전 지식을 활용하기 어렵기 때문이다. 그렇다면 지식을 전수하는 전이 학습은 아주 유사한, 한정된 태스크 간에만 가능할까.
전혀 다른 태스크 간에는 지식을 전수하기 쉽지 않다. 하지만 전이 학습을 염두에 두고 다방면으로 활용할 수 있는 모델을 미리 만들어 놓을 수 있다. 여러 태스크에 활용하기 위해 여러 지식을 미리 두루두루 학습해 놓은 인공지능(AI)을 만드는 것인데 이러한 학습을 ‘사전 학습(pre-training)’이라고 하며 이러한 용도의 모델을 ‘사전 학습 모델’이라고 한다.
사전 학습은 보통 특정 데이터 타입에 대한 일반적인 지식을 두루 배워 놓는 것을 목표로 한다. 텍스트 사전 학습 모델은 언어의 일반적인 의미와 구조에 대해, 이미지 사전 학습 모델은 이미지의 일반적인 특징·색채·형태 등에 대해 배운다. 그래서 향후 어떤 텍스트나 이미지 관련 태스크를 수행한다고 하더라도 기본 지식을 바탕으로 잘 적용할 수 있게 된다. 마치 기본적인 웨이트 트레이닝·유산소운동·스트레칭 등을 통해 몸 쓰는 법을 배웠다면 어떤 운동 종목이든 적응하기 수월한 것처럼 말이다. 대규모 데이터에 대한 사전 학습
어떤 후속 태스크에 적용하든 잘 수행할 수 있도록 하려면 방대한 양의 지식을 골고루 배워 놓는 것이 좋다. 따라서 모델의 사전 학습은 대규모의 오픈 도메인 데이터에 대해 이뤄지는 것이 일반적이다. 이미지와 텍스트에 대한 대표적인 사전 학습 데이터와 태스크는 다음과 같다.
시각 데이터에 대한 사전 학습
많은 곳에서 언급되는 이미지넷 데이터 인식 대회는 가장 유명한 이미지 사전 학습 과제라고 할 수 있다. 120만 장의 학습용 이미지를 학습해 카테고리를 분류하는 이 과제는 대표적인 AI 이미지 인식 태스크다.
수많은 컬러 이미지를 1000개나 되는 카테고리로 분류하도록 학습된 모델은 일반적인 이미지의 특징 대부분을 다뤄 봤다고 봐도 무방하다. 이렇게 학습된 모델은 이미지에 대체로 어떤 색상들이 나타나는지, 등장하는 사물의 직선·곡선과 이들이 합쳐져 이루는 도형, 큰 개체와 작은 개체, 전경과 배경 등을 학습했을 것이다. 다양한 내용을 두루 살펴봤으니 이미지를 대상으로 하는 어떤 태스크에 적용된다고 해도 사전 지식을 기반으로 빠르게 학습할 수 있을 것이다.
정지된 이미지뿐만 아니라 동영상에 대해서도 사전 학습용 데이터가 있다. 구글이 공개한 ‘유튜브-8M’은 무려 총 35만 시간에 달하는 610만 개의 비디오를 약 3800개의 카테고리로 다중 분류해야 하는 데이터다.
언어 데이터에 대한 사전 학습
언어에 대해 전반적으로 배워 놓는다는 것은 문맥에 따라 활용되는 단어의 의미·뉘앙스·적절한 문체 등을 습득한다는 것이다. 자연어는 이미지나 비디오 데이터와 달리 언어권의 차이로 인해 데이터를 언어권별로 각각 수집해 학습시켜야 하는 문제가 있다. 영어는 공개된 데이터가 많지만 한국어나 기타 언어에 대해서는 다량의 표준 데이터를 구하기가 쉽지 않다. 하지만 무난하게 활용하기 좋은 데이터로는 위키피디아가 있다.
위키피디아는 전 분야에 걸친 백과사전 지식을 대상으로 하기 때문에 텍스트 모델을 사전 학습시킬 수 있는 대표적 데이터다. 한국어로도 다운받을 수 있고 이외 여러 언어에 대해서도 제공하고 있다. 이 밖에 국립국어원에서 공개하는 세종말뭉치가 있다.
여러 매체로부터 모은 현대 문어·구어체를 제공하고 있어 경우에 따라 활용하기 좋다. 이 외에 뉴스·리뷰 등의 데이터도 자주 활용되는 사전 학습용 데이터다.
자가 지도 학습(self-supervised learning)
하지만 대규모로 구할 수 있는 데이터라고 해도 라벨까지 잘 달려 있는 것은 드물다. 라벨은 데이터에 대해 AI가 예측하기를 희망하는 결과다. AI는 입력 데이터를 받아 인식할 대상으로 여기고 라벨을 추론할 수 있도록 연산해야 한다. 입력 데이터만으로 학습할 수 있는 모델의 종류는 많지 않기 때문에 정답 라벨이 제대로 달려 있는 데이터를 얼마나 모을 수 있느냐가 모델 학습의 품질을 좌우한다. 하지만 정답 라벨링은 사람이 일일이 만들어 줘야 하기 때문에 공수가 많이 드는 작업이다. 어려운 일은 아니지만 인형의 눈알을 하나씩 붙이고 마늘을 하나씩 다듬는 것처럼 귀찮고 시간이 많이 드는 단순 반복 노동이다.
라벨을 붙인 데이터를 많이 만들기는 힘들어도 라벨 없는 데이터를 모으는 것은 어렵지 않다. 수많은 이미지와 동영상·텍스트 문서 자체는 하루에도 셀 수 없는 양이 쏟아지고 있기 때문이다.
데이터가 많기는 한데 AI 모델에게 알려 줄 정답은 없고 어떻게 활용할 방법은 없을까.
이때 활용할 수 있는 학습 방법이 자가 지도 학습(self-supervised learning)이다.
‘자가 지도 학습’이라는 용어를 처음 듣는다면 마치 AI가 스스로 학습해 똑똑해지는 것처럼 느껴지지만 그런 거창한 개념이 아니다. 자가 지도 학습은 사람이 만들어 주는 정답 라벨이 없어도 기계가 시스템적으로 자체 라벨을 만들어 사용하는 학습 방법이다. 사람이 라벨을 만들어 줄 필요가 없다는 점에서는 비지도 학습으로 볼 수 있지만 자체적으로 라벨을 만들어 사용한다는 점에서 지도 학습의 일종으로 볼 수도 있다. 다음은 자가 지도 학습의 예다.
예 : 이미지 데이터를 위한 자가 지도 학습
다람쥐와 청설모를 구별하고 싶은데 우선 종류에 상관없이 설치류 짐승의 사진을 10만 장 정도 충분히 많이 확보했다. 하지만 10만 장의 설치류 사진이 각각 어떤 종류에 해당하는지 라벨을 부여하기에 시간과 비용을 확보하기 어려웠다. 데이터는 많으니 우선 설치류의 일반적인 특징에 대해 조금이라도 알고 있는 딥러닝 모델을 사전 학습하려고 한다. 이때 자가 지도 학습을 활용해 자동으로 라벨을 부여하고 맞힐 수 있는 태스크를 만들어 모델을 사전 학습시키기로 했다.
이렇게 사전 학습한 모델을 다람쥐·청설모 데이터로 전이 학습했더니 다람쥐·청설모만으로 학습한 모델보다 좋은 성능을 얻을 수 있었다. 예 : 텍스트 데이터를 위한 자가 지도 학습
사외로 전송되는 e메일의 보안 위반 여부를 검출하려고 하는데 우선 보안 위반 여부와 관계없이 사외 전송 e메일 10만 건을 모았다. 하지만 10만 건의 e메일을 전부 살펴보기 힘들어 1만 건의 e메일에 대해서만 라벨링할 수 있었다. 가진 데이터를 전부 활용해 조금이라도 업무 관련 키워드를 학습할 수 있도록 자가 지도 학습으로 사전 학습시키고자 한다. 사전 학습 태스크로는 e메일의 중간 단어를 빈칸으로 대체한 후 들어갈 단어를 알아맞히도록 했다. 이렇게 하니 10만 건의 e메일을 전부 활용해 AI 모델에게 회사에서 자주 쓰는 키워드를 인식시킬 수 있었다.
이렇게 만든 모델을 전이 학습으로 활용하니 1만 건의 라벨링 데이터만으로 학습한 모델보다 좋은 성능을 보였다.
이처럼 자가 지도 학습은 주로 사전 학습에서 이용되며 다량의 데이터는 있지만 라벨이 없을 때 활용할 수 있다. 자가 지도 학습의 과제 자체가 의미 있는 것은 아니지만 수많은 데이터를 자체 라벨링으로 학습하게 되면 해당 데이터에 대한 전반적인 지식을 넓고 얕게 습득할 수 있게 되는 것이다. 이렇게 학습한 모델을 향후 후속 과제로 전이 학습하면 처음부터 특정 데이터로만 학습한 모델에 비해 일반적으로 좋은 성능을 보인다.
예 : 구글 BERT(Bidirectional Encoder Repre-sentations from Transformers)
자가 지도 학습 기법으로 사전 학습하고 다양한 태스크에 전이 학습할 수 있는 대표적인 예로 구글의 ‘BERT’라는 모델이 있다. AI에서의 자연어 처리는 BERT 이전과 이후로 나눌 수 있을 정도로, BERT는 자연어 처리 연구의 패러다임을 전환한 모델이다. 예전부터 사전 학습과 전이 학습의 개념이 있기는 했지만 기존의 사전 학습이 워드 임베딩 등 그저 보조적 역할을 수행하는 느낌이었다면 BERT는 사전 학습 자체가 주가 되는 모델이다. 예를 들어 기존 모델과 BERT의 학습 방식을 시험에 비유해 보자.
고3은 수능을 위해 수능 기출을 따로 풀고 토익 응시생은 토익 문제만 엄청 풀고 정보기술(IT) 회사의 사원은 정보 처리 기사를 공부해 각각의 시험에서 성적을 내기 위해 노력한다. 하지만 BERT의 관점은 ‘이것저것 잡히는 대로 책을 많이 본 사람’이 나중에 ‘어떤 시험을 치러도 잘 보게 된다’는 것이다.
즉 ‘언어’라는 분야 전반에 걸쳐 지식을 두루 쌓은 ‘하나의 거대한 뇌’를 사전 학습으로 만든다는 개념이다. BERT는 사전 학습에서 상당한 양의 데이터(텍스트 코퍼스)를 커다란 모델로 학습시켰고 후속 태스크를 위한 전이 학습은 간략하게만 진행해도 좋은 성능을 낼 수 있었다. 무려 11개의 자연어 처리 과제에서 1위를 차지했는데 이는 텍스트를 대상으로 할 수 있는 거의 대부분의 과제라고 볼 수 있다. 이때 BERT가 사전 학습한 문서가 무려 33억 단어만큼이고 16개의 TPUv3 칩을 활용해 학습했다.
어떻게 보면 당연한 결과다. 지식이라는 것은 서로 연결되는 부분이 있어 한 부분에서 습득했던 내용이 전혀 예기치 못한 다른 영역을 배우는 데 도움을 줄 수 있기 때문이다.
딥러닝 기반의 AI 모델은 다량의 양질 데이터를 필요로 한다. 이 중 대부분은 모델의 학습을 위해 사람이 태깅한 정답 라벨을 필요로 한다. 데이터 자체를 많이 확보하기는 쉬울지 몰라도 라벨링이 잘된 데이터를 다량으로 구하는 것은 쉬운 일이 아니다. 이때 활용할 수 있는 방법이 시스템적으로 라벨을 보유하고 학습할 수 있는 자가 지도 학습이다. 이 방식으로 모델은 전반적인 지식을 골고루 사전에 배워 놓을 수 있고 향후 특정 태스크로 전이 학습할 때 대체로 좋은 성능을 보인다.
일반적으로 자가 지도 학습을 활용한 사전 학습 모델은 다량의 방대한 지식을 골고루 습득하는 것을 목적으로 하기 때문에 대체로 모델의 사이즈가 큰 편이고 사전 학습 규모가 어마어마하다는 특징이 있다. 그래픽 처리 장치(GPU) 학습 장비나 데이터 저장 공간에 대한 비용 부담이 커 실용적이지 않게 느껴지기도 한다. 하지만 사전 학습 모델은 한 번 잘 마련해 놓으면 향후 어떤 과제든 적용할 수 있다. 장기적으로 두고 여러 곳에 활용할 수 있는 기초 모델을 준비한다는 개념으로 생각해야 한다.
[본 기사는 한경비즈니스 제 1306호(2020.12.07 ~ 2020.12.13) 기사입니다.]
© 매거진한경, 무단전재 및 재배포 금지