본문으로 건너뛰기

소형 모델 추론을 세 단계로 고정한 Scaffold-CoT 데이터셋

Scaffold-CoT는 소형 모델의 추론을 고정 형식과 세분화된 학습 예시로 구조화한 약 4M 규모 데이터셋입니다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Specific-Labs가 소형 모델의 자유 형식 Chain-of-Thought를 보완하기 위해 Inventory, Interaction, Execution 세 구간을 고정한 약 4M 예시 규모의 Scaffold-CoT 데이터셋을 공개했습니다. 데이터셋은 약 3B 토큰, 최대 2048 토큰 예시, 18개 domain과 798개 subdomain으로 구성되어 code·Calibration·Tool Calling·selfcheck 같은 작업별 학습을 지원합니다. 실제 도구를 실행한 87,162개 예시와 12개 오류 유형으로 나뉜 selfcheck 데이터가 포함되어 출력 형식과 오류 복구를 검증할 수 있습니다. 영어만 지원하고 형식 유연성이 낮으며 542개 예시에 불필요한 domain label이 남아 있다는 한계가 있고, 초기 LFM과 Gemma 4 실험에서는 benchmark와 체감 품질의 개선이 관찰됐습니다.

실용적 조언

  • 특정 실패 유형이나 작업에 맞춰 학습하려면 metadata의 domain과 subdomain을 기준으로 데이터셋을 먼저 좁히는 방식이 적합합니다. 예를 들어 tool_use_complex만 선택하면 복잡한 도구 호출 체인을 별도로 학습할 수 있고, multi_step_real_execution subdomain을 사용하면 실제 실행 결과가 포함된 예시만 고를 수 있습니다. 작성자가 제공한 load_dataset과 filter 코드는 이 선택 과정을 바로 재현하는 기본 형태입니다.
  • Scaffold-CoT를 학습할 때는 작성자의 권고대로 이미 SFT된 모델보다 base model을 우선 비교하는 편이 좋습니다. 학습 후에는 Inventory, Interaction, Execution 헤더가 유지되는지 Regex로 검사하고, selfcheck 예시에서 실제 오류 수정이 발생하는지 별도로 평가해야 합니다. 모델의 형식 준수뿐 아니라 benchmark 점수와 도구 실패 복구율을 함께 측정해야 구조화 추론의 효과를 구분할 수 있습니다.

섹션별 상세

01
작성자는 5B 미만 소형 모델에서 자유 형식 Chain-of-Thought가 능력 향상보다 혼란스럽고 비구조적인 답변을 자주 만든다는 관찰을 바탕으로 Scaffold-CoT를 구축했습니다. 모든 예시는 Inventory, Interaction, Execution 세 구간을 같은 순서로 사용해 모델이 매번 추론 형식을 다시 결정하지 않도록 했습니다. 데이터셋은 약 4M 예시와 약 3B 토큰으로 구성되며 각 예시의 최대 길이는 2048 토큰입니다.
02
데이터셋은 code 669,517개, general 643,561개, antihal 502,151개 등 18개 domain과 798개 subdomain으로 세분화되어 있으며, 전체 예시는 특정 domain과 비어 있지 않은 subdomain을 가집니다. 네 가지 깊이 단계가 가장 얕은 예시와 가장 깊은 예시 사이에 약 5.6배 차이를 두어 모델이 항상 같은 길이로 사고하지 않고 문제에 따라 추론량을 조절하도록 구성했습니다. 작성자는 topic과 subtopic 기반 분류가 소형 모델의 주제별 적응과 특정 실패 지점에 맞춘 학습을 돕는다고 설명했습니다.
03
Calibration 영역에는 antihal, antihal_kb_refined, selfcheck를 합쳐 약 681k 예시가 들어 있으며, selfcheck는 논리적 비약, 잘못된 가정, 용어 혼동, 단위 오류, off-by-one 등 12개 오류 유형으로 나뉩니다. Tool Calling 예시 279k개 중 87,162개는 harness가 모든 도구를 실제 실행하고 결과를 대화 기록에 삽입했으며, 평균 도구 호출 수는 예시당 4.2회입니다. 이 실행 예시들은 100% 실제 실패와 복구를 포함하므로, 모델이 도구 결과를 임의로 생성하는 대신 전달받은 결과를 중심으로 추론하도록 학습할 수 있습니다.
04
품질 관리를 위해 예시의 30~50%를 제거했고, 2048 토큰 제한, 중복 제거, LLM Judge 검수, 세 헤더와 불릿 본문 유지, 주제별 반복 제한을 적용했습니다. 누출 점검에서는 깨진 Scaffold, 닫히지 않은 think block, 생성기 잔여물, 템플릿 자리표시자를 포함한 11,293개 예시가 제거되었으며 이는 0.31%에 해당합니다. 한편 영어만 지원하고 형식 유연성이 떨어지며, 97개의 불필요한 domain label에 542개 예시가 남아 있다는 한계도 함께 밝혔습니다.

용어 해설

사고 과정 추론(Chain-of-Thought)
Chain-of-Thought는 모델이 답만 출력하지 않고 중간 추론 단계를 생성하는 방식입니다. 이 글에서는 소형 모델의 자유 형식 추론이 불안정하다는 문제를 보완하기 위해 고정된 단계 구조를 학습시키는 방식으로 활용됩니다.
파인튜닝(Fine-tuning)
Fine-tuning은 이미 학습된 모델을 특정 데이터셋의 입력과 출력 패턴에 맞춰 추가 학습하는 과정입니다. 글에서는 Scaffold-CoT를 base model에 학습시키는 편이 이미 SFT된 모델보다 초기 실험에서 더 나았다는 경험이 제시됩니다.
불확실성 보정(Calibration)
Calibration은 모델이 아는 범위와 모르는 범위를 구분하고 확신의 정도를 답변에 반영하는 과정입니다. Scaffold-CoT는 지식 경계 확인, 잘못된 전제 점검, 자체 오류 수정 예시를 묶어 소형 모델의 과도한 확신과 환각을 줄이는 데 초점을 둡니다.
도구 호출(Tool Calling)
Tool Calling은 모델이 외부 함수나 도구를 호출하고 반환된 결과를 다음 추론에 사용하는 방식입니다. 이 데이터셋에는 실제 도구를 실행한 뒤 결과를 대화 기록에 삽입한 예시가 포함되어 도구 결과를 임의로 만들어내는 경로를 차단합니다.
정규표현식(Regex)
Regex는 문자열이 특정 패턴을 따르는지 기계적으로 검사하는 표현식입니다. 모든 예시가 Inventory, Interaction, Execution 순서를 따르므로 Fine-tuning 후 모델 출력에서 Scaffold가 깨졌는지를 자동 판별하는 데 사용할 수 있습니다.

코드 예제

python
ds = load_dataset("Specific-Labs/Scaffold-CoT", split="train")
tools = ds.filter(lambda r: r["metadata"]["domain"] == "tool_use_complex")

Hugging Face 데이터셋을 불러온 뒤 metadata의 domain 값이 tool_use_complex인 예시만 필터링합니다.

언급된 도구

Express.js중립

예시 프롬프트에서 middleware chain을 실행하는 서비스 구성 요소로 등장합니다.

Pulumi중립

예시 프롬프트에서 health check 대상 endpoint를 프로비저닝하는 도구로 등장합니다.

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 25.수집 2026. 08. 25.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.