Division-of-Thoughts, 라우팅 단위를 질문에서 subtask로 내리면
요약
- 온디바이스 에이전트에는 근본 딜레마가 있습니다. 클라우드 LLM은 강하지만 비싸고 느리고 데이터가 밖으로 나가고, 로컬 SLM은 싸고 빠르지만 복잡한 추론에서 약합니다.
- 기존 접근은 질문 전체를 둘 중 하나에 통째로 보냅니다. 그래서 "쉬운 부분까지 비싼 모델에 보내는" 낭비가 생깁니다.
- DoT의 출발점은 관찰 하나입니다. 한 질문 안에서도 부분마다 난이도가 다릅니다.
- 이 논문의 기여 셋. ① 라우팅 단위를 질문에서 subtask로 내렸다는 게 진짜 기여입니다. ② 배정 경계를 사람 주석 없이 자기강화로 학습합니다. ③ 정확도를 일부 내줍니다.
- 결과는 7개 벤치마크에서 평균 시간 66.12% 감소, API 비용 83.57% 감소입니다. 다만 정확도는 과제에 따라 최대 13.89%p 손실이 납니다.
- 2차 자료가 "정확도 유지하며 비용 83% 절감"으로 요약하는 걸 자주 보는데, 평균만 인용하고 분산을 빼면 오도입니다.
1장. 어떤 논문인가
1.1 논문 정보
제목 Division-of-Thoughts: Harnessing Hybrid Language Model Synergy
for Efficient On-Device Agents
저자 Chenyang Shao, Xinyuan Hu, Yutang Lin, Fengli Xu
출처 arXiv:2502.04392 (2025년 2월)1.2 온디바이스 에이전트의 딜레마
클라우드 LLM (GPT-4o 급)
강하다
비싸다, 지연이 크다, 데이터가 밖으로 나간다
로컬 SLM (Llama 3-8B 급)
싸다, 빠르다, 기기 안에 머문다
복잡한 추론에서 약하다
온디바이스 에이전트는 이 사이에 낀다1.3 기존 접근의 한계
기존은 질문 단위 배정(query-level referral)입니다. 질문 하나를 통째로 보고 "이건 어려우니 클라우드로" 하고 넘깁니다.
문제는 질문이 균질하지 않다는 것입니다.
"작년 3분기 매출 데이터를 정리하고, 전년 대비 증감률을 계산해서,
그 원인을 경쟁사 동향과 엮어 분석해줘"
데이터 정리 쉽다. 로컬로 충분
증감률 계산 쉽다. 로컬로 충분
경쟁사 동향과 엮기 어렵다. 클라우드가 필요
그런데 질문 단위로 보면 "어려움"이라 전부 클라우드로 간다쉬운 두 부분까지 비싼 모델에 보내는 낭비가 구조적으로 생깁니다.
2장. 핵심 아이디어
2.1 문제 정식화
질문 T를 여러 독립적인 subtask로 분해합니다.
T ──► { t^1, t^2, ..., t^k }그리고 각 subtask를 로컬 SLM이나 클라우드 LLM 중 하나에 배정하는 매핑 M을 학습합니다.
배정 매핑 M
M : t^i ──► { M_D, M_C } 각 subtask 를 둘 중 하나에 배정
목표 : |M - M*| 를 최소화 이상적 배정 M* 에 최대한 가깝게
M_D 로컬 SLM (device)
M_C 클라우드 LLM (cloud)가능한 한 로컬을 쓰되, 꼭 필요한 subtask만 클라우드로 올리는 것이 목표입니다.
2.2 왜 이게 이득인가
질문 하나에 subtask 가 5개 있고
그중 1개만 어렵다고 하자
질문 단위 배정 5개 전부 클라우드. 비용 5
subtask 단위 1개만 클라우드. 비용 1 + 로컬 4
입도를 낮출수록 아낄 여지가 커진다대신 분해 비용과 통합 복잡도가 새로 생깁니다. DoT는 그 교환이 이득이라고 주장합니다.
3장. 세 부품
3.1 전체 구조
사용자 질의 T
│
▼
① Task Decomposer 질문을 겹치지 않는 독립 subtask 로 분해
│
▼
② Task Scheduler subtask 간 의존성을 DAG 로 만들고 depth 계산
│
▼
③ Plug-and-Play Adapter subtask 난이도 채점
│
├─ 쉬움 ──► 로컬 SLM (Llama 3-8B)
│
└─ 어려움 ──► 클라우드 LLM (GPT-4o)
│
└──► 결과를 통합해 최종 답3.2 Task Decomposer
메타 프롬프팅과 CoT 예시로 질문을 겹치지 않는 독립 subtask들로 쪼갭니다.
여기에 한계가 하나 숨어 있습니다. 벤치마크마다 사람이 만든 예시 8개를 프롬프트에 넣습니다. 저자도 이걸 한계로 명시했습니다. 5장에서 다시 짚습니다.
3.3 Task Scheduler, 의존성 그래프
subtask 간 선후 관계를 판정해 DAG로 만들고 각 노드의 depth를 계산합니다.
depth 0 데이터 조회 A 데이터 조회 B 서로 독립, 병렬 실행 가능
│ │
└────────┬───────────┘
▼
depth 1 증감률 계산
│
▼
depth 2 경쟁사 동향과 엮어 분석두 가지 이득이 여기서 나옵니다.
① 같은 depth 는 서로 독립이므로 병렬로 돌린다
순차 추론 대비 실행 시간이 줄어든다
② 프롬프트에는 선행 결과만 넣는다
각 subtask 프롬프트가 짧아져 토큰을 아낀다두 번째가 종종 간과됩니다. 분해의 이득은 라우팅만이 아니라 컨텍스트 축소에도 있습니다.
3.4 Plug-and-Play Adapter, 난이도 채점기
subtask가 로컬로 충분한지 판정하는 경량 모듈입니다. 세 부분으로 되어 있습니다.
3.4.1 임베딩
This sentence: "[text]" means in one word:
이 템플릿으로 LLM 을 통과시켜
마지막 생성 토큰의 은닉 상태를 문장 임베딩으로 쓴다3.4.2 MLP 헤드
약 13.1M 파라미터의 가벼운 어댑터가
임베딩을 난이도 점수로 매핑한다
로컬 Llama 의 약 1/800 크기
추가 부담이 거의 없다"채점기가 본 모델만큼 크면 의미가 없다"는 제약을 이 크기로 해결했습니다.
3.4.3 난이도 신호, α-Quantile
s_quant(x, a) = quantile_a ( p(y_1|x), p(y_2|x, y_1), ..., p(y_n|x, y_<n) )
생성된 토큰들의 확률을 늘어놓고 a-분위수를 취한다어려운 태스크일수록 토큰 확률이 낮다는 성질을 이용합니다. 별도 채점 모델을 부르지 않고 이미 나온 생성 확률을 재활용하는 게 이 신호의 장점입니다.
4장. α-Tree, 사람 주석 없이 경계 찾기
4.1 왜 필요한가
"어느 subtask를 로컬로 보낼지"의 정답 라벨이 필요한데, 그걸 사람이 만들면 확장이 안 됩니다.
4.2 절차
1. SLM 추론 결과의 α-분위수 확률로 subtask 를 정렬
2. 임계값 θ 로 로컬과 클라우드에 배정
3. 실행
│
├─ 정답이면 ──► 클라우드에 있던 고신뢰 태스크 N 개를 SLM 으로 당긴다
│ (더 아낄 수 있다는 신호)
│
└─ 오답이면 ──► SLM 의 저신뢰 태스크 N 개를 클라우드로 넘긴다
(너무 아꼈다는 신호)
4. 수렴할 때까지 반복실행 정오답 피드백만으로 최적 배정 경계를 스스로 찾습니다.
4.3 다른 방법과 비교
| 구축법 | SLM 사용률 | API 비용 |
|---|---|---|
| α-Tree (n=2) | 86.45% | 5.12달러 |
| 이진 탐색 | 69.46% | 16.45달러 |
| 제로샷 LLM | 53.11% | 2.56달러 |
α-Tree는 성공률 96.34%를 평가 2.34회로 달성했습니다.
읽는 법입니다.
제로샷 LLM 은 비용이 가장 싸다
그런데 SLM 사용률이 절반밖에 안 된다
즉 라벨 만드는 건 쌌지만 결과가 나쁘다
이진 탐색은 비용이 3배 넘게 든다
그런데 SLM 사용률이 α-Tree 보다 낮다
α-Tree 는 중간 비용으로 최고 사용률"라벨 만드는 비용"과 "만들어진 라벨의 품질"을 함께 봐야 이 표가 읽힙니다.
5장. 실험 결과
5.1 설정
벤치마크 7종, 각 200개
논리 P3, SCAN
수학 MATH, CHAMP, DROP
상식 CSQA
웹 WebShop
모델 클라우드 GPT-4o, 로컬 Llama 3-8B
비교군 CoT (단일 LLM 순차)
ToT (M=5)
DataShunt (질문 단위 배정)
어블레이션5.2 핵심 성능
최고 baseline 대비 평균 시간 66.12% 감소, API 비용 83.57% 감소입니다.
상식 추론(CSQA)의 예입니다.
| 방법 | 정확도 | 시간 | API 비용 |
|---|---|---|---|
| DoT | 82% | 9.9초 | 0.49¢ |
| CoT (단일 LLM) | 80% | 17.0초 | 3.60¢ |
정확도는 오히려 2%p 높은데 비용은 약 1/7입니다. 이 케이스만 보면 완벽해 보입니다.
5.3 정확도 손실을 함께 봐야 한다
논문을 인용할 때 반드시 함께 말해야 하는 부분입니다.
7 개 벤치의 정확도 변화
-2.38 -7.35 -13.89 -6.35 +1.75 +5.59 0 (%p)
벤치에 따라 최대 13.89%p 까지 떨어진다"정확도 비슷"이라는 요약은 절반만 맞습니다. 비용과 속도 이득이 크지만, 과제에 따라 두 자릿수 정확도 손실을 감수한다는 뜻입니다.
5.4 한계
일반화 부담
벤치마다 사람이 만든 예시 8개가 필요하다
새 도메인에 붙이려면 그 도메인용 분해 예시를 만들어야 한다
정확도 편차
어떤 과제에서 왜 크게 떨어졌는지는
논문에서 충분히 분석되지 않았다
전이의 범위
같은 범주(수학류) 안에서 어댑터 전이는 거의 무손실
범주 간 전이는 소폭 저하. 그래도 무학습보다는 낫다6장. 의의와 정리
6.1 무엇을 보인 논문인가
"질문을 쪼개 난이도별로 모델을 나눈다"는 subtask 단위 하이브리드 라우팅을, 사람 주석 없이 자기강화로 학습 가능함을 보인 실증 사례입니다.
6.2 라우팅 입도라는 관점
이 논문은 라우팅 입도를 한 단계 낮추면 무엇이 얻어지는가에 대한 답입니다.
모델 단위 라우팅 이 요청은 어느 모델로?
질문 단위 라우팅 이 질문은 로컬인가 클라우드인가
subtask 단위 라우팅 이 질문의 이 부분은?
입도를 낮출수록 아낄 여지가 커진다
대신 분해 비용과 통합 복잡도가 생긴다같은 발상이 다른 데서도 반복됩니다. 계산을 균등하게 쓰지 않고 어려운 곳에 몰아준다는 원리입니다.
6.3 난이도 신호의 한계
논문을 읽고 나서 남는 가장 실질적인 의문입니다.
α-분위수는 모델의 자신감을 재는 것이지
정답 여부를 재는 게 아니다
자신 있게 틀리는 경우는 이 신호로 못 잡는다
그리고 그런 케이스가 5.3 의 정확도 손실에
얼마나 기여했는지는 논문에서 분리되지 않았다6.4 용어 정리
| 용어 | 한 줄 뜻 |
|---|---|
| SLM | 로컬 기기에 올리는 작은 언어모델 |
| subtask 분해 | 질문을 독립적으로 풀 수 있는 작은 문제들로 쪼개기 |
| 질문 단위 배정 | 질문 전체를 보고 로컬과 클라우드 중 하나로 보내는 기존 방식 |
| DAG | subtask 간 선후관계를 노드와 간선으로 표현한 그래프 |
| depth | DAG에서 노드의 계층. 같은 깊이는 병렬 실행 가능 |
| α-quantile 난이도 | 토큰 확률열의 분위수로 subtask 난이도를 추정 |
| α-Tree | 실행 정오답 피드백만으로 배정 경계를 조정하는 자기강화 절차 |
| Plug-and-Play Adapter | 로컬 모델의 1/800 크기로 난이도를 채점하는 경량 MLP |
6.5 참고자료
'AI Agent > Patterns' 카테고리의 다른 글
| Reflexion (0) | 2025.10.19 |
|---|---|
| Plan and Solve (0) | 2025.10.05 |
| ReWOO: Decoupling Reasoning from Observations for Efficient Augmented Language Models (0) | 2024.10.14 |
| ReAct (Reasoning + Acting) (0) | 2024.02.05 |
댓글