• Turing Post Korea
  • Posts
  • Topic #11: 더 강력한 추론 성능을 위한 'Chain-of-Knowledge'

Topic #11: 더 강력한 추론 성능을 위한 'Chain-of-Knowledge'

같은 시점에 나온 세 개의 CoK 논문을 통해서 본 AI 진화의 메커니즘

글을 시작하며

2022년 NeurIPS에서 구글 브레인이 처음 Chain-of-Thought (CoT; ‘생각의 사슬’이라고 번역하기도 하는 것 같은데, 영 부자연스러워서 그냥 CoT로 하겠습니다)를 소개했는데요. 그 이후 ‘복잡한 문제에 대해서 풀이 과정을 보여줌으로써, LLM의 추론 능력을 높인다’는 이 개념은 더 넓고 깊게 발전을 거듭하면서, 소위 ‘Chain들’의 가계도를 만들어가고 있는 듯합니다. 얼른 생각나는 것들을 꼽아보자면 Zero-shot Cot라든가 Multi-modal CoT 같은 것들이 있네요.

오늘은 이 ‘Chain-of-X’의 최신 기법이라고 할 수 있는 Chain-of-Knowledge (CoK)에 대해서 알아보겠습니다. 최근 비슷한 시기에 이 CoK 개념을 소개하는 논문이 세 개나 발표됐는데, 연구자들이 각자 어떤 생각을 하고 어떤 방향에서 해결책을 구상한 걸까 살펴보려고 합니다. 그리고 이런 ‘Chain-of-X’ 기법이 AI 프롬프트와 추론 작업을 어떻게 재편하고 있는지에 대해서 나름대로의 그림을 말씀드리면서 글을 마무리하고자 합니다.

이 글은 아래 목차로 구성되어 있습니다:

Recap: Chain-of-Thought의 핵심

AI가 정말 ‘사람처럼’ 추론을 할 수 있느냐 하는 질문은, 아주 오래 전부터 AI 영역의 중요한 화두 중 하나죠. 어떤 사람들은 ‘추론’ 능력의 비밀을 해결하는 것이 AGI (일반 인공지능)를 향한 한 걸음일 거라고 믿기도 하구요.

CoT (Chain-of-Thought) 프롬프트 기법은 AI의 추론 능력을 높이기 위해서 연구되고 있는 중요한 방법 중에 하나입니다. 예제를 제공하지 않는 Zero-shot 프롬프트, 몇 가지 예제를 제공해 주는 Few-shot 프롬프트와 달리, CoT 프롬프트 기법은 예제에 ‘상세한 추론의 단계를 추가’해서 안내합니다. 결과적으로 더 복잡하고 논리적 사고가 필요한 작업에 유용하죠.

여기서 생각해 볼 만한게 하나 있는데요. 아직 제대로 공개되지는 않았지만 모두가 목빠져라 기다리는 오픈 AI의 Strawberry 아시죠? 얼마 전 The Information의 글을 보면, Strawberry는 'Outcome Supervision'이 아니라 'Process Supervision' 방식으로 훈련된 모델이라고 합니다.

'Process Supervision'은 최종적인 답변이 옳으냐 그르냐로 보상하는 방식이 아니라, 추론의 각 단계가 맞느냐 틀리냐로 보상하는 방식의 훈련 기법이고, 2023년 5월 오픈AI에서 발표한 논문에서 소개된 기법이기도 합니다.

'추론의 과정과 단계'를 중심으로 훈련을 하거나 In-Context Learning을 한다는 측면에서 CoT와 Process Supervision의 유사한 점이 있지 않나 싶습니다. 

Image Credit: CoT 논문

CoT 프롬프트 기법은 아주 단순하게 질문을 하고 답을 구하는 방식의 프롬프트 기법의 한계를 극복하기 위해 고안되었습니다. CoT는 문제와 그 해결책의 예시를 제공할 뿐만 아니라 추론 과정을 일련의 단계로 세분화합니다. 이렇게 해서, 모델이 ‘논리적인 사고의 순서’를 따르도록 함으로써 더 심도있는 문제를 해결하는 능력을 향상시킬 수 있습니다.

물론, 한계는 있죠…

CoT 기반 추론의 한계

…바로 아래와 같은 한계 말입니다:

  • 부정확한 답을 낼 가능성:


    CoT 기반의 추론 방식은 종종 ‘부정확’하거나 ‘가공된’ - Hallucination이라고 보통 이야기하죠 - 정보를 만들어내기도 합니다. 복잡한 사고의 과정을 구조화하는 데는 좋지만, 모델의 내부 지식에 크게 의존하기 때문에 항상 정확하거나 최신 정보가 아닐 수 있죠.

  • ‘지식’의 통합에 한계:

    CoT 기반의 추론은 주로 모델이 이미 알고 있는 지식에 의존하니까, 최신의 정확한 정보가 필요하다거나 전문적인 지식이 필요한 작업에는 잘 맞지 않을 수 있습니다. 학습 데이터가 오래 된 것이거나, 누락된 부분이 있거나 하면 실수가 나오는 거죠.

  • 외부 정보를 사용하기가 용이하지 않음:


    CoT 기반 추론 기법은 외부 정보와 궁합이 잘 맞지는 않습니다. 적절한 외부의 지식을 집어넣어주는 별도의 방법이 없으면 CoT 기반 추론의 신뢰성을 담보하기가 어렵습니다.

  • ‘구조화된 추론’을 잘 하기 어려움:

    보통의 CoT 기법은 지식 그래프 (Knowledge Graph) 같은 구조화된 데이터를 최대한 활용하기가 쉽지 않습니다. 더 복잡한 관계를 처리한다거나 미묘한 추론에 필요한 특정한 규칙을 따라가는 능력에 제한이 있다고 봐야겠죠.

  • 지나치게 ‘경직된 구조’를 강제할 가능성:

    논리적인 단계가 간단하다면 문제없지만, 복잡한 문제에 대한 규칙이 엄격하게 정의되면 그 처리 과정이 융통성이 떨어지겠죠. 결과적으로 모델의 유연성이랄까 적응력이 제한될테니, 효용이 떨어질 수 있습니다.

Chain-of-Knowledge 등장하다 - 그것도 세 개나…?

자, 비슷한 시기에 나온 세 개의 Chain-of-Knowledge 관련 논문을 한 번 살펴보죠:

2024년 2월, DAMO 아카데미 (알리바바 그룹), 난양 공과대학교, 싱가포르 기술 디자인 대학교, 세일즈포스 리서치, Hupan 연구소의 연구진이 다양한 소스의 정보를 통합해서 LLM의 능력을 강화하는 CoK 프레임웍을 소개합니다.

이 CoK 프레임웍은 세 개의 단계 - 추론을 준비하고, 동적으로 지식을 적용하고, 답변을 통합하는 - 로 구성되는데, 그 목표는 검색된 지식을 기반으로 추론을 점진적으로 수정, LLM이 만들어내는 답변의 Factual Accuracy (사실적 정확성)를 높이고, 환각으로 이어질 수 있는 오류의 전파를 방지하는 겁니다. 논문을 쓴 연구진은 CoK 기법을 통해서 ‘부정확할 가능성이 있는 내부 메모리에 대한 LLM의 의존도를 줄이겠다는 접근을 한 거죠.

Image Credit: Original 논문

세 단계를 좀 더 살펴보면요:

  • 추론 준비: 이 단계는 추론을 위한 예비적인 근거들을 생성하고, 관련된 지식 도메인을 확인해 놓습니다. 생성된 답변들 중에 최적의 답안이 이거다라는 합의에 도달하지 못하면, 다음 단계로 넘어갑니다.

  • 지식 기반의 동적 조정: AQG (Adaptive Query Generator)가 정형 데이터 소스 (예: SPARQL, SQL) 및 비정형 데이터 소스 (예: Wikipedia, 플래시카드)에 접근하는 쿼리를 생성합니다. 그 다음 검색된 지식이 점진적으로 근거를 수정하는데 사용됩니다.

  • 답변 통합: 최종적으로 수정된 근거를 활용해서 종합적인 답변을 작성하게 됩니다. (이 답변이 더 정확한 것이기를 기대하면서요 ^.^)

코드가 궁금하신 분은 여기를 참조하시면 되겠습니다.

2024년 6월, 동방 사범대학교와 홍콩 대학교 연구진이 LLM의 추론 능력을 높이기 위한 방법으로 CoK 프롬프트 기법을 제안합니다.

이 CoK는, ‘추론’을 ‘Evidence Triples’와 ‘Explanation Hint’로 나누는 방식으로 CoT 프롬프트가 만들어낼 수 있는 ‘환각’ 문제를 해결합니다. 이 기법은, 생성된 추론의 사실성 (Factuality)과 신빙성 (Faithfulness)을 평가하는 F2-Verification을 포함하고 있어서, 모델이 잘못된 증거를 재검토하도록 유도하게 됩니다. 이 CoK는 표준적인 ICL (In-Context Learning)과 CoT 기법과 비교할 때 상식 추론, 사실 추론, 상징 추론, 산술 추론 등의 과제에 대한 광범위한 테스트에서 훨씬 뛰어난 성능을 보여줍니다.

Image Credit: Original 논문

역시 2024년 6월 말, 푸단 대학교의 연구진은 T&E (Trial & Error) 메커니즘으로 강화된 CoK 프레임웍을 소개하는데요, 이 메커니즘으로 LLM이 사람이 하는 ‘지식 탐색’ 과정을 시뮬레이션한다고 보면 될 것 같습니다.

Symbolic Agent가 우선 그럴 듯한 규칙을 선택해서 추론을 시작합니다. 이 규칙을 백업하는데 필요한 사실이 없다면, 시스템은 ‘오류’로 기록하고 다른 규칙으로 전환해서 충분한 사실을 뒷받침하는 추론 경로를 찾을 때까지 이 과정을 계속하게 됩니다. 이 반복적 방법은, 모델이 적절한 근거없이 이전에 경험한 규칙에 지나치게 의존하게 되는 ‘Rule Overfitting’ 위험을 피해가는데 도움이 됩니다.

Note: 논문 저자가 기본 CoT 그림을 잘못 가져온 것 같습니다 (Image Credit: Original 논문)

‘CoK T&E’ 기법 정도로 부를 수 있을 것 같은데, 이 기법은 추론 능력을 향상시키기 위한 방편으로 ‘규칙 기반의 방법’으로 Knowledge Graph를 활용하는 구조라 하겠습니다. 이걸 위해서 별도로 만들어진 KNOWREASON 데이터셋은, Knowledge Graph에서 Rule Mining을 강조하는 구조화된 추론을 지원합니다.

실험 및 그 결과

세 개의 논문 모두, LLM의 ‘환각’을 해결하고 CoT 기법의 한계를 넘어 뛰어난 추론 능력을 보여주는 게 목표지만, 각자 특징이 명확하죠. 첫번째 논문은 ‘다양한 영역에 걸친 다단계의 사실 추론에 탁월’한 방식이고, 두번째 논문은 구조화된 Triple을 추론 과정에 통합해서 Factuality와 Faithfulness를 동시에 개선하구요, 마지막으로 세 번째 논문은 ‘강력한 규칙 기반의 추론’을 위해서 Knowledge Graph를 활용하는데 중점을 두고 있습니다.

1️⃣ 번 논문

Image Credit: Original 논문

2️⃣ 번 논문

Image Credit: Original 논문

3️⃣ 번 논문

Image Credit: Original 논문

이 세 가지를…합칠 수는 없을까?

이 세 논문의 저자들이 드러나게 서로 연락을 주고 받으면서 논문을 쓴 건 아니겠지만, 이 기법들이 이렇게 저렇게 맞아들어갈 수는 있어 보입니다. 아주 복잡하고 다면적인 추론이 필요한 시나리오라면 특히, 이 세 가지 논문의 접근 방법을 결합하면 도움이 될 수 있습니다.

한 번 실제로 세 가지 접근 방법이 결합하면 좋을 만한 시나리오를 살펴볼까요?

시나리오: 복잡한, 멀티 도메인 QA 시스템

의료, 법률, 과학 분야의 질의 응답 시스템같이, 여러 영역에 걸쳐있는 지식을 바탕으로 답해야 하는 시스템을 설계하는데, 동시에 높은 Factual Accuracy (사실적 정확도), 추론 성능 및 유연성/적응성이 요구되는 상황이라면? 이런 경우 위 세 가지 논문의 접근 방식을 결합하면 좋은 결과를 얻을 수 있을 겁니다.

각기 다른 접근 방식의 결합

잘 살펴보시면, 각 논문이 타겟하는 ‘LLM 추론의 약점’이 조금씩 달라요. 그래서 잘 섞어놓으면 더 강건하고 성능도 좋은 추론 시스템을 (이론적으로) 만들 수 있습니다:

  • 첫번째 논문 : 동적으로 유연하게 ‘지식’을 가져와서 통합한다

    질문이 속하는 ‘도메인’에 따라 지식의 소스를 동적으로 조정, 변경하는 작업에 이 기법을 사용할 수 있습니다. 예를 들어, 의학 분야라면 아주 사실에 근거해서 정확하면서도 고도로 전문적인 정보들이 필요할 텐데요, 시스템이 정형/비정형 외부 DB (위키데이터라든가 의학 DB)에서 자동으로 지식을 추출해서 추론 프로세스를 조정할 수 있습니다.

  • 두번째 논문 : CoK 프롬프팅

    사람이 읽기 좋으면서도 Factual Accuracy가 놓은 설명과 추론 경로를 생성하도록, 최종적인 추론 단계에서 CoK 프롬프트 기법을 적용합니다. Evidence Triples과 추론 단계를 명시적으로 보여주기 때문에, 결과의 해석 가능성도 높아지고 환각의 가능성도 낮아집니다.

  • 세번째 논문 : Knowledge Graph 기반의 Trial-and-Error 메커니즘

    이 메커니즘은 추론이 실행되는 단계에서 ‘특히 Knowledge Graph로 표현되면 좋은, 법률이나 규제 데이터 등 구조화된 지식’을 활용할 때 적용되면 좋습니다. 시스템이 특정한 규칙이나 추론 경로에 과도하게 맞추는 것을 피할 수 있으니, 모호하거나 불확실한 질문을 처리하는 데 유용합니다.

사례 : 법률 도메인의 멀티모달 지식 검색 및 질의

리걸테크 회사에서 다양한 법률 도메인에서 변호사를 도와줄 수 있는 AI 어시스턴트를 만들었다고 해 보죠.

  • 변호사가 AI 어시스턴트에게 ‘사실적 판례’ (첫번째 논문: 비정형 소스에서 얻은 다이나믹한 지식)와 사건에 기반한 구조화된 법적 추론 (세번째 논문: Knowledge Graph 에서 얻은 법적 규칙에 대한T&E 추론)을 모두 요청합니다.

  • AI 어시스턴트가 관련된 판례와 규칙을 가져온 후에는, 제시하는 추론 체인이 논리적으로 건전하고 잘 뒷받침되는지 확인해야 합니다. (두번째 논문: Evidence Triples로 하는 CoK 프롬프팅)

세 논문의 기법을 잘 섞어서, AI 어시스턴트가 1) 질의의 성격에 따라 정보의 소스를 동적으로, 다양하게 조합하고, 2) 잘못된 결론에 이르지 않도록 논리적으로 추론을 수행하며, 3) 추론의 근거를 명확하고 검증할 수 있게 제시하게 됩니다.

이럴 때는 별로 소용이 없을 겁니다

위에서 살펴본 것처럼 이 기법들이 조화롭게 AI 시스템의 성능을 높여줄 수도 있지만, 역시나 불필요한 경우도 있죠. 예를 들자면:

  • 상식 퀴즈 정도의 그냥 간단한 사실을 물어보는 경우가 대부분이라면, 이런 복잡한 추론 절차와 과정은 필요없습니다.

  • 비정형의, 상식 기반 추론 (예를 들어 그냥 잡답하는 챗봇)을 위한 서비스라면 Knowledge Graph나 구조화된 추론 기능은…글쎄요 역시나 모기잡는데 대포 쓰는 격이겠죠.

맺으며: 더욱 ‘강력한 AI 추론’을 향하여

2024년 2월, 그리고 6월에 발표된 CoK (Chain of Knowledge) 기법에 대한 세 편의 논문은, 거대 언어모델 (LLM)의 추론 능력을 개선하기 위해 학계에서 얼마나 많은 노력을 기울이고 있는지를 보여준다고 하겠습니다. 이 논문들은 비슷한 문제를 다루지만 각기 서로 다른 관점에서 접근하고 있습니다. 그래서, 이 서로 다른 관점을 한데 모으면 더 좋은 시스템, 더 좋은 추론을 할 수 있지 않을까 하는 생각까지 함께 해 봤습니다.

물론, ‘One size fits all’은 없는 거죠 - 간단한 작업이라면 이 논문들에서 제시하는 고급의 기법들이 필요하지 않을 것이고, 결국은 내가 만들려고 하는 AI 제품이나 서비스의 성격과 요구 사항을 이해하고 정리해 나가는 작업이 어찌보면 가장 중요한 것 같습니다.

또 하나는, AI의 새로운 가능성을 열기 위해서, 연구자들 간의 더 많은 협력이 적극적으로 일어나면 좋겠다는 생각도 가져 봅니다. 위에서 간단하게 사례로 생각해 본 것처럼, AI의 진화는, 서로 다른 아이디어, 접근 방식이 충돌하고 섞이면서 일어나는 것이니까요.

*읽어주셔서 감사합니다. 주위 분들께도 튜링 포스트 코리아 뉴스레터 구독 추천 부탁드립니다!

Reply

or to participate.