[똑똑한데 바보같은 AI ②] 사람처럼 말하는 AI지만, 결국은 기계
공들여 구성한 장문의 프롬프트를 GPTs(맞춤형 AI를 만들어 주는 챗GPT의 기능)에 넣고, 숫자가 잔뜩 들어간 PDF 파일을 넣어 해당 PDF 파일의 분석을 요청한다. 이 PDF의 각종 수치들을 토대로 A4용지 1장 정도의 분석글을 AI를 통해 생성하도록 하는 것이다. 약간의 작업 후에 AI는 망설임 없이 좌라락 글을 생성한다. 하지만 생성된 글을 보니 미간이 절로 찌푸려지게 된다. AI가 몇몇 숫자들을 잘못 읽으면서 글의 전반적인 사실 자체가 틀리게 나왔기 때문이다. 기업의 재무제표를 분석하는 글이었기에 재무제표에 적힌 숫자 하나를 잘못 읽는 순간 글 전체가 흔들리게 된다. 사람에게는 너무나도 읽기 쉬운 숫자가, AI에게는 너무나도 헷갈린다는 사실을 계속해서 실감한다.
이번에는 GPTs에 좀 더 간단한 표를 요청해 봤다. A사가 지난달 코스닥에 신규 상장하면서, A사 주요 주주들이 자신들이 보유하고 있는 지분이 얼마인지 공시를 통해 알려야 하는 의무가 발생했다. 이들이 자신들의 지분율을 알리고(신규보고), 세부 주식 숫자 추이를 기재한 내용이다. 이와 관련해 보고서에는 대주주인 B씨는 물론 자신과 연관된 특수관계인들의 지분 보유 상황이 쭉 나왔다. 그러나 AI는 주식 수가 늘어난 것만 보고 B씨와 특수관계인들이 A사의 주식을 새롭게 매수했다고 풀이했다. 코스닥 상장으로 인해 기존 보유 주식을 새롭게 보고했다고 분명히 보고서에 나와 있었고, 프롬프트를 통해 이러이러한 경우에는 주식 수가 늘어났더라 주식을 신규 '취득'이나 '매수'한 걸로 보면 안 된다고 강조했음에도 불구하고 말이다.
며칠 전 나는 챗GPT를 통해, 우리가 새로 구상하는 서비스를 유사하게 하고 있는 국내외 업체들의 케이스를 굉장히 빠른 시간 내에 찾았었다. 생각보다 각종 사례를 찾아 정리하는 데 시간이 오래 걸리는 편인데, 직접 검색을 통해서였다면 찾을 수 없었거나 찾기 어려웠던 여러 서비스들을 AI가 찾아줘서 수고를 크게 덜었다. 이렇듯 AI에 흡족해하면서도, 이번 사례처럼 척 보기에 어렵지 않은 지시를 계속 틀리는 사례가 이어지다 보니 머리를 감싸 쥐게 된다. 사람처럼 글자와 숫자를 읽고 이해하는 행위는 AI에게 당연한 것이 아니라는 것을 다시 한번 느낀다. 챗GPT만의 문제는 아닌 게, 제미나이 등 다른 AI 서비스에서도 비슷한 문제가 나타났다.
'똑똑하지만 충격적으로 멍청하다'는 문장이야말로 AI를 잘 표현하는 말이라고 생각한다. 이는 챗GPT가 나온 지 얼마 안 된 2023년 4월 최예진 워싱턴대학교 교수가 진행한 TED 강연 제목이기도 하다. 최 교수는 AI가 변호사 시험 등 각종 어려운 문제를 곧잘 풀지만, 정작 인간이라면 누구나 맞출 만한 간단한 수수께끼를 틀리거나 어떤 것이 자연스러운 자세인지 제대로 구분하지 못하는 등 AI가 너무나도 바보같은 모습을 보이는 사례를 든다.
AI는 인간이 각종 상식과 가치를 체득하듯이 지식을 익히는 것이 아니다. 주어진 언어 규칙과 패턴 하의 업무는 잘 수행하지만, 그렇지 않은 업무에 대해서는 기대에 못 미칠 수 있다. 물론 언어를 이해하는 방식도 인간과는 다르다. 너무 당연한 얘기지만, 아무리 생성 AI가 사람 같다고 해도 AI는 결국 컴퓨팅 기술 기반이다. 이를 이해하지 못하면 AI의 '갑작스러운 멍청함'도 이해하기가 어려울 것이다.
AI를 활용해 이런저런 콘텐츠를 만드는 업무를 하다 보면 AI의 이 같은 멍청함을 최대한 감추기 위해 씨름하는 경우가 많다. AI가 없었다면 한세월이 걸렸을 일을 몇 분만에 뚝딱 해결해 줄 때는 AI의 편리함을 실감하지만, 아직까지는 사람이 만드는 콘텐츠를 대체하기 위해서는 시간이 필요하다는 생각을 많이 한다. AI가 최대한 이해하기 쉽도록 마크다운(각종 기호, 태그 등을 이용해 서식을 지정해 주는 용도의 언어) 형식을 총동원해 프롬프트를 구상하고, AI가 읽어들이는 원 데이터를 AI가 읽기 쉬운 형태로 바꿔 보는 등 이런저런 사전 작업을 하지만 영 쉽지 않다.
AI를 다루면서 나는 AI의 속성을 최대한 이해해 보려고 노력했다. 우선 늘 가장 '그럴듯한 말'을 내놓으려고 하는 속성이다. 챗GPT, 제미나이 등 현존하는 생성 AI는 주어진 말들을 바탕으로, 계속해서 스스로 가장 확률이 높다고 생각하는 단어를 찾아 나가는 방식으로 질문에 대한 답을 입력해 나간다. 이론적으로 확률 높은 단어를 계속 병렬적으로 나열하면, 사용자가 요구하는 답이 나올 가능성이 가장 높을 것이라는 가정이다. 보통은 이런 가정이 들어맞지만 이것이 어긋날 때 환각 현상이 발생한다. 또 똑같은 프롬프트를 반복적으로 처리하더라도 확률 계산에 미세하게 차이가 생겨 결과물이 조금씩 달라지기도 한다. 이러한 속성으로 인해 간혹 똑같은 프롬프트 기반이라도 예상치 못한 결과물이 나오는 경우가 가끔씩은 있다.
이렇게 AI가 마음대로 결과물을 내놓는 것을 적절히 통제하기 위해서는 이런저런 요구 사항을 담은 프롬프트를 입력해야 한다. 예상할 수 있는 여러 시나리오를 가정한 후, 이러한 상황일 때는 이러이러한 부분을 써 주고 저러한 상황일 때는 저러저러한 부분을 써 달라는 식으로 각 경로별로 AI가 내놓을 결과물의 틀을 프롬프트를 통해 짜 본다. 문제는 AI가 이 프롬프트를 100% 준수한다는 보장이 없다는 것이다. 특히 프롬프트의 길이가 매우 길어질 경우 준수율이 낮아지는 경우가 경험상 많았다. 아무래도 길이가 길어지다 보니 프롬프트 내용 간 상충하는 부분이 있을 수 있고, AI가 일부 규칙을 임의로 누락해 결국 지시를 어기는 경우도 생긴다. 그런 상황에서 또다시 자기 마음대로 단어를 생성하다 보니 결과적으로 환각 현상이 나타난다. 그래서 프롬프트를 짤 때 상당히 고민이다. 적당한 분량 안에서 가장 효율적으로 내가 의도한 바를 AI에게 입력시키려면 어떻게 해야 할까...
또 한 가지 생각해야 할 것은 AI가 PDF, 워드, PPT 등 각종 오피스 프로그램 기반 파일들을 잘 읽지 못한다는 점이다. 인간은 눈으로 파일 내에 있는 글자 등의 정보를 곧바로 읽고 이해하지만, AI는 이들 파일을 단순 텍스트로 이해하지 못한다. 가령 PDF의 경우 문자와 이미지 등이 복잡하게 배치된 그래픽으로 간주하며, 워드와 PPT 등도 겉보기에는 글자처럼 보이지만 실제로는 복잡하게 구조화(그래도 PDF보다는 낫다)돼 있어 AI가 데이터를 총괄적으로 이해하는 데 난항을 겪기도 한다. AI가 이를 읽을 수는 있지만, 읽는 데 최적의 방법은 분명히 아닌 것이다. 그나마 표 형태로 된 엑셀은 잘 읽는 편이지만, 각종 서식과 수식이 복잡하게 적용된 엑셀에 대해서는 잘못 읽을 수 있는 여지도 분명히 있다.
AI도 컴퓨터(기계)인 만큼 컴퓨터가 보다 잘 이해할 수 있는 파일 형식으로 변환하는 과정이 필요한데 나 같은 경우는 보통 JSON(JavaScript Object Notation) 방식을 활용한다. 각 항목별로 데이터를 구조화해 AI가 데이터를 쉽게 교환·저장할 수 있도록 하는 것이다. 하지만 이것도 100% 정확성을 담보할 수는 없다. 보통 PDF와 워드 등의 원 데이터들을 JSON으로 1차 변환시켜 가공한 데이터를 활용하게 되는데, 원 데이터에서 JSON으로 변환하는 과정에서 데이터가 잘못 옮겨지는 일이 심심찮게 발생한다. 표·서식·줄 바꿈·주석 같은 여러 변수들이 있다 보니 사람이 보기에는 명확해도, 기계가 읽을 때는 숫자나 항목 매칭이 틀어지기 쉽다. 더욱이 숫자의 경우 문자를 토큰(Token)으로 인식하는 AI의 특성상 숫자를 쪼개서 인식하는 경우가 많은데, 이 과정에서 숫자 자체를 잘못 파악하는 경우도 많다. 이렇게 값이 잘못 옮겨지면 이를 토대로 생성한 콘텐츠에도 당연히 오류가 생길 수밖에 없다.
실컷 써놓고 보니 AI가 참 손이 많이 가는 툴이라는 생각이 들기도 한다. 때로는 똑똑함과 효율성에 감탄하기 때문에 분명히 좋은 업무적인 파트너지만, 때로는 왜 이런 것조차 못하지 하는 의문에 빠진다. 이유를 하나하나 알아가고 있지만 여전히 왜 이럴까 알 수 없는 경우도 많다 답답함마저 느껴진다. 하지만 그렇게 몸으로 부딪치면서 AI의 특징을 하나하나 알아가 본다.
GPT와 제미나이 등 AI 모델이 지속적으로 업그레이드되면서 이런 어이없는 실수들이 줄어들어 가고 있다는 것은 AI로 일하는 입장에서는 참으로 감사한 일이다. 업체들도 AI가 업무에 지금보다 더욱 원활히 사용돼야 AI가 일상 속에 더욱 깊이 스며들 수 있다는 것을 알고 있고, 그래서 이러한 문제들을 개선하는 데 초점을 두고 성능을 키워 나가고 있다. 하지만 AI의 구조적 특성상 문제 자체가 완전히 해결될 수는 없다. 때문에 이러한 AI의 특징을 감안해 현명하게 AI에 일을 지시하는 역량이 점점 중요하게 될 것이라고 생각한다. 나 역시 하루하루 AI를 다루면서 이를 배워 가고 있다. AI의 멍청함보다는, 똑똑함이 더욱 잘 부각되도록 AI를 잘 다뤄보고 싶다.