글 잘쓰는 AI 'GPT-2'와 저널리즘 역할론
언어 모델은 비지도 복합작업 학습자(Language Model are Unsupervised Multitask Learners)
도입
- 우리는 개별 작업을 위해 트레이닝 데이터 세트를 라벨링하거나 수동으로 만드는 작업 없이 다양한 작업을 수행할 수 있는 보편 시스템을 만들고 싶었다.
- 멀티태스크 러닝은 보편적인 작업수행(성과)를 개선하기 위한 유망한 프레임워크다.
- 현재 언어 관련 작업을 가장 잘 수행하는 시스템은 선행 트레이닝(pre-training)과 지도형 미세조정(fine-tuning)을 결합해 활용하는 방식이다.
- 우리는 제로샷 세팅(zero-shot setting)1으로 폭넓은 범위의 작업을 수행하는 언어 모델에 방점을 둠으로써 그 잠재성을 보여줄 것ㅇ다.
2. 접근 방식
- 우리 접근법의 핵심은 언어 모델2에 있다. 언어 모델은 일반적으로 어떤 사례 세트에서 비지도 분포 추정(unsupervised distribution estimation)으로 프레임화할 수 있다.
- 보편 시스템은 여러 다양한 작업을 수행할 수 있어야 하며, 심지어 동일한 인풋값을 받더라도 인풋에 대한 것뿐 아니라 수행해야 할 다른 작업에 대해서도 조건화할 수 있어야 한다.
2.1. 트레이닝 데이터세트
- 대부분의 선행 연구들은 뉴스 기사나 위키피디아 또는 픽션북과 같은 단일 영역(single domain) 텍스트로 언어 모델을 훈련시키는 방식을 취해왔다. 하지만 우리 접근법은 가능한 다양한 분야와 맥락의 자연어 표현을 수집하기 위해 가능한 한 많고 다양한 데이터 세트로 모델을 구축할 수 있도록 한다.
- 다양하고 거의 무한대에 가까운 텍스트 소스를 구하는 방식은 Common Crawl과 같은 웹 스크랩이다. Trinh & Le는 상식 추론(commonsense reasoning) 작업을 하기 위해 Common Crawl를 활용했다. 하지만 상당량의 문서들은 대부분이 훌륭하지 않았다(unintelligent).
- 대신 우리는 문서 품질을 강조하는 새로운 웹 스크랩을 개발했다. 이를 위해 사람에 의해 큐레이팅되거나 필터링 된 웹페이지만 스크랩했다.
- 수동으로 직접 필터링한 웹 스크랩 방식은 시작점부터 막대한 비용을 요구하기 때문에, 우리는 소셜미디어 플랫폼인 레딧에서 카르마 ‘3’ 이상을 받은 포스트의 아웃바운드 링크 모두를 스크랩했다.
- 모아진 텍스트인 WebText는 4500만개 링크의 텍스트 서브세트를 포함하고 있다. HTML에서 텍스트를 추출하기 위해 우리는 Dragnet과 Newspaper를 조합해 사용했다.
- 수집한 데이터에서 위키피디아 문서는 제거했다. 다수의 링크가 위키피디아로 향하고 있었기 때문에 중복될 우려가 있었고 트레이닝 데이터를 중복해 분석할 수도 있기 때문이다.
6. 논의
- 많은 연구들은 지도 또는 비지도 선행 트레이닝 방법의 재현에 대한 학습, 이해, 비판적 평가에 기여해온 것이 사실이다. 우리의 연구 결과는 비지도 작업 학습이 연구로서 탐구해볼 유망한 영역임을 말해주고 있다.
- 우리는 여러 기본적인 NLP 작업에서 WebText 언어모델의 제로샷 수행을 연구했지만, 아직 평가해야만 하는 여러 부가적 작업이 남아있다.
논문을 읽고 난 뒤
NLP의 기반이 되는 언어 모델(language model)은 조건부 확률 예측 도구입니다. 쉽게 말해 ‘나는 내일 서울로 (?)’ 라는 단어의 순차적 배열이 존재할 때 ?에 어떤 단어가 들어갈 때 자연스러운 우리 일상 언어에 가까운가를 추정하는 모델인 것이죠. 한국인들이야 당연히 ‘갈 것이다’, ‘올라갈 것이다’ 등등의 단어 조합을 쉽게 떠올릴 겁니다. 하지만 기계는 그게 아닙니다. 이 예측의 정확도를 높일 수 있는 언어 모델을 만드는 것이 (제가 아는 한) 기술적 관건입니다.
이번에 발표된 GPT-2는 여느 기술들처럼 언어 모델을 토대로 삼고 있습니다. 대신 지도 학습 방식이 아니라 비지도 학습(라벨링이 안된 데이터를 학습하는 방식)이고, 제로샷 학습(zero shot learning)으로 작동합니다. 라벨링 되지 않았으면 스스로 라벨링 하도록 유도한다는 의미입니다. 이것이 방법으로서 가지는 가치는 제 이해 범위를 넘어서기에 더 길게 말씀드리긴 어려울 듯합니다.
국내 언론 보도를 보면 이 언어 모델을 두고 “가짜뉴스 만드는 AI”라고까지 평가하더군요. 전 감히 틀렸다고 생각합니다. 일단 이 언어 모델은 가짜 뉴스를 작성하기 위해 고안되지 않았습니다. 이전까지의 다수 언어 모델은 특정 영역의 문서를 학습하면 특정 영역에 대한 다음 단어, 문장을 예측하는데 능력을 발휘해왔습니다. 이를테면, 영화 분야 문서를 학습하면 영화 분야 문장 생성에 장점을 발휘했지, 경영 분야나 수학 분야에까지 폭넓게 활용하긴 어려웠습니다. 못한다기보단 예측 확률이 낮아서 사용하기엔 불편했다는 거죠.
GPT-2는 이 문제를 해결하기 위해 설계된 모델입니다. 이를 위해 방대한 데이터를 학습했습니다. 무려 40GB 달하는 텍스트를 데이터로 활용한 것입니다. 그런데 여기서 주목할 점이 있습니다. 이들 연구진들이 훌륭한 모델을 내놓기 위해 수집한 데이터의 소스입니다. 좋은 언어 모델이 개발되고 작동하려면 그만큼 좋은 품질의 문서가 인풋 데이터로 학습돼야 합니다. 이들 연구진들도 그게 가장 큰 고민 중의 하나였다고 논문에서 밝힙니다. 그래서 찾아낸 해법이 레딧이었습니다.
위 요약문에서도 확인할 수 있듯, 좋은 품질의 언어 데이터를 방대한 양으로 수집하기 위해서는 인간의 도움이 절실했습니다. 그렇다고 그 방대한 양의 데이터를 손수 필터링하도록 맡기면 인건비가 어마어마할 겁니다. 레딧을 택한 이유입니다. 이들은 레딧에서 카르마 3 이상을 획득한 이들이 소개한 링크를 주목한 겁니다. 적어도 카르마 3 이상이면 나름 신뢰할 만한 사용자 집단이고, 이들이 소개한 링크는 품질이 높을 확률이 높다고 가정한 것 같습니다. 40GB라는 방대한 분량의 텍스트 데이터는 1단계로 이렇게 모을 수 있었습니다. 그리고 두 번째 절차를 거칩니다. 위키피디아 문서를 제거한 겁니다. 다른 데이터세트에도 위키피디아 문서가 워낙 많이 들어가 있기 때문에 분석을 더 복잡하게 만들 수 있어서라고 합니다.
만약 레딧이 없었다면 이들은 어떻게 좋은 품질의 문서에 접근할 수 있었을까요? Common Crawl조차도 다수 문서의 품질이 기대 이하였다는 실험 사례가 나올 정도였으니 말이죠. 이 정도의 성능을 발휘하는 언어 모델을 만들어내기 위해서는 결국 신뢰 있는 문서/글이 필수적으로 존재해야 하고, 이 데이터에 접근할 수 있도록 도와준 인간의 노력도 수반돼야 합니다.
결국 한국어에서 좋은 언어 모델이 탄생하기 위해서는 신뢰할 만한 문서가 방대한 양으로 존재해야만 합니다. 그런 문서를 정규적으로 대량으로 생산할 수 있는 집단은 그리 많지 않을 겁니다. 예상하신 대로 저는 기자 집단이라고 생각합니다. 신뢰할 수 있는 뉴스를 주기적으로 생산하지 않으면 GPT-2 같은 모델을 우리는 만나지 못할 수도 있습니다. 이 전제가 충족되지 않은 상태에서 학습한 언어 모델은 결국 가짜 뉴스를 결과물로 내뱉거나 엉뚱한 답변을 만들어낼지도 모르는 것이죠.
아쉽게도 위키피디아 한글 문서는 기대만큼 많지 않고, 네이버 뉴스 저장고에 들어찬 뉴스들 가운데는 허위 정보나 어뷰징 기사가 넘쳐나죠. 레딧처럼 양질의 문서를 걸러주는 사용자들의 필터링 플랫폼도 많지 않습니다. 결국 훌륭한 언어 모델을 만들어낼 수 있는 사회적 자원과 인프라가 부족하다는 뜻이기도 할 겁니다.
다른 한편으로 이러한 기술로 새로운 비즈니스를 만들어가는 플랫폼 사업자들은 고품질 문서를 생산해내는 사용자들이나 집단들에게 유무형의 보상을 할 필요가 있다고 생각합니다. 그들이 생산해낸 양질의 트레이닝 데이터 없이 뛰어난 언어모델을 만들기는 쉽지 않을 테니까요. 그들의 인지 노동에 대해 어떤 유무형의 보상을 해야 하는지에 대해 진지하게 고민해야 한다고 생각합니다. 양질의 트레이닝 데이터 세트는 그냥 얻어지는 것이 결코 아닙니다.
결국 좋은 저널리즘이 플랫폼 사업자들의 NLP 기술을 향상시켜줄 것이고, 그것이 다양한 언어 기반 AI 비즈니스 기회를 만들어줄 것이라고 봅니다. GPT-2는 비영리 기관에서 개발한 기술이지만, 실제로는 영어권 사회의 모든 수고들이 결합해 탄생한 결과물입니다. 문서의 이용권을 공유하고 그 풀을 방대하게 구축했기에 만들어질 수 있었습니다. 이 사회의 구성물임을 모두가 인식해야 하지 않을까 싶습니다.
-
라벨링 된 데이터에 대한 훈련 없이도 새롭게 들어온 대상(input)을 자동으로 라벨링하는 방식. ↩
-
언어 모델을 간단하게 요약하면 문장의 확률을 계산하거나, 또는 이전 단어들이 주어졌을 때 다음 단어가 나올 확률을 계산하는 것을 말합니다. 사실 이 두 가지는 서로 같은 문제이기도 합니다. 자연어 처리로 유명한 스탠포드 대학교에서는 언어 모델을 문법(Grammar)이라고 비유하기도 합니다. 언어 모델이 단어들의 조합이 얼마나 적절한지, 또는 해당 문장이 얼마나 적합한지를 알려주는 일을 하기 때문입니다.(출처 : https://wikidocs.net/21668) ↩