하지만 여기서, 만약 이 파란색 선을 확장해서 탐색을 추가함으로써 얻는 성능과 일치하려면 얼마나 멀리 확장해야 할지 본다면, 그 답은 100,000배입니다. 그래서 단지 탐색을 추가하는 것만으로도 모델을 100,000배 확장하는 것과 동등한 효과를 얻을 수 있었습니다. 제가 3년 동안 100배 확장하는 데 성공했을 때와 비교하면 말이죠.
모델 크기를 키우기 보단 추론 (계획) 시간을 늘리는게 비용 측면에서 효율적이다
기본적으로 하나비에서는 당신이 어떤 상태에 있는지에 대한 불확실성이 있습니다. 그래서 당신이 어떤 상태에 있을 수 있는지에 대한 믿음 분포가 있고, 게임에서 취할 수 있는 20가지 다른 행동이 있습니다. 그래서 우리는 그저 이렇게 말했습니다. 좋아, 우리가 있을 수 있는 이 다른 상태들 각각에 대해, 카드 1장 내기, 카드 1장 버리기, 빨간색 힌트 주기 등의 다른 행동들이 있습니다.
그 행동을 취하고 나서 게임의 나머지 부분을 우리의 정책에 따라 플레이한다면 우리의 기대 가치가 어떨지 보기 위해 여러 번의 롤아웃을 수행해 봅시다. 우리는 약 1000번의 롤아웃을 수행하여 각 행동에 대한 기대 가치의 좋은 추정치를 얻고, 그 다음 가장 높은 기대 가치를 가진 행동을 선택합니다. 여기 성능이 어떤지 보여드리겠습니다.
휴리스틱한, 수작업으로 만들어진 봇으로, 약 25%, 아마도 28%의 게임에서 승리합니다. 이것은 DeepMind 논문에서 소개된 알고리즘으로, 딥 Q 네트워크 봇이며 약 45%의 승률을 얻었습니다. 그리고 이것은 하나비를 위한 딥 RL 알고리즘에 대한 일련의 논문들 중 하나로, 점점 더 높은 성능을 얻었습니다. 우리 논문 발표 당시 최신 것으로, 약 58%의 점수를 얻었습니다.
이것은 다른 봇들에 이 탐색 알고리즘을 추가했을 때 얻을 수 있는 결과입니다. 28%만 얻던 수작업으로 만든 휴리스틱 봇에 상상할 수 있는 가장 단순한 탐색을 추가하면, 즉 취할 수 있는 모든 다른 행동들에 대해 많은 롤아웃을 수행하고 가장 높은 기대 가치를 가진 것을 선택하면, 성능이 거의 60%로 향상되어 이전의 모든 딥 RL 봇들을 바로 이겼습니다. 이는 테스트 시 1초 동안 단일 CPU 코어를 사용한 것입니다.
그리고 아름다운 점은 이를 다른 모든 딥 RL 봇들 위에 추가할 수 있다는 것이었습니다. 최신의 뛰어난 딥 RL 봇에 이를 추가하면 성능이 더욱 향상되어 약 72%에 도달했습니다. 그리고 이는 한 플레이어에 대해서만 탐색을 수행했을 때의 결과입니다.두 플레이어 모두에 대해 이를 수행하면, 그것이 초록색 막대들인데, 성능이 더욱 향상된 것을 볼 수 있습니다. 또한 지적해야 할 점은 이 게임의 상한선이 100%가 아니라는 것입니다. 왜냐하면 절대 이길 수 없는 카드 분배가 있기 때문입니다. 실제로 가능한 최고 성능은 아마도 90% 정도일 것입니다.
추론 (몬테카를로 트리 서치) 할 수 있도록 했을 뿐인데 성능이 월등히 좋아짐
사실, 2021년에 발표된 정말 좋은 논문이 있습니다. 그냥 아카이브에 올라갔습니다. 앤디 존스는 현재 Anthropic에 있는데, 그는 알파제로와 같은 기술을 사용하여 헥스 게임에 대한 많은 스케일링 법칙을 연구했습니다.
그는 기본적으로 10배의 훈련 컴퓨팅이 15배의 테스트 시간 컴퓨팅과 동등하다는 트레이드오프가 있다는 것을 발견했습니다. 이것이 의미하는 바는 이 도메인에서 테스트 시간 컴퓨팅의 양을 15배 증가시킴으로써 훈련 컴퓨팅을 10배 증가시키는 것과 동등한 효과를 얻는다는 것입니다. 이것이 왜 중요할까요? 음, 만약 여러분이 예를 들어 10억 달러가 드는 시스템을 훈련시키고 있고 성능을 더 향상시키고 싶다면, 그것을 10배로 늘려 10억 달러에서 100억 달러로 갈 수 있거나, 아니면 추론 비용을 1센트에서 15센트로 증가시킬 수 있습니다.
15배의 test-time computing은 10배의 (pre) train computing 효과
좋습니다, Cicero의 작동 방식은 보드 상태와 대화 기록을 입력으로 받아 대화 조건부 행동 모델에 입력합니다. 이 모델은 다시 대화와 보드 상태를 입력으로 받아 현재 턴에서 모든 플레이어가 무엇을 할지 예측하려고 합니다. 이 행동들은 계획 엔진에 입력됩니다.
그리고 다시 말하지만, 이것이 Cicero의 새로운 점 중 하나라고 생각합니다. 오늘날의 많은 언어 모델에서는 볼 수 없는 것인데, 모든 플레이어들이 무엇을 할 것인지와 우리가 무엇을 할 것이라고 생각하는지에 대한 예측을 반복하고, 포커에서 했던 것과 비슷한 방식으로 여러 번의 루프를 돌며 이러한 예측을 정제한다는 것입니다. 그리고 이는 우리가 결국 플레이하게 되는 행동으로 이어지지만, 또한 우리의 대화 모델을 조건화하는 이러한 의도, 이러한 행동들로도 이어집니다. 즉, 이번 턴에 어떤 움직임을 해야 할지, 다른 플레이어들이 이번 턴에 무엇을 할 것이라고 생각하는지를 계획한 후, 우리는 그 계획들을 대화 모델에 입력하고, 그 계획들에 따라 우리의 대화를 조건화한 다음, 그에 따라 메시지를 출력합니다. 그리고 다시 말하지만, 이것이 Cicero에 대해 과소평가된 점 중 하나라고 생각합니다. 즉각적으로 행동하는 전형적인 언어 모델이 아니었다는 것입니다.
성능 면에서는, Cicero가 결국 상위 10%의 플레이어 중에서 두 번째로, 5게임 이상을 플레이한 19명의 플레이어 중 2위를 차지했고, 평균 인간 점수의 2배 이상을 기록했습니다.
외교 게임에서 상대방의 플레이를 예측하고 앞 수를 계획하고 말을 생성하는 모델
좋습니다, 여기에 일반적인 경향이 있습니다. 어떤 문제에 대해 왜 계획이 그렇게 많은 도메인에서 작동하는 걸까요? 그리고 제가 생각하기에 근본적인 이유 중 하나는 '생성자-검증자 격차'라고 부를 수 있는 것입니다. 기본적으로, 어떤 문제에서는 좋은 해결책을 검증하는 것이 그것을 생성하는 것보다 훨씬 쉽습니다. 예를 들어, 포커에서는 균형 상태에 있는지 검증하는 것이 그것을 계산하는 것보다 훨씬 쉽습니다.
계획이 잘 동작하는 이유는? 검증하는게 생성하는 것보다 쉬워서
체스에서는 정말 좋은 보드 상태에 있는지 검증하는 것이 그 매우 좋은 보드 상태로 가는 경로를 찾는 것보다 훨씬 쉽습니다. 그리고 스도쿠와 같은 것에서는 스도쿠 퍼즐의 해답을 검증하는 것이 그 해답을 찾는 것보다 훨씬 쉽습니다. 이는 퍼즐, 수학, 프로그래밍 증명과 같은 도메인에서도 마찬가지입니다.
증명을 검증하는 것이 증명을 생성하는 것보다 훨씬 쉽습니다. 이것이 사실이 아닌 일부 도메인도 있습니다. 예를 들어, 정보 검색에서는 그렇지 않습니다.
제가 여러분에게 부탄의 수도가 무엇인지 물어본다면, 10가지 다른 선택지를 줄 수 있습니다. 하지만 그것이 여러분 대부분에게 정답이 무엇인지 말하는 데 실제로 도움이 될 것 같지는 않습니다. 또한 이미지 인식과 같은 것들도 마찬가지입니다.
이러한 도메인들에서는 검증이 생성보다 그다지 쉽지 않습니다. 그리고 이러한 도메인에서는 계획이 큰 차이를 만들지 않을 것으로 예상됩니다. 하지만 생성자-검증자 격차가 있고 우리가 매우 좋은 검증자를 가지고 있다면, 우리는 생성 과정에 더 많은 계산을 투자할 수 있고 좋은 해결책을 찾았을 때 검증할 수 있습니다.
검증이 생성보다 쉬운 도메인 예시와 쉽지 않은 도메인
쉽지 않은 도메인에서 좋은 검증자를 가진다는 건 그 도메인을 장악할 수 있다는 말
언어 모델에서 테스트 시간 컴퓨팅의 스케일링은 어떤 모습일까요?
그것의 사례들이 있습니다.그리고 다시 말하지만, 저는 사람들이 그러한 기술들이 만드는 차이를 과소평가한다고 생각합니다. 가장 단순한 것은 합의(consensus)라고 불리는 알고리즘입니다. 기본 아이디어는 하나의 해결책만 생성하는 대신 여러 개의 해결책을 생성하고 가장 일반적인 것을 선택하는 것입니다.
Minerva라는 논문이 있습니다. 여러분 중 일부는 수학 벤치마크라고 불리는 것에 대해 알고 계실 것입니다. 이것은 벤치마크입니다. 말 그대로 수학이라고 불립니다. 그리고 기본적으로 고등학교, 대학 수준의 많은 어려운 수학 문제들을 포함하고 있습니다. 사람들은 이 벤치마크에서 50% 성능에 도달하는 데에도 매우 오랜 시간이 걸릴 것이라고 생각했습니다.
하지만 2022년에 구글은 Minerva라고 불리는 이 봇에 대한 논문을 발표했고, 수학 벤치마크에서 50% 이상을 얻었습니다. 이는 LLM 커뮤니티의 사람들에게 매우 놀라운 일이었습니다. 왜냐하면 수학은 LLM이 정말 못하는 매우 어려운 작업 중 하나로 여겨졌기 때문입니다. 그들은 성능을 50%로 올리기 위해 많은 일을 했습니다.
하지만 그들이 사용한 것 중 하나가 합의였습니다. 그들은 많은 해결책을 생성하고 단순히 가장 일반적인 것을 반환했습니다. 그리고 그것이 실제로 Minerva의 성능을 33.6%에서 50.3%로 끌어올렸습니다. 1000개의 샘플을 생성함으로써 말이죠. 하지만 합의에는 한계가 있습니다.예를 들어, 합의를 하는 것은 정말 쉽습니다. 답으로 반환해야 하는 단일 숫자가 있을 때 합의를 할 수 있습니다. 하지만 예를 들어 증명을 작성해야 할 때는 합의를 하는 것이 훨씬 더 어렵습니다. 왜냐하면 같은 증명을 여러 번 생성하지 않을 것이기 때문입니다.
하지만 할 수 있는 다른 것들이 있습니다. 또 다른 하나는 n개 중 최선(best of n)입니다. 여기서의 아이디어는 생성된 것이 얼마나 좋은지 점수를 매길 수 있는 보상 모델을 가지고 있다는 것입니다. 그리고 첫 번째 것을 반환하는 대신, n개의 해결책을 생성한 다음 보상 모델이 가장 좋다고 판단하는 것을 반환합니다. 충분히 좋은 보상 모델이 있다면, n개 중 최선이 합의를 이깁니다. 하지만 많은 경우에 보상 모델의 품질에 의해 병목 현상이 발생합니다. 실제로 보상 모델이 매우 좋지 않다면, 여기서 볼 수 있는 것과 같은 과적합 동적을 보게 될 것입니다. x축에는 생성하고 있는 해결책의 수가 있고 y축에는 테스트 시간 성능, 해결책, 점수가 있습니다. 그리고 처음에는 더 많은 해결책을 생성하고 보상 모델에 따라 최선의 것을 선택함에 따라 성능이 올라가지만, 결국에는 과적합되어 내려가는 것을 볼 수 있습니다. 따라서 매우 좋은 보상 모델이 없다면, 이것은 합의보다 더 나쁠 수 있습니다.
이것은 정답이 있는 도메인에서 매우 유용합니다. 체스가 좋은 예인데, 여러분은 이겼거나 졌다는 것을 알 수 있고, 스도쿠도 마찬가지로 여러분이 그것을 풀었는지 풀지 못했는지 알 수 있습니다. 우리가 이것들보다 더 잘할 수 있을까요?
실제로 OpenAI가 최근에 발표한 논문이 있습니다. 약 1년 전에 온라인에 공개되었지만, 공식적으로는 몇 주 전 ICLR에서 발표되었습니다.이것은 "단계별로 검증하자(Let's Verify Step by Step)"라고 불립니다. 그들은 프로세스 보상 모델이라는 아이디어를 소개했습니다. 그 아이디어는 최종 해결책만 검증하는 대신 모든 단계를 개별적으로 검증하는 것입니다. 그래서 그들은 각 단계를 거치면서 "이것이 맞는가? 틀린가?"를 확인합니다. 만약 틀렸다면, 그들은 그냥 전체 해결책에 대해 틀렸다고 표시합니다.
좋습니다, 이것은 어떻게 비교될까요? 이 그래프에서 우리는 생성된 해결책의 수가 1000 또는 2000까지 올라가는 것을 볼 수 있습니다. 그리고 이것은 수학 벤치마크에서의 성공률입니다.이 회색 선은 합의(consensus), 또는 다수결 투표라고도 불립니다. 처음에는 올라가지만 결국에는 평평해지는 것을 볼 수 있습니다. 하지만 실제로 꽤 큰 향상을 준다는 것을 볼 수 있습니다. 그래서 단순히 합의를 함으로써 약 60%에서 거의 70%로 올라갑니다. n개 중 최선(Best of n)을 사용하면 더 큰 향상을 얻고 72.4%까지 올라갑니다. 정말 좋은 보상 모델로 모든 단계를 검증하는 이 프로세스 보상 모델을 사용하면 더 큰 향상을 얻고 78.2%까지 올라갑니다. 그리고 여전히 더 많은 샘플을 생성하면 그 선이 더 올라갈 것 같아 보입니다.
이에 대한 몇 가지 예가 있습니다. 제 생각에 이것은 특히 정말 흥미로운 예인데, 이것이 수학 문제이기 때문입니다. 여러분에게 100도의 탄젠트 더하기 100도의 사인 4배를 단순화하라고 요구하고 있습니다.이것을 순수한 GPT-4 모델에 제시하면, 1000번 중 1번만 맞출 것입니다. 하지만 모든 단계를 검증하는 과정을 거침으로써, 1000개의 샘플을 생성한 다음 보상 모델이 맞다고 하는 것만 취하면, 이 문제에 대한 성공률이 크게 올라갈 것입니다.
합의 (consensus or voting) < 최선 (Best of n) < 과정 검증 (Verify step by step)
하지만 제가 지적하고 싶은 한 가지는 이 모델들의 추론 비용이 여전히 꽤 낮다는 것입니다. 여러분은 지금 당장 ChatGPT에 가서 질문을 할 수 있고, 매우, 매우 낮은 비용으로 기본적으로 즉시 응답을 받을 수 있습니다. 그리고 그것이 그렇게 될 필요는 없습니다.
우리가 살펴본 많은 이 게임들에서는 그렇지 않았습니다. 언어 모델의 경우에도 그럴 필요가 없을 수 있습니다. 그래서, 음, 다음 목표는, 음, 제가 지금 작업하고 있는 것은 일반성입니다.
우리가 정말로 일반적인 방식으로 추론 계산을 확장할 수 있을까요? 음, 이것은 매우 어려운 문제입니다. 알다시피, 우리는 이러한 기술들, 추론 계산을 확장하는 이러한 탐색 기술들을 많이 개발했지만, 그것들은 항상 우리가 살펴본 도메인에 매우 특화되어 있었습니다. 그리고, 그리고 제가, 제가 작업하고 있고 다른 사람들이 작업하고 있는 것은 매우 일반적인 방식으로 그것을 하는 것을 개발하는 것입니다.
이것은 테스트 시간에 훨씬 더 높은 계산을 사용하는 것을 포함하겠지만, 그것은 훨씬 더 능력 있는 모델을 의미할 것입니다. 그리고 제 생각에 많은 도메인에서 우리는 그 트레이드오프를 기꺼이 할 것입니다. 네, ChatGPT의 경우처럼 코딩 작업을 위한 코파일럿을 원할 때 응답을 기다리는 데 5분을 쓰고 싶지 않을 수 있지만, 우리가 답변을 위해 몇 시간, 며칠, 심지어 몇 주를 기다릴 수 있는 많은 질문들이 있습니다.
리만 가설의 증명이나 새로운 생명을 구하는 약물, 또는 다음 해리 포터 소설과 같은 것을 위해 그런 종류의 비용을 기꺼이 지불할 수 있다고 상상할 수 있습니다. 그리고 제 생각에 매우 중요하게, 이것은 우리가 이 모델들을 더 확장함에 따라 어디로 가고 있는지에 대한 감각을 줄 수 있습니다. 이것은 본질적으로 이 모델들이 더욱 능력 있게 됨에 따라 앞으로 AI의 상태가 어떨지에 대한 미래의 창을 우리에게 제공할 수 있습니다.
현재 기준으로 GPT 40의 추론 비용은 매우 저렴하고, 이제야 o1에서 비싸지기 시작했다.
도메인에 특화된 추론 절차가 존재할 것이다.
답변을 얻는데 기꺼이 시간을 내어 줄 아주 어려운 문제가 있는 도메인을 노리자.
음, 저는 또한 제안하고 싶습니다. 알다시피, 저는 n개 중 최선과 같은 것들에 대해 언급했는데, 병목 현상은 정말로 검증자, 보상 모델의 품질에 있습니다. 음, 여러분은 외부 검증자가 있는 영역에서 작업하는 것을 고려해 볼 수 있습니다. 왜냐하면 그렇게 하면 여러분은, 음, 보상 모델의 품질에 의해 병목 현상이 생기는 것을 피할 수 있기 때문입니다.
사람이 검증자라는 얘기를 하는 듯하다
- 답변을 얻는데 기꺼이 시간을 내어 줄 아주 어려운 문제가 있는 도메인을 노리자.
- 해당 도메인에 특화된 추론 절차를 정의하자.
- 생성보다 검증이 쉬운 문제를 찾자.
- 해당 도메인의 좋은 검증자를 확보하자.
고장 진단을 예로 들어보자
- 고장 진단을 단계별로 풀어서 원인부터 결과까지 도출하는 LLM을 만든다
(전문가의 고장 진단 생각 절차를 본따서 만든다) - 현장 진단 엔지니어가 각 단계에 대한 피드백을 준다
(생각의 단계에서 특정 부분이 잘못되면 뒷 부분도 잘못됐다고 라벨링) - 사람의 수준 정도로 모델 정확도가 도달하면 사람의 도움 없이 인공지능 모델끼리 검증하고 생성하도록 만든다
알고리즘 문제해결능력 교육을 예로 들어보자
- 6단계의 생각 절차를 똑같이 밟는 LLM을 만든다
- 6단계 중 어떤 부분이 잘못되었는지 피드백을 준다
- 사람의 수준 정도로 모델 정확도가 도달하면 지들끼리 검증하고 생성하게 한다
알고리즘 문제해결능력 교육의 예시는 내가 현장에서 코칭하는 방식이었다
- 수강생이 모르겠다고 했을 때 6단계 중 어떤 단계에서 어려움이 있었는지 파악한다
- 이후 해당 단계에서 다음 단계로 넘어갈 수 있는 힌트를 준다
- 그리고 몇 단계에서 어려움이 있었다고 수강생에게 인지시켜 줬다
위 예제를 일반화 시켜보자
- 도메인 전문가의 문제 해결 생각 절차를 추출한다
- 추출한 절차를 lang-graph로 제작한다
- 생성된 결과물을 도메인 전문가가 평가하도록 만든다
- 학습에 사용될 충분한 데이터양을 확보한다
(Let's verify step by step 논문의 경우 80만개) - 학습을 진행한 이후 사용한다
o1의 technical report가 나오면 위 일반화 과정을 업데이트한다
- 도메인 전문가가 처한 상황을 잘 정의한다
- 인센티브 모델을 잘 만든다
- 문제를 잘 해결했는지 확인한다