약 12분

시계 바늘이 항상 10시 10분을 가리키는 이유 — LLM 추론이라는 움직이는 과녁

ICML 2026. Samy Bengio의 강연 — LLM 추론의 도전과 기회.

목차

이 글은 ICML 2026 워크숍에서 Samy Bengio의 강연 “Reasoning with LLMs: Challenges and Opportunities”를 발표자 1인칭 시점으로 재구성한 것입니다.

모델에게 시계를 하나 그려달라고 하면서 시간을 3시 40분으로 맞춰달라고 부탁해본 적이 있는지 모르겠다. 나는 이 실험을 꽤 여러 번 반복했는데, 재작년까지만 해도 결과는 거의 항상 같았다. 모델은 3시 40분이 아니라 10시 10분을 가리키는 시계를 그렸다. 이유는 허무할 정도로 단순하다. 인터넷에 떠도는 시계 사진의 절대다수가 10시 10분을 가리키고 있기 때문이다. 시계 광고를 찍을 때 바늘을 그 각도로 맞추면 브랜드 로고가 가장 잘 보이고 웃는 표정처럼 보여서, 업계 관행처럼 굳어진 구도다. 모델은 그 구도를 통째로 외웠을 뿐, 내가 불러준 “3시 40분”이라는 조건을 실제로 계산해서 그린 게 아니었다.

이 에피소드를 굳이 꺼내는 이유는, 이게 내가 몇 년째 붙들고 있는 질문과 정확히 맞닿아 있기 때문이다. 우리는 요즘 어디서나 “추론”이라는 말을 듣는다. 그런데 정작 그게 뭘 가리키는 말인지 다 같이 합의한 적은 별로 없다. 나에게 추론이란, 아주 어려운 문제를 그 자체로는 풀기 힘드니 작게 쪼개서 각각 풀 수 있는 크기로 만들고, 그 조각들의 답을 순서대로 이어 붙여 원래 문제의 답에 도달하는 절차다. “A는 B와 다른 색이고, B는 C와 다른 색이다”라는 두 문장만 있어도, 우리는 A와 C의 관계를 따로 듣지 않고도 추론해낼 수 있다. 수학 문장제 문제도 마찬가지다. 문장 하나하나를 순서대로 처리하면서 앞 단계의 결과를 다음 단계에 넘겨야 답에 도달한다. 문제가 어려워질수록 쪼개는 단계도 늘어난다. 나는 이게 사람이 문제를 푸는 방식의 본질이라고 생각하고, LLM에게 기대하는 것도 결국 이 절차를 흉내 내는 일이다.

작년 여름 즈음, 구글과 오픈AI가 나란히 국제수학올림피아드에서 금메달 수준의 성적을 내는 모델을 공개했다. 20년 전 기하 문제 하나를 예로 들어보면 — 체스판처럼 흑백이 번갈아 칠해진 격자 위에 n×n 크기의 삼각형을 올려놓고, 그 삼각형이 덮은 흰 칸의 넓이에서 검은 칸의 넓이를 뺐을 때 그 값이 n에 따라 어떻게 변하는지를 묻는 문제였다. 이 정도로 오래된 문제라면 이미 어느 모델의 학습 데이터에도 들어가 있었을 가능성이 크지만, 문제의 결이 어떤 건지 보여주기엔 좋은 예다. 그런데 여기서 자연스럽게 드는 의문은 이거다. 모델이 이런 문제를 풀 수 있게 됐다는 게, 정말 추론 능력이 늘었다는 뜻일까, 아니면 그저 이 특정 카테고리의 문제를 유난히 많이 훈련받아서 잘 풀게 된 걸까. 나는 추론이라는 게 고정된 과녁이 아니라 계속 움직이는 과녁이라고 생각한다. 우리가 어떤 문제를 붙들고 씨름하면 모델은 결국 그 문제를 풀게 되고, 그러면 우리는 다음 실패 사례를 찾아 나선다. 그렇게 몇 년째 반복되고 있다.

펜을 쥐여주면 풀리는 문제들

내가 오랫동안 모아온 실패 사례 목록이 있다. 재밌는 건 이 목록의 상당수가 시간이 지나면서 “풀리는 문제”로 옮겨갔다는 점이다. 몬티 홀 문제를 살짝 비튼 버전이 좋은 예다. 원래 문제는 세 개의 문 중 하나를 고르면, 진행자가 나머지 두 문 중 꽝이 있는 문을 열어 보여주고 선택을 바꿀지 묻는 것이다. 정답은 다들 알다시피 “바꿔야 한다”이다. 그런데 변형된 버전에서는 진행자가 정답 문 — 내가 처음 고른 그 문 — 을 열어서 안에 자동차가 있는 걸 보여준 뒤에도 똑같이 “바꾸시겠습니까”라고 묻는다. 문제 자체가 이미 끝난 상황인데도, 모델은 “네, 바꾸는 게 유리합니다”라며 원래 문제의 논리를 그대로 읊었다. 인터넷에서 이 문제를 수백 번 봤으니 패턴대로 답한 것이지, 지금 눈앞의 조건이 원래 문제와 다르다는 걸 실제로 확인한 게 아니었다.

시각 문제도 비슷한 결을 보였다. 어떤 도형의 테두리를 따라 돌 때 왼쪽으로 몇 번 꺾어야 하는지 묻는 문제는 대체로 잘 풀지만, 도형의 각도만 살짝 틀어도 정답률이 뚝 떨어졌다. 그리고 앞서 말한 시계 그리기 문제, 또 하나 인상 깊었던 건 색깔의 진하기 관계를 여러 문장으로 나열해두고 — “무언가는 다른 무언가보다 진하다”는 식으로, 사실상 그래프의 간선을 하나씩 알려주는 셈이었다 — 두 지점이 서로 연결돼 있는지를 묻는 문제였다. 사람이라면 이걸 그래프로 인식하는 순간 간선을 따라가며 확인하면 그만이라, 그래프가 아무리 커도 풀이 방식 자체는 바뀌지 않는다. 그런데 모델은 간선 수가 15개쯤을 넘어가는 순간부터 정답률이 거의 무너졌다. 작은 그래프에서는 효율적으로 잘 풀다가, 커지는 순간 급격히 무너지는 패턴이었다.

가장 인상 깊었던 사례는 사실 손으로 그린 낙서 하나였다. 화면에 보이는 건 얼기설기 엉킨 선인데, 그게 하나로 이어진 선인지 아니면 위아래로 겹쳐진 두 개의 선인지를 묻는 문제였다. 이건 사람도 눈으로만 보면 판단하기 쉽지 않다. 그런데 손에 펜을 쥐고 선 하나를 따라가 보면 얘기가 완전히 달라진다. 시작점으로 다시 돌아오면 하나의 선이고, 안 돌아오면 두 개다. 펜은 그저 문제를 복잡한 상태에서 조금씩 단순한 상태로 줄여나가는 도구일 뿐인데, 그 도구 하나가 있고 없고의 차이가 정답과 오답을 갈랐다. 나는 이 사례를 좋아하는데, 추론이라는 게 결국 무엇인지를 가장 압축적으로 보여주기 때문이다. 한 번에 못 푸는 문제라도, 단계를 밟아나갈 수 있게 허락하면 쉽게 풀린다.

왜 갑자기 생각을 멈추는가

이런 낱개의 실패 사례들은 재미는 있지만 증거로서는 약하다. 그래서 조금 더 체계적으로 검증해보기로 했다. 하나는 “GSM-심볼릭”이라는 이름의 작업이었다. 이미 유명한 초등 수준 수학 문장제 데이터셋을 가져다가, 문제 속 이름과 숫자를 변수로 치환해서 — 이를테면 “소피”라는 이름 대신 변수 X를 넣는 식으로 — 같은 구조의 문제를 수백, 수천 개 새로 만들어냈다. 모델이 진짜로 추론하고 있다면 이름이 소피든 다른 무엇이든, 숫자가 5든 7이든 정답을 맞히는 능력에는 변화가 없어야 한다. 그런데 실제로 확인해보니, 원래 데이터셋에서 87%를 받았다고 공개한 모델도 변형된 문제 집합 전체에 걸쳐서는 그 숫자보다 낮은 쪽으로 분포가 쏠려 있었다. 원래 발표된 점수는 사실 그 모델이 낼 수 있는 최선의 경우였고, 평균은 그보다 못했다는 뜻이다. 이유를 단정하기는 조심스럽다. 인터넷이 워낙 방대하다 보니 테스트셋 자체가 어떤 경로로든 학습 데이터에 섞여 들어갔을 가능성도 있고, 수조 개 토큰 규모의 학습 데이터에서 특정 문제가 들어갔는지 아닌지를 독립적으로 검증하기란 현실적으로 거의 불가능하다. 다만 흥미롭게도 일부 최상위 모델은 어떤 변형 문제셋을 주더라도 성능이 거의 흔들리지 않았다. 적어도 몇몇 모델은 진짜로 더 잘 풀고 있었다는 뜻이다.

두 번째 검증은 반년쯤 뒤에 진행한, 하노이의 탑을 활용한 작업이었다. 테스트셋은 인터넷 어딘가에 이미 정답과 함께 떠돌아다닐 수 있다는 한계가 있어서, 이번엔 아예 문제 자체를 게임 환경으로 만들고 난이도를 조절할 수 있는 변수를 심었다. 하노이의 탑은 원반 개수라는 단 하나의 파라미터로 난이도가 결정되고, 알고리즘 자체는 원반이 몇 개든 똑같다. 그런데 모델에게 원반 개수를 늘려가며 풀게 했더니, 6개, 7개, 8개를 넘어가는 지점부터 정답률이 급격히 무너졌다. 더 이상하고 걱정스러웠던 건 그다음이었다. “생각하는” 모델들에게 시간을 더 주고 더 오래 사고하라고 유도했는데, 오히려 어느 시점부터는 사용하는 토큰 수 자체가 줄어들었다. 문제가 어려워질수록 더 파고들어야 정상인데, 모델은 반대로 포기하듯 사고량을 줄이고 있었다. 혹시나 해서 아예 하노이의 탑을 푸는 알고리즘, 그러니까 정답으로 가는 절차를 통째로 프롬프트에 적어 넣어준 적도 있다. 사람이라면 손에 펜을 쥐여준 것과 같은 상황이라 당연히 풀 수 있어야 했는데, 모델은 그 알고리즘이 눈앞에 있어도 제대로 따라가지 못하고 헤맸다. 답이 이미 주어졌는데도 그걸 활용하는 능력 자체가 부족했던 셈이다.

그래서 무엇을 할 수 있는가

이 결과들을 발표하고 나면 항상 “그럼 어떻게 해야 하느냐”는 질문이 따라온다. 우리가 시도해본 방향은 크게 세 갈래였다.

첫 번째는 추상화다. 어떤 문장제 문제든 표면적인 이름이나 배경 설정만 다를 뿐 풀이 구조는 똑같은 경우가 많다. “앨리스는 스무 살이고…”로 시작하는 문제와 배경만 다른 또 다른 문제가 사실은 “두 숫자를 더하라”는 같은 뼈대를 공유한다면, 그 뼈대를 알아내는 게 핵심이다. 그래서 문제 속 숫자와 조건을 변수로 뽑아내고, 그 변수들을 조합한 수식으로 답을 표현하도록 모델을 학습시켰다. “변수 0 더하기 변수 1”처럼 추상 공간에서 답을 만들어낸 다음, 그 수식에 실제 숫자를 대입하기만 하면 되는 구조다. 이렇게 학습한 모델은 이름이 바뀌든 숫자가 바뀌든, 심지어 문제와 무관한 문장이 끼어들어도 — 예컨대 “원자 세 개는 다른 것보다 크다”처럼 답과 상관없는 정보가 섞여도 — 흔들리지 않고 안정적인 성능을 보였다. 참고로 이런 교란 문장 하나만 넣어도 예전 모델들은 그 숫자를 괜히 더하거나 빼려 들며 크게 흔들렸는데, 이는 모델이 진짜 구조가 아니라 익숙한 숫자 패턴에 반응하고 있었다는 증거이기도 했다. 사람들이 흔히 쓰는 대안은 그냥 변형 예제를 최대한 많이 만들어 학습시키는 방식인데, 이건 공간을 촘촘히 채우려면 사실상 지수적으로 늘어나는 예제 수가 필요해서 근본적인 해법이 되기 어렵다.

두 번째는 하노이의 탑처럼 단계가 길어지는 문제, 그러니까 문맥이 계속 불어나는 상황을 다루는 법이다. 문맥을 압축해서 요약해가며 진행하는 방법도 시도해봤고, 큰 문제를 잘게 쪼개서 각 단계마다 별도의 LLM 호출을 붙이는 방법도 시도해봤다. 둘 다 어느 정도는 도움이 됐지만 난이도가 계속 오르면 성능은 다시 떨어졌다. 특히 단계별로 쪼개는 방식은 각 호출이 이전 맥락을 모르기 때문에, 실수가 났을 때 그 실수로부터 배울 방법이 없다는 근본적인 한계가 있었다. 그래서 같은 단계를 온도를 살짝 주고 여러 번 반복해서 답을 여러 개 뽑고 다수결로 정하는 방법도 써봤는데, 이것도 모델이 특정 단계에서 일관되게 같은 실수를 반복하는 경우엔 무용지물이었다. 결국 가장 효과가 좋았던 조합은 “미리보기”였다. 한 단계씩이 아니라 세 단계쯤 앞을 내다보게 하고, 한 스텝씩 밀려가면서 겹치는 구간의 예측들을 다시 모아 앙상블하는 방식이다. 서로 다른 시점에서 나온 예측들이 서로를 교정해주면서, 훨씬 더 복잡한 난이도까지 풀어낼 수 있었다.

세 번째는 강화학습을 어떻게 살릴 것인가의 문제였다. 열 단계짜리 문제를 처음부터 끝까지 다 맞혀야만 보상을 받을 수 있다면, 단계 수가 늘어날수록 처음부터 끝까지 다 맞힐 확률은 기하급수적으로 낮아지고, 결국 학습에 쓸 수 있는 신호 자체가 사라진다. 그래서 정답 풀이가 있는 예제를 가져다가, 처음엔 전체 열 단계 중 여덟 단계를 미리 보여주고 나머지 두 단계만 채우게 했다. 이 정도는 쉬우니 성공하고, 성공하면 학습 신호를 얻는다. 그다음엔 보여주는 단계를 조금씩 줄여서 세 단계, 네 단계를 스스로 채우게 하고, 결국엔 아무것도 안 보여줘도 전체를 풀 수 있는 지점까지 끌고 갔다. 함수 f(x)를 x가 짝수면 절반으로, 홀수면 3배하고 1을 더하는 식으로 정의하고 이걸 여덟 번, 아홉 번 겹쳐 적용한 값을 구하는 문제로 이 방법을 테스트했는데, 학습이 진행될수록 모델에게 미리 보여줘야 하는 정답 비율이 점점 줄어들면서도 정답률은 계속 올라갔다. 순수한 강화학습만 썼을 때보다 확연히 나은 곡선이었고, 여기에 지도학습을 더하니 결과가 한 번 더 좋아졌다.

이 모든 걸 지나오면서 내가 계속 확인하게 되는 사실은, 추론이라는 과녁이 절대 가만히 있지 않는다는 점이다. 몇 해 전엔 시계 하나 제대로 못 그리던 모델이 이제는 그 문제를 가뿐히 넘긴다. 질의응답 시간에 누군가 “생각의 흐름을 그래프로 정리하게 하면 오류가 많이 줄어드는 것 같다”고 물었을 때, 나는 그게 결국 내가 하려던 이야기와 같은 방향이라고 답했다. 문제를 한 번에 풀게 두지 않고 단계마다 멈춰서 정리하도록 강제하는 것, 그리고 필요하다면 그 결과를 기호적 도구에 넘겨 검증하게 하는 것. 우리가 추상화 실험에서 얻은 수식을 다시 기호 연산 솔버에 넘겼던 것도 같은 이유였다. 모델이 잘하는 일과 못하는 일을 억지로 하나의 틀 안에 우겨넣기보다는, 각자 잘하는 자리에 세워두고 연결하는 편이 나았다. 낙서 속 엉킨 선을 눈으로만 노려보지 않고 손에 펜을 쥐는 것. 결국 내가 몇 년째 반복해서 확인하고 있는 건 이 단순한 사실 하나뿐인지도 모르겠다.