사실 학습과 그 사실을 꺼내는 방법 학습은 분리된다

Learning a Fact Is Not Learning How to Retrieve It

arXiv2610.03251v1

Chaemin Jang2026-10-02조회 2

무엇인가

언어모델을 "The capital of X is Y"로 파인튜닝하면 "The capital of X is" 뒤에는 Y를 내놓지만 "The capital of X:" 뒤에는 실패하는 경우가 있다. 논문은 같은 사실을 끌어내는 이런 서로 다른 표현을 '요청 형식(request form)'이라 부른다. 기존 연구들도 텍스트로 사실을 배우는 것과 새로운 형식으로 꺼내는 것 사이의 격차를 관찰했지만, 실패했을 때 그 사실을 약하게 배운 것인지 두 번째 요청 형식으로 꺼내는 법을 배우지 못한 것인지 구분할 수 없었다. 일반적인 파인튜닝은 사실과 그것이 제시된 형식을 함께 학습하기 때문이다.

어떻게 동작하나

저자들은 2단계 학습으로 이 두 가능성을 분리한다. 1단계(요청 형식 학습)에서 한 모델은 각 사실을 다섯 가지 형식으로 보고, 다른 모델은 같은 사실을 서술문으로만 본다. 2단계(목표 사실 학습)에서는 두 모델 모두 새로운 사실을 전부 서술문으로, 완전히 동일하게 학습한다. 1단계에 쓰인 1,000개 사실과 2단계의 1,000개 목표 사실은 겹치지 않으며, 평가에 쓰는 형식 중 서술문 훈련 형식을 제외하면 어느 단계에도 등장하지 않는다. 2단계가 동일하므로 이후 검색 성능 차이는 1단계에서 무엇을 배웠는지에서 비롯된다. 실험은 Pythia-410M을 기본으로 Pythia-1.4B, Qwen2.5-1.5B, Llama-3.2-1B에서 수행했고, 수도·통화·인구·조직 창립자·출생연도 관계를 다룬다. 평가는 목표 사실 1,000개 중 고정된 300개에 대해 2,000개 후보 수도 중 정답이 1위로 랭크되는지, 정확히 생성되는지를 8개 평가 형식에서 측정하고 8개 페어 시드로 평균한다.

무엇과 다른가

결과는 뚜렷하다. 다섯 관계를 함께 학습했을 때 수도 사실에서 두 모델은 목표 사실 훈련에 쓰인 서술문 형식에서 0.983과 0.999로 비슷하지만, 리스트 형식에서는 0.002와 0.970, 콜론으로 끝나는 서술문 형식에서는 0.200과 0.996으로 갈린다. 8개 형식 전체 분석에서도 서술문 정확도는 0.995와 0.997로 거의 같지만, 어느 훈련 단계에도 없던 리스트 형식 검색은 0.000에서 0.977로 뛴다. 반면 이전 훈련 형식과 토큰 바이그램이 전혀 겹치지 않는 소유격·짧은 키-값 형식은 0.165와 0.227로 거의 개선되지 않고, 관계절 서술문은 0.895에서 0.801로 오히려 떨어진다. 목표 사실 학습 자체에 차이가 있는 것도 아니다. 정답 첫 토큰의 음의 로그우도 차이는 -0.043낫, 가장 강한 오답 대비 마진은 +0.24로 둘 다 신뢰구간이 0을 포함한다. 2단계 학습을 1,200에서 4,800 업데이트로 늘려도 서술문만 본 모델의 리스트 형식 정확도는 모든 시드에서 0.000에 머문다. 1단계 요청 형식 학습은 정답이 틀린 다른 수도 사실이나 통화 사실로 해도 새 수도 사실의 검색을 개선하며, 노출량이 5%만 되어도 서술문 패러프레이즈가 0.003에서 0.381로 오른다.

어떻게 쓰나

저자들은 답변 직전의 은닉 상태를 '문맥 상태(context state)'라 부르고 이것이 검색을 통제한다고 주장한다. 리스트 요청의 문맥 상태를 서술문 훈련 형식의 상태로 바꾸면 정확도가 0.000에서 0.963으로 오르고, 요청을 "is"로 끝나게 고쳐 쓰면 0.948이 된다. 놈을 맞춘 무작위 상태는 아무것도 복원하지 못하며, 개체 토큰 위치의 상태를 바꾸는 것은 효과가 없다. 반대 방향도 성립해서 서술문 요청의 문맥 상태를 리스트 형식 상태로 바꾸면 0.997에서 0.023으로 떨어진다. 이 효과는 같은 사실(0.963)뿐 아니라 다른 사실(0.951), 통화(0.946), 인구(0.928) 사실의 문맥 상태로도 전이된다. 층별 분석에서 0층은 마지막 토큰 교체와 동등하지만, 4층에서는 개체 없는 상태가 0.963 중 0.734를 복원하고 6층에서는 개체 없는 상태가 0.02로 떨어지는 반면 개체를 담은 상태는 0.70~0.78을 복원한다. 나아가 전체 상태를 바꾸지 않고도 관계 단어 자리에 플레이스홀더를 넣어 만든 "is" 대 콜론 종료 프롬프트의 문맥 상태 차이, 즉 단일 방향만 더해도 리스트 검색이 0.000에서 0.921로 오르고, 복원 벡터에서 같은 방향을 빼면 0.010으로 떨어진다. 학습된 선형 사상은 0.949로 이 방향을 크게 넘지 못한다.

전제와 한계

5장은 문맥 상태가 학습 시점과 이후 검색을 잇는다는 것을 보인다. 1단계 요청 형식 학습이 있으면 리스트 형식과 서술문 형식이 만드는 문맥 상태가 이후 층에서도 훨씬 비슷하게 유지된다. 더 직접적으로, 목표 사실 학습 중 문장은 그대로 두고 문맥 상태만 다른 요청 형식 쪽으로 이동시킨 뒤 학습이 끝나면 개입을 멈추고 정상 평가하면, Pythia-410M에서 0.024가 0.943으로, Pythia-1.4B에서 0.266이 0.904로, Qwen2.5-1.5B에서 0.482가 0.993으로, 출생연도 사실에서 0.246이 0.983으로 오른다. 무작위 변화는 훨씬 덜 효과적이며, 목표 사실의 5%를 새 요청 형식으로 써 주는 것(0.72)보다 문맥 상태 이동(0.94)이 더 효과적이다.

개발자 관점에서 이 논문의 실용적 함의는 파인튜닝 파이프라인을 사실 내용과 검색 형식이라는 두 축으로 나눠 볼 수 있다는 점이다. 특정 프롬프트 형식에서만 답이 안 나온다고 해서 그 사실이 학습되지 않았다고 단정하면 안 되며, 문맥 상태를 바꾸는 것만으로 이미 학습된 사실을 복구할 수 있다. 또한 사실 예시를 여러 형식으로 다시 써 넣지 않고도, 소량의 요청 형식 노출이나 학습 중 문맥 상태 개입만으로 다른 형식의 검색을 확보할 수 있다는 것이 저자들의 주장이다. 다만 이는 통제된 사실 학습 환경에서 확인된 결과이므로, 실제 서비스에서 어떤 개입이 통하는지는 대상 모델과 프롬프트 형식별로 검증해야 한다.

저자들이 밝힌 한계는 세 가지다. 첫째, 실험은 사실 학습과 요청 형식 학습을 정밀하게 분리할 수 있는 통제된 사실 학습을 사용했으며 자연어 텍스트에서 사실을 배우는 과정에는 추가적인 기제가 관여할 수 있다. 둘째, 문맥 상태는 이 논문에서 다룬 검색 실패를 설명하지만 모든 사실 지식 검색 실패를 설명하지는 않는다. 셋째, 효과는 사전학습 모델이 해당 요청 형식에 대해 이미 알고 있는 것에 의존하므로 더 큰 모델, 다른 사전학습, 인스트럭션 튜닝은 요청 형식 학습이 이후 검색에 미치는 강도를 바꿀 수 있다.