◇ GPT 열풍
최근 6개월간 OpenAI사에서 만들어낸 ChatGPT의 열기는 대단했다.
전세계 1억5천만명 이상의 사람들이 사용해보았고, 아직도 많은 사람들이 새로워진 챗봇에 놀라워하고 있고 광팬이 되고 있다.
물론 이에 뒤질새라 구글의 반격도 거세다. 글로벌 거대기업인 구글도 서둘러 바드라는 서비스를 개선하여 조속히 출시하였다. 혁신의 무기를 장착하고 광폭의 진전을 하고 있는 OpenAI회사라는 스타트업과는 다르게, 검색 시장과 트랜스포머라는 언어모델의 대표적 학습모델에서의 기술리더답게 ChatGPT에 버금가는 기능으로 우열을 겨루고 있다.
어떤 사람들은 챗GPT를 사용하고 난 후, 응답을 해주는 클라우드 뒷단에서 마치 사람이 답변을 해주지 않을까라고 생각하는 사람도 생기고, 컴퓨터에 의식이 만들어진 것은 아닌가라고 생각하는 사람들이 나타났다.
하지만 엔지니어 입장에서 다음 단어를 생성하고 결국 원하는 답변을 잘 만들어주는 생성모델 GPT는 트랜스포머라는 일종의 연산기 즉 곱해주고 더해주는 기능이 대부분인 계산기에 불과하다. 때문에 지나친 환상과 과장은 경계해야 한다.
이러한 일종의 계산기가 어떻게 언어를 이해하고 추론하는 지능을 얻게 되었는지는 추후 다른 기사를 통해 자세히 들여다 볼 것이다.
◇ 이전 대화를 어떻게 기억하는가
이번 칼럼에서는 챗GPT의 대화 능력을 탁월하게 만드는 기능으로 하나의 대화 세션 내에서 여러 차례 대화가 오간 내용에서 이전 대화의 내용을 잘 기억해서 질문의 맥락에 잘 맞게 답변을 하는지에 대해 알아보기로 한다.
일단 GPT 엔진에는 프롬프트라는 사용자의 질문이 단어토큰이라는 단위로 잘게 잘게 쪼게져서 컴퓨터가 의미를 파악하기 좋은 형태, 즉 컴퓨터의 언어공간 내에 다차원 벡터로 표시되어 지는데, 이것을 워드임베딩이라고 한다.
그래서 사용자가 던진 프롬프트는 토큰 단위로 나뉘어진 후 워드 임베딩을 거쳐 고차원의 벡터로 표현되어 다음 단어를 생성할 수 있는 트랜스포머 엔진(이것을 GPT엔진)이라고 한다.
이 엔진을 통해 수 많은 벡터의 곱셈과 덧셈 등의 처리를 통해 제일 마지막 단어토큰에 후속되는 다음 단어를 벡터의 형태로 추출하게 되고 그런 단어를 이어붙이면 문장이 되어 챗GPT가 답변을 쏟아낸다.
물론 그 내부에 어텐션이라는 계산을 통해 단어토큰 사이의 영향과 관계에 의해 계산되어진 값들에 의해 이동 조정치가 계산되어진다.
결론적으로 GPT엔진 내부의 복잡한 연산을 제외하면, 결과되는 것은 주어진 입력토큰의 문맥에 잘 맞는 결과토큰들이 나오게 되고 이것은 좋은 답변이 될 수 있는 문장이 되는 것이다.
그러나 보통의 경우에 사람들의 대화방식은 질문과 답변이 한번에 완성되는 것이 아니기 떄문에 여러 차례의 질문과 답변에 대해 챗GPT는 이전 대화의 내용을 감안하여 답변을 하기 위해 GPT엔진의 입력 데이터로 이전 대화 묶음 즉 질문과 답변에 대한 내용을 토큰화하여 최신의 질문 앞에 덧붙여 입력하는 방식을 채택하고 있다.
◇ 인간 뇌 원리 모방한 챗GPT...한계점 있어
이 방식을 멀티턴 대화(Multi-turn conversation) 기법이고 GPT엔진으로 입력되는 토큰의 길이가 중요한 의미를 가진다. GPT3의 경우 입력 토큰의 최대치는 4천 정도이고, GPT4의 경우에는 최대 3만2천 정도로 확장되었지만, 현재 챗GPT 서비스 버전에서는 대략 8천 토큰으로 제한되어 있다.
그래서 대화가 길어지고 특히 챗GPT의 답변이 길게 되었을 경우를 대비해서 남아 사용할 수 있는 토큰 수가 줄어들게 되면 이전 대화의 내용은 주요한 내용만을 요약해서 입력하거나, 시간 순서대로 더 오래전의 대화 내용을 삭제하는 방식이 적용하게 되면, 대화의 내용을 잊게 되는 경우가 발생할 수 있다.
이처럼 의식이 있을 것 같은 챗GPT도 사실 어떤 측면에서는 대단한 한계도 있고, 사람과 동일한 방식의 학습을 하는 것도 아니고, 인간의 뇌의 원리를 일부 흉내내었지만, 인간의 뇌와 동일할 수 없다.
그래서 사람과 동일한 학습방식에 따라 훈련되는 것도 아니며 파라미터의 숫자를 인간의 뇌세포 만큼 증가시키면 더 성능이 월등히 좋아질거라는 환상은 사실과는 거리가 있다.
특히 초거대 언어모델에서 모델 사이즈를 더 키우면 더 좋은 성능이 나올 것이라는 믿음은 너무 단순해서 그렇지 않을 가능성도 너무 많기 때문에 좀 더 신중하게 이 기술과 생성시장을 바라보는 것이 필요하다.
[본 칼럼 또는 기고문은 토큰포스트 기조와 관련이 없음을 알려드립니다.]