기획 기사 기획 기사

풍부한 지식을 가진 ChatGPT,
기발한 생각도 할 수 있을까?

글. 산업공학과 2 최윤서 편집. 항공우주공학과 3 이지훈
ChatGPT는 어떻게 질문을 이해하고 답변을 내놓을까요? 무엇을 물어봐도 답변을 해주는데, 방대한 지식은 어떻게 갖게 된 걸까요? 그리고 ChatGPT가 하지 못 하는 일은 무엇이 있을까요?

이번 특집기사에서는 이런 질문들에 대답하는 시간을 가져보려 합니다. ChatGPT는 어떻게 학습하는지, 그 학습 방법으로 인한 한계는 어떤 것들이 있는지 차근차근 알아봅시다.
1. ChatGPT의 학습

ChatGPT를 학습시키는 과정은 세 단계로 나눌 수 있습니다.
그림 1. Chat GPT의 학습 과정
우선 언어 모델을 학습시켜야 합니다. 언어 모델(Language Model, LM)은 특정 문장에 확률을 할당하는 모델입니다. 어떤 문장에 할당되는 확률은 그 문장이 자연스러운 정도에 대응합니다. 이런 확률을 비교하면 여러 문장 중에서 가장 적절한 문장을 골라낼 수 있습니다. 예를 들어 “나는 학교를 먹는다.” 라는 문장과 “나는 학교를 간다.” 라는 문장이 주어졌을 때, 잘 학습된 언어 모델은 후자의 문장에 더 높은 확률을 할당할 것입니다.

이때 문장 전체의 확률은 다른 단어가 존재할 때 특정 단어가 존재할 확률을 단어 별로 모두 곱한 것으로 표현됩니다. 앞의 예시를 가져오면, “학교” 이라는 단어에 대해 “먹는다”보다는 “간다”라는 단어가 존재할 확률이 더 높게 할당됩니다.

그렇다면 언어모델은 단어가 존재할 확률을 어떻게 할당할까요? 조건부 확률을 구하는 방법은 언어 모델에 따라 다릅니다. 언어 모델을 학습 시킨다는 것은 특정 단어가 어떤 단어 시퀀스에 등장하는 것이 얼마나 자연스러운 일인지(확률이 높은 일인지) 평가할 수 있는 모델을 만든다는 뜻입니다. 모델을 구축하는 이러한 작업을 언어 모델링이라고 합니다.

최근 대부분의 언어 모델들은 ‘트랜스포머 아키텍쳐’를 활용합니다. 즉, 확률을 구하는 과정에서 ‘트랜스포머’의 방식을 따른다고 생각하시면 됩니다.
그림 2. 트랜스포머 아키텍쳐
트랜스포머 방식은 확률을 계산할 때, 모든 정보에 같은 가중치를 부여하지 않습니다. 예를 들어, “공상이는 물리가 ____.”의 빈칸에 “어렵다”와 “좋다” 중 어떤 단어가 올 지 예측하는 과정을 떠올려 봅시다. 직전 단어인 “물리가”에 집중한다면 “어렵다”라는 단어가 따라올 확률이 높습니다. 일반적인 사람들은 물리를 어렵다고 생각하는 경향이 있고, 데이터는 이를 반영하고 있을 것이기 때문입니다. 하지만 이전 문장들을 통해 “공상이”가 공대에 재학중이라는 사실을 알고 있고 “물리가” 보다 “공상이”에 집중한다면 “좋다.”로 이어지는 문장에 더 높은 확률을 부여할 수 있습니다. 그리고 이 결과가 더 자연스럽습니다. 이 상황에서 빈칸을 예측할 때에는 “물리”보다는 “공상이”에 집중해야 합니다. 이렇게 주목할 정보에 더 높은 가중치를 부여하는 것을 개념적으로 “어텐션”이라고 합니다. 트랜스포머 방식은 여러 개로 분할해서 병렬로 어텐션을 수행하고 결과값을 하나로 합쳐 확률을 계산하게 됩니다.

수많은 문장에 빈칸을 뚫어놓고 빈칸에 들어갈 말을 예측하게 한 다음, 실제 데이터와 비교해서 잘못된 단어를 예측했다면 모델을 수정하는 과정을 거칩니다. 원래 데이터가 “공상이는 물리가 좋다.” 였다면 해당 모델은 정답을 맞힌 것이고, 다른 답을 내어 놓았다면 모델을 자동으로 수정합니다. 이렇게 학습된 언어 모델을 이용하면, 질문이 주어졌을 때 어떤 응답이 자연스러운 지를 조건부 확률로 나타낼 수 있습니다. ChatGPT는 이런 확률을 계산하여 가장 자연스러운 응답을 골라냅니다.

두 번째 단계는 보상 모델을 학습시키는 일입니다. 보상 모델이란 질문에 대한 응답이 적절한 지 평가하는 모델입니다. 보상 모델은 입력으로 질문과 그에 대한 응답이 주어지면 그 응답이 얼마나 적절한 지를 출력합니다. ChatGPT의 경우 모델을 학습시키기 위해서는 사람이 직접 응답을 평가한 데이터를 활용했습니다. 그리고 모델의 출력이 사람의 평가와 유사해지도록 수정하는 과정을 거쳤습니다.

마지막으로 질문에 대해 언어 모델이 생성한 여러 답변을 보상모델이 평가하며 미세한 조정을 거칩니다. 이 때 활용하는 것이 근사 정책 최적화(Proximal Policy Optimation)입니다. 앞서 살펴 보았듯 언어 모델은 문장에 확률을 할당합니다. 이 과정을 함수로 이해할 수 있습니다. 즉, 언어모델은 문장을 입력으로 받아 확률을 출력하는 함수와 유사합니다. 파라미터를 수정하면 함수를 바꿀 수 있습니다. 예를 들어, f(x, y) = 2x+3y인 함수 f가 y의 값에 과도하게 영향을 받아 적절한 출력을 만들어내지 못 한다면 f(x, y) = 2x+2y 로 f를 수정할 수 있습니다. 언어 모델의 내부는 방금 제시한 단순 함수에 비해 훨씬 복잡하지만, 파라미터를 수정하여 입력에 대한 출력을 바꾼다는 점은 같습니다. 근사 정책 최적화 알고리즘은 가장 적절한 응답에 가장 높은 확률을 할당할 수 있도록 파라미터들을 수정합니다.
2. 학습 방법으로 인한 한계

결국 ChatGPT는 질문에 대해 가장 자연스러운 응답을 제시하는 서비스입니다. 단지 다음에 올 가장 가능성 높은 단어를 생각하며 문장을 생성할 뿐인데, 지식을 가지고 있는 것처럼 느껴지는 것입니다. 언어에는 우리의 사고가 담겨 있습니다. 언어를 배우는 것만으로도 사람이 생각하는 방식을 배울 수 있는 것은 그 때문입니다. 그러나 ChatGPT는 생성된 응답의 참과 거짓을 확인하지 않습니다. 보통은 참인 문장을 더 자연스럽게 여기겠지만, 거짓이더라도 자연스럽다고 판단하면 그대로 출력할 수 있습니다. 이 문제는 데이터가 불충분한 분야에서 더 부각됩니다. 예를 들어 학생 ‘공상이’를 서술하는 문장을 모델이 충분히 학습하지 못했다고 가정해 봅시다. ‘공상이’에 관해서 “공상이는 영어를 잘 한다.” 그리고 “공상이는 책을 읽는다.” 라는 문장만 학습했을 때 언어 모델이 “공상이는 고양이다.” 같은 문장은 자연스럽다고 여기지 않더라도, “공상이는 선생님이다.” 라는 문장은 자연스럽다고 여길 수 있는 것입니다.
3. 진정한 지능

진정한 지능은 무엇일까요? 인간을 포함한 생명체가 가지는 지능을 자연지능이라고 합니다. 자연지능은 경험이나 학습으로 인해 습득될 수도 있지만 진화를 통해 내재된 사고이기도 합니다. 인간의 사유가 때로는 비약적이기도 하고, 보편법칙을 따르지 않는 불확실성을 가지는 것은 자연지능이 경험된 내용의 범위를 넘어서기 때문입니다. 이러한 견해에서 아직은 인공지능과 자연지능이 일치한다고 말하기 어렵습니다. 학습 방법을 통해 알 수 있듯 현재의 인공지능은 기존에 존재하는 생각들과 어긋나지 않는, 기존의 체계에서 자연스럽다고 여겨지는 답변만을 할 수 있습니다. 결국 완전히 새로운 생각을 하는 주체는 인간일 수밖에 없다는 결론을 얻을 수 있습니다. 인공지능은 인간의 수많은 지적 활동 중에서 의식적이면서, 언어로 환원할 수 있는 것들만 모방하고 있습니다. 무의식적인 사고는 언어로 바꿀 수 없기 때문에, 언어를 통해 사람의 사고방식을 이해하는 언어모델들은 인간의 무의식적인 사고를 모방할 수 없습니다.

인공지능은 점점 우리 삶에 더 깊숙이 침투하고 있습니다. 인공지능에 대한 막연한 두려움, 혹은 인공지능이라면 뭐든 할 수 있을 것이라는 환상을 갖고 계시진 않았나요? 이번 특집 기사가 우리를 둘러싼 변화를 객관적으로 인식하는 데에 도움이 되었으면 좋겠습니다.
그림출처
그림 1. https://openaicom.imgix.net/cf717bdb-0c8c-428a-b82b-3c3add87a600/ChatGPT_Diagram.svg?fm=auto&auto=compress,format&fit=min&w=1919&h=1138
그림 2. https://machinelearningmastery.com/wp-content/uploads/2021/08/attention_research_1-768x1082.png
참고자료
서울시 관악구 관악로1 서울대학교 공과대학 39동 239호 /
팩스 : 02-876-7602 / E-mail : eng.magazine@snu.ac.kr
Copyright ⓒ 서울대학교 공과대학. 무단전재 및 재배포 금지
ISSN : 2799-5062
지난호 보기