Skeleton of Thought: LLM 답변 속도를 2~3배 더 빠르게 만들기
요약
Skeleton of Thought(SoT)는 LLM의 순차적 토큰 생성 방식을 개선하여 답변 속도를 2~3배 높이는 기법입니다. 질문에 대한 요점(Skeleton)을 먼저 생성한 뒤, 각 요점을 병렬로 확장하고 다시 결합하는 방식으로 지연 시간을 단축합니다.
핵심 포인트
- 스켈레톤 생성 후 각 요점을 병렬로 확장하여 처리 속도 향상
- 순차적 시간 대비 가장 긴 요점의 시간만큼만 대기하여 지연 시간 감소
- 연쇄적 추론이 필요한 작업에는 부적합하며 독립적인 요점 구성 시 유리
- 총 토큰 소비량과 요청 수는 증가하지만 사용자 체감 속도는 대폭 개선
LLM은 한 번에 하나의 토큰씩, 엄격하게 왼쪽에서 오른쪽 방향으로 답변을 작성합니다. 500번째 토큰은 499번째 토큰이 존재하기 전까지 시작할 수 없으므로, 하드웨어가 아무리 빨라도 철저한 답변은 느리게 느껴질 수밖에 없습니다. **Skeleton of Thought (SoT)**는 바로 이 점, 즉 순차적인 임계 경로 (sequential critical path)의 길리를 공략합니다.
아이디어
대부분의 답변은 사실 반독립적인 부분들의 목록입니다: 팁, 섹션, 비교의 측면들 같은 것 말이죠. SoT는 이를 세 단계로 활용합니다:
- 스켈레톤 (skeleton) 요청 — 산문 없이 짧은 요점 제목만 작성.
- 모든 요점을 병렬로 확장 (Expand every point in parallel) — 각 요점마다 하나의 요청을 동시에 보냄.
- 순서대로 다시 결합 (Stitch).
확장 과정이 서로 의존하지 않기 때문에, 이들은 동시에 실행될 수 있습니다.
스켈레톤 호출 (The skeleton call)
const skeleton = await llm(
`"${q}"에 대해 오직 3~8개의 번호가 매겨진 요점 제목으로만 답변하세요. 각 제목은 6단어 이내여야 합니다.`);
const points = skeleton.split("\n").filter(Boolean);
매우 작고 빠릅니다. 또한 이는 계획 (plan)의 역할도 겸하며, 이는 자유 형식의 글쓰기보다 최종 답변을 더 잘 조직되게 만드는 경향이 있습니다.
병렬 확장 — 속도가 발생하는 지점
const parts = await Promise.all(points.map((p, i) =>
llm(`Q: ${q}\nOutline: ${skeleton}\n${i+1}번째 요점을 1~2문장으로 확장하세요.`)
));
1번 요점, 그다음 2번, 그다음 3번을 기다리는 대신, 가장 오래 걸리는 요점이 완료될 때까지 한 번만 기다리면 됩니다.
수학적 계산
- 순차적 시간 (Sequential time) ≈ 스켈레톤 + 모든 요점의 합 (sum).
- SoT 시간 ≈ 스켈레톤 + 단 하나의 가장 긴 요점.
길이가 비슷한 5개의 요점이 있다면, 대략 5번의 요점 시간 대 1번의 요점 시간과 같으며, 보고된 속도 향상은 약 2배 이상입니다.
사용하지 말아야 할 때
병렬 처리는 요점들이 독립적일 때만 안전합니다. 연쇄적 추론 (Chained reasoning) — 수학 증명이나 3번 요점이 2번 요점을 필요로 하는 단계별 유도 과정 — 은 이 방식을 망가뜨립니다. 이 부분을 검사(Gate)하여 일반적인 생성 방식으로 돌아가야 합니다.
트레이드오프 (The trade-off)
SoT는 공짜가 아닙니다. 더 많은 총 토큰(each expansion이 질문과 개요를 컨텍스트로 반복함)을 소비하며, 더 많은 요청(requests)을 보냅니다. 여러분이 얻는 것은 바로 **지연 시간 (latency)**입니다. 즉, 사용자가 완전하고 구조화된 답변을 훨씬 더 빨리 보게 됩니다. 이는 임계 경로 (critical path)를 단축하기 위해 더 많은 총 작업을 수행하는, 분산 시스템 (distributed-systems)의 전형적인 거래 방식입니다. 또한 스트리밍 UI (streaming UIs)와도 아름답게 어우러집니다.
실제 타이밍을 통해 순차적 방식 (sequential) 대 SoT의 경주를 여기서 확인하세요:
https://dev48v.infy.uk/prompt/day22-skeleton-of-thought.html
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기