딥러닝 기술의 발전과 ChatGPT

딥러닝 기술의 발전과 ChatGPT

최근에 ChatGPT에 대한 관심이 너무나 많아졌습니다. 저는 작년 (2022년) 말 쯤에 ChatGPT가 발표된 이후 사용해 보면서, GPT 성능이 많이 좋아졌다고 생각하긴 했지만 이렇게 많은 사람들이 열광할 것이라고는 생각하지 못했습니다. 이미 너무 많은 사람들이 ChatGPT에 대해서 말하고 있습니다. 그 중에는 이상한 내용도 많고, 동감가는 내용들도 있는데요, 저도 이러한 현상을 보며 ChatGPT와 AI에 관해 지극히 개인적인 생각을 써 보려고 합니다.

딥러닝 기술의 발전

예전에, 그러니까 한 10년 정도 전만 해도 딥러닝 모델을 만드는 것은 쉽지 않았습니다. Objective function을 정의하고, 편미분 하여 gradient descent 하는 부분을 정리하여 이를 코드로 직접 다 작성하였고, 이 과정은 실수가 있기 쉽기 때문에 확인하는 것 만으로도 굉장히 오랜 시간이 걸렸습니다. 학습된 모델을 inference 하는 부분도 다 따로 만들어야 했던 기억이 있습니다.

그때도 Python기반의 Theano라는 라이브러리가 있어서 layer를 정의하면 gradient 를 자동으로 계산하는 것이 있기는 했는데, 그다지 안정적이지 않았었습니다. 그러다가 2015년 경에 Google에서 Tensorflow를 발표했습니다. 이 즈음 되면 Caffe2나 Lua기반의 Torch도 사용이 되기는 했지만 연구 수준을 벗어나지 못했었는데요, Tensorflow는 처음 공개 시에는 기존 Theano 에 비해 그다지 뛰어나다는 느낌을 못 받았었지만, Google이 개발하는 것이라 빠르게 개선되었고, 딥러닝의 인기가 점점 높아지며 많은 사람들이 개발에 기여를 하게 되면서 독보적인 인기를 얻게 되었습니다.

얼마 후 Torch를 Python에서 활용할 수 있게 만든 Pytorch가 공개되며 비교적 쉬운 사용성으로 인해 인기를 얻기는 했지만, 실제 production 까지 가기에는 최적화되지 않은 부분들이 있어서 Tensorflow 만큼의 인기를 얻지는 못했었습니다. (통계를 보면 요즘에는 Pytorch가 더 많은 인기를 얻고 있습니다.)

어쨌든 2016년의 알파고의 등장으로 연구자들 뿐 아니라 모든 개발자나 일반인들 까지도 딥러닝에 대해서 관심을 갖게 되었고, 그로 인하여 Tensorflow는 독보적인 지위를 갖게 되었고 이를 scikit-learn 스타일로 쉽게 사용할 수 있게 만든 Keras와 같은 라이브러리도 많은 인기를 얻었습니다. (참고로 Keras는 초기 Tensorflow와 Theano를 모두 지원했지만, 나중에는 TF에 통합됩니다.)

Tensorflow와 같은 라이브러리들은, 기존에 딥러닝 모델을 개발하던 개발자들이 training/inference 코드를 한땀 한땀 작성할 필요성에서 벗어나 이제 neural network 구조만 정의하면 비교적 쉽게 어떤 모델이든 테스트해 볼 수 있도록 하였고, 연구의 속도를 엄청나게 가속화 하였다는데 큰 의의가 있다고 생각합니다. 수 많은 연구자들과 개발자들이 자신의 아이디어를 실험할 수 있었고, 이를 github에 공개하여 쉽게 사용할 수 있도록 하였습니다. 누구든 Model hub 와 같은 곳에서 모델을 가져다가 활용하면 어느정도 검증된 모델들을 쉽게 가져다 쓸 수도 있게 되었습니다. 예전에는 개발하는데 1년 이상 걸리던 모델이, 데이터만 있다면 며칠 내로 만들 수 있거나, 미리 학습되어 있는 모델을 활용해서 곧바로 사용할 수 있는 수준까지 발전을 하게 되었습니다.

연구 단계로만 머물거나, 매우 소수의 회사만 개발할 수 있던 딥러닝 모델들을 대부분의 개발자가 사용할 수 있게 되며 “인공지능 = 딥러닝” 같은 공식이 생기기도 했습니다. 이 즈음 되면 옛날에 많이 사용하던 Machine Learning 에 대해서는 하나도 모르는데 딥러닝만 배운 개발자들이 꽤나 많아질 정도로 딥러닝은 거의 머신러닝의 표준처럼 굳어지게 되었습니다. (다만 예전부터 사용하던 Machine Learning 알고리즘은 아직도 다양한 분야에서 많이 쓰이고 있습니다. 딥러닝만이 정답은 아닙니다.)

Transformer와 HuggingFace

딥러닝이 대세가 되며, Computer Vision 분야는 딥러닝이 필수가 되었고, ASR등의 Speech 관련 분야 또한 딥러닝은 표준 처럼 되었습니다. Natural Language Processing 분야 또한 딥러닝을 활용한 논문 등이 굉장히 많이 나오긴 했지만 CV 분야처럼 활발하게 쓰이지는 못했습니다. Task 마다 다르지만 classification 분야에서는 꽤 쓰이게 되었지만, 이때 당시 많은 회사들이 시도하던 chatbot 등에는 딥러닝이 별로 힘을 쓰지 못했습니다.

그러던 중 2017년 경 출판된 Attention is all you need 논문에서 Transformer 구조가 소개가 되었고 처음에는 Neural Machine Translation 에 사용되던 이 모델은 2018년 경에 Google에서 발표한 BERT 에 사용되며 충격을 주었습니다. BERT는 대량의 데이터에 대해서 base model 을 학습한 후, 모델을 사용할 downstream task에 대해서 fine-tuning을 하면, 소량의 데이터로도 human level 에 맞먹는 결과를 낼 수 있다는 연구결과를 공개하며 매우 큰 주목을 받았습니다.

기존에도 ELMo와 같은 연구에서 이러한 것들을 진행하기는 했었지만 BERT의 경우 base model 도 공개를 하였고 Google의 연구다보니 많은 회사들이 이를 활용하게 되었습니다. BERT이후로 다양한 파생 모델들이 개발되었고, 기존에는 NLP분야에는 RNN이 많이 사용되었었는데 이후로는 거의 Transformer 만 사용되게 되며 Transformer 기반 모델의 전성시대가 열리게 되었습니다.

이 때 HuggingFace는 Pytorch 기반의 Transformers 라는 라이브러리를 공개했습니다. 다양한 transformer 기반 모델들을 쉽게 공유하고 활용할 수 있도록 한 덕분에 순식간에 많은 인기를 끌게 되었고, 이제 BERT와 같은 높은 성능을 내는 모델들을 누구나 쉽게 사용하고, 데이터만 있다면 자기가 원하는 대로 fine-tuning 할 수 있게 되었습니다.

데이터 기반 모델 구축을 위한 컴퓨터비전 플랫폼

모두를 위한 단 하나의 '데이터 중심' 인터페이스 알아보기

도입 문의하기

GPT의 등장

OpenAI의 GPT는 BERT보다 먼저 등장했던 것으로 기억하는데, 초기에는 큰 주목을 받지는 못했습니다. 하지만 BERT 이후 2019년 경에 공개된 GPT-2는 큰 관심을 받았습니다. 첫번째로는 encoder 기반의 BERT와 달리 decoder 기반으로 이루어져서 text generation이 가능하다는 점이었고, 두번째로는 모델 사이즈가 매우 커졌다는 점이었습니다. 이 때 모델 사이즈를 키운 decoder 기반 모델은 text generation 성능이 좋다는 것이 연구자들에 각인이 되게 됩니다.

1년 뒤 나온 GPT-3는 충격과 공포 그 자체였습니다. GPT-2도 모델 사이즈가 매우 커서 실서비스에 활용하기 어려울 정도였는데, GPT-3는 그보다 무려 100배 가량 사이즈를 키운 것입니다. 어마어마한 사이즈를 가진 GPT-3의 성능은 놀라웠습니다. 기존에 거의 불가능에 가까웠던 few-shot, one-shot, 심지어 zero-shot learning 까지 어느정도 되는 것을 보이며 이제 정말로 모델 사이즈를 키우면 성능이 좋다는 것을 모든 사람들에게 알려주었습니다. 그 결과 돈이 많은 빅테크들을 필두로 더 큰 모델 사이즈를 갖는 모델들이 지속적으로 공개가 되었습니다.

InstructGPT와 ChatGPT

모델 사이즈 크기 경쟁이 지속되던 와중에, 사이즈 크기에 비해 성능 향상이 그리 높아지지 않기도 했고 사이즈가 커지더라도 여전히 잘 안되는 케이스들이 있었으며, 모델이 너무 크면 실서비스에 사용할 수 없다는 문제도 있어서 여러가지 연구가 이뤄지게 됩니다.

그 중 한가지 방향은 강화학습 기법을 활용하는 것이었는데, 학습한 모델에서 나온 결과를 사람이 평가한 데이터를 모아서, 평가 모델을 따로 학습을 하고 이걸 강화학습 기법을 활용해 모델을 개선시키는 방법이었습니다. (RLHF)

여러 회사가 이러한 방법을 연구하였고, OpenAI도 이걸 활용한 InstructGPT 라는 연구도 공개했었습니다. 그러던 와중 OpenAI는 ChatGPT를 공개하면서, 데모 사이트를 만들어서 누구나 쓸 수 있게 했습니다. 사실 이렇게 큰 규모의 모델을 누구나 사용할 수 있도록 하는 것은 정말 어마어마한 비용이 들어가는 것이기 때문에 섣불리 결정하기는 어려울 것이라고 생각됩니다만, 그 덕분에 OpenAI는 수 많은 피드백 데이터를 확보할 수 있었고, 이 분야의 최강자 자리에 올라서게 되며 현재는 압도적인 성능을 보여주고 있습니다.

OpenAI/MS가 승리한 것일까?

OpenAI는 최근 GPT-4도 공개하며 더 높은 성능에 Image 데이터를 이해할 수 있는 것도 보여주었습니다. 다만 이렇게 Multi-modal 로 가는 것은 이미 다양한 비슷한 연구들에서 시도되었던 것이기 때문에 그다지 놀랍지는 않습니다만, 데이터를 가장 많이 가지고 있기 때문에 한동안은 GPT의 성능을 넘기는 어렵지 않을까 생각이 됩니다. 사실 일반인들은 이제 LLM = GPT라고 생각할 정도이니 말입니다. 어쨌든 AI 분야 경쟁은 다시 시작이 되었고 OpenAI가 기존에 여러 중요한 연구를 오픈소스로 공개하며 많은 기여를 했는데 이제는 그렇지 않기 때문에, AI의 민주화를 목표로 하는 여러 회사/단체가 비슷한 연구들을 하고 있습니다.

OpenAI와 MS가 앞서가고 있기는 하지만, 앞으로 많은 모델들이 오픈소스 형태로 공개가 될 것이고 여기에 여러 빅테크를 포함한 회사들이 참여를 하며 경쟁해 나가다 보면, 엎치락 뒤치락 하게 될 확률이 높다고 생각합니다.

중요한 것은, 지금은 코드 몇 줄만으로도 학습하는데 몇백억원이 들어간 모델을 사용할 수 있는 시대라는 점입니다. 하드웨어는 더 발달할 것이고, 모델은 더 최적화될 것이며, 경쟁이 심화되며 더 다양한 모델들이 누구나 쓸 수 있게 공개될 것이라고 생각합니다.

이제 누구든지 10년 전만해도 상상하기 힘들 정도로 만들기 어려운 기술을 쉽게 사용할 수 있는 시대가 되고 있습니다.






SW 개발을 좋아하는 뼛속까지 개발자 입니다.


* 슈퍼브 블로그의 외부 기고 콘텐츠는 외부 전문가가 작성한 글로 운영 가이드라인에 따라 작성됩니다. 슈퍼브 블로그에서는 독자분들이 AI에 대한 소식을 더 쉽고 간편하게 이해하실 수 있도록 유용한 팁과 정보를 제공하고 있습니다.