nvidia/NVIDIA-Nemotron-Labs-Dory1.0-4B-BF16 · Hugging Face
NVIDIA, 반복 연산형 4B 언어 모델 Dory 공개
NVIDIA의 Dory1.0-4B는 공유된 20개 레이어 블록을 반복 적용해 토큰당 연산량을 조절하는 4B 모델입니다. 반복 횟수에 따라 정확도와 추론 비용을 바꾸며, 벤치마크에서는 2회 반복이 여러 작업에서 1회보다 높은 점수를 냈습니다. 마지막 반복의 KV 캐시만 남기는 방식도 제공합니다.
- 주제
에디터 노트
Dory의 성능 주장은 반복 횟수별 벤치마크에서 일부 작업에 한정해 뒷받침됩니다. SWE-bench Verified와 Terminal-Bench 점수는 1회에서 4회로 늘릴 때 상승하지만 GPQA Diamond는 2회 점수에서 더 오르지 않습니다. 모델 카드도 2회 이후 향상이 작아진다고 설명하므로, 반복 횟수를 늘리면 전반적으로 더 똑똑해진다는 해석은 자료보다 앞서갑니다. 반복은 파라미터 수를 늘리지 않고 토큰당 연산량을 늘리는 방식입니다. 댓글에서 나온 4B가 16B 모델이 된다는 표현은 계산 깊이를 설명하는 비유로는 쓸 수 있어도, 파라미터나 지식 규모가 같아진다는 뜻은 아닙니다. 실제 추론 속도도 댓글의 한 사례에서는 반복 횟수가 늘수록 낮아졌고, NVIDIA 역시 작업별 지연 시간과 비용을 평가하라고 안내합니다. 마지막 반복 KV 캐시는 메모리 부담을 줄이는 설계지만, 성능과 속도의 균형은 반복 횟수와 실행 환경에 따라 달라집니다.
AI 요약
NVIDIA의 Dory1.0-4B는 4B 파라미터 규모의 언어 모델입니다. 정규화 GPT(normalized-GPT) 구조에 슬라이딩 윈도우 어텐션(SWA)과 전체 어텐션 레이어를 섞고, 입력 블록 8개 레이어와 출력 블록 8개 레이어 사이에서 공유 순환 블록 20개 레이어를 반복 적용합니다. 반복 횟수는 1회부터 4회까지 설정할 수 있습니다. 모델은 영어를 지원하며 최대 256K 토큰 문맥을 처리합니다.
반복 횟수와 벤치마크
모델 카드에 따르면 반복 횟수를 늘리면 토큰마다 더 많은 연산을 쓰는 대신, 문제 해결에 필요한 출력 토큰 수를 줄일 수 있습니다. NVIDIA는 2회 반복을 기본 설정으로 권하며, 정확도 향상은 주로 1회에서 2회 사이에 나타나고 이후에는 증가폭이 작아진다고 설명합니다. 4회 반복은 SWE-bench Verified에서 61.8점, Terminal-Bench 2.1에서 22.2점을 기록해 1회 반복의 50.3점과 12.5점보다 높았습니다. 반면 GPQA Diamond는 1회 69.19점, 2회 72.41점, 4회 72.16점으로 4회 반복이 더 높지 않았습니다. 비교표의 점수는 NVIDIA가 동일한 평가 환경에서 산출한 내부 추정치이며 공식 Artificial Analysis 점수와 다를 수 있습니다.
KV 캐시와 실행 환경
일반적인 반복 구조는 반복 블록마다 KV 캐시를 따로 저장하므로 반복 횟수에 따라 메모리 사용량이 늘어납니다. Dory의 last-loop 캐시 모드는 반복마다 이전 캐시를 덮어쓰고 마지막 반복의 키와 값만 보관합니다. NVIDIA는 이 설정에서 반복 횟수와 관계없이 KV 캐시 용량을 1회 반복 모델 수준으로 유지하며, 정확도와 출력 길이는 per-loop 모드에 가깝다고 설명합니다. 다만 vLLM 지원은 아직 프로젝트의 검토 단계이며, 모델 카드에는 특정 Pull Request 버전을 설치하는 방법이 실려 있습니다. llama.cpp도 지원 코드가 정식 릴리스에 포함되기 전까지 별도 소스 빌드가 필요합니다.
모델은 6조 토큰으로 사전 학습했고, 첫 약 4.5조 토큰 구간에는 NVIDIA의 4비트 부동소수점 형식 NVFP4를 사용한 뒤 나머지 구간에는 BF16을 사용했습니다. 이후 3,000억 토큰으로 문맥 길이를 확장했습니다. BF16 외에 MXFP8, NVFP4, Q5_K_M 형식도 제공합니다. DGX Spark에서 측정한 추론 속도는 BF16 대비 MXFP8이 1.69~1.84배, NVFP4가 2.17~2.44배였습니다. 이 수치는 입력 길이 128 또는 2,560토큰, 출력 길이 300 또는 1,024토큰, 배치 크기 1 조건에 해당합니다.
Reddit 반응
- @u/FoxiPanda — 제가 보기에는 더 큰 규모로 확장하고 강화학습을 적용해 프런티어급으로 키우길 기대하는 반복 트랜스포머 기술 데모입니다. 이 방식이 예상대로 확장된다면 4비트 27B 모델을 2~4회 반복해 GPT-6-Luna급이나 그보다 나은 성능을 낼 수도 있겠습니다.
- @u/NortySpock — 마지막 반복의 KV 캐시만 남기는 방식이 좋네요. Nanbeige에서 KV 캐시가 두 배로 커지는 문제를 겪었는데 이 방식이면 해결되겠습니다.
- @u/james_pic — Nanbeige는 SWA 같은 어텐션 최적화도 쓰지 않으니, 한 번만 반복해도 KV 캐시를 많이 쓸 겁니다. Dory는 하이브리드 어텐션을 쓰므로 Nanbeige보다 KV 캐시 효율이 두 배 이상일 것으로 예상합니다.
- @u/CoolConfusion434 — 제가 읽은 바로는 프롬프트를 레이어에 다시 통과시킵니다. 4B 모델을 네 번 반복하면 16B 모델 수준의 계산 깊이가 됩니다. 물론 4B 모델은 여전히 4B만큼의 정보만 담으므로 16B 모델보다 폭이 좁습니다. 생각을 출력 토큰으로 하나씩 쓰는 대신 내부에서 수학적으로 처리한다고 보면 됩니다. 다만 이 수치는 방금 읽은 내용에 근거한 설명이라 저도 조금 의심스럽습니다.
- @u/Robbbbbbbbb — 논문을 읽어 봤는데 다 이해한 건 아닙니다. 4B 모델이 16B 모델이 되거나 더 똑똑해진다는 뜻은 아닌 것 같습니다. 추론이 개선되는 쪽에 가깝습니다. 그래서 더 작고 느린 모델이 더 잘 생각한 답을 낼 수 있겠지요. 글에서는 Koi 4B가 4회 반복했을 때 전체 파라미터 수가 약 6.5배인 Gemma4-26B-A4B보다 3점 높고, Qwen3.6-35B-A3B보다는 낮았다고 합니다. 속도와 출력 토큰 수, 점수를 함께 보면 두 번 반복한 설정이 가장 좋아 보이고 이후에는 성능 향상이 줄어듭니다.
- @u/kmouratidis — 실제 작동 방식과는 거리가 있는 설명입니다. 이해를 돕기 위한 단순화일 뿐입니다. 실제 방식은 레이어 끝에 승인 게이트를 두고 출력이 통과할 때까지 반복하거나, 정해 둔 횟수만큼 반복하는 것입니다. 추론을 대체하지 않습니다. 두 방식은 결합할 때 실제 이점이 생길 겁니다.
- @u/Accomplished-Chart58 — 제가 직접 시험했는데 1회 반복은 초당 약 20토큰, 2회는 17토큰이었고 4회에서는 초당 10토큰까지 크게 떨어졌습니다.
- @u/Lost-Masterpiece2400 — 반복형 4B 모델이 흥미롭습니다. 반복이 실제로 추론 깊이를 더해 주는지, 아니면 속도만 떨어뜨리는지 궁금합니다. 큰 모델 옆에서 작은 4B 모델을 점검용으로 쓰는데, 긴 문맥 없이 토큰당 더 깊이 생각하는 4B라면 바꿔 볼 만하겠습니다. 초당 토큰 수를 본 사람이 있나요?
- @u/muggy8 — 4B 모델이 9B~26B 모델과 겨루는 성능이라니 놀랍습니다. 이 기술을 3~4배 규모로 키워 가정용 AI 사용자에게 제공하면 좋겠습니다. 12B~16B 반복형 트랜스포머를 12~16회 반복하면 얼마나 강력할지 상상하게 됩니다. 다만 아직 확장성이 확인된 것은 아닙니다.
원문: Hugging Face / 번역·요약: Trawling