본문으로 건너뛰기
effidevFlutter · Cloudflare 엣지 · 클라우드 비용 최적화

Qwen3.8 2.4T 오픈웨이트, 450GB의 벽

effidev

2.4조 파라미터 모델이 양자화 단계를 거쳐도 로컬 메모리 한계에 부딪히는 구조

예고된 지 열흘, 가중치가 실제로 올라왔다

Alibaba가 Qwen3.8-Max를 API로 먼저 열고 “가중치는 다음 주”라고 예고한 게 8월 초다. 그 다음 주가 지나도록 Hugging Face에는 아무것도 없었고 새 날짜도 나오지 않았다. 그러다 조용히 실물이 올라왔다.

지금 Qwen/Qwen3.8-2.4T-A95B 리포는 파일 224개짜리다. 그중 model-*.safetensors 샤드가 213개고, 메타데이터에 잡힌 총 파라미터 수는 정확히 2,446,182,725,504개다. 리포는 8월 8일에 만들어졌고 최종 수정이 8월 12일이니, 그사이에 2조 4천억 개의 실수가 업로드된 셈이다.

이 글은 그 실물을 놓고 세 가지를 확인한다. 성능이 실제로 어느 선인지, 이걸 정말 내 장비에서 돌릴 수 있는지, 그리고 돌릴 수 있다 쳐도 라이선스가 허락하는지. 결론부터 말하면 세 번째가 가장 중요한데 아무도 읽지 않는다.

무엇이 공개됐나

모델 이름은 Qwen3.8-2.4T-A95B다. 뒤의 A95B가 활성 파라미터 95B를 뜻한다. 총 2.4T 중 토큰 하나를 처리할 때 실제로 계산에 참여하는 건 95B라는 뜻이다.

구조를 카드에 적힌 대로 옮기면 이렇다.

항목
총 파라미터 2.4T (2,446,182,725,504)
활성 파라미터 95B
히든 차원 8,192
레이어 92
전문가(expert) 512개 — 토큰당 라우팅 10 + 공유 1
어텐션 헤드 Q 64개 / KV 4개, 차원 256
선형 어텐션 헤드 V 128개 / QK 16개, 차원 128
컨텍스트 네이티브 262,144 → 확장 1,010,000

92개 레이어가 균일하지 않다는 게 눈에 띈다. Gated DeltaNet + MoE 블록과 Gated Attention + MoE 블록이 번갈아 쌓여 있다. 전체를 소프트맥스 어텐션으로 채우지 않고 선형 어텐션 계열을 섞어 긴 컨텍스트의 비용을 눌렀다는 뜻이다. 컨텍스트가 백만 토큰을 넘어가는데 KV 헤드가 4개뿐인 것도 같은 맥락이다.

학습 단계에서 Multi-Token Prediction을 여러 스텝으로 넣었다는 언급도 있다. 추론 시점의 투기적 디코딩(speculative decoding)과 궁합이 맞는 설계다.

2.4T라는 숫자를 어떻게 읽어야 하나

큰 숫자에 압도되기 전에 산술을 해 보는 게 좋다. 전문가는 512개인데 토큰 하나가 지나갈 때 켜지는 건 라우팅 전문가 10개와 공유 전문가 1개, 합쳐서 11개다. 전체의 **약 2.1%**만 계산에 참여한다는 뜻이다. 그 결과가 활성 95B다.

여기서 두 가지가 갈라진다.

계산량은 95B급이다. 토큰당 부동소수점 연산은 95B 밀집 모델과 비슷한 수준이다. 그래서 충분한 메모리만 주어지면 속도는 2.4T라는 이름에서 상상하는 것보다 훨씬 낫다.

메모리는 2.4T급이다. 어떤 전문가가 켜질지는 토큰마다 다르므로 512개 전부를 어딘가에 올려 두어야 한다. 이 비대칭이 이 모델의 성격을 전부 결정한다. GPU를 몇 장 더 꽂아 연산을 늘리는 문제가 아니라, 2.4조 개의 가중치를 어디에 놓을 것인가의 문제다.

바로 뒤에 나오는 397GB와 450GB 이야기가 전부 여기서 나온다. MoE는 추론 비용을 아끼는 구조지 저장 비용을 아끼는 구조가 아니다.

받는 것부터가 일이다

리포 구조를 보면 실무 감각이 조금 잡힌다. safetensors 샤드가 213개로 쪼개져 있는데, BF16 원본 기준 총량이 4.9TB다. 샤드 하나가 평균 23GB쯤 된다.

이 정도 크기는 git clone으로 접근할 물건이 아니다. huggingface_hub의 병렬 다운로드를 쓰더라도 회선과 디스크를 모두 확보해 두고 시작해야 하고, 중간에 끊겼을 때 이어받기가 되는지부터 확인하는 게 낫다. 양자화본을 쓸 계획이라면 애초에 원본 4.9TB를 받을 이유가 없다 — Unsloth가 올려 둔 GGUF 리포에서 필요한 포맷만 받으면 된다.

reasoning_effort — 추론량을 파라미터로 조절한다

Qwen3.8은 사고 길이를 요청 단위로 조절한다. reasoning_effort에 세 단계가 있다.

“생각을 켜고 끄는” 이분법이 아니라 단계로 열어 둔 게 실용적이다. 배치 작업은 low로 깔고 어려운 것만 xhigh로 올리는 식으로 비용을 조절할 수 있다.

권장 샘플링 값도 카드에 못 박혀 있다. temperature 1.0, top_p 0.95, top_k 20, min_p 0.0, presence_penalty 0.0, repetition_penalty 1.0. temperature를 0으로 내려 쓰는 습관이 있다면 이 모델에서는 권장에서 벗어난다는 걸 기억해 두는 게 좋다.

벤치마크 — 이긴 항목과 진 항목

모델 카드는 비교 대상을 숨기지 않는다. 여섯 개 벤치마크에서 상대 점수를 나란히 적어 놨다.

벤치마크 Qwen3.8-2.4T-A95B 비교 대상
GPQA Diamond 92.6 Opus 4.8 — 92.0
PaperBench 93.0 GPT-5.6 Sol — 90.5
CoWorkBench 74.8 Opus 4.8 — 72.3
Terminal Bench 2.1 86.6 GPT-5.6 Sol — 88.8
LongBench v2 66.3 Opus 4.8 — 69.1
SWE-bench Pro 67.7 Fable 5 — 80.0

읽는 방법이 중요하다. 위 셋은 이겼고 아래 셋은 졌는데, 진 쪽의 성격이 일정하다. 터미널을 직접 두드리는 과제(Terminal Bench), 긴 문서를 끝까지 붙들고 가는 과제(LongBench), 실제 리포에서 이슈를 고치는 과제(SWE-bench Pro)에서 밀린다. 특히 SWE-bench Pro의 67.7 대 80.0은 12.3점 차이다. 반올림 오차로 넘길 수 있는 격차가 아니다.

반대로 이긴 셋은 지식과 문서 이해 쪽이다. GPQA Diamond는 대학원 수준 과학 문제고, PaperBench는 논문 재현, CoWorkBench는 협업 과제다.

그래서 실무 판단은 이렇게 갈린다. 문서를 읽고 분석하고 요약하는 작업이면 지금 최상위권과 겨룰 만하다. 에이전트로 코드베이스에 풀어놓는 작업이면 아직 1순위가 아니다. 오픈웨이트가 나왔다는 사실 자체에 흥분해서 이 구분을 건너뛰면, 코딩 에이전트를 갈아 끼웠다가 되돌리는 일이 생긴다.

한 가지 단서를 붙이자면, 이 숫자들은 전부 모델 카드에 실린 벤더 자체 측정치다. 독립 재현이 나오기 전까지는 방향만 참고하는 게 맞다.

로컬에서 돌릴 수 있나 — 여기가 진짜 이야기다

“오픈웨이트 공개”라는 말을 들으면 대부분 “이제 내 컴퓨터에서 돌릴 수 있다”로 번역한다. 이 모델에서는 그 번역이 틀린다.

Unsloth가 정리한 크기표를 보자.

포맷 크기 비트/가중치
BF16 (무손실) 4.9TB 16
Q8_0 2.6TB 8
IQ1_S 553GB 1.5625
TQ2_0 (UD-IQ1_XS) 513GB 1.4375
TQ1_0 (UD-IQ1_XXS) 474GB 1.3125
Q1_0 (UD-IQ1_XXXS) 397GB 1.1875

원본이 4.9TB다. 디스크에 그냥 얹는 것도 일이다. 그래서 가중치 하나를 1.1875비트까지 깎아 내린 게 397GB짜리 UD-IQ1_XXXS고, 이게 원본 대비 91% 감소다.

여기서 착시가 생긴다. 397GB라는 숫자를 보면 “1TB SSD 있으니까 되겠네” 싶다. 그런데 Unsloth가 붙여 놓은 조건이 이거다. RAM + VRAM이 대략 양자화 크기와 같아야 한다. 397GB짜리를 제대로 돌리려면 최소 450GB RAM이 필요하다.

450GB다. 128GB 통합 메모리를 얹은 맥 스튜디오 세 대를 합쳐도 모자란다. 앞서 다룬 RTX PRO 6000 96GB가 16,000달러로 오른 상황에서 VRAM으로 채우는 건 계산할 필요도 없다.

속도는 어떤가. Unsloth 기준 B200에서 초당 약 20토큰이 나온다. B200은 개인이 놓고 쓰는 물건이 아니다. 그 장비로도 20토큰/초라는 뜻이다. 메모리가 모자라 디스크 오프로딩으로 넘어가면 여기서 더 떨어진다.

정리하면 이렇다.

llama.cpp로 붙일 계획이라면 하나 더. 새 양자화 포맷은 아직 본류에 병합되지 않아 IQ1_XXXS 전용 브랜치를 써야 하고, 빌드할 때 -DGGML_CUDA=ON(맥이나 CPU면 OFF)을 넣어야 한다.

1.1875비트가 가능한 이유

가중치 하나를 1비트 남짓으로 깎는다는 말이 처음 들으면 말이 안 된다. 부호와 크기를 담기에도 빠듯한 용량이다.

여기서 쓰이는 게 동적 양자화(dynamic quantization)다. 모든 레이어를 같은 비트로 깎는 게 아니라, 망가지면 치명적인 부분은 비트를 더 주고 여유 있는 부분은 더 깎는다. 표에 적힌 1.1875나 1.4375 같은 소수점 값이 그 증거다. 균일 양자화라면 정수 비트가 나온다. 평균이 1.1875라는 건 레이어마다 배분이 다르다는 뜻이다.

MoE는 이 방식과 특히 잘 맞는다. 파라미터 대부분이 전문가 블록에 몰려 있고 그 안에는 중복이 많다. 반대로 어텐션이나 라우터처럼 전체 동작을 좌우하는 부분은 비율로 따지면 작다. 큰 쪽을 과감히 깎고 작은 쪽을 지키면 전체 평균은 크게 내려가면서 손상은 덜하다.

다만 손실이 없다는 뜻은 아니다. 표에서 “무손실”이라고 표시된 건 BF16 하나뿐이고, 1비트대 양자화는 어디까지나 타협이다. 벤치마크 점수는 원본 기준으로 발표된 값이므로, 397GB판을 올려 놓고 카드에 적힌 92.6이 그대로 나오리라 기대하면 안 된다. 양자화본으로 품질을 판단하려면 자기 과제로 직접 재 봐야 한다.

서버에 올리는 경로

인프라가 되는 쪽이라면 진입은 간단한 편이다. 카드에 실린 명령이 그대로 동작한다.

vLLM:

pip install vllm
vllm serve "Qwen/Qwen3.8-2.4T-A95B"

SGLang:

pip install sglang
python3 -m sglang.launch_server \
    --model-path "Qwen/Qwen3.8-2.4T-A95B" \
    --host 0.0.0.0 --port 30000

컨텍스트를 백만 토큰까지 늘려 쓸 계획이면 네이티브가 262,144라는 점을 기억해야 한다. 1,010,000은 확장 설정을 켰을 때의 상한이고, 확장 구간에서는 품질이 네이티브 구간과 같다고 보장되지 않는다. LongBench v2에서 69.1에 밀린 66.3이 나왔다는 것도 같이 놓고 봐야 한다.

라이선스 — 조건이 둘 붙어 있다

여기가 이 글에서 가장 실무적인 부분이다.

Hugging Face의 라이선스 태그는 other, 이름은 qwen3.8-max다. Apache 2.0도 MIT도 아니다. 그런데 본문을 열어 보면 MIT 문구를 거의 그대로 가져다 쓰고 있다. 사용·복제·수정·병합·게시·배포·서브라이선스·판매·배포·호스팅·파인튜닝·파생물 제작이 전부 무상으로 허용된다. 여기까지만 보면 MIT다.

문제는 그 뒤에 붙은 조건 두 개다.

조건 1 — 표시 의무. 이 모델(또는 파생물)을 상용 제품·서비스에 썼는데 그 제품이 월간 활성 사용자 1억 명 초과 또는 월 매출 2천만 달러 초과라면, 해당 모델 이름을 제품 UI에 눈에 띄게 표시해야 한다.

조건 2 — 별도 라이선스 의무. 이쪽이 실제로 걸린다. 라이선시나 그 계열사가 Model as a Service 또는 AI Work Assistant 사업을 하고, 연속된 12개월 동안 합산 매출이 5천만 달러를 초과하면, 상업적 용도로 쓰기 전에 Qwen에서 별도 라이선스를 받아야 한다.

용어 정의도 라이선스 안에 적혀 있어서 해석의 여지가 좁다.

그리고 조건 2에는 내부 사용 예외가 있다. 소프트웨어·출력·모델 능력을 제3자에게 제공하지 않는 순수 사내 사용이라면 매출 기준을 넘어도 별도 라이선스가 필요 없다.

실무적으로 정리하면 이렇다.

오픈웨이트를 “받아서 아무거나 해도 되는 것”으로 읽는 습관이 있다면, 이번 라이선스는 그 습관이 언제 비싸지는지 보여 주는 사례다. 문의 창구는 라이선스 하단에 [email protected]으로 적혀 있다.

같은 날 쏟아진 것들 사이에서의 좌표

하필 이 가중치가 올라온 날에 다른 발표가 겹쳤다. 판단을 하려면 같이 놓고 봐야 한다.

DeepSeek V4 Pro 0813이 프리뷰를 벗고 정식 출시됐다. 공식 체인지로그에는 항목이 없고 가격표와 라우터 목록에 조용히 올라온 형태다. 공개된 조건은 컨텍스트 100만 토큰, 최대 출력 384,000 토큰, 가격은 입력 100만 토큰당 0.435달러(캐시 히트 0.003625달러), 출력 0.87달러다. 다만 이 0813 빌드의 가중치는 공개되지 않았다.

Grok 4.6은 파라미터를 늘리지 않고 사후학습에 투자한 쪽이다. x.ai가 밝힌 접근은 큐레이션 데이터 보충 학습, 옵티마이저 개선, 에이전틱 과제 강화학습 세 가지다. 결과는 종합 지능 지수 61점으로 GPT-5.6 Sol과 동점이고, CursorBench v3.2 69.9%, DeepSWE v1.1 65.9%, FrontierCode v1.1 61.3%, APEX-Agents 57.5%가 함께 공개됐다. 가격은 입력 100만 토큰 2달러, 출력 6달러다.

세 가지를 나란히 두면 선택지가 선명해진다.

Qwen3.8이 파는 건 성능 1위가 아니라 소유권이다. API로 최고 성능을 싸게 쓰는 게 목적이라면 이 모델을 받을 이유가 없다. 반대로 가중치가 내 인프라 안에 있어야만 하는 이유가 있다면, 그 조건에서 지금 고를 수 있는 최상급이 이것이다.

그래서 오늘 무엇을 하면 되나

세 갈래로 나뉜다.

자체 인프라가 있는 조직. 지금 받아서 벤치를 직접 돌려 볼 가치가 있다. 문서 분석·리서치 파이프라인이라면 상위권과 붙는다. 다만 코딩 에이전트로 쓸 거라면 SWE-bench Pro 67.7이라는 숫자를 기억하고 A/B로 비교한 뒤에 갈아 끼우는 게 안전하다.

개인 개발자. 2.4T는 기다릴 대상이 아니다. 397GB 양자화가 나왔다는 뉴스에 SSD를 비우지 말고, 16GB에서 돌아간다는 Qwen3.8-27B 공개를 기다리는 게 맞다.

제품에 얹으려는 팀. 성능표보다 라이선스 조건 2를 먼저 읽어야 한다. MaaS나 AI 코딩 도구를 만들고 있다면 매출 5천만 달러 선이 언제 보이는지가 기술 선택보다 먼저 결정될 수 있다.

이번 공개의 의미는 “이제 로컬에서 프론티어 모델을 돌린다”가 아니다. 2.4T급 모델의 가중치가 조건부로나마 공개 배포되기 시작했다는 것, 그리고 그 조건이 어떤 모양인지가 드러났다는 것이다. 400GB짜리 파일을 받을 사람은 많지 않겠지만, 그 파일이 존재한다는 사실 자체가 다음 협상의 기준선을 바꾼다.

관련해서 로컬 에이전트 모델의 현실적인 선택지는 Muse Glimmer 30B를 다룬 글에, 프론티어 API를 쓸 때의 추론 로그 취급 문제는 추론 트레이스 유출 정리에 따로 정리해 두었다.