- 대형 언어 모델은 긴 산술처럼 여러 단계를 거치는 문제에서 바로 답을 내면 흔히 실패하지만, 단계별 풀이를 만들게 하면 이전에는 어려웠던 문제도 풀 수 있음
- 2022년 Google 연구진의 chain-of-thought prompting은 중간 단계를 출력하게 하는 단순한 방식으로 널리 퍼졌지만, 왜 효과적인지는 여전히 분석 대상임
- 연구자들은 계산 복잡도 이론으로 Transformer의 능력과 한계를 따져 보며, 병렬 처리에 최적화된 구조가 즉시 답을 내야 할 때 계산 능력을 제한할 수 있음을 보임
- Merrill과 Sabharwal의 이론 연구에 따르면 중간 단계 수가 입력 크기에 비례해 늘어날 때부터 chain of thought가 실질적으로 도움이 되며, 많은 문제는 그보다 더 많은 단계가 필요함
- 이런 결과는 실제 모델이 훈련 중 해당 해법을 반드시 배운다는 뜻은 아니지만, Transformer의 한계를 과대평가하지 않고 새 신경망 구조를 비교하는 틀을 제공함
단계별 풀이가 모델 성능을 바꾸는 이유
- 사람은 20자리 수 덧셈 같은 문제를 한 번에 맞히려 하지 않고, 일의 자리부터 왼쪽으로 계산을 쌓아 감
- 대형 언어 모델도 몇 단계짜리 산술 문제는 맞힐 수 있지만, 큰 수의 합처럼 많은 단계를 요구하는 문제에서는 자주 실패함
- 2022년 Google 연구진은 모델에 단계별 해법을 생성하게 요청하면 이전에는 어려워 보였던 문제를 풀 수 있음을 보임
- 이 방식은 chain-of-thought prompting으로 불리며 빠르게 퍼졌지만, 효과가 나는 이유는 아직 연구자들이 분석 중임
Transformer가 강해진 방식과 구조적 제약
- 대형 언어 모델은 단어를 숫자열로 나타내고 처리하는 인공 신경망을 기반으로 함
- 학습 전 매개변수는 무작위 값에서 시작함
- 모델은 인터넷에서 가져온 대량의 텍스트로 다음 단어를 예측하고, 실제 텍스트와의 차이를 줄이도록 매개변수를 조정함
- 2017년 Google 연구진이 도입한 Transformer는 언어 모델 연구를 크게 확장시킴
- Transformer 이전 신경망은 많아야 수억 개 매개변수를 가졌음
- 오늘날 가장 큰 Transformer 기반 모델은 1조 개 이상의 매개변수를 가짐
- Transformer의 핵심 구성요소는 attention head임
- 입력 텍스트 전체를 빠르게 훑고, 다음 단어 예측에 유용한 단어 간 연결을 찾음
- 이후 feedforward network가 큰 계산을 수행함
- 여러 층의 attention head와 feedforward network를 쓰는 구조는 학습 중 각 단어에 대한 계산을 동시에 진행할 수 있게 함
- 이 병렬성 덕분에 대규모 데이터와 많은 프로세서로 학습을 분산할 수 있음
- David Chiang은 큰 데이터셋을 활용하려면 모델도 커야 하며, 병렬화 없이는 학습이 실용적이지 않다고 말함
- 학습이 끝난 뒤의 일반 사용에서는 Transformer가 한 단어씩 출력하고, 그 출력을 다시 입력에 붙여 다음 단어를 생성함
- 구조는 여전히 병렬 처리에 최적화되어 있어, 연구자들은 이 병렬성이 계산 능력의 대가를 낳는지 따지기 시작함
복잡도 이론으로 본 Transformer의 계산 능력
- 신경망의 학습 과정을 직접 분석하기는 어렵기 때문에, 일부 연구자들은 매개변수를 원하는 값으로 설정할 수 있다고 가정하고 Transformer의 본질적 계산 능력을 분석함
- 이 접근은 Transformer를 특정 종류의 프로그래밍 가능한 컴퓨터처럼 다룸
- 어떤 함수를 계산할 수 있는지
- 어떤 종류의 문제를 풀 수 있는지를 묻는 방식임
- 2019년 Pablo Barceló와 공동 연구자들은 고정된 수의 매개변수를 가진 이상화된 Transformer가 적절한 설정과 반복적 출력 재입력을 통해 Turing machine만큼 강력할 수 있음을 증명함
- 이 결과는 중요한 출발점이었지만, 실제 Transformer의 힘을 과대평가할 수 있는 비현실적 가정에 의존했음
- 이후 연구자들은 더 현실적인 이론 틀을 만들기 시작함
즉시 답해야 하는 Transformer의 한계
- William Merrill과 Ashish Sabharwal은 회로 복잡도(circuit complexity) 로 Transformer의 병렬 구조가 만드는 한계를 분석함
- 두 사람은 Transformer가 출력을 다시 입력으로 넣지 못하고, 첫 출력이 곧 최종 답이어야 하는 경우를 다룸
- 이 이론 틀에서는 Transformer가 특정 복잡도 클래스 밖의 계산 문제를 풀 수 없음
- 비교적 단순한 예로 선형방정식 풀이 같은 많은 수학 문제가 이 클래스 밖에 있다고 여겨짐
- 병렬성은 학습을 가능하게 하는 장점이지만, 즉시 답을 요구하는 상황에서는 비용이 됨
- Merrill은 입력을 주고 바로 답을 기대하는 방식으로 쓰면 Transformer가 꽤 약하다고 말함
Chain of thought가 한계를 우회하는 방식
- Merrill과 Sabharwal의 결과는 Transformer가 출력을 재사용할 수 있을 때 얼마나 강해지는지라는 질문으로 이어짐
- 실제 언어 모델의 chain-of-thought reasoning은 프롬프트 문구의 영향을 받지만, 모델이 단계별 해답을 출력하면 원칙적으로 중간 결과를 다음 Transformer 통과에서 다시 사용할 수 있음
- Peking University 연구팀은 2023년 5월 논문에서 Merrill과 Sabharwal의 틀상 일반 Transformer로는 불가능해야 하는 일부 수학 문제를 다룸
- 중간 단계를 허용하면 Transformer가 이 문제들을 풀 수 있음을 보임
- 2023년 10월 Merrill과 Sabharwal은 chain of thought의 계산 능력을 더 자세히 분석한 이론 연구를 발표함
- Transformer가 최종 답을 내기 전에 사용할 수 있는 중간 단계 수에 따라 추가 계산 능력이 어떻게 달라지는지 정량화함
- 두 자리 수 덧셈 예처럼, 입력이 커질수록 필요한 중간 단계도 늘어나는 문제가 있음
- 20자리 수 두 개를 더하는 가장 단순한 방식은 10자리 수 두 개를 더할 때보다 두 배 많은 중간 덧셈 단계를 요구함
중간 단계는 도움이 되지만 공짜는 아님
- Merrill과 Sabharwal은 중간 단계가 아주 적으면 Transformer가 얻는 이득도 크지 않다고 분석함
- Chain of thought는 중간 단계 수가 입력 크기에 비례해 증가할 때부터 실질적인 효과를 냄
- 많은 문제는 중간 단계 수가 입력 크기보다 훨씬 더 크게 늘어나야 함
- 따라서 chain of thought는 만능 해결책이 아님
- 원칙적으로 더 어려운 문제를 풀게 할 수는 있음
- 하지만 상당한 계산 노력이 필요함
- Merrill은 한 단계 Transformer의 한계를 우회하는 여러 방법에 관심이 있으며, chain of thought가 가장 경제적인 방법은 아닐 수 있다고 말함
실제 모델에 적용할 때의 주의점
- 이론 분석이 실제 언어 모델에 대해 말해 줄 수 있는 범위는 제한적임
- Transformer가 원칙적으로 특정 문제를 풀 수 있다는 증명은 실제 언어 모델이 훈련 중 그 해법을 반드시 배운다는 뜻이 아님
- Transformer의 한계를 다루는 결과도 강한 기준을 전제로 함
- 어떤 Transformer도 특정 문제를 모든 경우에 완벽히 풀 수 없다는 뜻임
- Daniel Hsu는 특정한 특수 사례는 잘 처리할 수 있다고 말함
- 이런 분석은 Transformer를 대체할 수 있는 다른 신경망 구조를 비교하는 틀이 됨
- 복잡도 이론 분석에서 어떤 네트워크가 더 강력하게 나타나면, 실제 환경에서도 더 나을 수 있다는 근거가 될 수 있음
- 언어 모델이 다양한 실제 애플리케이션에 쓰이는 상황에서는, 모델이 잘하지 못하는 일이 많다는 점을 인식해야 함