badtheorylabs/BTL-4
Ornith-1.0-35B를 기반으로 execution-gated 방식으로 Fine-tune한 35B 에이전트 추론 모델
학습 방식 · Ornith-1.0-35B를 기반으로 Fine-tune한 에이전트형 추론 모델이며, 학습 데이터는 execution-gated reasoning corpus로 구성되어 있습니다. 이 코퍼스는 후보 추론 경로를 실제로 실행해 테스트를 통과한 경우에만 보존하는 방식으로 필터링했기 때문에 학습에 남은 추론은 실행 가능한 해법으로 이어지는 경로들입니다. 이러한 처리 과정이 도구 호출과 코드 생성 문제에서 실제 동작으로 이어지는 신뢰성을 높이는 구현적 근거가 됩니다.
TL;DR
Ornith-1.0-35B에서 Fine-tune한 35B 에이전트형 모델로, execution-gated 코퍼스를 사용해 실제로 실행·검증된 코드 경로만 학습에 남긴 점이 핵심 설계입니다. 이 처리 방식과 긴 컨텍스트(262144 native), 추론과 콘텐츠를 분리하는 파이프라인 연동으로 도구 호출과 코드 문제 해결 능력이 향상되어 BFCL v4(AST) 73.5%를 기록했고 LiveCodeBench v6에서 전체 66.1%를 보였습니다. 운영상으로는 reasoning을 별도 필드로 분리하고 출력 토큰 예산을 충분히 확보해야 하며, vLLM의 --reasoning-parser=qwen3 또는 llama.cpp의 --reasoning-format=deepseek 같은 설정을 통해 사고 누적을 막아야 합니다.
핵심 포인트
- 도구 호출 성능이 향상되어 BFCL v4 (AST)에서 73.5%를 기록했고, 같은 하니스·디코딩 조건에서 기반 모델 Ornith-1.0-35B의 69.2%보다 4.3 포인트 높은 수치를 보였습니다. 실행이 검증된 코드 경로만 학습 데이터로 유지한 execution-gated 접근법이 도구 호출과 실제 실행을 필요로 하는 작업에서 성능을 끌어올리는 핵심 처리 방식입니다. 이 때문에 도구 사용 시 더 신뢰가능한 호출·응답 흐름을 기대할 수 있습니다.
- 코드 문제 해결 능력이 강해 LiveCodeBench v6에서 전체 66.1%를 달성했고, 난도별로는 easy 99.1%, medium 86.7%, hard 60.5%를 보입니다. 라이브 코드 벤치에서 하드 문제가 집합의 45%를 차지해 전체 점수를 끌어내리는 주된 요인이 되었고, 출력 토큰 예산에 민감하여 16K에서 32K로 확장할 때 점수가 60.9%에서 66.1%로 상승했습니다. 따라서 긴 해답 생성이 요구되는 문제에선 출력 예산을 충분히 배정해야 최적 결과를 얻을 수 있습니다.
- 긴 컨텍스트 지원과 에이전트 워크플로 최적화가 설계 목표로, 네이티브 컨텍스트 길이가 262144 토큰이며 추론과 콘텐츠를 분리하는 파이프라인 처리를 권장합니다. vLLM에서는 reasoning-parser=qwen3, llama.cpp에서는 --reasoning-format deepseek 같은 설정을 통해 추론(체크·생각)과 최종 출력(발화)을 분리해야 사고 누적을 막을 수 있습니다. 이 처리 방식은 반복적 에이전트 대화에서 reasoning이 누적되어 불필요한 반복이나 비효율을 초래하는 문제를 예방합니다.
제한사항
- 대화형 채팅 모델로 설계되지 않아 기본 행태는 먼저 길게 생각하고 난 뒤에 응답을 출력하는 스타일입니다. 따라서 간단한 대화형 응답을 기대하면 응답이 과도하게 장황하거나 의도한 즉시성에 맞지 않을 가능성이 있습니다. 실사용에서는 채팅 전용 전처리나 후처리 계층을 두어 응답 길이와 상호작용 패턴을 조정해야 합니다.
- 추론(reasoning)이 에이전트 실행 과정에서 누적되는 문제가 있으며, 이를 방지하려면 하니스가 추론을 별도 필드(reasoning_content)로 분리해야 합니다. vLLM의 --reasoning-parser qwen3 또는 llama.cpp의 --reasoning-format deepseek 같은 설정으로 추론과 content를 분리하지 않으면 이전 생각이 content에 쌓여 반복 응답과 비종결 동작이 발생할 수 있습니다. 따라서 에이전트 통합 시 도구 파서와 reasoning 파서를 필수로 구성해야 합니다.
- 하드한 문제에서 토큰 소모가 크기 때문에 출력 예산 부족으로 중간에 잘리는 사례가 존재합니다. README에서 동일 셋을 16K로 운용할 때 23.5%의 문제가 솔루션 중간에서 잘려 0점 처리된 점이 보고되었으므로 긴 해법이 필요한 워크로드에선 충분한 max_new_tokens 또는 컨텍스트 예산을 준비해야 합니다. 요컨대 예산 설정이 결과에 직접적인 영향을 미치는 설계 제약이 존재합니다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| BFCL v4 (AST) | accuracy | 73.5% | Base Ornith-1.0-35B: 69.2% (paired comparison, identical harness/decoding) |
| LiveCodeBench v6 | pass@1 | 66.1% | No base comparison provided; official harness, 442 problems, run in-house |
| SWE-bench Verified | accuracy | 78.4% | — |
69
Likes
282
Downloads
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.