incoai/Qwen3.8-27B-DFlash2
Qwen3.8-27B의 여러 토큰을 병렬 draft하고 target model 검증으로 추론 처리량을 높이는 모델
학습 방식 · Qwen/Qwen3.8-27B를 target model로 삼는 DFlash 2 block-diffusion draft model이며, 학습 데이터나 구체적인 Fine-tuning 방식은 README에 공개되지 않았습니다. 모델은 블록 단위 후보 생성과 Parallel Path Selector를 통해 추론 중 draft token 경로를 구성합니다. 최종 출력은 target model의 검증 절차를 거치므로 decoding 결과의 일치성과 sampling 분포 보존을 목표로 합니다.
TL;DR
incoai/Qwen3.8-27B-DFlash2는 Qwen/Qwen3.8-27B를 위한 standalone 모델이 아닌 DFlash 2 speculative decoding용 draft model입니다. block-diffusion 방식으로 여러 토큰 후보를 한 번에 만들고 Parallel Path Selector가 일관된 경로를 고른 뒤, target model이 이를 검증합니다. 두 개의 tap을 사용하는 dynamic short convolution은 블록 뒤쪽의 draft 품질 저하를 줄이며 greedy 출력과 sampling 분포를 target model에 맞춥니다. NVIDIA H200과 SGLang 기준 단일 동시성 GSM8K에서 236.1 output tok/s와 3.43× speedup을 기록했으며, 실사용에는 Qwen/Qwen3.8-27B와 SGLang 또는 vLLM 설정이 필요합니다.
핵심 포인트
- DFlash 2는 Qwen/Qwen3.8-27B가 생성할 다음 토큰 블록을 한 번에 예측하는 추론 보조 모델입니다. 각 위치에서 상위 후보를 유지한 뒤 Parallel Path Selector가 후보 사이의 일관된 경로 하나를 선택합니다. target model이 최종 검증하므로 단독 대화 모델이 아니라 SGLang 또는 vLLM 내부에서 사용해야 합니다.
- Backbone은 Attention과 MLP를 반복하는 DFlash2 구조에 두 개의 tap을 사용하는 dynamic short convolution을 결합합니다. 이 연산은 블록 뒤쪽으로 갈수록 draft 품질이 떨어지는 현상을 줄이고 여러 토큰 후보를 병렬로 처리합니다. README는 greedy decoding에서 target model과 동일한 결과를 내며 sampling에서도 target model의 분포를 보존한다고 설명합니다.
- Qwen3.8-27B의 기본 autoregressive decoding을 대체해 검증 한 번마다 7개 draft token을 제안하는 방식입니다. SGLang에서는 speculation block size 8로 설정하고 vLLM에서는 num_speculative_tokens를 7로 지정합니다. 단일 동시성 GSM8K에서 236.1 output tok/s와 3.43× speedup을 기록해 MTP의 178.5 tok/s와 2.59×를 웃돌았습니다.
제한사항
- 이 checkpoint는 standalone language model이 아니므로 Qwen/Qwen3.8-27B 없이 정상적인 텍스트 생성을 수행하지 않습니다. SGLang 또는 vLLM 같은 speculative decoding 서버에 target model과 draft model 경로를 함께 등록해야 합니다. README의 Quick Start도 별도의 서버 설치와 speculation 설정을 요구합니다.
- 성능 수치는 NVIDIA H200 한 장, SGLang, FlashAttention 3, 동시성 1·8·32 조건에서 측정됐습니다. 다른 GPU, 엔진 버전, batch 구성에서는 output tok/s와 speedup이 달라질 수 있습니다. README에는 메모리 사용량이나 일반적인 standalone 품질 벤치마크 수치가 없습니다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| GSM8K Acceptance Length | 평균 completion tokens ÷ verification steps | 5.46 | MTP 5.02, DSpark 4.36 대비 높음 |
| MATH-500 Acceptance Length | 평균 completion tokens ÷ verification steps | 5.28 | MTP 4.72, DSpark 3.92 대비 높음 |
| HumanEval Acceptance Length | 평균 completion tokens ÷ verification steps | 4.39 | MTP 3.91, DSpark 3.30 대비 높음 |
| MBPP Acceptance Length | 평균 completion tokens ÷ verification steps | 4.79 | MTP 3.99, DSpark 3.51 대비 높음 |
| MT-Bench Acceptance Length | 평균 completion tokens ÷ verification steps | 4.10 | MTP 3.74, DSpark 3.01 대비 높음 |
| GSM8K Throughput, concurrency 1 | output tok/s | 236.1 (3.43×) | Autoregressive 68.9, MTP 178.5 (2.59×), DSpark 185.3 (2.69×) 대비 높음 |
| MATH-500 Throughput, concurrency 1 | output tok/s | 230.7 (3.34×) | Autoregressive 69.0, MTP 172.8 (2.51×), DSpark 174.5 (2.53×) 대비 높음 |
| HumanEval Throughput, concurrency 1 | output tok/s | 214.6 (3.11×) | Autoregressive 69.0, MTP 151.9 (2.20×), DSpark 159.9 (2.32×) 대비 높음 |
| MBPP Throughput, concurrency 1 | output tok/s | 226.9 (3.29×) | Autoregressive 69.0, MTP 153.1 (2.22×), DSpark 163.3 (2.37×) 대비 높음 |
| MT-Bench Throughput, concurrency 1 | output tok/s | 184.0 (2.67×) | Autoregressive 68.9, MTP 134.9 (1.96×), DSpark 137.6 (2.00×) 대비 높음 |
| GSM8K Throughput, concurrency 8 | output tok/s | 1,328.7 (2.84×) | Autoregressive 467.2, MTP 1,022.1 (2.19×), DSpark 1,040.8 (2.23×) 대비 높음 |
| MATH-500 Throughput, concurrency 8 | output tok/s | 1,368.3 (2.85×) | Autoregressive 480.0, MTP 1,023.5 (2.13×), DSpark 1,025.8 (2.14×) 대비 높음 |
| HumanEval Throughput, concurrency 8 | output tok/s | 1,291.5 (2.67×) | Autoregressive 483.4, MTP 934.2 (1.93×), DSpark 956.5 (1.98×) 대비 높음 |
| MBPP Throughput, concurrency 8 | output tok/s | 1,328.0 (2.78×) | Autoregressive 478.0, MTP 938.1 (1.96×), DSpark 974.1 (2.04×) 대비 높음 |
| MT-Bench Throughput, concurrency 8 | output tok/s | 1,090.2 (2.27×) | Autoregressive 480.5, MTP 835.2 (1.74×), DSpark 802.3 (1.67×) 대비 높음 |
| GSM8K Throughput, concurrency 32 | output tok/s | 1,922.5 (1.45×) | Autoregressive 1,329.8, MTP 1,381.1 (1.04×), DSpark 1,506.5 (1.13×) 대비 높음 |
| MATH-500 Throughput, concurrency 32 | output tok/s | 1,951.8 (1.30×) | Autoregressive 1,505.8, MTP 1,415.6 (0.94×), DSpark 1,429.0 (0.95×) 대비 높음 |
| HumanEval Throughput, concurrency 32 | output tok/s | 1,799.0 (1.16×) | Autoregressive 1,546.5, MTP 1,296.8 (0.84×), DSpark 1,330.1 (0.86×) 대비 높음 |
| MBPP Throughput, concurrency 32 | output tok/s | 1,886.8 (1.25×) | Autoregressive 1,507.7, MTP 1,314.9 (0.87×), DSpark 1,361.3 (0.90×) 대비 높음 |
| MT-Bench Throughput, concurrency 32 | output tok/s | 1,525.3 (1.01×) | Autoregressive 1,507.4, MTP 1,159.7 (0.77×), DSpark 1,115.5 (0.74×) 대비 높음 |
이미지 분석

95
Likes
1.5k
Downloads
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.