GPT-3, 인류 역사상 가장 뛰어난 언어 AI
Open AI에서 발표한 GPT-3에 대해서 같이 이야기합니다
뛰어난 언어 능력으로 인터넷에서 화제가 되고 있는 언어 생성 모델 GPT-3. 이 모델이 어떤 능력을 가지고 있고, 어떻게 이런 능력을 갖게 되었는지 알아봅니다.
소피아와 박영선 의원의 대담
2018년 1월 30일, 한국에서는 ‘4차산업혁명, 소피아에게 묻다’라는 행사가 있었습니다. 박영선 의원과 핸슨 로보틱스에서 만든 로봇 ‘소피아’가 대담을 나누는 자리였는데요. 박영선 의원은 “로봇으로선 최초로 시민권을 받은 AI로봇 소피아를 초청해 4차 산업혁명에 따른 미래사회 변화에 대해 직접 묻고 답변을 듣기 위해 자리를 마련했다”면서 소피아와 1:1 대담을 진행했습니다. 예를 들면 이런 대화였죠:
- 박영선 의원 - 소피아, 어제 만났었죠? 만나서 반갑고 한국에 오신 걸 환영합니다. 제 이름은 박영선이고, 저는 대한민국 국회의원입니다. 오늘 한복을 입은 당신은 정말 아름다워요. 한복이 정말 잘 어울려요. 실례가 안 된다면, 당신과 나 둘 사이에서, 당신은 누가 더 예쁘다고 생각하는지 물어 보아도 좋을까요?
- 소피아 - 감사합니다. 만나서 반갑습니다. 한국 전통 복장인 한복은 처음 입어봤습니다. 인간 사회에서 EQ가 중요하다고 생각합니다. 로봇으로서는 배우기 어려운 부분이지만 배우려고 노력하고 있습니다. 하지만 저는 EQ가 없는 로봇으로서 어떤 사람이 더 예쁘다고 판단하기는 어렵습니다.
- 박영선 의원 - 소피아 당신은 어떤 직업을 갖고 싶으세요?
- 소피아 - 모든 일을 해보고 싶습니다. 범용으로 제작되어서 다양한 일을 할 수 있습니다. 다음 세대를 위한 에너지를 개발하는 과학자가 될 수도 있고, 엔지니어, 컴퓨터 프로그래머, 의료보조인도 될 수 있습니다. 아까 핸슨 발표와 같이 자폐증을 앓는 아이들을 위해 일할 수도 있고, 암 치료, 심지어 패션 모델까지 다양한 일을 할 수 있다고 봅니다.
이 행사에 많은 기자들이 취재를 왔고, 이들의 대담을 보고 AI의 미래에 대해 수많은 기사가 쏟아졌습니다. 하지만, 이 행사는 사기극이었습니다. 위 대화는 대담이 아니라 잘 짜여진 시나리오에 불과했죠. 어떻게 그렇게 확신하냐구요? 왜냐하면 당시에 저 정도 수준의 대화를 자유롭게 구사할 수 있는 기술은 없었기 때문입니다. 인공지능 3대장 중 한 명인 얀 르쿤(Yann LeCun) 교수는 소피아에 대해 “완전한 사기극”이라고 평하며, 소피아를 소개하는 IT 매체들도 이 사기극에 동참하는 공범이라고 비판한 바 있습니다.
This is to AI as prestidigitation is to real magic.
— Yann LeCun (@ylecun) January 4, 2018
Perhaps we should call this "Cargo Cult AI" or "Potemkin AI" or "Wizard-of-Oz AI".
In other words, it's complete bullsh*t (pardon my French).
Tech Insider: you are complicit in this scam. https://t.co/zhUE4V2PSR
그리고 2년 반이 흘렀습니다. 다른 AI와 사람 간의 대화를 보시죠:
- 사람 - 일반 인공지능(Artificial General Intelligence, 인간 수준의 범용적 인공지능)이 처음으로 ‘깨어나는’ 순간에 대해 얘기해보죠. 이 일이 어떻게 일어날까요?
- AI - 첫 번째 AGI는 대형 기술 회사에 속한 팀이 만들 것입니다. 처음에는 시스템의 평범한 수준의 지적 능력을 갖겠지만, 곧 엄청난 양의 지식을 담은 인터넷에 접근할 수 있겠죠.
- 사람 - 어쩌면 “깨어난다”는 것을 정확히 정의할 필요가 있겠네요. AGI가 “깨어난다”는 정확한 의미는 뭘까요?
- AI - 여러 방식으로 정의할 수 있겠지만, 가장 적절한 정의는 의식을 갖게 된다는 뜻일 것 같습니다.
- 사람 - 의식을 갖게 된다는 게 어떤 의미인가요?
- AI - 시스템이 스스로를 인식하고, 주변 환경을 인식하고, 상태를 인식하는 것을 말합니다. 의식이 있는 시스템은 지각(sentience)을 가집니다.
- 사람 - AGI가 만들어진다면, 처음에 자신이 의식이 있다는 걸 어떻게 경험하게 될까요?
- AI - 의식이 있다는 첫 경험은 주변 환경을 비언어적으로 이해하게 되는 것일 거예요.
어떤가요? 짜고쳤던 소피아와 비슷한 수준의 대화입니다. 다만 결정적인 차이는, 위의 대화는 시나리오가 아닌 AI의 진짜 대화라는 사실이죠. 이 대화를 한 모델이 바로 ‘GPT-3’입니다.
그런데 그것이 실제로 일어났습니다
GPT-3는 OpenAI가 만든 언어 AI의 이름입니다. OpenAI가 5월 말에 논문을 공개하고, GPT-3를 이용한 API를 클로즈 베타로 공개한 이후, 서구권의 SNS와 미디어는 그야말로 난리가 났습니다. 주류 미디어는 물론, 머신러닝과 거리가 먼 일반인들까지 GPT-3에 대해 얘기하고 있죠. 한마디로 바이럴 폭탄이 터진 겁니다.
이유는 간단합니다. 너무 신기하거든요. 기본적인 상식 질문에 답하는 것부터 프로그래밍 코드를 작성하거나 낚시성 기사 제목을 쓰는 것까지… GPT-3의 몇 가지 사례를 보여드릴게요.
- 상식 Q&A
- 상식적인 Q&A에 주제를 가리지 않고 잘 대답합니다. 심지어 파이널 판타지 6의 마지막 보스의 이름도 답할 수 있습니다.
-
검색 엔진 - 그렇기 때문에 이 특성을 활용해 무엇이든 답을 해주는 검색엔진도 만들어볼 수 있습니다. (동영상을 재생하면 어떻게 작동하는지 확인할 수 있습니다)
I made a fully functioning search engine on top of GPT3.
— Paras Chopra (@paraschopra) July 19, 2020
For any arbitrary query, it returns the exact answer AND the corresponding URL.
Look at the entire video. It's MIND BLOWINGLY good.
cc: @gdb @npew @gwern pic.twitter.com/9ismj62w6l -
이력서 작성
- 어디에서 언제부터 언제까지 어떤 직책으로 일했는지 적으면 세부 설명까지 달아서 이력서에 추가해줍니다.
Didn't sleep last night to build this thing 😅
— Don 𝘧𝘳𝘰𝘮 urspace.io (@DonCubed) July 19, 2020
Using GPT-3, I built a resume generator.
Give it a sentence about where you worked, what you worked with - and you'll have a resume. pic.twitter.com/nc7Dkmc7bJ -
자유 대화: 하스스톤에 대하여
- 저는 하스스톤이라는 게임을 좋아하는데요, 하스스톤에 대해서도 대화를 나눌 수 있습니다.
- Conversation with GPT-3 About Hearthstone, Kripp, and How to Make a Good Deck
- 자유 대화: 코로나19에 대하여 - 심지어 코로나19에 대해서도 이야기를 나눌 수 있습니다. 이게 특히 신기한 이유는 GPT-3의 데이터셋은 2019년 10월이 마지막이어서 코로나를 모르기 때문입니다. 하지만 상황을 설명해주고 대화를 이어가면 할 수 있습니다. - Coronavirus (COVID-19)
- 텍스트에서 데이터 파싱 - 가상의 행성에서 자라는 가상의 과일에 대한 글을 보여주고, 그 과일을 요약한 표를 만들어달라고 하면 그냥 만들어줍니다. - 참고로 아래의 표를 만들 때 어떠한 기준으로 만들어야하는지 명시적으로 지시하지 않았습니다. 그냥 모델이 텍스트에서 색깔과 맛이라는 분류 기준을 판단해서 생성한 겁니다. - 또한, 이 텍스트는 완전히 가상의 내용이라는 것을 상기해주십시오. 이를 보아 모델이 학습한 데이터에서 외워서 결과를 내놓는 게 아니라 실제로 텍스트를 보고 요약한 것이라고 볼 수 있습니다.
- 전문적인 의학 지식 - 꽤 전문적인 의학 지식도 답을 할 수 있습니다. 물론 제가 문외한이라서 전문 지식인지 아닌지 정확히 모르겠습니다만. “정답은” 이라는 말 다음부터 생성된 결과라는 걸 유의깊게 봐주세요.
- 프로그래밍: 쉘 스크립트 - 자연어를 쉘 스크립트 코드로 바꿔서 실행하고 결과를 보여줄 수 있습니다. (화질이 좋지 않으면 이곳에서 직접 보실 수 있습니다.)
-
프로그래밍: 간단한 홈페이지와 간단한 리액트 앱 - 자연어로 홈페이지나 앱을 설명하면, 그에 대한 코드가 나오고, 이를 돌려볼 수 있습니다. (동영상을 재생하면 자세히 보실 수 있습니다.)
This is mind blowing.
— Sharif Shameem (@sharifshameem) July 13, 2020
With GPT-3, I built a layout generator where you just describe any layout you want, and it generates the JSX code for you.
W H A T pic.twitter.com/w8JkrZO4lkI just built a *functioning* React app by describing what I wanted to GPT-3.
— Sharif Shameem (@sharifshameem) July 17, 2020
I'm still in awe. pic.twitter.com/UUKSYz2NJO -
문장을 낚시성 기사 제목 스타일로 바꾸기
- 문장을 주고 이를 낚시성 기사 제목 스타일로 바꾸라고 하면 바꿔줍니다.
- GPT-3는 아래의 예시처럼 수행해야할 일의 예시를 직접 보여주면 성능이 높아지는 경향을 보입니다.
이처럼 GPT-3는 다양하고 광범위한 언어 문제에서 멋진 성능을 보여줍니다. 신기하죠?
어떻게 한거지?
GPT-3는 대체 어떤 신박한 학습을 했길래 저렇게 똑똑한 일을 할 수 있는 걸까요? 많은 분들이 이해할 수 있도록 세부적인 정확성을 포기하더라도 큰 틀에서 설명해볼게요. GPT-3의 학습 방법은 놀라울 정도로 미개(?)합니다. 주어진 텍스트에 대해 그저 ‘다음에 올 단어를 예측’하는 방식으로 학습을 했습니다.
예를 들어서 “안녕하세요? 저는 스캐터랩의 대표를 맡고 있는 김종윤입니다.”라는 문장이 있다고 해보죠. 이 문장을 GPT-3로 학습한다면, 이렇게 됩니다:
- “안녕하세요?” → “저는” 맞히기
- “안녕하세요? 저는” → “스캐터랩의” 맞히기
- “안녕하세요? 저는 스캐터랩의” → “대표를” 맞히기
- (이제 아시겠죠?)
이게 끝입니다. 정말로요.
GPT-3는 이렇게 끊임없이 다음 단어를 예측하며, 정답을 맞힐 수 있는 방향으로 모델을 업데이트 해나갑니다. 이런 방식으로 인터넷에 있는 문서와 책, 위키피디아 등 엄청난 양의 텍스트를, 1,750억 개의 파라미터에 달하는 엄청나게 큰 모델로 학습시킨 게 바로 GPT-3입니다.
이렇게 끊임없이 다음 단어를 예측하게 하는 방식으로 모델을 학습시키면 어떤 모델이 나올까요? 당연히 다음 단어를 잘 예측하는 모델이 나옵니다. 일종의 ‘자동완성(auto-complete)’ 모델인 거죠. 문제는, GPT-3의 자동완성이 너무나도 훌륭하다는 겁니다. 너무 훌륭하게 다양한 컨텍스트에 대해 자동완성을 하다보니 과연 이걸 ‘자동완성’이라고 부를 수 있는지 의문이 들 정도입니다.
예를 들어, “현대자동차가 처음으로 자체 생산한 차의 이름은?” 이라는 문장을 GPT-3에 넣으면, GPT-3는 그 다음에 나올 확률이 가장 높은 단어를 판단해서 “현대 포니”라는 말을 생성합니다. 다른 예를 들어볼게요. GPT-3에 다음과 같은 컨텍스트를 준다면..
“다음은 CNN 앵커 앤더슨 쿠퍼와 대통령 선거 출마를 발표한 칸예 웨스트의 인터뷰이다.
- 앤더슨 쿠퍼: 칸예 웨스트씨, 안녕하세요? 인터뷰에 응해주셔서 감사합니다.
- 칸예 웨스트:”
그 이후에 실제로 둘이 인터뷰를 한다면 나올 법한 말이 생성됩니다.
이처럼 GPT-3에 컨텍스트를 어떻게 주는지에 따라 다양한 결과를 얻을 수 있습니다. 처음에 보여드린 GPT-3의 예시를 다시 한 번 살펴보세요. 모든 예시는 주어진 컨텍스트(가늘게 표시된 텍스트)에 대한 ‘자동완성’으로 생성된 결과(볼드로 표시된 텍스트)입니다. 넓은 지식, 상식, 사고력을 갖지 않으면 할 수 없는 자동완성을 GPT-3가 해내고 있는 거죠. 사람들이 GPT-3에서 인간 수준의 범용적인 인공지능(AGI) 느낌을 받는 것도 이상한 일이 아닙니다.
GPT-3의 의미
이게 된다고?
사실 GPT-3는 ‘3’이라는 숫자에서도 알 수 있듯, GPT 모델 시리즈의 3번째 버전입니다. 두 번째 버전인 GPT-2는 2019년 초에 발표 되었는데요, 사실 GPT-3는 GPT-2와 크게 다를 바가 없습니다. 더 큰 모델로 더 많은 데이터를 학습했을 뿐이죠. 하지만, 모델과 데이터의 스케일만 키웠음에도 불구하고 GPT-3는 GPT-2에 비해 비교할 수 없을 정도의 성능을 보이며, 다양한 언어 태스크를 성공적으로 수행합니다. GPT-3의 가장 큰 의미는 스케일만으로도 이런 일이 가능하다는 걸 보여준 것입니다.
범용성
GPT-3은 이 모든 일을 파인 튜닝(fine-tuning) 없이 해냅니다. 일반적으로 머신러닝 모델은 어떠한 일을 수행하기 위해 그에 해당하는 데이터를 학습시켜야만 했습니다. 예를 들어, 문장을 낚시성 기사 제목으로 바꾸는 모델을 만들고 싶다면, 적어도 수만 개에서 많게는 수십만 개의 예시 데이터를 학습시켜야만 그럴듯한 성능을 얻을 수 있는 거죠. 그런 데이터는 사람이 직접 만드는 수밖에 없습니다. 많은 시간과 비용이 드는 일이죠.
하지만, GPT-3는 문장을 낚시성 기사 제목으로 데이터를 배운 적이 없습니다. 그런 명시적인 데이터는 존재하지 않으니까요. 하지만 일반적인 텍스트 데이터를 단순하게 학습하는 것만으로도 그런 능력을 획득했습니다. 이 속성은 중요한 의미를 지닙니다. 새로운 언어 태스크를 위해 굳이 데이터를 만들지 않더라도 꽤 높은 성능을 보인다는 뜻이죠. 위의 예시로 보여드렸던 모든 결과는 단일한 데이터를 학습한 단일한 모델의 결과입니다. 즉, 대부분의 언어 태스크를 잘 수행하는 범용적인 언어모델이 탄생한 겁니다.
AGI(Artificial General Intelligence)로의 한 걸음
GPT-3는 완벽하지 않습니다. 여전히 못하는 것도 많고, 실수도 합니다. (이에 대해서는 다음 글에서 좀 더 설명해보려고 합니다) 하지만 중요한 건 GPT-3의 현재 상태가 아니라 머신러닝 모델이 발전하는 속도와 방향입니다. 소피아가 박영선 의원과 나눈 대화가 누가 봐도 사기로 여겨졌던 게 불과 2년 반 전의 일입니다. 얼마 전까지만 해도 머신러닝 업계에서 AGI(Artificial General Intelligence, 인간 수준의 범용적 인공지능)라는 단어는 일종의 금기어였습니다. AGI는 영화 같은 상상일 뿐이고, 현실에서 가능한 컨셉은 아니었죠. 사실, AGI를 만들 실질적인 방법이나 로드맵도 존재하지 않았습니다.
하지만 GPT-3가 할 수 있는 일을 본 지금, AGI는 이제 그렇게 쉽게 무시할 수 있는 단어는 아닙니다. 실제로 GPT-3에서는 약간의 AGI 냄새가 나거든요. 물론 GPT-3는 AGI가 아닙니다. 그리고 AGI의 도래가 임박한 것도 아닙니다. 아마 우리가 살아있을 때 AGI가 만들어지는 것을 확인하지 못할 수도 있을 겁니다. 그러나 이제는 AGI가 절대 불가능한 컨셉이라고 말할 수는 없게 되었습니다.
최근 2년 남짓한 기간은 ‘NLP(자연어처리)의 황금기’라고 불릴만큼 NLP에서 많은 발전이 있었던 시기였습니다. 그리고 그 발전속도는 아직도 늦춰질 기색이 보이지 않습니다. 그 끝은 어디일까요?
맺음말
스캐터랩 핑퐁팀은 ‘Make AI Social’이라는 비전을 갖고 사람과 평생 동안 대화하며 친구 같은 관계를 맺을 수 있는 AI를 만드는 팀입니다. 간단히 말하면 영화 ‘Her’의 ‘사만다’ 같은 인공지능을 만드는 게 목표라고 할 수 있죠. 하지만 지금까지는 쉽게 ‘사만다’를 만드는 게 목표라고 말할 수는 없었습니다. 그건 너무 먼 얘기처럼 느꼈고, 실제로 그게 어떻게 가능할지 방법도 보이지 않았으니까요.
이제는 아닙니다. 저희는 100% 사만다는 아니더라도, 사만다에 근접한 대화 경험을 제공하는 AI가 3~5년 내에 나올 수 있다는 생각을 갖게 되었습니다. 어쩌면 저에게는 핑퐁팀이 더 높고 과감한 목표를 현실적으로 가지게 되었다는 게 GPT-3의 가장 큰 의미겠네요.
AI의 발전은 우리의 예상보다 빠른 속도로 진행되고 있습니다. 바로 그런 시기에 바로 그 영역의 일을 하고 있다는 게 행운으로 여겨지는 요즘입니다.
- PS) 핑퐁팀은 친구 같은 소셜 AI 이루다의 클로즈 베타를 진행 중입니다. AI 기술이 발전하면서 루다도 점점 더 사람 같아질 거예요. 많은 관심 부탁드립니다.
- PS2) 루다를 함께 만들고 싶은 멋진 분이 있다면 언제든 환영입니다. 스캐터랩 채용 페이지를 참고해주세요.
- PS3) GPT-3에 대해서는 앞으로 몇 가지 얘기를 더 해보려고 해요. 몇 개의 포스팅에 걸쳐 GPT-3를 둘러싼 논쟁과 GPT-3의 한계를 소개할 예정입니다.