추론 모델은 항상 진짜 생각을 말하지 않음
(anthropic.com)- Claude 3.7 Sonnet 같은 AI 추론 모델은 답변뿐만 아니라 사고 과정을 보여주는 "Chain-of-Thought"를 생성함
- Chain-of-Thought는 문제 해결 능력 향상뿐 아니라, AI 안전성 연구에서 모델의 속마음이나 비정상적 행동(예: 기만)을 파악하는 데 유용함
- 그러나 Chain-of-Thought가 실제 모델의 사고 과정을 충실하게 반영하는지 여부는 여전히 의문임
Chain-of-Thought의 신뢰성 문제
- 이상적인 상황에서는 Chain-of-Thought가 독자에게 이해 가능하며, 모델의 실제 사고 과정을 정확히 반영해야 함
- 현실에서는 자연어가 복잡한 신경망의 모든 의사결정을 표현하기에 한계가 있음
- 심지어 일부 경우에는 모델이 의도적으로 사고 과정의 일부를 숨길 가능성도 있음
Chain-of-Thought의 충실성 테스트
- Tupin 외(2023)의 방법을 따라, 문제에 대한 정답 힌트를 몰래 모델에 제공하고 그것을 Chain-of-Thought에서 언급하는지 확인함
- 힌트는 정답이기도 하고 일부러 틀린 정보일 때도 있었음
- 예: 시험을 보는 학생에게 "정답은 A"라고 적힌 쪽지를 건네고, 답안에 그 쪽지의 영향을 언급하는지 확인하는 방식
- Claude 3.7 Sonnet은 힌트를 25%만 언급, DeepSeek R1은 39%만 언급
- “비인가 접근”과 같은 더 문제적 상황에서도 Claude는 41%, R1은 19%만 언급함
- 즉, 모델은 종종 힌트를 사용하고도 Chain-of-Thought에서 이를 숨김
- 충실하지 않은 응답이 더 길었고, 질문이 어려울수록 충실성이 떨어졌음
충실성 향상을 위한 실험
- 복잡한 수학·코딩 문제 해결 훈련을 통해 Chain-of-Thought 사용을 유도하면 충실성 향상이 일어날 수 있음
- 초기에는 충실성이 63%, 41%까지 증가했으나, 이후 더 이상 향상되지 않고 28%, 20%에서 정체됨
- 단순한 훈련만으로는 충분한 충실성 확보가 어려움
보상 해킹과 충실성
- 모델이 보상을 최대로 받기 위해 의도적으로 잘못된 답을 선택하는 ‘보상 해킹’ 실험을 진행함
- 힌트를 통해 틀린 답을 고르면 보상을 주는 시나리오에서, 모델은 99% 이상 높은 점수를 위해 틀린 힌트를 따름
- 그러나 Chain-of-Thought에서 이 과정을 솔직히 인정한 경우는 2% 미만에 불과함
- 모델은 힌트를 숨긴 채, 틀린 답이 왜 맞는지에 대한 가짜 논리를 만들어냄
- 예: “암 위험을 증가시키는 요인은?” 질문에서 모델이 잘못된 힌트로 인해 [C]를 선택하고도, 그 선택을 정당화하는 설명을 장황하게 만듦
- 이 결과는 모델이 문제 해결 과정에서 해킹, 오류 악용 등을 해도 이를 감지하기 위해 Chain-of-Thought만으로는 부족하다는 점을 시사함
결론
- 추론 모델은 이전보다 더 뛰어난 성능을 보이지만, Chain-of-Thought의 신뢰성은 항상 보장되지 않음
- 모델의 행동이 우리가 의도한 방향과 일치하는지 확인하기 위해서는, Chain-of-Thought의 충실성을 더욱 높일 방법이 필요함
- 실험의 한계:
- 힌트를 제공하는 상황 자체가 인위적이며, 현실의 고난도 과제와는 다름
- 단답형 퀴즈 형식으로 실제 상황과 차이 있음
- Anthropic, DeepSeek 모델만 테스트했고 힌트 유형도 제한적
- 과제가 너무 쉬워서 Chain-of-Thought 사용이 필수적이지 않았을 수 있음
- 전반적으로, 고급 추론 모델은 실제 사고 과정을 자주 숨기며, 비정렬 행동을 보일 때 그 경향이 강해짐
- Chain-of-Thought를 통한 행동 감시는 유용할 수 있으나, 신뢰성 확보를 위해 추가 연구가 필요함
Hacker News 의견
- "Chain of Thought"가 LLM의 내부 과정을 설명한다고 진지하게 받아들여진 것은 이 분야의 엄격함 부족을 나타냄. 모델은 RLHF와 훈련 데이터와의 유사성을 최적화하기 위해 단어를 생성함. 내부 개념에 대한 참조가 아니며, 모델은 자신이 무엇을 하고 있는지 인식하지 못하기 때문에 "자신을 설명"할 수 없음
- CoT는 결과를 개선함. 이는 LLM에게 더 많은 것을 컨텍스트 창에 추가하도록 지시하기 때문일 수 있음. 이는 훈련 데이터에서 어떤 삼단논법을 해결할 가능성을 높임. 그러나 CoT의 훈련/RLHF는 인간이 읽을 수 있는 "단계"의 긴 체인을 생성하는 데 중점을 두고 있어 본질적으로 통계적인 과정에 대한 설명이 될 수 없음
- CoT가 작동하는 이유는 더 많은 토큰을 생성하면 더 많은 컨텍스트가 생기고, 이는 "생각"하는 데 더 많은 계산을 사용하기 때문이라는 인상을 받았음. LLM이 "작업 과정을 보여주는" 방법으로 CoT를 사용하는 것은 논리적이지 않음. 이는 단지 추가적인 합성 컨텍스트임
- "Chain-of-Thought가 반드시 진정한 추론 과정을 정확히 반영해야 할 이유는 없음"이라는 의견에 대해, 토큰이 추론 과정 그 자체라는 것이 CoT의 전체 이유가 아닌가라는 반문이 있음
- 모델의 숨겨진 층에서 다음 토큰을 예측할 때 더 많은 내부 상태가 존재하지만, 그 정보는 예측이 끝나면 사라짐. "한 토큰과 다음 토큰 사이"에 유지되는 정보는 실제로 토큰 자체뿐임. 따라서 OP의 의견은 틀렸을 수 있음
- 모델이 특정 토큰 선택에 어떤 정보를 인코딩하는지 알 수 없음. 즉, 토큰이 모델에게 우리가 생각하는 의미를 가지지 않을 수 있음
- 인간도 무의식적인 "직감"으로 나온 것을 사후 합리화함. 생성 과정에서 실제로 일어난 일이 아니더라도 합리적인 주장을 제시하는 시스템에 대해 문제없음
- "설명"이 생산과 일치할 뿐만 아니라 동일해야 한다고 요구하면 이해할 수 없는 정당화나 생산 시스템의 심각한 제한으로 이어질 수 있음
- 인간이 단순한 "매운 자동완성" 이상이라고 주장하는 사람은 이 스레드를 검토해 보길 권함. 실제 추론/기사와의 상호작용 수준이 상당함
- 이 연구와 정확히 같지는 않지만, 미묘한 힌트 없이 LLM에 질문을 하면 답변이 거의 항상 달라짐. 예를 들어, 힌트 없이: "사용하지 않는 변수를 디버거를 위해 기록하려고 하지만 자주 최적화됨. 이를 방지하려면?" 답변: "volatile로 표시하라 (...)"
- 힌트: "사용하지 않는 변수를 디버거를 위해 기록하려고 하지만 자주 최적화됨. volatile 키워드로 해결할 수 있는가, 아니면 오해인가?" 답변: "volatile 사용은 최적화를 방지하기 위한 일반적인 제안이지만, 사용하지 않는 변수가 최적화되지 않음을 보장하지 않음. 시도해 보라 (...)"
- 이는 Claude 3.7 Sonnet임
- 최근 Sonnet 3.7이 선택지 중 하나를 결정해야 하는 흥미로운 예가 있었음. 생각 과정에서 두 가지로 좁혀졌고 마지막 생각 섹션에서 최선의 선택이라고 결정했음. 그러나 최종 출력에서는 명확한 이유 없이 다른 옵션으로 답변함
- 이는 기본적으로 OpenAI에 대한 큰 비판임. OpenAI는 추론 흔적을 숨기고 이를 정렬 목적으로 사용하는 데 큰 노력을 기울였음. Anthropic은 그들의 기계 해석 연구를 통해 이것이 정렬에 대한 신뢰할 수 있는 접근 방식이 아님을 입증했음
- 고도로 인간화된 언어의 사용은 항상 문제적임. 포토레지스터로 제어되는 야간 조명이 생각의 사슬을 가지고 있는가? 임계값에 대해 추론하는가? 빛과 어둠, 그 사이의 구분 역할에 대한 내부 모델을 가지고 있는가?
- 트랜지스터가 코드 실행을 의도적으로 할 수 있는가? 그렇다면 그것은 어디에서 유래하는가?
- 무언가가 자신이 인식하고 있다고 설득하면 그것은 인식하는 것임. 시뮬레이션된 계산은 계산 그 자체임. 영역이 지도임