한눈에 보는 Chain-of-Tools
Chain-of-Tools(CoTools)는 대규모 언어 모델(LLM)이 학습하지 않은 도구까지 자유롭게 활용할 수 있게 하는 혁신적인 방법입니다. 기존의 도구 학습 방식과 달리, 언어 모델을 동결(frozen)한 상태로 유지하면서도 수천 개의 다양한 도구를 효과적으로 선택하고 활용할 수 있는 기술입니다.
마치 처음 보는 앱이나 웹사이트를 직관적으로 사용할 수 있는 것처럼, Chain-of-Tools는 LLM이 처음 접하는 도구도 그 설명만 보고 적절하게 활용할 수 있게 해줍니다. 더 나아가 이 기술은 LLM의 본래 추론 능력을 해치지 않으면서도 외부 도구의 힘을 빌릴 수 있게 하는 균형을 실현했습니다.
왜 Chain-of-Tools가 중요한가?
최근 다양한 외부 도구와 연결을 바탕으로 새로운 어플리케이션을 만들어내고자하는 MCP (MCP, Model Context Protocol)가 핫합니다. 이를 통해 만들어질 AI 비서는 단순한 텍스트 생성을 넘어 실제로 사용자의 작업을 도울 수 있게 합니다.
하지만 기존의 도구 학습 방식은 두 가지 큰 한계가 있었습니다:
- 미세 조정(Fine-tuning) 방식: 모델이 학습한 도구만 사용 가능하며, 새로운 도구를 추가할 때마다 모델을 재학습해야 함
- 문맥 학습(In-context learning) 방식: 학습하지 않은 도구도 사용 가능하지만, 도구가 많아지면 효율성이 급격히 떨어짐
Chain-of-Tools는 이 두 접근법의 장점만을 결합해, LLM이 수천 개의 도구 중에서 적절한 것을 선택하고, 심지어 한 번도 학습하지 않은 도구까지 활용할 수 있게 했습니다.
Chain-of-Tools의 작동 원리
Chain-of-Tools는 세 가지 핵심 모듈로 구성됩니다:
1. Tool Judge
LLM이 답변을 생성하는 과정에서 각 단계마다 "지금 도구를 사용해야 할까?"를 결정합니다. 모델이 생성하는 히든 스테이트(hidden state)를 입력으로 받아 도구 호출 여부를 판단합니다.
ScoreJ = J(ht) ∈ [0, 1]
만약 점수가 임계값(보통 0.5)보다 높으면 도구를 호출합니다.
2. Tool Retriever
어떤 도구를 사용할지 결정하는 역할을 합니다. 쿼리 인코더와 도구 인코더로 구성되어 있으며, 두 인코더 모두 LLM의 히든 스테이트를 변환하여 벡터 공간에서 유사도를 계산합니다.
ScoreQ,T = VQ · VT (쿼리 벡터와 도구 벡터의 내적)
3. Tool Calling
선택된 도구의 매개변수를 생성하고, 도구를 실행한 후 결과를 답변에 통합합니다. 이 과정에서 문맥 학습(ICL)을 활용해 적절한 매개변수를 생성합니다.
기존 방식과의 차별점
Chain-of-Tools의 가장 큰 혁신은 기초 모델을 동결 상태로 유지하면서도, 모델이 생성하는 히든 스테이트를 활용해 도구 선택과 호출을 수행한다는 점입니다.
이것은 마치 언어 모델의 "생각하는 과정"을 엿보고, 그 과정에서 적절한 순간에 적절한 도구를 제안하는 것과 같습니다. 특히 중요한 점은:
- 지식 보존: 언어 모델의 원래 추론 능력이 그대로 유지됨
- 효율성: 수천 개의 도구를 효율적으로 관리할 수 있음
- 유연성: 새로운 도구가 등장해도 모델을 재학습할 필요 없음
검증된 성능
연구팀은 Chain-of-Tools를 네 가지 벤치마크로 평가했습니다:
수치 추론 작업
- GSM8K-XL: 기본 산술 연산을 도구로 활용
- FuncQA: 13가지 산술 도구를 활용한 단일/다중 단계 질문
지식 기반 질문 답변
- KAMEL: 234개의 Wikidata 관계를 도구로 활용
- SimpleToolQuestions: 연구팀이 새로 만든 데이터셋으로, 999개의 학습된 도구와 837개의 처음 보는 도구를 포함
특히 주목할 결과는:
- Mistral-7B 모델 기반 GSM8K-XL: CoTools가 42%로 기존 방식보다 훨씬 높은 정확도
- 처음 보는 도구 처리: 학습하지 않은 837개 도구에 대해 CoTools는 10.4%의 정확도를 보인 반면, 비교 모델인 ToolkenGPT는 0%
- 합성 데이터 학습: 낮은 품질의 학습 데이터에서도 CoTools는 43.6%로 ToolkenGPT의 20.6%보다 월등히 높은 성능
실제 활용 가능성
Chain-of-Tools 연구에서 흥미로운 발견 중 하나는 LLM의 히든 스테이트 중 일부 차원만이 도구 선택에 중요한 역할을 한다는 점입니다. 4,096개 차원 중 약 1,561개만 사용해도 성능 저하가 거의 없었습니다.
이는 LLM이 정보를 어떻게 표현하는지에 대한 중요한 통찰을 제공하며, 모델 해석 가능성을 높이는 데 기여합니다.
마무리리
Chain-of-Tools는 다음과 같은 방향으로 AI 비서의 발전을 가속화할 것으로 예상됩니다:
- 도구 생태계 확장: 다양한 분야의 전문 도구를 AI가 자유롭게 활용
- 멀티모달 통합: 다양한 형태의 입력(이미지, 오디오 등)에 적합한 도구 선택
- 개인화된 도구 세트: 사용자별 맞춤형 도구 모음을 효율적으로 관리
최근 OpenAI의 ChatGPT나 Anthropic의 Claude와 같은 모델들도 다양한 플러그인과 도구를 지원하기 시작했습니다. Chain-of-Tools의 접근법은 이러한 도구 활용의 확장성과 유연성을 크게 높일 수 있는 방향을 제시합니다.
'AI > DeepLearning' 카테고리의 다른 글
DNN 회귀 모델 스크레치 구현 및 역전파 완전 정리로 빠르게 복습하기 (0) | 2025.03.24 |
---|---|
[DL] Transformer 코드로 공부하기 (6) | 2025.03.15 |