ChatGPT 혁신을 바라보며

안녕하세요?

오늘은 구글이 놀라고, 바이두와 네이버는 두려움에 떨며, 사용자는 환호한 장안의 화제 ChatGPT에 대해 알아볼까 합니다.

그리고 ChatGPT가 가져올 혁신이 무엇인지 함께 살펴볼까 합니다.

실제, ChatGPT의 대성공으로 구글에서는 최고경영자인 순다르 피차이(Sundar Pichai)님이 직접 구글에 지시하는데요.

ChatGPT가 검색엔진 비즈니스에 가하는 위협을 해결하도록 AI 프로토타입 및 제품 개발 출시 지원 및 전환을 바란다는 내용이었습니다.

그래서 구글이 급하게 내놓은 게 바로 바드(Bard)입니다. 최근 Bard의 오류에 대해 기사나 났었는데요. 뭔가 급하게 내놓은 티가 확실히 납니다.

그만큼 ChatGPT가 위협적이니까요.

그럼, 오늘의 주제인 ChatGPT에 대해 알아볼까요?

ChatGPT는 OpenAI에서 개발한 대규모 언어 모델인데요.

OpenAI는 인공지능 연구 개발을 목적으로 설립된 비영리 연구소입니다.

인공지능 연구를 통해 혁신적인 알고리즘과 기술을 개발하고, 이를 공유하여 인류의 이익에 기여하기 위해 노력하고 있다는데요.

매우 좋은 일을 하는 곳이군요.

OpenAI의 대표적인 작업으로는 GPT, DALL-E, Codex 등이 있는데요.

이 중 GPT는 대규모 언어 모델로, 주어진 입력에 대한 자연어 생성 능력을 갖추고 있습니다.

그래서 ChatGPT는 기존 번역 AI 같은 거보다 훨씬 사람에게 친숙한 언어로 사용할 수 있습니다.

ChatGPT에서는 우리가 일상생활에서 쓰는 언어를 자연어라고 명칭 하는데요.

ChatGPT는 자연어 이해, 생성, 번역, 요약, 감성 분석 등에서 높은 성능을 보여줍니다!

이 모델은 특정 분야에 국한되지 않아서, 다양한 분야의 데이터를 학습해서 여러 주제에 대한 질문에도 답할 수 있고요. 🤖💬

ChatGPT의 학습 데이터는 웹 상의 대규모 텍스트 코퍼스(Text Corpus), 즉 말뭉치(단어 모음)에서 수집됩니다.

또한 대규모 데이터셋을 기반으로 학습되었기 때문에, 일반적인 자연어 처리 작업에서 탁월한 결과를 보여줍니다.

쉽게 말해 압도적인 학습량이 탁월한 결과를 보여준다는 뜻이죠.

또한, 생성적 학습을 통해 새로운 텍스트를 만들어내는 기능도 있어서, 일상적인 대화나 문서 작성에도 유용하게 사용할 수 있습니다.

무엇보다도 사람과 자연스러운 대화가 가능한 게 가장 큰 장점이죠. 🤖💬


ChatGPT와 일반적인 챗봇(chatBot)의 가장 큰 차이점 : 자연어 처리 방식!

기존 chatbot은 특정 질문에 대해 미리 정의된 답변을 제공해 주며, 정해진 패턴 이외의 질문에 대해서는 대응할 수 없습니다.

예를 들어, 기존 chatbot이 예약받는다면, 일반적으로 특정 양식에 맞춰 사용자의 정보를 입력받아 예약을 처리하는 거죠.

하지만 ChatGPT는 기계 학습을 통해 학습된 모델로, 이전에 학습하지 않은 문장에 대해서도 자연스러운 대화를 수행할 수 있습니다.

ChatGPT는 대화를 이해하고 이전 대화의 맥락을 파악하여 적절한 응답을 생성할 수 있는 거죠.

기존 chatbot과는 달리, 사용자의 언어와 대화 방식에 맞추어 컴퓨터가 아닌 인간 사이의 대화가 이뤄진다는 장점이 있습니다.

기존 chatbot 서비스에 대한 예를 들어보면,

  1. 카카오톡 채널: 카카오톡 채널은 기업이나 브랜드가 제공하는 채널로, 대화형 인터페이스를 통해 다양한 서비스를 제공하고 있는데요. 예를 들어, 음식점 예약, 영화 예매, 교통 정보, 뉴스, 날씨 정보 등 다양한 서비스를 제공하고 있습니다.

  2. 네이버 톡톡: 네이버 톡톡은 네이버에서 제공하는 인공지능 챗봇 서비스인데요. 통합 검색 엔진, 뉴스, 지도 등 다양한 서비스를 제공하며, 사용자와 대화를 통해 검색 결과나 정보를 제공합니다.

  3. 삼성카드 AI 상담봇: 삼성카드 AI 상담봇은 삼성카드에서 제공하는 인공지능 챗봇 서비스로, 카드 이용 내역 조회, 포인트 적립, 할부 금리 조회 등 다양한 서비스를 제공합니다.

  4. LG U+ Ucare: LG U+ Ucare는 LG U+에서 제공하는 인공지능 챗봇 서비스로, 요금 조회, 상품 가입, 이용 내역 조회 등 다양한 서비스를 제공합니다.

ChatGPT의 활용 사례

ChatGPT는 인공지능 모델이므로, 본인이 직접 논문을 쓰거나 시험을 치거나 테스트를 통과하는 것은 불가능합니다.

왜냐하면 사람이 아니니까요. 그런데 저 같은 평범한 사람이 핸드폰으로 ChatGPT를 이용한다면 직접 논문도 쓰고, 의사 시험도 패스하고, 사법 시험도 통과하고, 구글 입사 코딩 인터뷰도 통과할 수 있을겁니다.

최근 미국 아마존에서는 AI가 만든 소설책이 많이 나오고 있다는데요.

바로 ChatGPT가 자연어 처리 및 생성에 탁월한 능력이 있기 때문입니다.

심지어 discord의 midjourney 같은 곳에서는 인공지능이 그림까지 만들어 줍니다.

작곡도 가능할 거 같은데요. 조만간 국내에서도 AI가 작곡한 노래가 나올 듯합니다.

ChatGPT는 왜 인간에 준하는 문장 이해, 제작 능력이 있을까요?

바로 강화학습과 지도학습기반 미세조정을 통해서 가능합니다.

ChatGPT는 강화학습과 지도학습 기반의 미세조정을 통해 인간에 준하는 문장 이해와 생성 능력을 발전시키고 있습니다.

ChatGPT는 대규모의 데이터셋을 이용하여 사전학습을 하고, 이후에는 미세조정 기술을 이용하여 입력된 문장에 대한 적절한 응답을 생성할 수 있도록 학습합니다.

이때 강화학습과 지도학습 기반의 미세조정 기술을 이용하여 ChatGPT의 학습 데이터셋을 보완하고, 인간 수준 이상의 문장 이해와 생성 능력을 발전시킵니다.

이렇게 사전 학습된 모델은 미세조정 기술을 이용하여 새로운 데이터셋에 대해서도 원활한 응답을 보일 수 있습니다.

강화학습은 에이전트가 환경과 상호작용하면서 보상을 최대화하는 방향으로 학습을 진행하는 기술입니다.

ChatGPT에서는 강화학습을 이용하여 적절한 단어 선택과 문장 구성을 보상으로 받고, 이를 통해 더욱 자연스러운 문장 생성 능력을 개발합니다.

지도학습은 입력과 출력 데이터셋을 이용하여 모델을 학습하는 방식입니다.

ChatGPT에서는 지도학습을 이용하여 대화 데이터를 기반으로 학습을 진행하며, 이를 통해 문장 이해와 생성 능력을 발전시킵니다.

따라서, ChatGPT는 대규모 데이터셋과 사전학습을 통해 기초적인 언어 이해와 생성 능력을 개발합니다.

이후 강화학습과 지도학습 기반의 미세조정을 통해 학습을 보완하고, 더욱 자연스러운 문장 이해와 생성 능력을 갖출 수 있도록 개발됩니다.

그래서 ChatGPT가 인간 수준 이상의 자연어 처리 능력을 갖춘 모델 중 하나로 발전한 겁니다.


구글이 업어 키운 ChatGPT? - ChatGPT에 쓰인 기술

Transformer 모델 아키텍처

ChatGPT는 구글에서 개발한 트랜스포머(Transformer) 모델 아키텍처를 사용하여 구현되었습니다.

이 모델 아키텍처는 기존의 순환신경망(RNN) 기반 모델들보다 훨씬 빠르고 정확한 결과를 얻을 수 있도록 설계되었기 때문에, ChatGPT도 이를 활용함으로써 많은 혜택을 누리고 있는데요.

  1. 긴 문장 처리 능력: 트랜스포머 모델은 RNN 기반 모델보다 긴 문장을 처리하는 능력이 뛰어나기 때문에, ChatGPT도 긴 문장에 대한 이해와 생성 능력을 향상 시킬 수 있습니다.

  2. 병렬 처리: 트랜스포머 모델은 RNN과 달리 병렬 처리가 가능하기 때문에, 학습 속도를 향상 시킬 수 있습니다.

  3. 셀프 어텐션(Self-Attention) 메커니즘: 트랜스포머 모델에서는 셀프 어텐션 메커니즘이 사용되는데, 이를 통해 입력 문장의 각 단어 간의 상호 관계를 고려하여 문맥적인 이해를 높일 수 있습니다. 이를 통해 ChatGPT도 입력 문장의 문맥적 이해 능력이 향상됩니다.

  4. 사전학습 언어 모델(Pretrained Language Model) 활용: 트랜스포머 모델은 사전학습 언어 모델에 기반하여 구현되기 때문에, 대규모 데이터셋에서 미리 학습된 모델을 이용하여 효율적인 미세조정(fine-tuning) 학습을 진행할 수 있습니다. ChatGPT도 이를 활용하여 사전학습된 언어 모델을 미세조정하여 자연스러운 대화 생성 능력을 갖출 수 있게 되었습니다.

자기지도학습 + 퓨샷러닝

ChatGPT는 기본적으로 자기지도학습(self-supervised learning) 기반으로 학습됩니다.

자기지도학습이란 사전학습(pre-training) 단계에서 대량의 텍스트 데이터를 이용하여 언어 모델을 학습시키는 방식인데요.

자기지도학습은 정답 데이터를 필요로 하지 않고, 입력 데이터만으로 모델을 학습시키는 방식으로, 입력 데이터 자체에서 학습에 필요한 정보를 추출해 내는 방법입니다.

ChatGPT의 자기지도학습 기반 모델 학습에는 기존에는 대표적으로 마스킹 언어 모델(Masked Language Model, MLM)이 사용되었습니다.

MLM은 입력된 문장에서 일부 단어를 마스킹하고, 이를 예측하는 과정을 통해 모델을 학습시키는 방식인데요, 하지만 이 방식은 학습 데이터에 포함되어 있는 정답을 가릴 수 있는 마스크에 의해 모델이 편향되어 학습될 수 있다는 단점이 있습니다.

이에 반해 퓨즈드러닝(self-supervised learning with contrastive objectives)은 마스킹을 사용하는 방식이 아니라, 유사도 비교(similarity comparison)를 사용하여 자기지도학습 기반 모델 학습을 진행하는 방식입니다.

유사도 비교는 하나의 문장을 두 개의 부분으로 나누어 각 부분의 유사도를 비교하는 방식인데, 예를 들어, "나는 카페에서 커피를 마셨다"라는 문장에서 "나는 카페에서"와 "커피를 마셨다"라는 두 부분을 추출하여 이들 간의 유사도를 비교합니다.

이 방식은 마스킹 언어 모델과 달리 입력 데이터에서 정답 데이터를 가리지 않고, 입력 데이터 내에서 유사도를 추출하는 방법이므로, 더욱 효과적인 자기지도학습이 가능한 겁니다.

ChatGPT는 또한 퓨샷러닝(Few-shot learning) 기법도 포함하고 있는데요.

Few-shot learning은 적은 양의 레이블링된 데이터로도 새로운 클래스나 태스크를 학습할 수 있는 기계학습 방법인데요, 대부분의 기계학습 모델인 많은 양의 레이블링된 데이터를 필요로 하는 지도 학습과는 그 방식이 다릅니다.

특히, 실제 세계에서는 많은 클래스를 학습해야 하는 경우가 많습니다. 예를 들어, 다양한 동물들의 이미지를 분류해야 하는 경우, 모든 동물을 학습하기 위해서는 상당한 양의 데이터가 필요합니다.

그러나, few-shot learning을 사용하면, 적은 양의 레이블링된 데이터로도 분류 모델을 학습할 수 있다는 거죠.

참고로 Few-shot learning에는 다양한 방법들이 제안되고 있습니다.

대표적으로는 메타-학습(meta-learning)을 활용한 방법, 유사도 학습(similarity learning)을 활용한 방법, 생성 모델(generative model)을 활용한 방법 등이 있다고 합니다.

ChatGPT는 기본적으로 대규모의 데이터셋으로 사전 학습된 모델인데 여기에 더해서 이후에는 더이상 데이터를 수집하고 학습할 필요없이, 적은 양의 데이터를 활용하여 새로운 문제를 해결할 수 있다고 합니다.

예를 들어, ChatGPT가 처음 보는 새로운 문장이나 질문이 주어졌을 때, 퓨샷러닝 방식을 활용하여 적은 양의 데이터로도 이를 이해하고 답변을 생성할 수 있다는 거죠.

이러한 특징은 ChatGPT가 실제 활용 면에서 탁월한 우위를 가질 수 있게 해 줍니다.

InstructGPT

InstructGPT는 GPT 모델을 개선한 새로운 모델 중 하나인데요.

InstructGPT는 기존 GPT 모델의 연산량을 줄이고 모델의 정확도를 높이기 위해 여러 가지 기법을 적용했다고 합니다.

예를 들어, InstructGPT는 Multi-Head Attention을 간소화하고 Feed-Forward Network를 최적화하여 모델의 연산량을 크게 감소시킨게 그건데요.

이러한 기술을 활용하여 InstructGPT 모델은 기존 GPT 모델 대비 3.5배 이상의 연산 능력 향상을 이루었다고 합니다.

더불어, InstructGPT 모델은 기존 GPT 모델과 비교해 더욱 복잡한 구조와 매개변수를 가지고 있는데요.

이는 InstructGPT 모델이 더욱 정교하고 다양한 언어 모델링 과제를 수행할 수 있도록 해 줍니다.

따라서, InstructGPT 모델은 자연어 처리 분야에서 더욱 돋보이는 존재가 될 수 있는 거죠.

검색의 게임체인저? - 구글 검색의 차이점

구글 검색 엔진은 검색어와 관련된 페이지를 수집하고 인덱싱한 다음, 검색어와 가장 관련성이 높은 페이지를 찾아서 사용자에게 제공합니다.

이때, 구글은 다양한 신호를 이용하여 검색 결과의 순위를 결정합니다. 구글은 페이지의 내용, 링크의 수와 품질, 사용자의 검색 이력, 지리적 위치 등 다양한 신호를 이용하는데요.

반면 ChatGPT는 사용자의 질문에 대한 최적의 대답을 생성하기 위해 다양한 정보를 활용합니다.

ChatGPT는 문장을 이해하는 능력을 갖추고 있어서, 사용자의 질문에 대한 의도를 파악하고, 그에 맞는 답변을 생성합니다.

이때, ChatGPT는 다양한 지식과 정보를 학습하여 사용자에게 최적의 답변을 제공하려고 노력합니다.

따라서, 구글 검색 엔진과 ChatGPT는 서로 다른 방식으로 검색을 수행하는데요.

구글은 페이지의 내용과 링크 등의 다양한 신호를 이용하여 검색 결과를 찾아내고 단지 검색 결과만을 사용자에게 보여줍니다.

반면, ChatGPT는 사용자의 질문을 이해하고, 최적의 대답을 생성합니다.

ChatGPT의 한계?

ChatGPT는 인공지능 언어모델로써, 높은 수준의 언어 이해력과 언어 생성 능력을 갖추고 있지만, 여전히 몇 가지 한계가 있는데요.

첫째, ChatGPT는 최신 정보를 반영하지 못합니다.

지금 대중에 공개된 버전은 2021년까지의 자료를 기초로 학습되어졌습니다.

왜냐하면 ChatGPT는 학습에 사용된 데이터셋이 기준이 되기 때문에, 학습 데이터가 현재와 차이가 있거나 최신 정보가 반영되지 않은 경우, ChatGPT가 생성하는 답변이 오래된 정보를 기반으로 한 경우가 있습니다.

둘째, ChatGPT는 부정확한 정보나 편향성이 있는 정보를 생성할 수 있습니다.

ChatGPT는 학습 데이터에 있는 패턴을 학습하므로, 만약 학습 데이터가 편향성이 있다면 그걸 사실로 입각해 답변에 반영할 수 있는 거죠.

그래서 잘못된 정보로 AI를 훈련시키는 건 정말 위험한 일입니다.

셋째, ChatGPT는 출처확인이 어렵습니다. ChatGPT는 대화 상황에서 생성된 답변을 바로 제공합니다.

이때, ChatGPT가 생성한 답변의 출처나 진실성을 확인하기 어렵습니다.

넷째, ChatGPT는 운영비용이 많이 드는 서비스입니다. 그만한 연산과 데이터가 필요로하다 보니까 막대한 초기 투자 비용과 유지비용이 들어가겠죠.

그래서 ChatGPT가 마이크로소프트와 협업하는 이유이기도 합니다.

ChatGPT를 회사에 특화해서 사용하는 것도 앞으로 비즈니스 업계에서는 계속 발생할 거 같네요.

점점 더 사무직 인원이 필요치 않은 그런 시대가 되는 거 같네요.

사람들은 ChatGPT가 인류역사 특히 컴퓨터 역사에서 길이 남을 사건으로 평가하는데요, 1994년 웹브라우저의 등장, 1998년 구글검색 탄생, 2007년 아이폰 탄생, 그리고 현재의 ChatGPT 탄생.

조만간 대형 회사들끼리의 AI 전쟁이 일어날 것만 같습니다.

그러다가 터미네이터 영화의 배경처럼 AI의 반란 같은 걸로 커질 수 있는 거죠.

조금은 너무 나갔네요.

지금까지 최근 유행하는 ChatGPT에 대해 알아봤습니다.

그럼.