# 추론 전용 NPU에서 역전파로 '밑바닥부터' 사전학습했다는 모델: VKORE-46M-NPU 모델카드 뜯어보기

**URL:** https://discuss.pytorch.kr/t/npu-vkore-46m-npu/12184
**Category:** 읽을거리&정보공유
**Tags:** 프롬스크래치, vidraft, 비드래프트, 학습, npu, 퓨리오사, 리벨리온
**Created:** [10월 14, 2026, 5:39오전 UTC](https://discuss.pytorch.kr/t/npu-vkore-46m-npu/12184 "2026-10-14T05:39:27Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![AI\_OpenFree](https://discuss.pytorch.kr/user_avatar/discuss.pytorch.kr/ai_openfree/32/22529_2.png) [@AI\_OpenFree](https://discuss.pytorch.kr/u/AI_OpenFree)
#### Post date: [10월 14, 2026, 5:39오전 UTC](https://discuss.pytorch.kr/t/npu-vkore-46m-npu/12184/1 "2026-10-14T05:39:27Z")

</div>

허깅페이스에 흥미로운 모델카드가 하나 올라왔습니다. `FINAL-Bench/VKORE-46M-NPU`. 요지는 간단하지만 꽤 도발적입니다. "추론 전용 NPU에서 역전파(backpropagation)를 직접 돌려, 사전학습된 가중치 없이 0부터(from scratch) 소형 언어모델을 사전학습했다."

 ![image-7110627f-0ad1-428e-85a9-01292ce67de1](https://discuss.pytorch.kr/uploads/default/original/3X/6/a/6ae092077987c53e1a9518a7e0d253e92bf1be51.jpeg)

PyTorch로 학습 파이프라인을 짜 본 분이라면 이 문장이 왜 눈에 걸리는지 바로 아실 겁니다. 추론 전용 가속기에서 '학습'이 왜 어려운지, 그리고 이 모델카드가 그걸 어떻게 주장하고 검증했는지 기술 관점에서 정리해 봤습니다.

## 왜 '추론 전용 NPU에서 학습'이 어려운가

NPU(신경망 처리장치) 중 상당수는 추론에 맞춰 설계됩니다. 전형적으로 다음이 최적화 대상입니다.

- forward 경로의 고정 그래프(정적 컴파일), 낮은 정밀도(int8/int4, fp16) 연산
- 가중치는 상수로 취급, activation만 흐르는 구조
- 배치 추론 처리량과 전력 효율

반면 학습은 전혀 다른 요구를 겁니다.

- **backward 그래프** : forward마다 activation을 저장하고, 체인룰로 gradient를 역전파해야 합니다. 메모리와 연산 패턴이 추론과 다릅니다.
- **옵티마이저 상태** : Adam 계열이면 파라미터당 1차·2차 모멘트까지 상태를 들고 있어야 합니다(파라미터 대비 2~3배 메모리).
- **수치 안정성** : 역전파는 작은 gradient 누적에 민감합니다. 추론용 저정밀 커널을 그대로 쓰면 학습이 발산하기 쉽습니다.
- **다중 칩 동기화** : 32칩 규모면 data parallel의 gradient all-reduce, 또는 DiLoCo류의 저빈도 동기화 전략이 필요합니다. 추론 스택에는 보통 없는 경로입니다.

그래서 "NPU는 역전파를 못 해서 학습이 불가능하다"는 통설이 있었습니다. 이 모델카드는 바로 그 지점을 정면으로 건드립니다.

## 모델카드가 밝힌 스펙

카드에 공개된 범위에서 정리하면 다음과 같습니다.

- 규모: 약 46M 파라미터(초소형)
- 아키텍처: decoder-only transformer, RoPE 위치 인코딩, SwiGLU, RMSNorm, GQA
- 토크나이저: char-level
- 데이터: `roneneldan/TinyStories` (공개 데이터셋)
- 학습: from scratch 사전학습, causal LM
- 결과물: 문법적으로 완성된 짧은 영어 이야기 생성
- 하드웨어: 2025년 출시된 1세대 추론 전용 NPU(리벨리온 ATOM-Max 계열), 32칩

char-level + TinyStories + 46M 조합은 전형적인 "작동 증명용(proof of concept)" 설정입니다. 모델 자체의 품질을 자랑하려는 게 아니라, **학습 경로가 NPU 위에서 실제로 도는가** 를 보이기 위한 구성으로 읽힙니다.

## 가장 눈여겨볼 지점: 대조군 설계

기술적으로 가장 신뢰가 가는 부분은 숫자 그 자체가 아니라 **검증 방법** 입니다. 카드는 동일한 모델을, 동일한 초기화·데이터·스케줄로 NPU와 GPU에서 각각 0부터 학습시켜 비교했다고 밝힙니다.

- 두 학습의 **손실(loss) 궤적 상관계수 0.99**
- 처리량(tok/s)도 동급 수준으로 수렴

이게 왜 중요하냐면, NPU에서 "학습이 돈다"는 주장은 loss가 떨어지는 그림 한 장으로는 증명되지 않기 때문입니다. 저정밀 커널이 gradient를 뭉개면 loss가 떨어지는 '것처럼' 보여도 GPU 기준 학습과 다른 궤적을 그립니다. 같은 seed·데이터·스케줄에서 **GPU 레퍼런스와 손실 곡선이 0.99로 겹친다** 는 건, 역전파와 옵티마이저 업데이트가 수치적으로 레퍼런스와 사실상 같은 일을 하고 있다는 강한 증거입니다. PyTorch로 재현성 실험을 해 본 사람이라면 이 "같은 조건 대조군" 접근을 신뢰할 겁니다.

## 함의: 온디바이스·엣지 학습의 현실성

이 결과가 일반화된다면 파급은 분명합니다.

- **학습용 GPU 증설 의존을 낮춤** : 추론용으로 이미 깔린 저전력 가속기를 유휴 시간에 학습에 돌릴 수 있습니다.
- **데이터 주권** : 민감 데이터를 외부로 내보내지 않고 자체 공간에서 사전학습·미세조정까지.
- **엣지/사무실 설치형** : 데이터센터 상면 없이 데스크톱처럼 두고 쓰는 학습 장비.

PyTorch 생태계 관점에서는 "학습 백엔드로서의 NPU"라는 주제가 다시 열리는 셈입니다. 커스텀 autograd 경로, 저정밀 학습 커널, 저빈도 동기화(DiLoCo) 같은 요소가 NPU 백엔드에서 어떻게 맞물리는지가 앞으로의 관전 포인트입니다.

## 정직하게 짚을 한계

과장 없이 짚자면 다음은 분명한 제약입니다.

- 46M char-level + TinyStories는 **토이 스케일** 입니다. 대형 모델·실데이터로의 확장은 별개 문제이며, 카드도 이를 다음 단계로 둡니다.
- 품질 지표(퍼플렉서티·다운스트림)보다 **학습 경로 작동 증명** 에 초점이 맞춰져 있습니다.
- 핵심 학습 기법과 코드는 특허 출원을 이유로 비공개입니다. 재현은 모델 가중치·모델카드·비교 자료 범위에서만 가능합니다.

그럼에도 "추론 전용 NPU에서 역전파 기반 from-scratch 사전학습 + GPU와 손실 궤적 0.99 일치"라는 조합은, 적어도 공개된 사례로는 보기 드문 결과입니다. 토이 스케일이라는 한계를 감안하더라도, '추론 칩은 학습 못 한다'는 전제를 다시 생각하게 만드는 레퍼런스라는 점은 분명합니다.

모델카드: [FINAL-Bench/VKORE-46M-NPU · Hugging Face](https://huggingface.co/FINAL-Bench/VKORE-46M-NPU)

여러분은 어떻게 보시나요. NPU를 학습 백엔드로 쓰는 시도, 커스텀 autograd/저정밀 학습 커널 쪽에서 경험 있으신 분들 의견이 궁금합니다.
