본문 바로가기
한빛미디어

ChatGPT 시대에서 기초적인 자연어 처리 도서

by 두재 2023. 3. 28.

최근 ChatGPT가 엄청난 인기를 끌고 있다. 제 2의 알파고 혹은 그 이상으로 불리는 ChatGPT는 대화형 챗봇인데, 매우 자연스러운 대화가 가능하고 인터넷에 있는 방대한 양의 정보를 바탕으로 매우 똑똑한 사람과 같은 인공지능 모델이다. 정보를 이해하기 쉽게 설명해 주는 것부터 시작하여 소설을 작성하거나 리트코드도 푸는 등 텍스트 기반의 여러 가지 일들을 수행한다. 최근에는, Text-to-Image model 들과 함께 단순한 자연어 처리뿐 아니라 사진을 인식하거나 생성하는 경우도 있으며, MicrosoftBing처럼 ChatGPT를 기반으로 하는 여러 서비스들이 만들어지고 있다.

 

나 또한 ChatGPT를 몇 번 사용해 보았고, 여러 장단점들을 확인해 보았다.사실 처음에는 정말 혁신적이었는데, 사용하다 보면 헛소리를 매우 그럴듯하게 하는 경우가 많아 조금은 실망스럽기도 하였다. 최근 ChatGPT의 유료 구독 버전에 포함된 ChatGPT4의 경우는 헛소리를 하는 Hallucination이라는 현상이 현저히 줄어들었다고 하니 괜찮을 수도 있겠다. 또한, Bing에 포함된 모델의 경우에는 정보의 출처를 좀 더 확실하게 달아준다는 점에서 hallucination 문제를 개선했다고 볼 수 있다.

 

알파고는 강화 학습을 기반으로 엄청난 파장을 일으켰고, 체스, 바둑 등 게임으로 인간이 AI를 이길 수 없다는 점이 어느 정도 확실시되었다.

Computer Vision에서는 아마도? DALL-E와 같은 생성 모델들이 큰 파장을 일으킨 것 같다.

ChatGPT는 자연어처리 (NLP; Natural Language Processing)를 기반으로, 어쩌면 알파고보다도 큰 파장을 일으키고 있다 (물론 ChatGPT도 학습 과정에서 강화 학습을 사용하긴 하지만).

지금보니, 이 모든 것들을 만든 OpenAI가 정말 엄청나긴 하다.

 

내가 생각하는 ChatGPT가 기존의 AI들에 비해 더 사회적 파장이 크다고 생각하는 이유는 다음과 같다. 강화 학습에서 주로 다루는 게임들이나 Computer Vision에서 다루는 사물 인식 등은, 인간이 AI에 비해 성능이 안 좋은 것이 꽤 납득 가능하다. 체스나 바둑의 경우 컴퓨터는 빠른 연산을 바탕으로 거의 가능한 모든 경우의 수를 따져봤다고 생각할 수도 있고 (물론 알파고는 추가적인 기법이 있지만), 컴퓨터 비전의 경우에도 사람의 눈보다 카메라가 더 좋은 것은 이미 너무 자명하기 때문이다 (물론 해상도만 좋다고 컴퓨터 비전이 되는 것은 아니지만).

이렇게 하나하나 AI에게 빼앗기며 사람들이 사람들만이 가지고 있는 작고 소중한 무언가는 무엇일까.. 하고 고민하고 나온 것이 감정이다. 사람들끼리 대화를 하고, 감정을 교류하는 것은 인간만이 할 수 있는 숭고하고 기계와 인간을 구별 짓는 것이라고 생각하기 때문이다. 그런데, ChatGPT는 단순히 게임에서 좋은 수가 무엇일지 찾는 것이나, 사과 사진을 보고 사과라고 답하는 것과는 다르게 사람과 대화를 해버린다. 또 기억 모델도 잘 들어가 있는지,대화를 주고받으면서도 이전 대화를 까먹지도 않고, 숨겨진 문맥까지 잘 짚어내며 대답을 한다.

 

사실 지금까지 인공 지능 분야에서 CV에 비해서 NLP 연구의 규모는 훨씬 작다. 학회의 규모, 논문의 수, 연구자의 수 등 아마 대부분의 지표에서 그럴 것이다. 아마 이유 중 한 가지는, 이미지의 경우는 데이터셋이 전 세계 적으로 거의 통용되는 반면, 자연어처리는 각국의 언어별로 전혀 다르기 때문에 독립된 데이터셋이 필요하고, 이를 구축하는 노력이 필요하기 때문에 연구가 더딜 수 있을 것 같다. 국내에서는 SKT랑 서울대 카이스트 등에서Ko-BERT였나 한국어 버전 자연어 처리 데이터셋과 모델을 연구하고 있는 것 같았다.

 

 


이런 와중 이 책을 받았다. 시의적절하다고 할 수 있다. 파이썬 라이브러리를 활용한 텍스트 분석이라는 책인데, 고난도 자연어처리까지는 아니지만 어떻게 텍스트 데이터를 컴퓨터를 활용하여 처리할 수 있는지 알려준다. 최신 머신 러닝 내용까지는 아니지만, LDANMF와 같은 전통적인 분석 방식과 텍스트 임베딩 정도 수준까지 나온다. 사실 분석도 분석인데, 이 책 앞부분은 데이터를 어떻게 모을지, 어떤 식으로 다루는지에 대한 내용도 꽤 있다.

 

표지는 다음과 같고, 파이썬 라이브러리 기반 책이라 그런지 뱀이 그려져 있다.

옮긴이의 말이 인사이트가 좀 있었다. 컴퓨터는 여러 종류의 데이터 중 텍스트를 가장 이해하기 어려워한다 하였고, 컴퓨터가 데이터를 잘 이해할 수 있도록 만드는 것은 결국 우리의 몫이다.

5번 목차 (특성 엔지니어링 및 구문 유사성)10번 목차 (단어 임베딩으로 의미 관계 탐색)에는 꽤 유용하고 읽을만한 내용들이 수록되어 있다. 특히, 임베딩은 머신 러닝에서 정말 유용하고 넓게 사용되는 개념인데, 임베딩의 정의부터 프리트레인 모델에서 얻은 임베딩 벡터를 기반으로 분석하는 방법을 소개한다. 임베딩을 이용해 데이터를 처리하는 것은 꼭 자연어 처리가 아니더라도 넓게 사용되는 기법이라 유용할 것이다.

 

 

, 이 책에는 이런 Warning 이 중간중간 나온다. 독자들이 따라 해 보다가 마주할 수 있는 문제들을 미리 예상해서 해결법을 적어놓은 것인데, 저자의 전문성과 센스를 엿볼 수 있었다.

3개의 사진은 책을 읽다 보며 내가 반가워서 찍은 부분들이다. 나는 자연어 처리를 다루지는 않지만, 행렬 기반으로 수학적으로 뭘 좀 진행하다 보니 이런 개념들을 자주 보게 된다. 비음수분해 (NMF; Non-negative matrix factorization)의 경우에도 자연어처리에서 사용이 된다는 것은 알고 있었는데, 여기서 다시 마주했다.


이 책은 ChatGPT가 엄청난 센세이션을 불러일으키고 있는 현재 참 시의적절한 책이다. 특히, 컴퓨터 비전이 압도적인 레드오션이라고 평가되고 있는 현재, 자연어처리의 경우는 비교적 괜찮은데, 이 책이 기초가 될 것이다.