본문 바로가기

계산의 비밀

강의장에서 가장 자주 부딪히는 오해가 하나 있습니다. AI가 계산은 당연히 정확할 것이라는 믿음입니다.

그럴 만합니다. 우리는 컴퓨터를 계산하는 기계로 배웠습니다. 계산기에 48372 × 2917을 넣으면 언제 눌러도 같은 답이 나옵니다. 어제 넣어도, 오늘 넣어도, 백 번을 눌러도 똑같습니다. 엑셀의 SUM 함수도 마찬가지고, 은행 앱의 이자 계산도 마찬가지입니다. 계산이 틀리는 컴퓨터는 상상할 수 없습니다.

그런데 AI는 그 컴퓨터 안에서, 심지어 훨씬 어려워 보이는 일까지 해냅니다. 논문을 요약하고, 코드를 짜고, 법률 문서의 허점을 찾아냅니다. 그러니 자연스럽게 이런 생각이 듭니다. "저런 것도 하는데 곱셈 하나쯤이야. 계산기가 하는 일은 AI에게 너무 쉬운 일 아닌가."라는 생각이 자연스럽습니다.

이 믿음이 위험한 이유는 사람들이 AI가 내놓은 숫자를 검산하지 않기 때문입니다. 견적서 합계, 매출 평균, 환율 환산, 할인율 계산을 그대로 복사해서 문서에 붙여 넣습니다. 글이 어색하면 바로 알아채면서, 숫자가 틀린 것은 알아채지 못합니다. 숫자는 생김새만 봐서는 맞는지 틀린지 알 수 없기 때문입니다. 141,101,124와 143,514,776은 둘 다 똑같이 정답처럼 생겼습니다.

정체가 드러나는 순간이 있습니다. 같은 계산을 새 채팅에서 다시 시켜보면 다른 숫자가 나오는 경우입니다. 계산기에서는 절대 일어날 수 없는 일입니다. 계산기와 AI가 같은 화면 안에 있어도 안쪽에서 하는 일이 전혀 다르다는 신호입니다. 계산기는 자릿수를 맞춰 정해진 절차를 밟아 답을 구하고, AI는 앞 절들에서 본 대로 다음 조각을 확률로 뽑습니다. 자를 대고 재는 것과 눈대중으로 어림하는 것의 차이입니다. 눈대중도 자주 맞습니다. 다만 자로 잰 것은 아닙니다. 그리고 AI는 눈대중으로 나온 숫자를 자로 잰 것 같은 말투로 내놓습니다.

그래서 AI는 분명 컴퓨터 위에서 돌아가는데도, 이상하게 큰 수의 곱셈 같은 계산을 자주 틀립니다. 지금까지 배운 것만으로 이유를 짐작할 수 있습니다. 모델이 하는 일은 계산이 아니라 다음 조각 맞히기이기 때문입니다. 이번에도 직접 재현해 보겠습니다. 시뮬레이터의 '계산의 비밀' 페이지는 성격이 다른 계산 문제 두 개를 같은 확률 기계에 나란히 넣습니다.

1. 암기와 감의 차이

왼쪽은 훈련 데이터에 수없이 나온 "12 + 34 = ?", 오른쪽은 훈련 데이터에 없는 "48,372 × 2,917 = ?"입니다. 먼저 한 단계씩을 눌러 첫 조각의 후보들을 살펴보겠습니다.

첫 조각 후보의 확률

두 패널의 차이가 한눈에 보입니다. 왼쪽은 정답 "46"이 88%로 확률을 사실상 독차지했습니다. "12 + 34 = 46"이라는 문장을 훈련 데이터에서 수없이 본 덕분입니다. 우리가 구구단을 계산하지 않고 외워서 답하는 것처럼, 사실상 암기입니다. 반면 오른쪽은 외운 답이 없어서 "141,", "139,", "143," 같은 후보들이 확률을 나눠 갖고 있습니다. '1억쯤 되는 숫자가 나올 것 같다'는 자릿수 감만 있는 상태입니다. 그리고 노란색 "계산기가" 후보는 6%로 바닥에 깔려 있습니다. 환각의 비밀에서 본 "그런 건 없어요"와 똑같은 처지입니다.

2. 가짜 숫자를 당당하게

이제 자동 재생을 눌러 끝까지 진행해 보세요.

두 계산이 끝난 화면

왼쪽은 46이라는 정답을 냈습니다. 오른쪽도 멈추거나 계산기를 꺼내는 대신, 그럴듯한 조각을 이어 붙여 143,514,776이라는 답을 당당하게 완성했습니다. 하지만 진짜 정답은 141,101,124입니다. 이 시뮬레이터에서는 어떤 경로로도 정답이 나오지 않게 만들어 두었는데, 처음부터를 눌러 몇 번을 다시 돌려도 모델은 매번 다른 가짜 숫자를 자신 있게 내놓습니다. 세종대왕 스마트폰과 완전히 같은 구조입니다. 답을 모른다는 사실이 확률 계산을 멈추지 못하고, 그럴듯한 다음 조각이 계속 뽑히는 것입니다.

3. 자릿수가 안 보인다

페이지 아래에는 모델이 숫자에 특히 약한 이유를 보여주는 실험이 하나 더 있습니다. 앞에 숫자 하나 붙이기 버튼을 몇 번 눌러 보세요.

자릿수 묶음과 토큰 묶음 비교

같은 숫자를 사람은 쉼표를 눈금 삼아 일의 자리부터 세 칸씩 묶어 읽습니다. 그런데 토큰은 앞에서부터 세 자리씩 잘립니다. 앞에 숫자가 하나 붙을 때마다 조각 전체가 재편성되고, 일의 자리가 들어 있는 조각도 매번 바뀝니다. 덧셈과 곱셈은 일의 자리부터 자리를 맞춰야 하는 작업인데, 모델에게 도착하는 조각은 이렇게 자릿수와 어긋나 있습니다. strawberry 실험에서 본 "글자가 안 보이는 구조"가, 숫자에서는 "자릿수가 안 보이는 구조"가 되는 셈입니다.

"그런데 요즘 AI는 어려운 수학도 잘 풀던데요?"라고 하실 수 있습니다. 맞습니다. 두 가지 요령 덕분입니다. 하나는 풀이 과정을 한 줄씩 쓰면서 푸는 것입니다. 한 번에 답을 뽑는 대신 단계를 잘게 쪼개면, 각 단계가 훈련 데이터에서 많이 본 쉬운 예측이 되어 정확도가 크게 오릅니다. 다른 하나는 아예 계산기나 코드 실행 도구를 불러서 쓰는 것입니다. 요즘 서비스들이 실제로 쓰는 방법입니다. 다만 어느 쪽이든 바탕이 확률 뽑기라는 사실은 변하지 않으니, 돈, 점수, 통계처럼 틀리면 곤란한 숫자는 반드시 검산해야 합니다.

여기까지 세 절에 걸쳐 확률 기계가 언제 헛다리를 짚는지 봤습니다. 다음 절부터는 방향을 바꿉니다. 어떻게 하면 원하는 답이 나올 확률을 끌어올릴 수 있을까요.