TL;DR
이 프로젝트는 Qwen3-4B-Instruct와 LoRA를 사용해 작은 모델의 한 번짜리 추론을 여러 단계의 호출로 나누고, 각 호출 사이에 코드 기반 사실 검증과 산술 계산을 배치했습니다. 동일 가중치 비교에서 인증 기준 통과율은 0/16에서 6/16으로 높아졌고, 외부 holdout 문제에서도 harness가 5개로 one-pass 1개와 Qwen3-4B-Thinking 2개를 앞섰으며 토큰 비용은 최대 1,360으로 측정됐습니다. 그러나 자체 생성 문제에서 얻은 strict-clean 성능은 holdout에서 양쪽 모두 0/16으로 재현되지 않았고, 앞 단계의 제약을 뒤 선택 단계가 위반하는 cross-stage contradiction도 남았습니다. 따라서 코드로 사실과 계산을 고정하는 효과는 확인됐지만, 단계 간 논리 일관성과 일반화는 아직 해결되지 않은 과제입니다.
주요 논점
동일한 Qwen3-4B-Instruct와 LoRA 가중치에서도 모델 호출을 작은 단계로 나누고 코드 검사를 삽입하면 one-pass보다 인증 기준 통과율과 외부 holdout 성적이 높아졌습니다. 사실 추출, 산술 계산, 출력 조립을 코드로 분리한 점이 개선의 핵심으로 제시됐습니다.
자체 생성 문제에서 얻은 0%에서 88%까지의 strict-clean 상승은 외부 holdout에서 재현되지 않았고, 두 평가군 모두 0/16을 기록했습니다. 또한 단계별 검증을 통과한 정보가 최종 선택 단계에서 모순되는 문제가 계속 남았습니다.
하네스는 작은 모델의 비용과 출력 통제를 개선할 가능성을 보였지만, 현재 결과만으로 규모를 구조가 대체한다고 결론 내리기는 어렵습니다. cross-stage contradiction이 모델 가중치의 한계인지 추가적인 일관성 검사로 줄일 수 있는지는 아직 확인되지 않았습니다.
합의점 vs 논쟁점
합의점
- 사실 검증과 산술 계산처럼 원문 일치 여부와 수치 처리가 명확한 작업은 코드로 분리할수록 출력 통제가 쉬워집니다. 작성자의 실험에서는 추출된 숫자를 원문과 대조하고 계산 결과를 anchor block에 기록하는 방식이 사용됐습니다. 반면 단계 사이의 선택 일관성은 같은 방식만으로 해결되지 않았습니다.
- 자체 생성 문제에서 얻은 성능은 외부 holdout 문제로 반드시 확인해야 합니다. 이 글에서는 자체 문제의 strict-criterion 결과가 holdout에서 0/16으로 재현되지 않았습니다. 작성자는 이 실패를 README에 승리 결과와 같은 비중으로 기록했습니다.
논쟁점
- 4B 모델에서 cross-stage contradiction이 가중치 자체의 특성인지, 아니면 더 강한 단계 간 일관성 검사로 줄일 수 있는지는 결론이 나지 않았습니다. Qwen3-4B-Thinking도 이 오류를 부분적으로만 피했습니다. 7B에서 14B 사이의 규모 증가가 모순을 없애는지 줄이기만 하는지는 추가 실험이 필요합니다.
- harness가 Qwen3-4B-Thinking보다 낮은 토큰 비용으로 holdout 점수를 앞섰지만, 평가 문제가 16개뿐이고 strict-criterion 결과는 양쪽 모두 0/16이었습니다. 따라서 비용 대비 성능 우위와 일반화 실패가 동시에 존재합니다. 이 결과가 특정 문제 형식에 국한되는지도 더 넓은 문제군에서 확인해야 합니다.
실용적 조언
- 작은 모델 파이프라인에서는 모델이 숫자와 사실을 직접 계산하거나 기억하게 두지 말고, 추출 단계와 코드 검증 단계를 분리하는 편이 안전합니다. 숫자는 원문에 verbatim으로 존재하는지 검사하고, 산술 결과는 코드가 계산해 anchor block에 기록하도록 구성할 수 있습니다. 마지막 출력에는 이미 infeasible로 판정한 선택지를 다시 고르지 못하게 하는 guard와 숫자 형식 검사를 추가해야 합니다.
- 자체 생성 문제의 성능을 제품 품질로 해석하기 전에 하네스를 고정하고 별도 작성자가 만든 holdout 문제를 투입해야 합니다. 평가 프롬프트와 판정값을 고정하면 반복 측정에서 judge의 변동을 줄일 수 있습니다. 단, 단계별 결과가 서로 모순되지 않는지 확인하는 검사는 사실 일치 검사와 별도로 설계해야 합니다.
섹션별 상세
용어 해설
- 검증 하네스(Verification Harness)
- — 모델 호출 사이에 코드를 삽입해 추출된 사실을 원문과 대조하고, 산술 계산·출력 제약·금지 선택을 자동 검사하는 실행 구조입니다. 생성 결과를 그대로 신뢰하지 않는 것이 핵심입니다.
- 앵커 블록(Anchor Block)
- — 검증된 사실을 바탕으로 코드가 계산 결과와 핵심 제약을 고정해 두는 중간 데이터 블록입니다. 이후 추론 단계는 이 블록만 받아 사실과 계산 결과가 바뀌지 않게 합니다.
- 단계 간 모순(Cross-Stage Contradiction)
- — 앞선 단계에서 올바르게 식별한 제약이나 사실을 뒤의 선택 단계가 위반하는 오류입니다. 각 단계의 사실 검증만으로는 단계 사이의 논리적 일관성까지 보장하기 어렵습니다.
- LLM 평가자(LLM Judge)
- — 고정된 프롬프트를 사용해 모델 출력의 정합성이나 기준 충족 여부를 판정하는 별도 언어 모델입니다. 이 글에서는 캐시된 판정값으로 반복 평가의 변동을 줄였습니다.
- 홀드아웃 문제(Holdout Problems)
- — 하네스와 문제 생성 과정에 사용하지 않고 평가 단계에서 처음 투입하는 검증용 문제 세트입니다. 자기 생성 문제에만 맞춘 성능인지 외부 문제에서도 유지되는지 확인하는 데 쓰입니다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.