'Qwen 4 — 유출 보고서'라는 제목의 생성된 인포그래픽으로, '미검증 — 오픈 초안 PR' 배지 아래에 있으며, 부제는 'GR 및 PLE를 위한 LayerNorm 시퀀스 병렬화'이고, '출처: sgl-project/sglang #43048', '2026-10-08에 열림', '출시된 인스턴스: Qwen3.8-Flash-Next'라고 적힌 세 개의 칩과, '주장 — 32K 입력에서 TTFT 17.7-18.4% 향상'이라고 적힌 왼쪽 카드, '추가로 — GPU당 피크 메모리 1.0 GiB 감소'라고 적힌 오른쪽 카드, 그리고 '작성자가 4x H20에서 측정. PR은 공개, 초안, 미병합 상태.'라고 적힌 바닥글 줄이 있습니다. OrcaRouter 로고는 오른쪽 아래 여백 띠에 자리 잡고 있습니다.
Guides & Insights

Qwen 4 유출: SGLang, Qwen4Exp Prefill을 샤딩해 TTFT 18% 단축 및 GPU당 1GiB 회수

작성자

Magnus Corvin

게시일

최신 모델 · 20모든 모델 보기 →
벤치마크: Artificial Analysis · 매일 업데이트
모든 게시물로 돌아가기

오늘 아침 2026-10-08 03:47 UTC에 SGLang 저장소에 열린 풀 리퀘스트는 어떤 Qwen 4 발표도 아직 내놓지 못한 무언가, 즉 숫자를 약속한다. 제목은 feat(qwen4-exp): enable LayerNorm sequence parallelism for GR and PLE이며, FP8로 Qwen3.8-Flash-Next 체크포인트를 실행하는 H20 GPU 네 대에서 작성자는 32K 입력에서 17.7–18.4%, 235K 입력에서 14.6–14.7%의 첫 토큰 생성 시간 단축, GPU당 약 1기가바이트의 최대 메모리 회수, 그리고 최대 22% 더 많은 입력 처리량을 보고한다. Qwen 4 자체 — 2026-09-22 항저우의 Apsara 컨퍼런스에서 벤더가 이름은 붙였지만 출시하지는 않은 그 제품군 — 는 여전히 미출시이며, 가중치도, 식별자도, 가격도 없다. 오늘날 Qwen4Exp 아키텍처를 구현하는 유일한 모델은 2026-08-26에 공개된 Qwen3.8-Flash-Next이고, 그 관리형 형제인 Qwen3.8-Flash가 API 호출자가 실제로 접근할 수 있는 버전이다. 그러므로 다음 내용은 있는 그대로 읽어야 한다. 즉, 아직 존재하지 않는 모델 제품군의 서빙 범위에 관한, 공개된 초안이고 아직 병합되지 않은 풀 리퀘스트에 첨부된 한 엔지니어의 짝지은 측정치이다.

출처 확인이 먼저인데, 이 글이 유출성 기사이고 그 구분이 실질적인 역할을 하기 때문이다. 신호는 sgl-project/sglang#43048로, 2026-10-08 03:47 UTC에 GitHub 계정 shiyang814-cpu가 열었고, 마지막으로 손댄 시각은 03:55 UTC이며, 여전히 draft로 표시되어 있고, 승인 리뷰가 기록되지 않았으며 병합도 되지 않았다. 이 PR은 파일 6개 — 테스트 파일 2개, Qwen4Exp 모델 파일, LayerNorm-SP 모듈, 레이어 경계 팩터리, 그리고 인자 그룹 훅 — 을 변경하며 +345, −50줄이다. 아래의 모든 성능 수치는 PR 설명에서 나온 것으로, 작성자 본인의 OFF/ON 페어링 측정치이며, 누구에 의해서도 재현되지 않았다. 브랜치 끝의 리비전에 대한 CI 실행 3건은 실패로 표시되어 있다. 여기에 실려 있는 것은 출시된 기능이 아니다.

A screenshot of the GitHub pull request page for sgl-project/sglang#43048, titled 'feat(qwen4-exp): enable LayerNorm sequence parallelism for GR and PLE', shown with a Draft badge, opened by shiyang814-cpu with three commits into sgl-project:main, and counters reading Conversation 3, Commits 3, Checks 3 and Files changed 6, with a diff stat of +345 and -50. The Summary section states the PR extends the existing LayerNorm sequence-parallel path to Qwen4Exp / Qwen3.8-Flash-Next, and that during prefill the Gated Residual (GR/HC) and PLE activations are sharded along the token dimension across the tensor-parallel group while Attention, GDN/QSA and TP-MoE keep their existing full-token computation semantics through a shared fallback. The Performance section lists 4x NVIDIA H20, Qwen3.8-Flash-Next-FP8, TP4/EP4, chunked prefill size 8192 and FlashInfer linear-attention backends, with a table row reading '32K input, BS1 -> 17.72%-18.36%' TTFT.

pull request가 실제로 변경하는 내용

시퀀스 병렬화는 모델 변경이 아니며 새로운 기능도 아닙니다. 그것은 몇몇 레이어가 자신의 산술 연산을 수행하는 위치를 다시 배선하는 것입니다. 그 계보는 Megatron 스타일 시퀀스 병렬화, 즉 arXiv:2205.05198의 기법으로 거슬러 올라가며, SGLang은 이미 이를 제공합니다. 모듈 자체의 docstring이 그것이 재사용하는 메커니즘을 설명합니다. 순수 텐서 병렬화 아래에서 로우 병렬 all_reduce는 대수적으로 reduce_scatter 뒤에 all_gather가 오는 것과 같습니다. 왜냐하면 이 두 집합 연산은 대체하는 단일 all_reduce와 정확히 동일한 바이트를 이동하므로, 그런 식으로 연산을 분할해도 추가 통신량이 전혀 들지 않기 때문입니다. 이것이 주는 것은 정규화와 잔차 영역이 시퀀스 샤딩된 활성값에서 실행되도록 할 자유입니다 — 각 텐서 병렬 랭크가 토큰 행의 1/tp만큼을 보유하게 되며, 이는 긴 컨텍스트 프리필이 계속 살려 두어야 하는 일시적 활성화 메모리를 줄여줍니다.

이 특정 풀 리퀘스트가 하는 일은 기존 경로를 검증된 아키텍처에서 Qwen4Exp 아키텍처로 확장하는 것입니다. 프리필(prefill) 중에는 Gated Residual 및 Per-Layer Embedding 활성화가 TP 그룹 전체에 걸쳐 토큰 차원을 따라 샤딩된 상태로 유지됩니다. 어텐션 전, GDN 전, QSA 전, 그리고 Mixture-of-Experts 블록이 실행되기 전에 전체 토큰 행이 다시 all-gather되고, 기존의 전체 행 텐서 병렬 연산은 공유 폴백 뒤에서 변경 없이 실행되며, 그런 다음 reduce-scatter가 부분 기여분을 합산하여 각 랭크의 샤드를 복원합니다. 디코드(decode)는 새로운 경로를 전혀 건드리지 않습니다. 이 기능은 이미 존재하는 옵션 — --enable-layernorm-sp — 을 통해 접근할 수 있으며, Qwen4Exp 전용 플래그는 없고, 플래그가 없을 때 코드는 이전과 정확히 동일하게 동작합니다.

Qwen4Exp가 이것을 필요로 하는 아키텍처인 이유

이것이 특히 Qwen4Exp에 중요하고 모든 모델에 똑같이 중요한 것은 아닌 이유는 아키텍처 자체의 설계에 있습니다. Qwen3.8-Flash-Next는 Gated Residual 프로젝션을 모든 토큰 행에 각 디코더 레이어에서 적용합니다 — 구성은 48개 레이어에 걸쳐 4개의 잔차 스트림과 320의 병목 랭크를 선언하며 — 그리고 Per-Layer Embedding은 그 위에 두 번째 복제된, 토큰 행별 투영을 추가합니다. 텐서 병렬성 아래에서 두 작업 모두 자체적으로 분할을 강제할 TP 샤딩된 가중치 행렬을 가지고 있지 않기 때문에 모든 랭크에서 동일하게 복제됩니다. 이들의 토큰 차원을 샤딩하면 복제된 작업이 직접 제거되며, PR의 동기 부여 섹션에서 말하듯이, 이는 기존 텐서 병렬 레이아웃과 어텐션, GDN/QSA 및 MoE의 리덕션 시맨틱스를 보존하면서 일어납니다 — 이것이 이 변경을 영리하기보다 안전하게 만드는 부분입니다.

독자에게 그것이 무엇을 의미하는지 분명히 말할 가치가 있다. 이 PR에서 흥미로운 점은 SGLang이 더 빨라지고 있다는 것이 아니다. 그것은 Qwen4 아키텍처가 계층별 비용을 갖는다는 점인데, 그 비용은 토큰 수에 따라 확장되는 것이지 매개변수 수에 따라 확장되는 것이 아니다. 그리고 그 비용이 바로 긴 프리필에서 문제가 된다. 그것은 설계 지문이며, 스펙 시트가 결코 언급하지 않는 종류의 것이다.

측정된 델타

저자의 벤치마크는 하나의 구성을 고정하고 플래그를 토글합니다: NVIDIA H20 GPU 4개, Qwen3.8-Flash-Next-FP8, 텐서 병렬 4 및 전문가 병렬 4, 청크드 프리필 크기 8192, FlashInfer 선형 어텐션 프리필 및 디코드 백엔드, OFF와 ON에 동일한 서버 구성, OFF → ON → OFF → ON 서비스 재시작 번갈아 수행, 워밍업 요청과 함께 고정된 토큰 입력. 아래의 모든 수치는 해당 설정에서 나온 것이며 감사를 거치지 않았습니다:

• 32K 입력, 배치 크기 1 — TTFT 17.72–18.36% 향상, 엔드투엔드 지연 시간 약 16%, 입력 처리량 약 20%

• 235K 입력, 배치 크기 1 — TTFT 14.63–14.71% 개선, 엔드투엔드 지연 시간 약 14%, 입력 처리량 약 17%

• 32K 입력, 배치 크기 4 — TTFT 18.74% 향상, 종단 간 지연 시간 18.14%, 입력 처리량 22.14%

• 최대 메모리 — GPU당 약 1.0GiB 감소

• 디코드, 배치 크기 1 — 출력 토큰당 시간은 사실상 변화 없음

마지막 줄은 두 번 읽어야 할 문장이며, 저자는 그 이유를 솔직히 밝힌다: 이 최적화는 프리필에만 활성화되므로 단일 스트림 디코드는 여기서 아무것도 얻지 못한다. batch-4의 토큰당 시간 개선은, 나타나는 경우, 더 빠른 디코드 커널 때문이 아니라 동시에 진행되는 긴 프리필로 인한 스케줄링 지연 감소를 반영한다. 이것이 처리량 이야기이기를 바랐다면, 그렇지 않다 — 이것은 첫 토큰까지의 지연 시간과 메모리 이야기이며, 그 둘은 235K 토큰 요청이 애초에 서비스 가능한지 결정하는 두 가지 제약이다.

A generated single-column scoreboard titled 'Qwen4Exp prefill — the scoreboard', with six rows reading 'TTFT at 32K BS1: 17.7-18.4% faster', 'TTFT at 235K BS1: 14.6-14.7% faster', 'Input throughput at 32K BS4: 22.1% higher', 'Peak memory: 1.0 GiB less per GPU', 'Decode TPOT at BS1: unchanged' and 'Status: open, draft, unmerged', with a footer line reading 'Author-measured on 4x H20, TP4/EP4, FP8 weights. Not independently reproduced.' The OrcaRouter logo sits in the bottom-right padded strip.

그들이 가장 먼저 고쳐야 했던 레이아웃 버그

풀 리퀘스트에서 가장 유익한 부분은 속도 향상 표가 아니다. 바로 PLE 물리 행 레이아웃에 관한 섹션인데, 이는 Qwen4Exp 서빙 스택이 여전히 무엇을 잘못 처리하고 있는지 보여주기 때문이다.

Per-Layer Embedding은 고정된 CUDA-graph 버킷에서 동작하며, 해당 버킷의 행 중 오직 접두부만 실제 토큰을 담을 수 있습니다. 패딩은 적용되어야 합니다 먼저 시퀀스가 샤딩되기 전에, 그 후가 아닙니다. 235K 토큰 요청의 마지막 청크에서, 작성자가 기록한 수치는 TP 4에서 8,192행 물리 버킷 안의 5,624개 처리된 토큰입니다. 유일하게 올바른 레이아웃은 rank 0이 2,048개의 유효 행을, rank 1이 2,048개의 유효 행을, rank 2가 1,528개의 유효 행과 520개의 패딩 행을, rank 3이 2,048개의 행을 보유하는 것입니다. 5,624개 행을 샤딩하는 것 — 명백한 구현 — 은 전역적으로 연속된 유효 범위 사이에 패딩을 삽입하여 결과를 손상시킵니다. 작성자는 실제 235K OFF/ON 테스트가 동일한 16-token greedy 출력만을 생성했다고 기록합니다 — 후에야이 레이아웃이 수정된

그것은 작은 세부 사항이지만 큰 함의를 지닌다. SGLang의 PLE 경로는 비교적 최근에 추가되어서 이런 형태의 토큰 순서 버그가 여전히 발생할 수 있었다. 그리고 그것을 발견한 사람은 시퀀스 병렬 확장을 작성하고 있었다. 이 아키텍처에 대한 Day-zero 서빙 지원은 끝난 것이 아니다. 그것은 공개적으로, 기여자들에 의해, 한 번에 하나의 레이아웃씩 활발히 구축되고 있다.

당신이 치르는 대가: 제약 조건들

일부 배포에만 도움이 되는 플래그는 어느 배포에 도움이 되는지 알 때에만 유용하다. 그 PR은 요구 사항을 명시적으로 밝히며, 그 범위를 벗어난 구성은 조용히 성능이 저하되는 대신 인자 검증 단계에서 실패한다:

• 텐서 병렬 크기는 1보다 커야 합니다 — 단일 GPU 배포는 분할할 랭크가 없기 때문에 아무런 이점이 없습니다

• Expert parallel 크기는 tensor parallel 크기와 같아야 합니다.

• 파이프라인 병렬 크기는 1이어야 합니다

• 데이터 병렬 어텐션은 비활성화되어야 합니다

• 추측 디코딩은 비활성화되어야 합니다

마지막 제약은 실제 결정이 뒤따르는 제약입니다. 토큰당 약 6B 파라미터를 활성화하는 희소 모델에서 추측 디코딩은 디코드를 가속하는 몇 안 되는 지렛대 중 하나인데, 이 기능은 프리필 이득을 얻는 대가로 그 지렛대를 명시적으로 꺼버립니다. 워크로드가 긴 프롬프트에 짧은 출력 — 문서 및 코드베이스 분석, 비디오 요약, 한 번만 읽는 대용량 컨텍스트 — 이라면 이 맞교환은 명백히 이득입니다. 워크로드가 짧은 프롬프트에 긴 생성이라면, 당신을 돕고 있던 것을 포기하고 당신에게는 적용되지 않는 숫자를 사는 셈입니다. 전문가 병렬이 텐서 병렬과 같아야 한다는 요구사항도 눈여겨볼 만한 또 하나입니다. 이는 MoE 샤딩 구조가 TP 구조와 정확히 일치해야 함을 뜻하며, 그렇지 않았다면 합리적이었을 여러 멀티노드 레이아웃을 배제합니다.

이것이 Qwen 4 타임라인에 대해 말해주는 것

diff를 다른 방식으로 읽으면 달력이 나온다. 오늘 메인 브랜치의 SGLang LayerNorm-SP 모듈은 해당 기능이 검증된 아키텍처의 명시적 허용 목록을 가지고 있으며, 이 글을 쓰는 시점에 그 허용 목록에는 정확히 하나의 항목, Qwen3ForCausalLM 만 들어 있다 — 플래그를 전달하면 다른 모든 아키텍처는 생성 시점에 거부된다. 따라서 Qwen4Exp를 그 경로에 추가하는 것은 성숙한 추상화에 대한 손질이 아니라, Qwen4 아키텍처가 자신보다 여러 세대 앞서 존재한 최적화에 처음으로 편입되는 일이다.

이를 공개 기록과 대조해 보면 그림은 정합적이다. 벤더는 2026-09-22에 Qwen 4가 훈련 중이라고 발표하고 네 가지 등급 이름 — Qwen 4 Max, Qwen 4 Flash, Qwen 4 Plus, Qwen 4 27B — 을 예고했지만, 그중 어느 것에도 사양은 붙지 않았다. 동일 아키텍처를 공유하는 오픈 웨이트 프리뷰인 Qwen3.8-Flash-Next는 2026-08-26부터 다운로드할 수 있었다. 그 이후 3주 동안 일어나고 있는 일은 "훈련 중"과 "출시" 사이에서 예상할 수 있는 바로 그 일이다: 엔진 개발자들이 출시 첫날 지원이 명목상이 아니라 실제가 되도록 런타임을 점검하는 것. 아키텍처에서 서빙 최적화가 작동하게 하는 풀 리퀘스트가 2026-10-08 아침에 열렸고 아직 초안 상태라는 사실은, 누구든 거론한 어떤 날짜보다 Qwen 4가 서빙 가능해지기까지 얼마나 가까운지에 관한 더 나은 신호다. 또한 이것은, 강조하건대, 출시일이 아니다 — 플래그는 기본적으로 꺼져 있고, 변경 사항은 병합되지 않았으며, 벤치마크하는 모델은 Qwen 4가 아니라 프리뷰다.

오늘 전화할 수 있는 것

그렇다고 해서 오늘 오후에 실제로 이용할 수 있는 것이 달라지지는 않습니다. Qwen3.8-Flash-Next는 실재하며, 가중치는 Hugging Face에 있고, 직접 호스팅할 수도 있습니다. 하지만 우리 카탈로그에는 없으며, 없는 척하지도 않겠습니다. 우리가 실제로 제공하는 등급은 qwen/qwen3.8-flash입니다. 동일한 Qwen4-preview 아키텍처를 실행하는 관리형 형제 모델로, 100만 토큰 컨텍스트 창과 텍스트, 이미지, 비디오 입력을 지원하며, 가격은 입력 100만 토큰당 $0.15, 출력 100만 토큰당 $0.47, 캐시 읽기 100만 회당 $0.0184입니다. 이는 0% 마크업으로 그대로 전달되는 정가이므로, 공급업체가 가격을 조정하면 청구서의 숫자도 중개업체가 표를 다시 게시할 때가 아니라 같은 날 바뀝니다.

A screenshot of the OrcaRouter model page for Qwen3.8 Flash, model id qwen/qwen3.8-flash, dated 2026-08-26, showing a spec panel reading 1M tokens context, 131K max output, input text + image + video and output text, and a pricing table whose row labels are 'Input / 1M tokens', 'Output / 1M tokens', 'Cache read / 1M' and 'Cache write / 1M', with values of $0.150, $0.470 and $0.018.

여기서 라우팅 계층에 신경 써야 할 두 번째이자 덜 뻔한 이유가 있습니다. 이 글의 모든 내용은 검증되지 않은 프리뷰와 초안 패치에 관한 것입니다 — 프로덕션 경로를 걸지 않고 테스트해 보고 싶은 바로 그런 것입니다. 바로 이를 위한 것이 페일오버입니다: 이미 신뢰하는 모델과 같은 키 뒤에 프리뷰를 두고, 자신의 트래픽에서 어떻게 동작하는지 지켜보며, 제공자가 흔들리거나 엔드포인트가 없을 때 요청이 정상 작동이 확인된 경로로 넘어가도록 하세요. 200개 이상의 모델을 위한 하나의 API, 하나의 자격 증명 세트, 새로운 아키텍처가 주목할 가치가 있는지 알아보기 위해 두 번째 계약을 체결할 필요가 없습니다.

여기서부터 지켜볼 두 가지가 있는데, 둘 다 우리가 예측할 수 없다. 첫째는 이 패치가 애초에 병합되는지 여부다: 이 패치는 리포지토리에 이전 이력이 없는 기여자 계정이 올린 6개 파일 변경에 대한 초안이고 CI 실행 세 번이 실패했으며, PLE 행 레이아웃 작업의 유동성은 작성자가 아직 반복 작업 중임을 시사한다. 둘째는 허용 목록이 늘어나는지 여부다 — Qwen4Exp가 Qwen3ForCausalLM에 검증된 아키텍처로 합류한다면, 이것은 더 이상 유출이 아니라 Qwen4 계열 모델이 긴 컨텍스트에서 서빙되는 기본 방식이 된다. 그중 하나가 실제로 일어나기 전까지는 18%를 런타임이 어디로 가는지에 대한 약속으로 취급하라, 빌려 쓸 수 있는 숫자가 아니라.