2P by GN⁺ | ★ favorite | 댓글 1개
  • 대형 언어 모델은 긴 산술처럼 여러 단계를 거치는 문제에서 바로 답을 내면 흔히 실패하지만, 단계별 풀이를 만들게 하면 이전에는 어려웠던 문제도 풀 수 있음
  • 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를 대체할 수 있는 다른 신경망 구조를 비교하는 틀이 됨
    • 복잡도 이론 분석에서 어떤 네트워크가 더 강력하게 나타나면, 실제 환경에서도 더 나을 수 있다는 근거가 될 수 있음
  • 언어 모델이 다양한 실제 애플리케이션에 쓰이는 상황에서는, 모델이 잘하지 못하는 일이 많다는 점을 인식해야 함

댓글과 토론

Hacker News 의견들
  • 사고의 사슬(chain-of-thought) 은 논리/수학의 엄격한 사슬에 비유하면 안 된다고 봄
    모델의 단계별 추론은 출력에 그런 수준의 엄밀함을 부여하지 않으며, 사슬의 강도는 관련 맥락의 강도일 뿐이라 인간이 하는 수학/논리보다 훨씬 약함
    이 분야 모델을 매일 다루지만 직접 만들지는 않는 입장에서, 기본 수학에서 가르치는 필연적 연결이 보이지 않고, 특정 나이를 넘은 인간이라면 하지 않을 방식으로 모델이 실패하는 걸 자주 봄
    결국 관련 맥락을 찾는 일에 가깝고 강력하긴 하지만, 인간의 논리적 추론과는 다름. 인간은 매우 적은 개념에서 출발해 의자에 앉아 순수 추론만으로도 멀리 있는 철통 같은 결론에 도달할 수 있지만, 모델은 맥락 사이를 뛰어다니는 것에 가까움

    • LLM이 잠재 공간에서 순차 몬테카를로 표본추출을 하는 것에 가깝다면, 사고의 사슬에서 “사고” 부분은 SMC 표본추출에서 필요한 예열 구간과 더 비슷해 보임
      진지하게 베이즈 통계를 해본 사람이라면 표본추출기가 효율적으로 표본을 뽑기 전에 잠시 예열이 필요하다는 걸 알고 있음. 사고의 사슬에서도 모델이 정답을 표본추출할 올바른 근방에 들어가기 전에 잠깐 돌아다녀야 하는 비슷한 일이 벌어지는 것 같음
    • 인간이 “1, 2, 그러므로 3”이라고 생각하는 추론의 상당수는 LLM이 하는 일과 크게 다르지 않고, 실제로 그보다 더 영리하지도 않다고 봄
      많은 사람이 의심스러운 믿음을 충분히 생각해봤다고 여기지만 실제로는 그렇지 않음. 맥락을 이용해 다음 생각/단어를 추측하고, 처음부터 갖고 있던 결론에 자주 도달함
      철통 같은 결론이라고 할 때 실제로는 직관적으로 꾸며낸 뒤, 정의가 충분히 명확한지, 추론의 도약이 정당한지 등을 강하게 검증하는 과정이 붙는다고 봄
      그래서 정말 보고 싶은 건 LLM이 모호한 영어 문장을 더 형식적 추론 엔진에 넣을 수 있는 형태로 바꾸도록 가르치는 방법임
      예를 들어 “영국 안에 축구장이 몇 개 들어가나”를 LLM에게 바로 묻기보다, get_size_football_field()get_size_England()가 제곱미터 단위로 있다고 가정하고 이를 계산하는 Python 코드를 쓰라고 시키는 편이 더 나을 때가 많음
    • “인간은 매우 적은 개념에서 출발해 순수 추론만으로 멀리 있는 철통 같은 결론에 도달할 수 있다”는 능력이 내게는 없음
      나는 대략 Go 코드 10줄을 넘어서면 추론을 못 하고, 취미 퍼즐 풀이를 여러 번 해보며 그게 분명해짐
    • 인간 추론의 구조는 사고의 사슬과 거의 같다고 봄
      우리는 청각 루프가 있고, 복잡한 문제를 만나면 “이제 XYZ를 알았으니 다음은 뭐지…”라는 식의 주문을 반복하다가 좋은 다음 단계가 떠오르면 그것을 맥락에 추가함
      다만 전이 함수가 현재로서는 인간 쪽이 훨씬 좋을 뿐임
    • LLM에서 사고의 사슬은 결국 기억을 보강하는 데 도움을 주는 것 같음
      추론을 맥락 안에 써넣어 나중에 더 쉽게 참조하게 해주기 때문인데, 물론 추측일 뿐임
  • Karpathy에게서 들은 것 같은 단순화된 설명으로는, Transformer 모델은 토큰을 생성(디코딩)할 때만 계산을 한다는 것임
    그래서 사고의 사슬을 써서 더 많은 토큰을 생성하면 모델에 “생각할” 시간이 더 생김. 물론 이 설명이 모든 뉘앙스를 담지는 못함

    • 다른 설명도 가능함. LLM은 본질적으로 “A B”, 즉 B가 A 뒤에 오는 게 그럴듯한지를 학습함
      짧은 완성에는 A B1, A B2처럼 그럴듯한 가능성 공간이 훨씬 큼. 미묘한 질문에 짧게 답하라고 하면 사려 깊은 답, 겉보기엔 맞아 보이는 답, 설득력 있는 헛소리 등이 모두 가능함
      반면 추론을 설명하라고 강제하면 그럴듯한 완성의 공간이 줄어듦. 설득력 있는 헛소리에서 시작해 정직하게 끝까지 밀고 가면 결국 뒤집어야 한다는 결론에 이를 수 있음
      이는 정직한 사람의 해로운 믿음을 반박할 때, 그 믿음의 결과를 직접 펼쳐보게 하고 별생각 없이 좋아 보이는 것의 영향을 함께 따라가 보는 방식이 잘 통하는 이유와 비슷함
      그럴듯한 완성 공간을 줄이는 요소로 프롬프트를 채우는 것이 효과적인 프롬프트 엔지니어링인 이유도 비슷함
    • 자기회귀 Transformer 구조는 작업이 얼마나 어렵든 토큰당 비용이 일정함
      가장 복잡한 추론 질문을 던져도 다음 토큰을 생성하는 데 드는 계산량은 가장 단순한 예/아니오 질문과 같고, 이는 구조적 제약 때문임
      LLM이 계산에 쓸 “낙서” 데이터를 생성하게 해 관련 정보에 주의를 기울이도록 하는 것은 이 일정 비용 한계를 우회하는 방식임. 작업이 어려울수록 더 많은 낙서가 필요하고, 그래야 미래 토큰에 필요한 관련 맥락이 더 많이 남음
    • 처음엔 그렇게 생각했지만 실제로는 맞지 않다고 봄. 어텐션에서 쓰는 마스크 때문에 문자열 뒤에 패딩이 붙어도 문자열에 수행되는 작업량은 같음
      대신 LLM의 작업 기억이 활성값으로 제한되어 있고, 그게 병목이 될 수 있다는 걸 깨달음. 모델은 부분 결과를 출력에 써두고 다시 읽는 방식으로 작업 기억을 확장할 수 있음
      예를 들어 “숫자 하나를 생각하되 말하지 말라”고 하면 그 숫자를 저장할 곳이 없음. 테이프 말고 임시 저장소가 없기 때문임. 하지만 “단계별로 생각하라”고 하면 중간 결과, 즉 생각을 테이프에 저장하게 되어 사고에 쓸 추가 저장공간이 생김
    • GPT3.5-Turbo로 제품을 만들며 겪은 바로는, 모델이 한 번에 처리할 수 있는 지시 복잡도에는 상한이 있음
      “계산을 더한다”는 면도 있지만 핵심은 모델이 결정을 내릴 때 제한된 범위에만 집중하도록 과정을 구성하는 것임
      사실상 서로를 바탕으로 쌓이는 결정의 트리 구조를 만드는 셈임. 중간 토큰을 생성하면 모델은 이미 접힌 더 작은 결정 집합에만 주의를 기울일 수 있음
      다만 모델이 예상한 잘못된 결과 때문에 중간 단계가 편향되는 예기적 행동을 만들기도 해서, 실제로는 조금 더 복잡함
    • 코딩에 쓰는 모델의 시스템 프롬프트에 스택과 주요 의존성을 넣고 질문하거나 대화해봤는데, 많이 도움이 됐거나 적어도 그렇게 느껴짐
  • “계산에 대한 형식적 연구가 1936년 Turing의 튜링 기계에서 시작됐다”는 설명은 더 거슬러 올라가야 함
    1920년대 Moses Schönfinkel의 조합 논리 https://en.wikipedia.org/wiki/Moses_Sch%C3%B6nfinkel와 1930년대 초 Alonzo Church의 람다 계산 https://encyclopediaofmath.org/wiki/Lambda-calculus이 있음
    다만 이 모델들은 계산 복잡도 이론의 기반으로는 덜 적합함

    • 더 넓게 보면 Pearce와 Frege, Boole, Pascal, Leibniz를 거쳐 Aristotle까지 올라갈 수 있음
      Aristotle은 구조화된 사고를 형식화하려 한 최초의 인물에 가까웠을 것임
      Turing의 계산 장치는 인간 수학자가 형식 규칙에 따라 기호를 조작해 문제를 계산으로 푸는 방식을 형식화한 것이었고, 같은 경험과 그것이 얼마나 기계화하기 쉬운지를 고민한 긴 계보를 따른 것임
      산술에 대해 실제로 이를 구현한 최초는 Pascal이었음
    • Schönfinkel의 작업을 포함해 이 주제에 관심 있다면 https://youtu.be/h0OkptwfX4g를 추천함
  • LLM 담론의 두 모드, 즉 “의식이 있다!”와 “인상적인 데이터셋을 가진 다음 토큰 예측기일 뿐이다”는 대체로 서로 다른 두 집단에서 나온다고 봄
    LLM을 먼저 알고 나중에 기계학습 기초를 배운 사람들과, 기계학습 기초를 먼저 배운 뒤 오늘날의 LLM을 접한 사람들임
    나는 두 번째 쪽이지만, 기초에 대한 선입견이 큰 그림을 보는 데 한계를 만들 위험도 실제로 있으니 논쟁 자체는 환영함
    사고의 사슬에 대해서는 원 논문의 결과 상당수가 이후 시도에서 잘 재현되지 않았다는 정도는 알고 있음. 그게 매일 바뀌는 모델의 특이성인지 더 깊은 이유가 있는지는 모르겠음

    • 본능적으로는 더 오래된 지식까지 아는 사람들을 신뢰하고 싶음
      하지만 예전에 논문 지도교수에게 기계학습 분야 사람들이 예전 기계학습과 AI 작업을 잘 모르는 것 같다고 불평했더니, 30년 넘게 연구 경력이 많은 지도교수가 자신이 박사과정일 때도 이미 그런 불평이 있었다고 말해줌
      AI에는 Pitts와 McCulloch부터 세면 약 80년, Turing부터 세어도 긴 작업들이 너무 많아서, 남들이 하는 일을 따라가면서 자기 주제도 깊게 파는 건 매우 어려움
      예를 들어 강화학습 책을 펼치면 계획(planning)과 거의 같은 문제를, 상태와 행동 공간이라는 매우 비슷한 가정으로 다루는데, 마치 계획이라는 분야가 없는 것처럼 보이기도 함
      덧붙이면, 그것들은 다음 토큰 예측기가 맞음 :P
    • 지금은 “유기적 뇌도 인상적인 보조 휴리스틱 시스템을 가진 다음 토큰 예측기일 뿐”이라는 쪽으로 기울고 있음
      Transformer가 그렇게 빈약한 근사이고 완전히 무상태인데도 이렇게 인상적인 결과를 낼 수 있다는 사실을 보면, 여기에 특별한 비법이 따로 있는 것 같지는 않음
  • 이건 명백하다고 생각했음. LLM에는 인간처럼 내면의 목소리내면 이미지가 없어서, 답하기 전에 먼저 문제를 머릿속으로 끝까지 생각할 수 없음
    그래서 실제 출력 영역을 일종의 메모장으로 쓰면, 답을 내기 전에 더 넓은 추론 영역을 덮을 수 있고, 이는 인간이 하는 방식과 비슷함
    “단계별로 생각하라”는 프롬프트로 특정 질문을 던지면 최종 답에는 쓸모없는 임시 생각도 출력하는 걸 볼 수 있음. 바로 우리가 바로 답할 수 없는 문제를 풀 때 하는 일과 같음
    인간도 종이와 펜으로 임시·중간 생각과 답을 적어두곤 함. LLM에는 그런 도구가 없지만 출력을 비슷하게 사용할 수 있음
    일부 사고의 나무(Tree of Thoughts) 프롬프트는 LLM에 두 종류의 출력을 만들게 함. 하나는 “내면의 목소리로 생각하기”이고, 다른 하나는 인간에게 보여줄 출력임
    메서드 호출 능력이나 “구글링”을 주는 것도, 사용자에게 보여줄 답을 만들기 전에 생각과 추론을 수행하는 방식으로 볼 수 있음

  • 모델은 생각하지 못함. 입력 맥락을 사용해 출력을 예측할 뿐임
    그래서 반복적으로 풀어야 하는 문제가 있다면 중간 단계를 맥락에 저장해야 함. 그렇지 않으면 그 단계들이 갈 곳이 없음

    • “입력을 사용해 출력을 예측한다”는 말에서 “생각할 수 없다”는 결론은 따라오지 않음
      입력으로 출력을 예측한다는 점이 왜 생각할 수 없다는 믿음으로 이어지는지 모르겠음. 생각이라는 게 전부 그런 것일 수도 있고, 우리는 알지 못함
  • 단순한 이유 하나로 11 + 31 = 24의 그럴듯함을 생각해볼 수 있음
    답은 숫자이고, 두 자리 숫자라는 점도 두 자리 입력을 더할 때 꽤 그럴듯함. 24는 수학 문제의 흔한 답이기도 하고, 약수도 많음. 심지어 1+31+1을 더할 때 나오는 숫자들도 들어 있음
    그런데 “풀이를 보이라. 11 + 31은 십의 자리끼리 더해 10 + 30 = 40, 일의 자리끼리 더해 1 + 1 = 2이고, 40과 2를 합치면 24다”는 마지막 문장은 별로 그럴듯하지 않음
    또는 “10 + 30 = 20, 1 + 1 = 4, 20과 4를 합치면 24다”도 마찬가지임
    문제를 쪼개면 빠른 오답보다 확률이 낮은 영역을 통과해야 함
    다만 계산 복잡도에 의한 논증이 더 강함. 위 설명은 단순한 경우에는 충분한 교란 설명이 될 수 있으므로, 계산 복잡도가 중요하다고 주장하기 전에 배제해야 할 수도 있음
    복잡도 논증도 직관적으로는 당연함. LLM을 매 클록 주기마다 지금까지의 입력에 대해 상수 시간 순전파를 한 번 수행하고 토큰 하나를 출력하는 컴퓨터로 보면, 더 많은 주기를 주면 더 많이 계산할 수 있음
    상태도 사용할 수 있음. 한 주기에서 다음 주기로 상태를 전달하는 메커니즘이 매우 제한되어 있더라도 가능함
    이는 단층 퍼셉트론이 XOR을 계산하지 못한다는 오래된 문제의 확장과도 비슷함. 여기서 “주기”는 한 층에서 다음 층으로 넘어가는 진행임
    물론 세부가 뻔하다는 뜻은 아님. 여러 클록 틱을 쓸 수 있다는 말만으로는 한 틱에 얼마나 할 수 있는지 설명하지 못함

  • 사고의 사슬의 기적과 관련 있고 더 단순한 설명일 수 있는 트윗이 있음
    “단계별로 생각해보자!”라는 문구를 검색하면 여러 결과 중 http://geteasysolution.com 같은 사이트가 나오고, 거기에는 수학 단계별 풀이가 많이 있음. 꽤 흔하다는 점이 생각할 거리를 줌
    https://twitter.com/yanaiela/status/1765077404043952516

    • 그 설명은 특정 문구가 왜 통하는지는 정당화하지만, 사고의 사슬이 작동하는 일반적 설명과 충돌하지는 않음
      그 문구가 사고의 사슬 예제가 많은 웹사이트의 개념 공간으로 모델을 유도할 수는 있지만, 사고의 사슬이 실제로 생각에 도움을 주지 않는다면 출력이 더 좋아지는 결과로 이어지지는 않을 것임
  • 이건 이미 명백하다고 생각했음. 전부 맥락 인식의 문제임
    개선하고 싶다면 프롬프트에 용어 하나를 추가해 더 많은 고려사항을 열면 됨. 맥락 창의 끝에 닿지 않았다고 가정하면, 새 단어 하나하나가 더 많은 맥락을 가진 새 벡터를 “해제”하고 언어 모델은 이를 고려에 추가함
    인간 뇌가 작동하는 방식처럼 보이는 것과의 유사성이 너무 두드러져서, 언어 모델을 더 잘 쓰는 비유로 사용하지 않는 게 오히려 말이 안 됨
    LLM을 조작하는 방식과 인간 뇌를 조작하는 방식, 즉 적절한 단어를 쓰는 방식으로 같은 결과를 얻을 수 있다면 왜 차이가 있다고 믿어야 하는지 모르겠음
    이런 건 3B 모델을 사용하고 연구하다 보면 시간이 지나며 배울 수 있음. 많은 사람이 꺼리는 것 같지만, “오래된” orca mini 3B 같은 일부 모델은 매우 강력하고 나는 아직도 쓰고 있음
    필요한 건 더 나은 프롬프트이고, 이 접근은 아주 잘 통함
    가장 큰 장애물은 이런 작은 모델들의 보통 작은 맥락 창이지만, 작은 RoPE 확장, 텍스트 요약, 맥락 단어 추가, 프롬프트에서 단어의 글자 생략 같은 방식으로 품질을 크게 희생하지 않고 우회할 수 있음
    언어 모델의 결과를 개선하고 싶다면 멘탈리스트, 사기꾼, 마술사, 사회공학자가 되어야 함. 이상하게 들리지만 효과가 있음

    • 이 설명은 사고의 사슬의 비명백한 한계를 다루지 못함
      Merrill과 Sabharwal은 중간 단계 수가 입력 크기에 비례해 늘어날 때에야 사고의 사슬이 실제로 도움이 되기 시작하고, 많은 문제는 중간 단계 수가 그보다 훨씬 더 크게 늘어나야 한다고 증명함
      내 경험과도 맞음. GPT-4는 단계별 풀이를 시키면 “단순한” 문제만 쪼갤 수 있음. 특히 실제 단계 자체를 더 쪼개야 하는 O(n²) 복잡도에서는, 작업을 단계로 나누기는 하지만 하위 작업을 다시 하위 단계로 나누는 데 안정적으로 실패함. 그 하위 작업을 사고의 사슬 프롬프트로 풀 수 있더라도 그렇다
      사고의 사슬 프롬프트는 LLM이 답을 눈먼 추측으로 내지 않게 해주기 때문에 단순한 O(n) 계산에는 통하지만, 이론적으로도 경험적으로도 어떤 O(n²) 문제를 O(n)개의 O(n) 하위 문제로 나누는 능력은 없다고 봄. 말할 것도 없이 인간은 그것보다 훨씬 똑똑하고, 쥐도 그렇다
    • 흥미로운데, 더 알아볼 수 있는 세부 정보나 자료가 있을까? 실제 예시 하나만 있어도 도움이 되겠음
  • 사고의 사슬은 “그럭저럭 헤쳐나가기(muddling through)”를 떠올리게 하고, 지능의 근사에 대한 올바른 접근이라는 내 직관과 바로 맞아떨어짐
    https://studio.ribbonfarm.com/p/massed-muddler-intelligence#...