Future Perspective

챗GPT의 세계로! 이해부터 활용까지

ALM News 퇴임소감

최규태세종충남대학교병원

안녕하세요, 학회원 여러분. '인공지능'이라는 기술이 우리 생활 어디에나 깊숙이 녹아들어 있는 요즘시대,
챗봇 기술 '챗GPT'에 대해 한 번쯤은 들어보셨으리라 생각합니다.
이번호 future perspective에서는 그 작동 원리부터 실제 생활에서의 활용법까지,
챗GPT에 대해 자세하게 알아보도록 하겠습니다.

1. 챗GPT의 세계에 오신 것을 환영합니다! 2022년 11월 30일 오픈AI가 공개한 챗GPT는 웹사이트의 소개 페이지에 가장 정확하게 설명되어있으며 내용은 다음과 같습니다. ‘우리는 대화 방식으로 상호 작용하는 챗GPT라는 모델을 훈련시켰다. 대화 형식을 통해 챗GPT 는 후속 질문에 답하고, 실수를 인정하고, 잘못된 전제에 이의를 제기하고, 부적절한 요청을 거부할 수 있다’. 출시단 5일 만에 100만 사용자를 돌파한 챗GPT는 2023년 1월, 한 달에 1억 명의 사용자가 찾는 서비스로 초고속 성장 하였습니다.

챗GPT와 기존 AI 챗봇의 가장 큰 차이점은, 그 '자연스러움'에 있습니다. 기존 AI 챗봇은 특정한 질문에 대한 답변을 사전에 프로그래밍하는 방식을 사용하였습니다. 반면, 챗GPT는 딥러닝 알고리즘을 기반으로 하여, 대화의 맥락을 이해하고 적절한 답변을 생성합니다. 이를 통해 챗GPT는 단순한 질의응답을 넘어서서, 자연스럽고 유기적인 대화를 이끌어낼 수 있습니다. 이것이 가능한 이유는 챗GPT라는 이름에서 그 답을 찾을 수 있습니다. GPT(Generative Pre-trained Transformer)는 인공지능 분야의 언어 모델로, 문장 생성, 번역, 질문 응답 등과 같은 자연어 처리작업을 수행합니다. GPT는 딥러닝과 트랜스포머 구조를 기반으로 하며, 이전 단어들의 맥락을 고려하여 다음 단어를 생성하는 방식으로 작동합니다.

사실 GPT는 아주 최근에 발표된 기술은 아니고, 이미 2018년에 GPT-1을 시작으로 2019년 GPT-2, 2020년 GPT-3가 발표되었습니다 (Fig 1).

Fig 1 Evolution of GPT Models

<출처: Evaluation of GPT and BERT-based models on identifying protein-protein interactions in biomedical text, https://arxiv.org/abs/2303.17728>

GPT-1은 1억1700만개 매개변수를 가지고 시작되었고, GPT-2는 15억개, GPT-3는 1750억개로 증가했습니다.

매개변수는 모델의 가중치와 편향과 같은 변수로, 복잡한 패턴을 학습하는 데 중요하며, GPT 시리즈의 발전과 성능 향상에 크게 기여하였습니다. 2020년 GPT-3가 발표되었을 때, 다양한 언론에서 혁신적인 이 모델에 대해 앞다투어 보도하며 큰 관심을 보였으나 일반 대중들에게 많이 알려지지는 않았습니다. 기존 모델보다 더욱 복잡한 문장을 이해하고 생성할 수 있게 되었으나 연구자들을 포함한 관련업계 종사자들만이 사용할 뿐, 대중들에게는 특별한 효용성이 없었기 때문입니다. 2022년 11월 말 발표된 챗GPT는 대화형 챗봇으로 자연스러운 대화 생성 능력을 갖추고 있으며, 일반적인 질문과 응답 방식을 넘어 복잡한 대화 상황에서도 사용할 수 있었기에 전세계적으로 이슈화가 되었고 일반 대중들도 널리 사용하게 되었습니다. 챗GPT는 GPT-3.5를 바탕으로 개발되었는데, GPT-3.5는 GPT-3의 Fine-Tuned 모델입니다. 미세조정 혹은 파인튜닝은 이미 훈련된 모델을 특정 작업에 맞게 조금씩 조정하는 과정을 말하는데, GPT-3.5는 RLHF(Reinforcement Learning with Human Feedback) 라는 방법을 사용하여 일반적인 언어 모델을 대화 생성에 특화되게 만드는 데 사용되었으며, 이로인해 챗GPT는 사용자와의 자연스러운 대화가 가능하게 되었습니다.

챗GPT의 개발에는 학습 알고리즘인 GPT-3.5뿐 아니라, 학습된 데이터도 매우 중요하게 작용하였는데, 인터넷에서 수집한 데이터 4,100억 개, 논문/보고서와 같은 웹텍스트 190억 개, 인터넷 기반의 말뭉치 670억 개, 인터넷 사전 (위키피디아) 정보 30억 개로 구성된 약 570GB의 텍스트 데이터가 사용되었습니다. GPT-1, GPT-2가 각각 5GB, 40GB의 데이터를 사용했던데 비해 매우 크게 증가한 것을 알 수 있습니다. 한 가지 유념해야 할 사항은, 챗GPT가 학습한 데이터는 2021년 9월까지의 자료이기 때문에 그 이후의 데이터는 가지고 있지 않습니다. 때문에 최신 자료에 대해 챗GPT에게 물어보면 잘못된 결과를 얻을 수 있습니다.

이후 2023년에 GPT-4가 발표되었고 (Fig 1) 이를 챗GPT에도 적용할 수 있게 되었습니다. GPT-4는 대규모 멀티 모달 모델(이미지 및 텍스트 입력을 받아들이고 텍스트 출력을 내보내는)로, 다양한 전문 및 학술 벤치마크에서 인간 수준의 성능을 발휘하며, GPT-3.5보다 더 안정적이고 창의적이며 훨씬 더 미묘한 지침을 처리할 수 있다고 소개되어 있으나, 정확한 파라미터 수나 학습데이터의 크기 등은 발표되지 않았습니다.

2. 챗GPT의 활용, 그 무한한 가능성 챗GPT의 활용법에 대해 설명하기 전에, 챗GPT를 어디서 어떻게 사용할 수 있는지 자세하게 알려드리겠습니다.
먼저 크롬(chrome) 등의 웹 브라우저에서 OpenAI 웹사이트(www.openai.com)에 접속합니다. 홈페이지 우측 상단에 있는 '가입(sign up)' 버튼을 클릭한 후, 필요한 정보(이메일, 비밀번호 등)를 입력하고 '계정 생성'을 클릭합 니다. 가입한 이메일로 인증 메일이 발송되면 이메일 내의 인증 링크를 클릭하여 인증을 완료합니다. 이후 챗GPT 웹페이지 (https://chat.openai.com/)에 방문하여 로그인하면 사용이 가능합니다. 상단 중앙을 보면 GPT-3.5와 GPT-4를 선택할 수 있도록 되어있는데, GPT-4는 유료버전으로 월 $20의 금액으로 이용할 수 있습니다. 참고로 GPT-4 버전에서는 ‘ChatGPT Browse with Bing’이라는 베타 기능을 이용하여 웹 검색을 통해 최신 정보를 바탕 으로 답변을 생성할 수 있었으나, 안타깝게도 2023년 7월 3일 이후 웹 검색기능이 비활성화 되어 현재는 사용이 불가능합니다. 오픈AI 홈페이지에 올라와 있는 내용에 따르면, 콘텐츠 표시에 에러가 발생하였기 때문이라고 설명 하고 있으며, 현재 수정중이라고 하니 조만간 다시 웹 검색 기능을 사용할 수 있으리라 기대합니다.

챗GPT의 개발에는 학습 알고리즘인 GPT-3.5뿐 아니라, 학습된 데이터도 매우 중요하게 작용하였는데, 인터넷에서 수집한 데이터 4,100억 개, 논문/보고서와 같은 웹텍스트 190억 개, 인터넷 기반의 말뭉치 670억 개, 인터넷 사전 (위키피디아) 정보 30억 개로 구성된 약 570GB의 텍스트 데이터가 사용되었습니다. GPT-1, GPT-2가 각각 5GB, 40GB의 데이터를 사용했던데 비해 매우 크게 증가한 것을 알 수 있습니다. 한 가지 유념해야 할 사항은, 챗GPT가 학습한 데이터는 2021년 9월까지의 자료이기 때문에 그 이후의 데이터는 가지고 있지 않습니다. 때문에 최신 자료에 대해 챗GPT에게 물어보면 잘못된 결과를 얻을 수 있습니다.

이제 챗GPT의 활용에 대해 이야기해 보겠습니다. 챗GPT는 조금 과장을 보태면, 생각할 수 있는 모든 분야에서 다양한 활용이 가능합니다. 몇 가지 예를 들어 소개해 보겠습니다.

  1. 콘텐츠 생성 : 챗GPT는 블로그 게시물, 시나리오, 시, 소설 등 다양한 종류의 콘텐츠를 작성하는 데 사용될 수 있습니다.
    이는 개인이나 기업이 콘텐츠를 더 빠르고 효과적으로 생성하는 데 도움이 될 수 있습니다. 실제 이를 활용하는 블로그, 유튜브들은 이미 셀 수 없을 정도로 많으며, 우리가 보고 있는 다양한 콘텐츠 중에 상당수는 챗GPT가 생성했을 가능성이 있습니다.
  2. 고객 서비스: 챗GPT는 고객 서비스를 자동화하는 데 사용될 수 있습니다. 대표적으로는 챗봇이 있으며, 이를 통해 고객의 질문에 대답하거나 문제를 해결할 수 있습니다. 이미 기존에 많은 챗봇이 사용되고 있었으나, 사용해 보신 분들은 알겠지만 고객이 원하는 정보를 빠른 시간내에 찾기에 부족함이 많았습니다. 하지만 챗GPT를 이용한다면 자연스러운 대화를 통해 고객에게 다양한 서비스를 제공하는 것이 가능합니다.
  3. 교육: 챗GPT는 학습 자료를 생성하거나 학습에 도움을 주는 데 사용될 수 있습니다. 특히 요즘에는 여러 매체를 통해 챗GPT를 이용한 다양한 영어 학습법이 소개되고 있는데, 챗GPT가 언어모델인 점을 고려할 때 앞으로 영어뿐만 아니라 다양한 언어 학습에 챗GPT가 사용될 것은 당연해 보입니다. 한편 언어 이외에도 챗GPT를 이용한 교육은 계속해서 발전할 것으로 생각되며, 미국에서 기존 교육관련 컨텐츠 생성 업체의 주가가 하락하고 있는 점에서 교육계에 많은 변화가 있을 것임을 짐작할 수 있습니다.
  4. 언어 번역: 챗GPT는 영어, 한국어, 중국어(간체와 번체), 일본어, 프랑스어, 독일어, 스페인어, 이탈리아어, 네덜란드어, 포르투갈어 등과 같은 주요 언어뿐만 아니라, 세계 각지의 수많은 언어를 이해하고 번역할 수 있습니다. 이를 이용한다면 텍스트뿐 아니라 음성언어도 실시간으로 정확하게 번역할 수 있습니다. 이미 이를 활용한 실시간 번역 동시 통역 이어폰이 출시되어 판매되고 있습니다.
  5. 프로그래밍: 챗GPT는 프로그래밍 분야에서도 큰 도움이 될 수 있습니다. 프로그래머가 특정 작업에 필요한 코드의 로직이나 구조에 대해 질문하면, 챗GPT는 해당 질문에 맞는 코드 예시를 제공해 줄 수 있습니다. 예를 들어, "파이썬 에서 리스트의 중간값을 찾는 함수를 작성해줘"라는 요청에 대해 챗GPT는 "def find_median(numbers): return sorted(numbers)[len(numbers)//2]"와 같은 코드를 제안해 줄 수 있습니다. 이렇게 챗GPT는 프로그래밍 문제 해결의 효율성을 높이고 코드 작성 과정을 간소화하는 데 기여할 수 있습니다. 프로그래머뿐 아니라, 프로그래밍을 전혀 해본 적 없는 일반인도 챗GPT에게 무엇을 요구해야 하는지만 안다면 수준 높은 프로그래밍이 가능합니다.

3. AIPRM과 플러그인(Plugins), 고급 데이터 분석(Advanced Data Analysis)으로 더욱 풍요로운 챗GPT 활용법 1) AIPRM 프롬프트는 챗GPT와 같은 인공지능 모델과 상호작용할 때 사용되는 질문이나 명령어입니다. 사용자가 원하는 응답을 얻기 위해 정확하게 구성된 프롬프트가 필요합니다. 프롬프트는 챗GPT에게 작업의 방향을 제시하며, 챗GPT가 적절한 응답을 생성하도록 안내합니다. 어떤 프롬프트를 사용하느냐에 따라 결과물의 품질이 크게 차이가 나게 됩니다. 챗GPT가 등장한 이후로 프롬프트 엔지니어라는 직업이 각광을 받고 있고 수많은 프롬프트 관련 서적이 출판되어 판매되고 있습니다. AIPRM은 챗GPT와 함께 사용되는 크롬 확장 프로그램으로, 프롬프트 사용에 많은 도움을 줄 수 있습니다 (Fig 2).

Fig 2 AIPRM 설치 전과 후 챗GPT 인터페이스 화면 비교


< AIPRM 설치전 >

< AIPRM 설치후 >

이 프로그램은 다음과 같은 특징과 사용법을 가지고 있습니다.

  1. 프롬프트 작성 도우미: AIPRM은 사용자가 프롬프트를 더 효과적으로 작성할 수 있도록 도와줍니다.
  2. 다양한 템플릿 제공: SEO(Search Engine Optimization), SaaS(Software as a Service) 등을 위한 정제된 프롬프트 템플릿을 제공하여 챗GPT의 활용을 더욱 향상시킵니다.
  3. 무료 및 유료 버전: AIPRM은 무료와 유료 버전이 있으며, 설치와 사용법에 대한 자세한 정보는 여러 웹사이트에서 확인할 수 있습니다. 간략하게 설명하면 유료 버전에서는 사용자 맞춤화 및 즐겨찾기 기능 등을 사용할 수 있습니다.

AIPRM은 챗GPT를 더 똑똑하고 효과적으로 사용하려는 사용자에게 유용한 도구로 간주됩니다. 예를들어, 내가 그리고자 하는 그림의 키워드만 주면 다양한 그림생성 AI에서 사용할 수 있는 프롬프트를 순식간에 생성하며, 이를 해당웹에 붙여넣기만 하면 사진과 같은 그림을 생성합니다. 제가 이미지 생성 AI 사이트(저는 뤼튼을 사용했습니다) 에서 그림을 생성할 때, ‘강아지 그려줘’라고 하여 생성한 <이미지 1>과, AIPRM에 ‘강아지’라는 키워드를 이용해서 생성한 프롬프트를 이용한 <이미지 2>를 비교해 보시기 바랍니다(Fig 3). 두 이미지 사이에 확실한 차이가 느끼지시나요?

Fig 3 AIPRM 사용 전과 후의 생성 이미지 비교


< 이미지1 >

< AIPRM 설치후 >

2) 플러그인(Plugins) 플러그인(Plugins)은 챗GPT 모드 중 GPT-4에서만 사용 가능합니다. GPT-4의 기능을 확장하고 다양한 도메인과 플랫폼에서 GPT-4를 활용할 수 있게 해주는 추가적인 기능입니다. 스마트폰에서 사용할 수 있는 다양한 앱(App)과 같다고 생각하면 됩니다. 사용을 위해서는 설정에서 Beta Features 탭으로 들어가서 plugins를 활성화해야 합니다. 2023년 8월 초 기준 약 800개의 Plugins가 Plugin store에 존재하며, 선택 후 install하여 챗GPT-4에서 사용할 수 있습니다. 유용하게 사용할 수 있는 몇 가지 Plugin을 소개하겠습니다.

Fig 4 챗GPT 플러그인 스토어

  1. Expedia: Expedia는 여행 예약 사이트입니다. Expedia plugin을 사용하면 GPT-4와 대화하면서 여행지, 항공권, 호텔, 렌터카 등을 검색하고 예약할 수 있습니다. Expedia plugin은 여행자의 선호도와 예산에 맞게 최적의 여행 계획을 제안해줍니다.
  2. Wolfram: Wolfram은 수학, 과학, 통계 등의 분야에서 다양한 계산과 시각화를 할 수 있는 플랫폼입니다. Wolfram plugin을 사용하면 GPT-4에게 자연어로 질문하거나 명령하면서 Wolfram의 기능을 활용할 수 있습니다. Wolfram plugin은 복잡한 수식이나 그래프를 쉽게 생성하고 해석할 수 있게 도와줍니다.
  3. Zapier: Zapier는 다양한 웹 애플리케이션들을 연결하고 자동화할 수 있는 플랫폼입니다. Zapier plugin을 사용하면 GPT-4에게 원하는 작업 흐름을 설명하면서 Zapier의 기능을 활용할 수 있습니다. Zapier plugin은 웹 애플리케이션들 간의 데이터 전송이나 조건부 로직 등을 쉽게 구현할 수 있게 도와줍니다.
  4. Speak: Speak은 음성 인식과 음성 합성을 할 수 있는 플랫폼입니다. Speak plugin을 사용하면 GPT-4와 음성으로 대화하면서 Speak의 기능을 활용할 수 있습니다. Speak plugin은 텍스트를 음성으로 변환하거나 음성을 텍스트로 변환하는 등의 작업을 쉽게 할 수 있게 도와줍니다.
  5. World News: 세계 각지의 주요 뉴스 헤드라인을 빠르게 요약하여 제공, 최신 세계 동향을 파악하는 데 도움이 됩니다.
  6. WebPilot: 웹페이지나 PDF, 데이터 탐색을 가능하게 합니다. 2023년 8월 초 현재 GPT-4의 웹 검색 기능이 중단 되었는데, 이 plugin을 사용하면 웹 검색이 가능합니다.

4. 고급 데이터 분석 (Advanced data analysis) 고급 데이터 분석(Advanced data analysis)은 얼마전까지만해도 코드 인터프리터(code interpreter)라고 불렀는데 최근에 이름이 바뀐 기능으로, GPT-4의 기능을 활용하여 파이썬 코드를 직접 실행해서 데이터 분석, 이미지 변환, 코드 편집 등 다양한 작업을 수행할 수 있게 해주는 plugin입니다. Advanced data analysis를 사용하려면 우선 설정에서 Advanced data analysis 를 사용하도록 선택하고, 챗GPT에서 새로운 prompt를 생성할 때 GPT-4 옵션 중 Advanced data analysis 를 선택해야 합니다. 그러면 Advanced data analysis 모드가 활성화되고, 채팅을 통해 원하는 코드를 입력하거나 실행할 수 있습니다. 예를 들어, 다음과 같은 작업들을 수행할 수 있습니다.

  1. 데이터 분석 및 시각화: 엑셀, CSV, Word 등 다양한 종류의 파일을 업로드하고, 챗GPT에게 데이터에 대한 기초 통계나 그래프를 요청할 수 있습니다.
  2. 코딩: Python, JavaScript, HTML, CSS 등 다양한 언어로 코드를 작성하고 실행할 수 있습니다. 챗GPT는 코드의 오류나 개선점을 알려주기도 합니다.
  3. 수학: 산수, 대수, 미적분, 통계 등 수학적인 문제를 풀거나 계산기로 사용할 수 있습니다.

혹시 제가 얼마전 오프라인 강의에서, 챗GPT를 이용하여 파이썬 프로그래밍을 하고 데이터를 분석했던 것을 기억 하시는 분이 계실지 모르겠습니다. 강의를 할 때는 나름 획기적인 방법이라고 자신있게 소개를 하였는데, 강의 후 Ad-vanced data analysis가 발표되어 이제는 굳이 파이썬 프로 그래밍을 하지 않아도 챗GPT를 통해 자연어로 데이터를 분석하고 그래프까지도 생성할 수 있게 되었습니다.

맺음말
챗GPT의 세계에 오신 여러분을 다시 한 번 환영합니다! 이 흥미로운 기술은 무한한 가능성을 갖고 있으며, AIPRM과 플러그인, Advanced data analysis를 통해 더욱 다양하게 활용될 수 있습니다. 지금까지 우리는 챗GPT가 어떻게 작동하는지, 그리고 이것을 일상과 업무, 학문에 어떻게 적용할 수 있는지에 대해 알아보았습니다. 이 기술을 더 깊게 이해하고 적극적으로 활용함으로써, 우리는 창조적인 해결책을 찾고, 더 효율적인 작업을 수행하며, 새로운 지식을 탐구할 수 있게 될 것입니다. 고백하자면 사실 이 글의 많은 부분을 챗GPT를 활용하여 작성하였습니다. 챗GPT의 세계는 지금도 끊임없이 성장 하고 있으며, 우리 모두가 이를 활용하여 새로운 가치를 생성할 수 있는 기회가 계속해서 생겨나고 있습니다. 이 글을 끝까지 읽어주신 모든 분들이 이 흥미로운 여정에 함께 동참하시기 바라겠습니다.