본문 바로가기
카테고리 없음

ChatGPT의 전문 분야: 자연어 처리란?

by 워렌버펫111 2023. 8. 18.
반응형

ChatGPT의 전문 분야: 자연어 처리란?

 

 

인공지능이 사람의 언어를 처리하는 분야를 일컬어 자연어 처리(Natural language processing, NLP)라고 합니다. 자연어 처리에는 크게 자연어 이해(Natural Language Understanding, NLU)와 자연어 생성(Natural Language Generation, NLG), 두 가지 분야가 있습니다. 여러 가지 보기 중에서 정답을 고르는 문제를 자연어 이해, 텍스트를 인공지능이 스스로 생 성하는 문제를 자연어 생성이라고 합니다. 

 

트랜스포머의 등장 인공 신경망인공지능, 트랜스포머, 디코더, 딥 러닝 등 ChatGPT를 지칭하는 용어는 정말 많습니다. ChatGPT가 탄생하기까지의 과정을 알아보면서 ChatGPT의 원리를 간단히 이해해보겠습니다. 인공 신경망(Artificial Neural Network, ANN)은 사람 뇌의 신경망으로부터 영감을 받아 만들어진 수많은 인공지능 기술 중 하나입니다. 대표적인 인공 신경망 모델로서 한국의 프로 기사인 이 세돌을 이겼던 알파고(Alphago), 구글 번역기 파파고 등이 존재합니다.인공 신경망은 내부의 가장 작은 단위인 뉴런과 이 뉴런으로 구성된 층이 몇개냐에 따라 다양한 구조를 가집니다. 그림 1.1은 층이 4개인 아주 단순한 인공 신경망을 보여줍니다. 그림에서 각각의 파란색 동그라미는 인공 신경망 의 가장 작은 단위인 뉴런을 나타냅니다.현재 괄목할 만한 성능을 보여주는 인공 신경망은 대부분 뉴런의 개수와 충의 개수가 굉장히 많은 인공지능입니다. 딥 러닝(Deep Learning)이라는 용어는 이러한 신경망이 층이 쌓이고 쌓여서 깊은(Deep) 층을 이루는, 다시 말해 층이 많은 신경망을 학습시킨다는 의미입니다.그림 1.1 4개의 층으로 구성된 인공 신경망종종 ChatGPT나 GPT-3, GPT-4와 같은 인공지능 모델 관련 기사를 보 면 파라미터가 많다', '거대하다'라는 표현을 볼 수 있습니다. 인공 신경망의 크기를 표현할 때는 파라미터(Parameter)라는 용어를 주로 사용합니다.파라미터는 인간의 뇌로 비유하면 뉴런 간 정보를 전달하는 시냅스에 비유 할 수 있는데, 그림 1.1 의 인공 신경망에서 보면 검은 화살표에 해당합니다. 여러 개의 뉴런이 있고, 이 파라미터라는 검은 화살표를 통해 뉴런이 다음 충 으로 값을 보냅니다. 이런 충이 아주 많은 신경망이 있을 때 '딥 러닝한다' 또 는 '파라미터가 많은 거대한 신경망을 학습한다'라고 표현합니다. ChatGPT 또한 이러한 뉴런과 파라미터를 굉장히 많이 가진 거대한 신경망으로, 그 내 부는 '트랜스포머'라는 구조로 되어 있습니다.트랜스포머신경망의 구조는 설계자의 의도와 용도에 따라 다양할 수 있습니다. 각구 조와 용도에 따라 신경망마다 고유한 이름을 가지기도 하는데, 예를 들어 이 미지 분야의 컨볼루션 신경망(Convolutional Neural Network, CNN), 주 가 데이터, 텍스트 데이터 등과 같이 순서가 중요한 경우에 사용되는 순환 신 경망(Recurrent Neural Network, RNN) 등이 있습니다.ChatGPT의 탄생기는 2017년 구글(Google)이 공개한 신경망인 트랜스 포머(Transformer)가 그 시작점입니다. 트랜스포머는 제안 초기, 하나의 언 어를 다른 나라 언어로 번역하기 위한 '번역기의 용도로 만들어졌습니다.그림 1.2는 당시 구글이 제안했던 트랜스포머의 전체적인 구조입니다. 당 시 많이 알려진 컨볼루션 신경망이나 순환 신경망을 전혀 사용하지 않은 구조 의 신경망으로 화제가 되었으며, 이후 여러 분야에서 좋은 성능을 보이면서 현재는 (특히 자연어 처리에서는 많은 기업이 주류로 사용하는 대표 모델로 자리잡았습니다.

 

트랜스포머의 내부 구조는 그림 1.2에서 크게 왼쪽 도형과 오른쪽 도형, 두 개의 파트로 나누어 볼 수 있습니다. 각 도형은 사용되는 쓰임새가 조금 다 른데, 오른쪽 도형이 현재 ChatGPT가 채택한 구조입니다.인코더와 디코더그림 1.3은 그림 1.2의 내부 구조를 완전히 지우고 이름만 붙여 단순화한 그림입니다. 그림 1.3에서 트랜스포머의 왼쪽 도형에 해당하는 부분을 인코 더(Encoder) 블록, 오른쪽 도형에 해당하는 부분을 디코더(Decoder) 블록 이라고 합니다.일반적으로 인코더 블록과 디코더 블록은 마치 레고 블록이 겹겹이 쌓여 조립되듯이, 다수의 층으로 구성됩니다. 그림 1.3에서 'num_layers X'라고그림 1.3의 트랜스포머에서 왼쪽 인코더 블록은 자연어 이해(NLU)에 강하 고, 오른쪽 디코더 블록은 자연어 생성(NLG)에 강하다는 특징을 가지고 있습 니다. 당시 번역기로 설계됐던 트랜스포머가 각각 뛰어난 능력이 다른 두 가 지 블록을 모두 사용한 이유가 있습니다.예를 들어 한글을 영어로 번역한다고 해봅시다. 한글 문장은 처음에 겹겹 이 쌓여 있는 인코더 블록의 입력으로 사용됩니다. 인코더 블록은 자연어 이 해에 강하므로, 한글 문장에 대한 문장 구조나 의미 등을 내부의 인공 신경망 을 통해 파악합니다. 그리고 파악된 정보는 그림 1.3에서 보는 바와 같이 인 코더 블록 상단의 화살표를 통해서 디코더 블록으로 연결됩니다. 디코더 블록 은 자연어 생성에 강하므로 인코더 블록이 전달받은 정보를 바탕으로 영어 문 장을 '생성해내기 시작합니다.

 

트랜스포머의 인코더 블록과 디코더 블록이 자연어 처리 분야에서 좋은성능을 보이는 것이 입증되자 각 블록이 분리되어 발전되기 시작했습니다.트랜스포머 구조를 제안했던 구글은 인코더 블록만 겹겹이 쌓아서 BERT(Bidirectional Encoder Representations from Transformers)라는 모델을 만들었고, OpenAI는 디코더 블록만 겹겹이 쌓아서 GPT(GenerativePre trained Transformer)라는 모델을 만들었습니다.BERT와 GPT, 이 두 가지 모델은 각각자연이 이해와 자연어 생성이라는서로 잘하는 분야가 다르기 때문에 초기에는 라이벌 구도처럼 보였습니다. 예를 들어 어떤 텍스트가 주어졌을 때, 그 텍스트가 어떤 카테고리에 해당하는지 텍스트를 분류하는 작업에서는 BERT가 동일한 크기의 GPT에 비해 탁월한 성능을 보였습니다. 반면, BERT는 텍스트를 생성하는 작업에는 구조상 적합하지 않기 때문에 텍스트를 새로운 문장으로 요약하거나 번역하거나 글을작성하는 인공지능 모델에는 GPT가 주로 사용되었습니다.하지만 BERT가 GPT보다 자연어 이해에서 우위에 있는 것은 어디까지나 동일한 크기의 모델일 경우에만 해당됩니다. BERT, GPT 같은 트랜스포머 블록 모델은 학습 데이터가 많고, 모델의 크기가 커지면 커질수록(파라미터의 개수가 많아지면 많아질수록) 성능이 점점 더 좋아진다는 특징이 있습니다. 거대한 GPT는 자연어 생성뿐만 아니라, 자연어 이해에서도 뛰어난 성능을 보이므로 사용처나 용도면에서 BERT보다 뛰어납니다. 이에 수많은 기업이 GPT 계열의 모델, 또는 이름은 GPT로 명명하지 않지만 트랜스포머 디코더 블록을 거대하게 쌓아올린 모델을 내세워 경쟁하고 있습니다.예를 들어 현재까지 마이크로소프트는 1,750억 개의 파라미터를 가진 디코더 모델 GPT-3, 구글은 1,370억 개의 파라미터를 가진 디코더 모텔 LaMDA를 선보이며 맞붙었고, 국내에서는 네이버가 하이퍼클로바라는 2,040억 개의 파라미터를 가진 디코더 모델을 선보였습니다. 불과 2018년에 처음 공개된 기준으로 거대 모델이었던 GPT-1의 파라미터 개수가 1억 1,700만 개였다는 점을 생각하면, 현재 거대 언어 모델(Large LanguageModels, LLMs)의 크기를 늘려가는 속도를 조금은 체감할 수 있을 것입니다.OpenAI와 언어 모델 GPTOpenAl는 일론 머스크 테슬라(Tesla) 최고경영자, 리드 호프먼 링크드인(Linkedin) 회장, 피터 틸 클래리엄캐피탈(Clarium Capital) 회장 등이 공동으로 설립한 스타트업입니다. 최근 ChatGPr로 화제가 되었고, 마이크로소프트가 OpenAl에 100억 달러 투자를 선언하면서 구글을 위협할 수 있는 회사로 대중에 알려지기 시작했습니다.OpenAI는 2017년 구글이 트랜스포머를 제안한 이후. 그로부터 모티브를얻어 2018년 트랜스포머의 디코더를 사용하여 만든 GPT라는 모델을 소개했844. OpenAl°| Improving Language Understanding by GenerativePre-Training 이라는 논문에서 소개된 GPT는 논문 제목 중 GenerativePreTraining의 약자를 딴 이름입니다. 이 모델은 GPT-1으로 불리며. 뒤에서 언급할 GPT의 업그레이드 버전인 GPT-2, GPT-3, ChatGPT의 시초가됩니다.GPT는 언어 모델(Language Model, LM)입니다. 언어 모델이란 일반적으로 현재 알고 있는 단어들을 기반으로 다음에 등장할 단어를 예측하는 일을하는 모델을 말합니다. 여기서 단어라는 단위가 언어 모델에 따라 조금 다를수 있어, 문헌에 따라서는 토큰(token)이라는 표현을 사용하기도 합니다.GPT가 아니더라도 일상 생활에서 언어 모델은 쉽게 찾아볼 수 있습니다.검색 엔진에서 다음 단어를 미리 예상하고 추천해주는 기능 또한 언어 모델이적용된 예입니다. 그림 1.4는 검색 엔진에 'ChatGPT'를 입력했을 때 검색 엔