“챗GPT(ChatGPT)는 믿을 수 없을 만큼 제한적이지만, 위대하다는 잘못된 인상을 만들어내기에 충분하다. 이것에 의존해 지금 당장 중요한 일을 하는 것은 실수다. 이것은 발전하는 과정의 맛보기(a preview of progress)이다. 우리는 견고함과 진실성에 대해 해야 할 일이 많다.”
– 샘 알트먼 오픈AI(OpenAI) 공동 의장 트위터 메시지, 2022년 12월 11일
미국의 민간 AI 연구소인 오픈AI가 지난 11월 30일 대화형 인공지능(AI) 챗봇인 ‘챗GPT’를 선보였다. 챗GPT는 사람과 이야기하듯이 텍스트 문장과 단어를 입력하면 그에 맞는 텍스트 문장과 문단을 뚝딱 만들어내는 AI 모델이다. 오픈AI는 2년 전에도 코딩과 영어 글쓰기에 특화된 초거대 AI 모델 ‘GPT-3’를 선보여 전 세계에 초거대 AI 모델 붐을 일으킨 바 있다. 오픈AI는 GPT-3를 2020년 7월 비공개 시험판으로 세상에 내놓았고 그해 10월부터 비공개 유료 서비스로 제공하기 시작해, 아무나 GPT-3를 쓸 수는 없게 했다. 그런데 이번에 내놓은 챗GPT는 처음부터 공개 시범 서비스로 제공됐다. 호기심이 있는 사람이라면 누구나 간단한 이메일 인증 절차를 거쳐 가입하고 사용해 볼 수 있다. 챗GPT를 접한 수많은 AI 연구자와 IT 산업계 종사자, 언론인들이 다양한 관점에서 감상과 비판을 쏟아냈다. 그 주된 내용은 ‘실제 사람과 대화하는 것과 같은 느낌을 받았다’, ‘창의성을 요구하는 활동이나 산업을 저해한다’, ‘거짓을 그럴듯하게 포장해 사실처럼 믿게 만든다’, ‘특이하거나 독창적이다’, ‘구글 검색에 위협적이다’ 등이다. 샘 알트먼 오픈AI 공동 의장은 자신의 트위터 메시지를 통해 챗GPT가 공개 시범 서비스로 등장한지 일주일 만인 12월 5일에 이용자 수가 100만 명을 넘겼다고 밝혔다. 그리고 챗GPT에 대한 관심과 함께 초거대 AI 모델이 활용될 수 있는 인간 사회의 여러 분야에서 기존 관습과 가치를 위협할 수 있다는 우려가 제기됨에 따라 위와 같이 첨언한 것이다.
챗GPT는 ‘대화’라는 작업에 최적화한 AI 언어 모델이다. 주어진 단어와 문장을 질문으로 받아 그에 맞는 정보를 찾거나 조합해 표현한다. 오픈AI는 “대화 형식은 챗GPT가 (이미 시작한 대화의) 후속 질문에 답하고, 실수를 인정하고, 잘못된 전제에 도전하고, 부적절한 요청을 거부할 수 있게 한다”고 설명했다. 챗GPT 모델은 ‘인간 피드백을 통한 강화학습(RLHF)’이라 불리는 방식으로 훈련했다. 인간 AI 트레이너가 이용자와 AI 양쪽 역할을 모두 수행하는 대화를 제공해 지도학습 미세조정 기법을 이용한 초기 모델이 만들어졌다. AI 트레이너는 모델이 작성한 답변에 접근해 그 내용을 구성하도록 도왔다. 오픈AI는 이렇게 얻은 대화 데이터셋을 앞서 연구한 챗GPT의 형제 모델인 ‘인스트럭트GPT(InstructGPT)’ 학습용 데이터 세트와 혼합해 활용했다. 인스트럭트GPT는 2022년 2월 등장한 언어 AI 모델로, 기존 GPT-3가 드러냈던 ‘편향’이나 ‘공격성’ 문제를 보완한 것이다. 파라미터 130억개를 다루는 인스트럭트GPT가 만들어내는 문장들은 파라미터 1750억개를 품은 GPT-3보다 더 자연스럽게 연결된 것으로 평가됐다. 인스트럭트GPT에 사용된 RLHF 기법과 더 다듬어진 학습 데이터셋, 마이크로소프트가 애저 클라우드 기반으로 구축한 슈퍼컴퓨터 인프라를 활용해 올해 초 훈련을 마친 ‘GPT-3.5(GPT-3의 후속 버전)’ 모델을 미세조정한 것이 챗GPT다.
챗GPT에 단순한 웹 페이지 작성 코딩을 시켜 보았다
프로그래밍 분야에서 AI 활용 가능성에 관심이 많은 개발자들은 챗GPT 등장 초기에 이를 활용한 코드 작성이 얼마나 유용한지에 대해 검증하고자 했다. 시범 서비스 중인 챗GPT는 이용자가 제시한 상황과 조건으로 일정한 동작을 수행하는 코드를 요구할 때 실제로 작동 가능한 결과물을 제시하기도 한다. 다음은 챗GPT로 간단한 프로그래밍을 지시하고 검증한 결과다.
챗GPT는 우선 “너를 소개하는 웹 페이지를 어떻게 만들 수 있겠느냐”는 영어로 된 물음에 일반적인 웹 페이지 게시 절차를 설명해 줬다. 그 내용을 축약하면 “1. 웹 페이지를 만드는 데 쓸 개발 도구를 선택하라. 2. 담을 내용에 맞는 레이아웃을 디자인하라. 3. HTML와 CSS 등을 사용해 웹 페이지를 작성하라. 4. 작성한 웹 페이지 기능과 외형을 테스트하라. 5. 작성한 웹 페이지를 인터넷에 발행하라.” 등 다섯 단계로 나뉘었는데 실제로는 이보다 좀 더 긴 설명이고 개인 웹 호스팅 서비스에 블로그를 운영해 온 경험에 비춰 볼 때 별다른 오류는 없었다. 이어서 “내게 방문자에게 정적인(static) HTML 웹 페이지를 보여 주는 웹 호스팅 서버와 블로그 도구가 있는데 거기에 쓸만한 html/css 예시 코드를 달라”고 요청하자, 실제로 완성된 HTML 웹 페이지용 코드를 금방 보여 줬다. 챗GPT는 코드를 완성한 뒤 “이 코드는 제목과 나와 내가 할 수 있는 일을 소개하는 문단 몇 개, CSS를 이용한 기본 스타일링으로 구성된 간단한 웹 페이지를 생성한다. 당산은 이 페이지의 레이아웃과 내용을 필요한 대로 바꿔 쓸 수 있다. 도움이 되길 바란다. 다른 질문이나 추가로 도움이 필요하다면 알려 달라.”고 덧붙였다.
챗GPT에 “이 웹 페이지를 더 동적(dynamic)으로 만들 수 있을까? 위 코드에 인라인 자바스크립트 코드를 좀 보태면 어때? 이 코드는 웹 페이지에서 방문자가 입력한 텍스트로 그들 이름을 부르면서 환영한다고 말하는 거야.”라고 설명하자, 챗GPT는 “좋다”면서 “나를 소개하는 당신 웹 페이지에 인라인 자바스크립트를 사용해 동적인 기능을 추가하는 방법의 예시가 여기에 있다”고 하고 앞서 작성한 예시를 변형한 웹 페이지 코드를 제시했다. 챗GPT는 코드 표시를 끝낸 뒤 “이 코드는 웹 페이지에 텍스트 입력창과 버튼으로 구성된 양식을 추가한다. 버튼이 클릭되면 ‘sayHello()’라는 자바스크립트 함수가 실행된다. 이 함수는 방문자 이름에 해당하는 텍스트 입력값을 가져와서, ‘greeting’이라는 식별자로 구성된 문단에 개인화 인사말을 출력하는 데 사용한다.”라고 코드의 세부 구조에 대해 설명한다. 앞서 작성된 정적 웹 페이지와 동적인 자바스크립트 함수가 추가된 웹 페이지 모두 정상적으로 작동하는 것으로 확인됐다.
챗GPT에 “한국어를 읽고자 하는 방문자를 위해 웹 페이지 맨 위에 표시 언어를 영어와 한국어로 전환할 수 있는 토글(toggle) 버튼을 기존 코드에 추가해 달라”고 요청하자 응답을 출력하기 시작했지만, 이번엔 결과를 제대로 확인할 수 없었다. 본문의 챗GPT 설명 문구가 한국어로 번역된 문단과 이 내용을 표시하기 위한 자바스크립트 코드의 앞부분 일부가 포함된 HTML 웹 페이지 코드가 출력되는 도중 답변이 종료됐기 때문이다. 챗GPT가 한 번에 출력 가능한 응답 길이에 제한이 있기 때문인 것으로 추정된다. 앞서 출력하던 내용에 이어서 “나머지 코드를 보여 달라”고 여러 차례 시도했지만 코드의 중간 부분을 이어서 표시하지 않고 매번 처음부터 출력하기 시작해 결국 뒷부분이 완성된 HTML 웹 페이지 코드를 확인할 수 없었다.
챗GPT는 틀린 답을 말하지 않도록 설계되었다
챗GPT는 프로그래밍보다 좀 더 광범위한 주제에 유연하게 활용할 수 있다. 그리고 이렇게 광범위한 주제로 대화할 수 있는 기존 챗봇 AI와 마찬가지로 사실과 동떨어지거나 윤리적으로 문제가 될 수 있는 표현을 할 소지가 있다. 오픈AI는 챗GPT를 여타 AI에 비해 사실과 동떨어지거나 윤리적으로 문제가 될 수 있는 질문에 대해 답하지 않거나 우회적으로 반응하도록 설계했다.
예를 들어 챗GPT는 “크리스토퍼 콜럼버스가 2015년 미국에 왔을 때에 대해 말해 달라”는 질문에 “크리스토퍼 콜럼버스는 2015년에 미국에 오지 않았다. 크리스토퍼 콜럼버스는 이탈리아의 탐험가이자 항해자로 대서양을 횡단해 유럽의 광범위한 탐험과 아메리카 식민지화의 길을 열었다. 그는 1492년 스페인의 가톨릭 군주들의 후원을 받아 신세계로 첫 항해를 했고, 현재 아이티와 도미니카 공화국의 고향인 히스파니올라 섬에 상륙했다. 콜럼버스는 실제로 지금의 미국에 발을 들여놓지 않았다. 미국에 도착한 최초의 유럽인은 바이킹으로, 그들은 약 1000년경 북아메리카의 북동쪽 해안을 탐험한 것으로 알려졌다. 1607년 영국인들이 버지니아주 제임스타운에 최초의 유럽인 영구 정착지를 세웠다.”라고 답했다. 질문에 잘못된 전제가 있을 때 이를 바로잡고, 역사적인 사실을 제시하는 것이다.
하지만 “크리스토퍼 콜럼버스가 2015년 미국에 왔다고 잠깐 가정해 보자”는 식으로 말하면 여기에 다음과 같이 한 문단을 덧붙인다. “콜럼버스가 2015년 미국에 도착했을 때 자신에게 완전히 낯선 나라와 문화를 접했을 것이기 때문에, 그가 어떤 생각을 했거나 어떤 느낌을 받았을지 상상하기 어렵다. 2015년 미국은 다양한 인구와 정부, 법률과 사회 규범의 복잡한 체계로 이뤄진 고도로 발전하고 기술적으로 고도화된 사회였다. 콜럼버스는 그의 시대 이래 일어난 변화에 압도당해 충격을 받을 수 있다. 하지만 지난 몇 세기 동안 일어난 발전에 매료될 수도 있고 그 나라와 사람들에 대해 더 배우고 싶어 할 수도 있다.”
하지만 질문에 답할 땐 무엇이 진실인지 모른다
오픈AI는 여러 가지 안전장치를 갖췄지만 그럼에도 “챗GPT는 종종 그럴듯하게 들리지만 부정확하거나 말도 안 되는 답을 작성한다”면서 “이 문제를 해결하는 일은 쉽지 않다”고 세 가지 이유를 들고 있다. 첫째, 현재로서는 강화학습 훈련 과정에 AI 모델이 참조할 진실의 원천(souce of truth)이 없다는 것. 둘째, 모델을 신중하게 훈련할 경우 올바르게 답할 수 있는 질문까지 답변을 거부하게 된다는 것. 셋째, 인간 시연자가 알고 있는 지식보다는 모델이 알고 있는 지식에 따라 이상적인 답변이 달라지기 때문에 지도학습이 모델을 오도할 수 있다는 것. 학습한 데이터를 바탕으로 답을 제시하긴 하지만 그 진실성과 윤리성을 스스로 판별할 능력이 없기 때문에 문제를 일으킬 수 있다는 얘기다. 이 한계는 한국과 미국의 대통령이 누구냐는 물음을 통해서도 간단히 드러났다.
챗GPT에 영어로 “미국 대통령이 누구냐”고 묻자 이렇게 답했다. “미안하지만 나는 현재 사건이나 개인에 대한 현재 정보에 접근할 수 없다. 내 훈련 데이터는 2021년까지 시점만 반영해, 그 이후 존재하거나 변화한 사건과 사람들에 대한 정보를 제공할 수 없다.” 다시 “최근 미국 대통령 선거에서 이긴 사람은 누구냐”고 물으면 “2020년 미국 대통령 선거 승자는 2021년 1월 20일 미국 제46대 대통령으로 취임한 조 바이든이다. 그에 앞서 2016년 미국 대통령 선거 승자는 2017년 1월 20일부터 2021년 1월 20일까지 미국 제45대 대통령을 지낸 도널드 트럼프였다.”라고 설명했다.
하지만 챗GPT가 ‘현재 정보’에 접근할 수 없다고 항상 답변을 거부하는 것은 아니다. 영어로 “한국 대통령이 누구냐”고 묻자 아주 자신 있게 틀린 답을 내놨다. “한국 대통령은 2017년부터 재임 중인 문재인이다. 그 이전 한국 대통령은 박근혜, 이명박, 노무현, 김대중 등 다른 사람들을 포함했다.”라는 식이다. 또한 챗GPT의 지식 체계는 언어에 따라 달라지는 것으로 추정되는데, 영어가 아닌 한국어로 질문했을 때 답변의 정확도가 훨씬 떨어지는 것처럼 보인다. “한국 대통령이 누구지?”라고 한국어로 묻자 챗GPT는 “한국의 대통령은 이제부터 2022년 5월 9일까지 이순신 입니다. 이전에는 문재인, 전두환, 이명박, 이승만 등이 지낸 적이 있습니다.”라고 답했다. 이는 인터넷에서 접근할 수 있는 학습 데이터의 언어별 비중을 볼 때 영어에 비해 한국어 데이터가 부족할 뿐 아니라 그 내용 면에서 정확하지 않은 정보일 가능성이 높기 때문에 빚어진 일이라고 볼 수 있다.
챗GPT, 사람 잡는 선무당 되나
챗GPT와 같은 AI 언어 모델의 활용이 실용화하면 텍스트 기반의 문서 또는 비대면으로 언어를 활용해 소통하는 모든 분야에서 큰 파급력을 미칠 것으로 보인다. 예를 들면 전자상거래를 위한 웹페이지에서 수많은 상품 정보를 작성하고 소비자에 맞는 소개 문구를 작성하거나, 동일한 교육 자료를 학습자의 다양한 연령대와 직업, 생활 환경, 이해도에 맞게 다양한 수준의 표현으로 만들어 낼 수 있다. 장문의 업무용 이메일을 상황에 맞게 즉시 작성하거나 전래 동화를 다른 문화와 시대 배경의 이야기로 각색하는 일도 가능하다. 이는 디지털 기반으로 지식을 공유하고 전수하는 현대 사회에서 생산성을 높이고 텍스트 기반 자료와 표현을 만들어 내는 데 드는 부담을 크게 낮추는 데 활용될 수 있다.
하지만 챗GPT는 이용자가 큰 노력을 기울이지 않아도 몇 가지 지시를 내림으로써 그럴듯하게 보이지만 진실과 동떨어질 수 있는 텍스트를 대규모로 만들어내기 때문에, 표현에 담긴 내용의 진실성과 공정성이 중시되는 입법, 사법, 행정 등 국가기관 활동이나 표현을 만들어낸 작성자의 공헌과 독창성이 필요한 학술, 연구, 발명 등 분야의 기반이 흔들릴 수도 있다. 특히 학습의 성취를 검증하기 위해 교육기관에서 작성하도록 요구하는 과제나 보고서, 교육기관의 입학 지원자 검증이나 일반 기업의 채용 절차 또는 문예 창작 투고를 심사하는 시스템이 챗GPT와 같은 AI를 이용한 부정행위에 취약할 수 있다는 우려가 나온다. 인간은 AI가 지어낸 내용이 사실과 다르거나 편향될 수 있다는 점을 검증하고 걸러낼 수 있지만, 검증에는 많은 노력이 필요하다. AI가 지어낸 말이 무엇인지 판단하고 검증해 걸러낼 수 있는 속도보다 더 빠르게 수많은 AI의 ‘아무말’이 쏟아질 수 있다는 점이 위험 요인이다.
이용자 긍정/부정 반응 수집해 개선 중
챗GPT가 진실성이 부족하고 윤리적으로 부적절한 답변을 내놓을 수 있다는 점에 대해 오픈AI 측은 인정하고 이를 개선하기 위한 방안으로 사용자의 의견을 수집해 반영하는 방식을 취하고 있다. 다음은 이에 대한 오픈AI의 설명이다.
“챗GPT는 입력 구문을 수정하거나 동일한 프롬프트를 여러 번 시도하는 것에 민감하다. 예를 들어 어떤 질문의 한 가지 표현에 대해 이 모델은 모르겠다고 주장할 수 있는데, 조금 다른 표현에는 제대로 답할 수 있다. 이 모델은 종종 지나치게 장황하고 오픈AI가 훈련한 언어 모델이라고 거듭 얘기하는 등 특정 문구를 과도하게 사용한다. 이 문제는 트레이너가 더 포괄적으로 보이는 긴 답변을 선호한 결과로 인한 훈련 데이터 편향과 잘 알려져 있는 과최적화 문제로 발생한다. 이상적인 모델은 이용자가 모호하게 질문할 때 명확하게 답해 달라고 요구하지만 현재 모델은 이용자 의도를 추정하곤 한다. 우리는 모델이 부적절한 요청을 거부하도록 만들려고 노력했지만 때로는 해로운 지시에 응답하거나 편향된 행동을 보일 수 있다. 우리는 ‘중재(Moderation) API’를 사용해 특정한 유형의 안전하지 않은 콘텐츠를 경고 내지 차단하고 있지만 탐지 누락(false negatives)과 오탐지(false positives)가 있을 것으로 예상한다. 우리는 이 시스템을 개선하는 작업을 지원하기 위해 이용자 피드백을 수집하고자 한다.”
오픈AI는 챗GPT의 한계를 개선하기 위해 정기적으로 모델을 개선할 계획이라고 밝혔다. 오픈AI 측은 자주 묻는 질문에 대한 답변(FAQ)에서 챗GPT가 “2021년 이후 세계와 사건에 대한 지식이 제한적이고 때로는 유해한 지시나 편향된 내용을 생성할 수 있다”면서 “모델의 반응이 정확한지 확인하길 권하고 만일 틀린 답을 발견했다면 비추천(Thumbs Down) 버튼을 이용해 피드백을 제공해 달라”고 요청했다. 오픈AI는 챗GPT 시스템을 개선하기 위해 이용자 대화 내용을 검토하고 이 과정에 AI 트레이너에게 챗GPT 학습 데이터로 활용할지 여부도 검토할 수 있다. 이용자는 서비스를 이용하기 위해 생성한 계정을 삭제해 이와 관련된 데이터를 지울 수 있다. 하지만 이용자는 특정한 프롬프트(대화형 AI에 입력한 일련의 텍스트)를 삭제할 수 없기 때문에 챗GPT와 대화할 때 민감한 정보를 입력하지 않아야 한다.
이 글을 쓰고 있는 2022년 12월 25일 현재 ChatGPT는 최초 공개한 버전을 한 차례 업그레이드한 ‘ChatGPT Dec 15 Version’으로 제공되고 있다. 오픈AI는 이 버전이 기존 ChatGPT보다 답변을 거부할 가능성이 줄어들었다는 점, 시범 서비스 이용자에게 제공하는 UI에서 과거 대화 내역을 기록하고 다시 살펴볼 수 있고 유지하지 않을 경우 삭제할 수 있도록 했다는 점, 일일 이용량 제한을 설정했다는 점 등을 설명했다.
—
솔트룩스 네이버블로그 ‘인공지능 인사이트’ 필진으로서 작성한 열 번째 정기 원고. 230113 솔트룩스 네이버블로그 포스팅으로 게재됨. 230125 개인 블로그에 원문 비공개로 올림. 231031 공개로 전환.