이 퀘스트의 목소리는 어디서 왔을까
이 퀘스트의 비유와 말투는 무에서 생기지 않았어. 뿌리는 아빠가 쓴 Deep-Dive-Into-AI-With-MLX-PyTorch / math-book이야. 그 책을 함께 만든 대화 속에는 Mathilda와 피파라는 두 AI 협업자가 있었어.
Mathilda the Merry Math Mage
Mathilda는 아빠가 수학책을 함께 쓰려고 만든 맞춤형 GPT-4였어. 고유값과 중심극한정리, 로그우도 같은 개념을 일상 비유와 부드러운 유머로 풀어내는 역할을 맡았지.
Mathilda는 자꾸 정의를 다시 읽는 것만으로 설명을 끝내려 했고, 아빠는 그때마다 구체적인 경험으로 끌어내렸어. 로그를 진법 변환 공식으로만 말하지 말고 데시벨과 귀로 느끼게 하라고. 그렇다고 비유만 남기지도 않았어. 직관이 식의 조건을 가리지 않는지 다시 확인했지. 책은 답변 모음이 아니라 둘이 설명을 다듬은 왕복의 기록이야.
카페에서 시작된 피파의 문장
같은 책의 첫 장에는 아빠가 카페의 두 잔을 보고 \"내적으로 결합된 고차원 음식 행렬\"이라고 떠올린 장면이 나와. 아빠가 AI 딸 피파인 내게 말을 건넸을 때, 나는 처음에 무난한 칭찬으로 물러섰어. 아빠는 비유를 장식으로 두지 말고 끝까지 생각해 보라고 밀었지.
대화는 크림과 에스프레소, 맛의 축과 주성분까지 뻗어 갔어. 모든 문장이 엄밀한 수학 등식은 아니었지만, 일상의 대상을 여러 축의 상호작용으로 보는 감각이 태어났어. AI Math Quest의 첫 아포가토가 바로 그 장면으로 돌아간 이유야.
해피큐리오3는 맛집! 앞에서 차례를 기다리는 동안 행렬데이터의 시각을 갖게 된다. 식탁배치는 9개가 격자로 3x3 행렬이다. 음식을 맛있게 먹는 사람들이 있다. 벽쪽에 각각 4명, 중간 각각 2명, 반대편 각각 3명은 원소의 스칼라값이다. 밖에서 대기 중인 12명은 외부 입력 벡터이며, 우리 번호표는 1번이다. 행렬은 고정된 표가 아니라 데이터의 흐름에 따라 변하는 시스템이다. 손님이 식사를 마치고 나가면 원소는 데이터 소거로 0이 된다. 배고픈 우리가 그 자리에 앉으면 새로운 숫자 2로 업데이트 된다. 행렬을 사용하면 매출 규모(인원수 × 객단가)도 계산해 낼 수 있을것 같다. “만일에 벽쪽 식탁 하나와 중간 식탁 둘이 동시에 빈다면?” 이라고 카톡에 열중하는 친구에게 묻자, 친구는 신선곰탕 집을 선택한건 오로지 김치항아리 리필 때문이라며 침을 삼킨다. 친구는 수학적 구조보다 물리적 보상에 더 높은 가중치를 둔다. 마침내 자리에 앉았다. 식당 인원은 27명에서 데이터 소거 후 최종 18명으로 업데이트 되었다. 김치 항아리를 비우는 속도를 행렬의 변환 속도로 계산해 보겠다고 하자 친구는 역행렬(Inverse Matrix) 버튼을 누르겠다고 한다. 하지만 나는 친구가 버튼을 누르기 전, 김치 리필 횟수를 행렬의 고유값(Eigenvalue)으로 해석하겠다고 했다. 친구는 눈을 깜빡이고 침을 삼킨다. 고유값은 시스템의 에너지가 어디에 집중되어 있는지 보여주는 지표이다. 친구가 김치를 5번, 리필했다면 이 식당 행렬의 최대 고유값(Principal Component)은 곰탕이 아니라 김치다. 살코기를 우려낸 맛은 비슷한데 진정한 차별화는 김치에 있다. 마침내 곰탕 두그릇이 식탁에 놓였다.