노 코딩으로 해본 챗GPT 데이터 분석
* 아래 박사 심사 내용은 실제 사례를 각색한 것입니다. 특정 인물 프로필은 수정을 가했지만, 내용적인 측면에서 과장한 부분은 없음을 미리 알려드립니다.
얼마 전 박사 논문 심사에 들어갔을 때 이야기이다. 논문 심사 대상자는 50대 초반의 늦깎이 박사 과정 학생이었다. 사업체를 운영하는 그는 학업에 뜻이 있어 귀한 시간을 내어 틈틈이 연구를 진행하였고, 어느덧 논문이 완성이 되어 심사를 받게 되었다.
그의 논문을 보며 놀랐던 부분은 '데이터 분석'이었다. 살면서 코딩이라곤 해본 적이 없다고 하는데, 전공자가 아니면 하기 어려운 데이터 분석을 진행한 것이다. 그에게 어떻게 코딩을 했냐고 물으니 챗GPT가 처음부터 끝까지 도왔다고 한다.
챗GPT가 최근 GPT4를 탑재하며 데이터 분석 기능을 제공하고 있다. 그는 이러한 특성을 활용하여, 자신이 분석하고자 하는 데이터를 챗GPT에게 던져준다. 그리고 원하는 분석 방향으로 나아가도록 '사람의 언어'로 챗GPT에게 지시한다. 챗GPT는 여기에 맞춰 자기가 코딩한 코드와 분석 결과를 알려준다. 그러면 다시 챗GPT에게 대화로 수정사항을 이야기하고, 챗GPT는 다시 코딩을 하는 과정을 반복한 것이다.
코딩의 초보였기에 이 과정에서 몇 달의 시일이 소요되긴 했지만, 코딩 문외한이 챗GPT만으로 박사 논문에 들어갈 수준의 코딩을 했다는 것은 정말 놀라울 따름이었다.
간단한 데이터 분석을 챗GPT와 함께 진행을 해보자. 여기서 살펴볼 데이터는 '타이타닉' 데이터이다. 우리에게는 '레오나르도 디카프리오'의 영화로 익숙한 타이타닉이지만, 보통 데이터 분석 공부를 시작하는 사람들이 처음으로 분석해 보는 데이터가 바로 타이타닉 데이터이다.
데이터 분석에 활용되는 타이타닉 데이터에는 수백 명의 승객 정보가 포함되어 있으며, 우리는 승객의 정보들 중에서 생존에 어떤 요소가 중요하게 영향을 미쳤는 지를 분석하게 된다. 승객 정보에는 이름, 성별, 나이, 티켓 클래스, 형제자매/배우자 수, 부모/자녀 수, 티켓 번호, 요금, 객실 번호, 탑승 항구 등의 정보가 포함되어 있다. 그리고 해당 승객의 생존 여부도 함께 포함되어 있다.
먼저, 챗GPT에게 다음과 같은 질문을 해보았다.
"타이타닉 승객의 생존에 가장 큰 영향을 준 요소는 무엇이야?"
그러니 챗GPT는 다음과 같은 답을 내놓는다.
(질문 전에 타이타닉 데이터를 챗GPT에게 업로드하였고, 챗GPT가 스스로 분석을 한 결과임. 지면 관계상 상세 내용은 생략하여 정리함)
질문을 한 사람은 코딩 한 줄 하지 않았다. 요구사항만을 챗GPT에게 전달하였고, 챗GPT가 코딩을 하고 분석한 결과를 알려준 것이다. 참고로 저 정도 분석을 위해 학생들에게 1~2 주 정도 강의를 한다. 1~2주 치 수업 분량을 챗GPT는 단 1분 만에 해내는 것이다.
그리고 한 걸음 더 나아가, 타이타닉 데이터를 기반으로 인공지능 모델을 만들어보자. 이 모델을 기반으로 승객의 생사여부를 예측할 수 있다. 이 과정을 학생들에게 강의하는데 최소 1달에서 2달 정도 기한을 잡는다. 하지만 챗GPT라면 이 과정을 10분 만에 할 수 있다.
우리는 여기에서 챗GPT에게 타이타닉 데이터를 기반으로 하는 인공지능 모델을 만들게 시켜보자. 그리고 이 모델을 기반으로 타이타닉 영화의 주인공인 잭과 로즈의 생사 여부를 예측해 달라고 해보겠다. 물론 나는 코딩을 한 줄도 안 할 것이다. 나는 명령만 할 것이고, 챗GPT가 코딩을 할 것이다.
인공지능의 근간이 되는 머신러닝(Machine Learning) 기법 중 가장 심플한 로지스틱 회귀(Logistic Regression)를 기반으로 타이타닉 데이터를 분석해 보자. 챗GPT에게 그냥 한 줄로 명령만 하면 된다. 그러면 챗GPT가 알아서 데이터 전처리부터 시작해서 학습을 거치게 된다. 참고로 챗GPT가 슬쩍 흘리면서 이야기한 데이터 전처리 파트는 내가 강의할 때 보통 2~3주를 잡는 분량이다.
학생들이 2~3주 걸쳐 배운 데이터 전처리를 챗GPT는 1분 만에 뚝딱 해버리고, 인공지능 모델도 만들었다. 이제 이 모델이 얼마나 잘 동작하는지 테스트해 볼 차례. 먼저 타이타닉의 여주인공 로즈 드윗 뷰케이터(Rose Dewitt Bukater)의 생존 여부를 예측해 보겠다.
예측 방법은 간단하다. 여주인공 로즈의 프로필을 챗GPT에게 알려주면 된다. 나이는 극 중 로즈의 나이인 17세, 동승자는 어머니 1명과 약혼자 1명. 티켓 클래스는 당연히 1등급! 요금은 잘 모른다고 해주고, 탑승 항구는 왠지 마지막 항구인 사우스햄튼은 아니지 않았을까 해서 앞의 두 항구 중 하나일 것 같다고 이야기했다. 이 정도만 해주면 챗GPT가 알아서 분석을 해준다. 챗GPT가 알려준 로즈의 생존 여부는?
바로 생존!이다.
앞서 데이터 분석에서도 알 수 있었듯이, 여성이며 1등석에 탑승했기에 생존 가능성이 상당히 높게 분석될 수밖에 없다. 게다가 나이도 10대이니. 하지만 이렇게 정성적으로 분석하는 것이 아니라 머신러닝 모델을 통해 직접 분석을 해봤다는 것이 큰 의미가 있다. 심지어 코딩 한 줄 내손으로 하지 않고 말이다.
이제 우리의 주인공, 디카프리오의 생존 여부를 알아보자. 타이타닉의 남자 주인공 잭 도슨(Jack Dawson)의 생존 여부를 예측해 본 결과는 어떨까?
잭의 프로필을 설정하여 챗GPT에게 알려준다. 그의 나이와 티켓 클래스, 동승객 정보를 알려주고, 마지막 항구에서 그가 탑승했기에 사우스햄튼을 탑승 항구로 설정한다. 이렇게 예측해 본 그의 생사 여부는 안타깝게도 사망이다.
지금까지 코딩 한 줄 없이 챗GPT를 이용해 데이터 분석을 실시해 보았다. 여기까지 보신 분들은 그렇다면 이제 코딩할 필요가 없는 거냐고 생각할 수 있다. 물론 그건 아니다. 간단한 분석 정도는 챗GPT에게 부탁을 할 수 있지만, 더 깊이 들어가게 되면 코딩을 비롯해 데이터 사이언스 관련 지식들이 요구된다. 그렇다면 위의 사례가 우리에게 시사하는 점은 무엇일까?
먼저, 인공지능은 무에서 유를 창조해 낼 수 있다.
해당 분야에 지식이 전혀 없는 사람에게도 도움을 줄 수 있는 것이 인공지능이다. 글 서두에 언급한 박사 과정 학생처럼 코딩을 한 번도 해보지 않았음에도 챗GPT만으로 박사 논문용 코딩을 할 수 있다. 즉, 인공지능이라는 툴을 활용할 수 있는 사람이라면, 자신이 할 수 있는 업무의 영역을 무한으로 확장할 수 있다.
인공지능은 전문가에게 날개를 달아주게 된다.
현재의 챗GPT는 개발자를 우선 타깃으로 하고 있다. 개발자에게 이미 챗GPT와 같은 인공지능은 없어서는 안 될 도구가 되었다. 이제 챗GPT 없이 코딩하는 나의 모습은 상상조차 불가능하다. 이미 챗GPT에 중독된 것이다. 이처럼 챗GPT와 같은 인공지능 툴은 전문가들에게 날개를 달아주게 된다. 예전보다 훨씬 빠르게, 그리고 훨씬 더 뛰어난 결과를 만들어주는데 챗GPT가 일조하고 있는 것이다.
위 얘기들을 반대로 뒤집어 보면 인공지능을 활용하지 못하는 사람은 뒤쳐질 가능성이 높다. 옆의 동료가 인공지능 툴로 내가 가보지 못한 영역의 업무를 척척 해내게 되면 나의 위치는 어떻게 될까? 지금 내가 어느 분야의 전문가라 할지라도, 옆의 누군가는 인공지능과의 협업으로 내가 상상도 못 한 성과를 이뤄낸다면 나의 위상은 어떻게 될까?
그렇기에 우리는 인공지능을 다룰 줄 알아야 한다.