대화형 인공지능 ChatGPT를 처음 접한 것은 작년 12월 초였는데, 당시에 워낙 높은 성능과 창의적인 과제 수행 덕분에 하루종일 이것만 가지고 놀게 되는 등, 걱정스러울 정도로 재미있는 바람에 하루이틀 시험하다가 오히려 심리적 거리를 두고 접어 두었었다. 그때 열심히 사용해 보고, 보다 최근에 큰 화제가 된 후 다시 사용해보며 느낀 점들을 정리해 보고자 한다. 작동 원리에 대한 이야기는 가장 단순화된 레벨에서는 아마 대체로 정확할 테지만, 기술적인 세부는 맥락에 다소 어긋나거나 부정확할 수도 있다. 따라서 이번 포스트를 제외한 이 시리즈의 내용 대다수는 실제 기술적인 원리보다는, 철저히 사용자 입장에서 느낀 점을 다룰 것이다.
또한 이 글을 작성하는 사이에 이미 ChatGPT뿐만 아니라 각 유수 기업에 의한 대화형 거대언어모델들도 속속 공개되었고, 각 부문에 특화된 서비스들도 구름떼처럼 등장하고 있다. 특히 가장 최근에는 거대언어모델이 검색엔진 Bing에 결합되어서 실시간 정보도 처리해 주면서, 정말로 검색을 효과적으로 보완하는 역할을 시범적으로 해주고 있다. 또한 바로 며칠 전인 3월 1일에는 ChatGPT의 API가 공개되어, 정식 버전이 여러 가지 서비스에 활발하게 이식될 길이 열렸다. 또한 12월 초에 공개되었을 때에 비해서 쿼리를 처리하는 비용을 90% 이상 절약했다고 한다.
(관련 openAI 아티클: 링크. ChatGPT를 누구나 자신이 개발하는 서비스에 이식하여 활용할 수 있도록 API (application programming interface) 를 공개한 OpenAI의 소식.)
이렇게 급변하는 상황에서, ChatGPT가 거대언어모델의 대표 예시로 나름 오래 갈 것으로 상정하고 그 특징 및 장단점을 논하는 이 글의 접근은 거대언어모델에 대한 general perspective라기에는 벌써 퇴색되는 감이 있다. 독자분들의 너른 이해를 구한다. 그럼에도 불구하고 ChatGPT는 광범위한 대중적 관심뿐만 아니라 산업계의 비상한 관심을 끌 만큼 충분히 고성능이며, 그러면서도 특정한 목적보다는 격식있는 언어 일반에 대한 능력을 갖추고 있으므로, 앞으로 나올 여러 언어모델들의 대표이자 하나의 전형이라고 여기며 생각해보는 것은 여전히 의미가 있다.
계획 중인 목차는 다음과 같으며, 이 포스트에서는 '2. 기술적 원리 개괄'까지 다룬다.
1. 서론
2. 기술적 원리 개괄
3. 사용자 입장에서의 특징 및 장단점
(1) 조리있음, 논리적 상상력, 그리고 강박적 우호성
(2) 주요 한계
4. 우려
(1) 자기확신과 인지편향의 강화
(2) 신호와 잡음의 구분이 어려워지는 문제
5. 해석
(1) 생성 인공지능: 우연성 예술과 합리적 조수 사이에서
(2) '의미 엔지니어링'으로서의 거대언어모델
(3) 텍스트 바깥에는 아무것도 없다?
6. 기타
먼저 기술적 원리를 짧게만 정리해보면서 이하에 나올 내용들을 예고해본다. ChatGPT는 AI 중에서도 거대언어모델 (Large Language Model)의 일종이다. 대부분의 거대언어모델, 특히 ChatGPT가 직접적으로 기반을 두고 있는 GPT의 기본적인 원리는 바로 다음 토큰 예측 (next token prediction) 이다. 토큰이란 텍스트를 적당한 기본 구성 단위로 나누어서, AI가 다룰 수 있게 번호를 부여한 것을 뜻한다. 즉 단순화하자면 다음 단어 혹은 다음 문장 예측이라고 할 수 있다. 이로써 어떤 글이 주어졌을 때 그 글의 다음에 등장할 법한, 즉 가장 그럴듯한 문장을 예측한 후 확률에 따라 생성해서, 가장 자연스럽게끔 글을 완성시켜 주게 된다.
다들 알다시피 ChatGPT에서는 이것이 가능하다. 어떻게 한 것일까? 그 원리 자체는 생각보다 간단하다. ChatGPT도 기본적으로는 위의 GPT와 똑같이 어떤 텍스트의 다음 내용을 예측하는 방식으로 작동한다. 다만, 그렇게 해서 완성되는 글이 ‘한 사람이 쓰는 글’이 아니라 ‘두 사람의 문답 반복’ 즉 dialogue의 형태를 갖는 글이 되게끔 사람들이 직접 평가하고 보상을 주어서 강화학습을 한 것이다. 이를 RLHF (Reinforcement Learning from Human Feedback) 라고 한다.
즉, ChatGPT를 질문에 대해 뭐든지 답변을 해 주는 AI라고 받아들이기보다는, 질문→답변이 반복되는 dialogue를 가장 그럴듯하게 완성시켜 주는 AI라고 생각하는 것이 오해를 줄일 수 있을 것으로 보인다. 그런데 워낙 성능이 좋고 데이터가 방대하다 보니, 질문에 대해 답변을 해 주는 것으로 느껴지는 것이다.
그러나 이것은 탐구와 해석이 필요한 부분이며, 어찌되었든 이 글의 논점은 벗어난다. 따라서 위의 비교는 ChatGPT의 답변 생성 원리가 인간의 언어기제와 원리적으로 분명히 같다 (혹은 분명히 다르다) 는 주장은 아니다. 사용자 입장에서 오해를 줄이기 위한 실용적인 이해의 방식 정도로 해두는 것이 적절하겠다.
다음으로는 ChatGPT를 학습시킨 방법의 이런저런 세부사항을 소개한다.
먼저 ChatGPT는 위에서 이미 언급한 다음 내용 예측과 함께, 글 중간의 토큰을 지우고 맞추는 masked language modeling도 동원하여 학습이 이뤄졌다고 한다. 한편 고성능의 결정적 요인은 바로 트랜스포머 아키텍쳐에서의 어텐션 방법으로, GPT의 T가 바로 트랜스포머를 줄인 것이다.
또한 맥락-내 학습(In-context learning)도 중요한 키워드인데, 이는 모델을 구성하는 파라미터를 업데이트 하지 않고서도, 커다란 모델 속에 기존에 저장되어 있는 능력을 잘 이끌어내어서 새로운 과제에 대한 수행능력을 구성해낼 수 있게 하는 방법이라고 한다. ChatGPT는 예시를 오직 몇 개만 주거나 (few-shot learning), 혹은 예시가 아닌 자연어로 된 설명만 제공하더라도 (zero-shot learning) 상당히 잘 알아듣고 과업을 수행해준다. 직접 사용해보면서 알게 된 이러한 사실이, 맥락-내 학습이라는 기술적 용어와 연결되는 것이 재미있다.
기존의 많은 거대언어모델에서는 새로운 과제를 종류의 수행하게 하려면 사전학습된 모델 (pre-trained model) 을 미세 조정하는 방법을 사용해야 했는데, 이는 쉽게 말해서 각각의 과제를 위해 학습을 새로 해야 한다는 뜻이고 시간과 비용이 많이 든다. 이와 반대로, 맥락-내 학습에서는 파라미터 업데이트 없이도 원하는 과제를 금방 배울 수 있으니, 특히 ChatGPT와 같은 대화형 인공지능이 사용자의 의도를 효과적으로 파악하고 성공적으로 수행하게 하는 데에 매우 적합하며 사용자의 편의성을 크게 증대시켜 준다.
이러한 zero-shot 추론기계로서의 거대언어모델의 특징에 대한 약간 더 기술적인 내용은 이후 포스트에 나올 ‘의미 엔지니어링으로서의 거대언어모델’ 섹션에서 조금 더 자세히 다루기로 한다.
마지막으로 문장 생성에 있어서 무작위성을 얼만큼 허용할지와 관련된 온도라는 하이퍼파라미터를 많은 사람들이 흥미로워하는 것이 반갑다. 말하자면 고온에서 분자들이 더 무작위적으로 운동하는 것처럼, 언어모델의 온도라는 파라미터를 높게 설정하면, 다음 토큰 예측에서 보다 후순위에 있는 단어들도 인출될 가능성이 높아져서 문장이 무작위하게 된다는 뜻이다.
이는 기본적으로 열역학 및 통계물리학에서의, 그리고 일상적 쓰임에서의 온도 개념과 잘 유비될 뿐만 아니라 실제로 그것으로부터 유래되었다고도 볼 수 있다. 가장 기초적인 생성 인공지능 중에 하나인 제한 볼츠만 기계 (Restricted Boltzmann Machine, RBM) 은 그 자체로 통계물리학의 교과서적 모형인 이징 모델과 거의 똑같은데, 거기서 사용되던 온도의 개념이 지금까지 이어져 온 것이다.
.
.
이번 글에서는 ChatGPT의 기술적 원리를 나름대로 개괄해보았다. 나는 인공지능의 발전에 늘 관심을 가지고 팔로우업하고 있으나, 약간의 수학적, 물리학적 배경이론을 공부해 본 것 외에는 인공지능 모델에 대한 직접적인 연구개발 등의 전문성은 없는 입장인지라 걱정이 되기도 한다. 이에 다음 글에서는 기술적 작동원리에 대한 더 깊은 접근은 그만두고, 사용자 입장에서 느낀 ChatGPT의 특징들을 공유해 보고자 한다.
그 특징들은 크게 '조리있음', '논리적 창의성' 그리고 '강박적 우호성'으로 요약된다. 이러한 특징들에도 불구하고, 혹은 이러한 특징들 때문에 ChatGPT가 갖게 되는 한계점들과, 그것들로부터 우리가 가지게 되는 여러 가지 우려사항들과 논점들에 대해서도 다루어 보기로 한다.
댓글 없음:
댓글 쓰기