본문으로 건너뛰기
HMYHardware Wiki

HMY-Wiki

하드웨어 / GPU·가속기

NPU와 AI 가속기

신경망처리장치(Neural Processing Unit, NPU)는 신경망 추론에서 되풀이되는 연산에 맞춰 만든 가속기다. 행렬 곱과 누산, 활성화 함수, 데이터 형식 변환 같은 작업을 적은 전력으로 처리하는 데 목적이 있다. NPU는 CPU나 GPU보다 모든 작업이 빠른 범용 프로세서가 아니다. 지원하는 연산과 데이터 형식이 정해져 있고, 그 밖의 작업은 여전히 다른 장치가 맡는다.

구분

NPU
신경망 추론의 반복 연산에 맞춘 가속기
잘하는 일
행렬 곱·누산, 활성화 함수, 데이터 형식 변환
한계
지원 연산과 형식이 정해진 가속기이지 범용 CPU가 아니다

성능 비교 시 확인

정밀도
어느 데이터 형식으로 계산한 수치인가
조건
희소 행렬 활용, 온칩 SRAM과 메모리 대역폭
소프트웨어
런타임과 모델 변환이 해당 장치를 지원하는가

쓰임새

SoC·PC NPU
카메라 보정, 음성 인식처럼 전력을 아껴야 하는 지속 작업
외장 GPU·데이터센터
큰 모델의 학습과 대량 추론
전제
OS·드라이버·프레임워크·모델 파일이 모두 지원해야 동작한다

성능을 TOPS 하나로 비교하기 어려운 이유도 여기에 있다. 어느 정밀도로 계산했는지, 희소 행렬을 얼마나 활용하는지, 메모리 대역폭과 온칩 SRAM이 충분한지, 모델 변환과 런타임이 해당 장치를 지원하는지가 모두 결과에 영향을 준다. 조건이 다른 발표 수치를 나란히 놓고 우열을 가리는 것은 큰 의미가 없다.

쓰임새는 대체로 규모로 갈린다. 모바일 SoC와 PC 프로세서에 들어가는 NPU는 카메라 보정, 음성 인식, 생성형 AI의 짧은 응답처럼 전력을 아껴야 하는 지속 작업을 맡는다. 외장 GPU와 데이터센터 가속기는 더 큰 모델과 학습, 대량 추론을 담당한다. 한 작업이 여러 장치를 거치는 경우도 흔하다. CPU가 입력을 정리하고 NPU나 GPU가 연산한 뒤, 결과를 다시 CPU가 받아 처리하는 식이다.

하드웨어가 있다고 바로 쓰이는 것은 아니다. 운영체제와 드라이버, 프레임워크, 모델 파일이 모두 그 가속기를 지원해야 실제로 동작한다. 제품별 지원 현황은 시점에 따라 달라지므로 현행 플랫폼에서 갱신한다.

모델 일부만 가속되는 경우

런타임은 모델의 연산 그래프를 보고 지원되는 노드나 부분 그래프를 가속기에 배치한다. 예를 들어 ONNX Runtime의 Execution Provider는 처리할 수 있는 연산을 선택하고, 나머지는 다른 Provider로 넘길 수 있다. OpenVINO Provider도 장치와 설정에 따라 CPU 대체 실행을 사용한다.

모델이 여러 장치 사이에서 자주 나뉘면 데이터 전송과 동기화 비용이 더해져 NPU의 높은 연산량을 활용하지 못할 수 있다. 따라서 모델이 로드됐다는 사실과 전체 연산이 NPU에서 실행됐다는 사실은 다르다. 실제 평가에서는 입력 크기, 배치 수, 데이터 형식, 지원 연산과 최종 응답 지연을 함께 읽는다.

참고 링크