LabHub

블로그

엣지 AI와 NPU — 온디바이스 추론 가속기

한국어English日本語

들어가며

AI 하면 보통 거대한 데이터센터와 기가와트 전력을 떠올립니다. 하지만 우리가 매일 만나는 AI의 상당수는 손바닥 안에서, 전기 콘센트도 없이 돌아갑니다. 사진 속 인물을 알아보고, 음성을 글자로 받아 적고, 카메라 화면에서 실시간으로 배경을 흐리는 일은 대부분 기기 안의 작은 가속기가 처리합니다. 이것이 엣지 AI이고, 그 심장이 NPU(Neural Processing Unit)입니다.

이 글은 추론을 클라우드 대신 기기에서 돌리는 엣지 AI의 동기와 구조를 정리합니다. 왜 굳이 기기에서 돌리는지, NPU가 무엇이며 누가 만드는지, 거대한 모델을 작은 칩에 어떻게 욱여넣는지, 그리고 개발자가 어디서부터 시작하면 되는지를 차분히 살펴보겠습니다.


왜 기기에서 추론하는가

클라우드에는 강력한 GPU가 잔뜩 있는데 왜 굳이 약한 기기에서 추론할까요. 이유는 분명합니다.

물론 공짜는 아닙니다. 기기는 전력, 메모리, 연산이 모두 제한적이라 거대한 모델을 그대로 돌릴 수 없습니다. 엣지 AI는 이 제약 안에서 최대를 뽑아내는 기술의 묶음입니다.


NPU란 무엇인가

NPU는 신경망 연산에 특화된 가속기입니다. CPU는 범용 작업을, GPU는 대규모 병렬 연산을 잘하지만, NPU는 딥러닝의 핵심인 행렬곱과 합성곱을 적은 전력으로 빠르게 처리하도록 설계됐습니다.

핵심 아이디어는 두 가지입니다. 첫째, 곱셈-누산(MAC) 연산을 대량으로 병렬화하는 전용 회로를 둡니다. 둘째, 저정밀(INT8 등) 연산에 최적화해 같은 전력으로 더 많은 연산을 뽑습니다.

연산 유닛의 역할 분담 (모바일 SoC 안)

  CPU  : 범용 로직, 제어, 분기 많은 코드
  GPU  : 그래픽, 병렬 연산, 일부 ML
  NPU  : 신경망 추론 전담, 저전력·고효율
  DSP  : 신호 처리, 일부 ML 보조

  하나의 칩(SoC) 안에 함께 들어 있다

NPU의 장점은 와트당 성능입니다. 같은 추론을 CPU나 GPU로 돌리는 것보다 훨씬 적은 전기로, 더 빠르게 끝냅니다. 배터리로 돌아가는 기기에서 이는 결정적입니다. 추론을 NPU에 맡기면 화면을 켜둔 채로도 배터리가 오래 갑니다.

NPU의 처리량은 흔히 TOPS(초당 조 단위 연산)로 표현됩니다. 다만 TOPS 숫자만으로 실사용 성능을 단정하면 안 됩니다. 실제 성능은 메모리 대역폭, 지원하는 연산자, 양자화 방식, 소프트웨어 스택의 성숙도에 크게 좌우됩니다.


주요 NPU의 풍경

엣지 NPU는 모바일, PC, 임베디드의 세 갈래로 퍼져 있습니다.

제공자/제품영역특징
Apple Neural Engine아이폰/아이패드/맥CoreML로 통합, 사진·음성·온디바이스 ML
Qualcomm Hexagon NPU안드로이드 폰/PCSnapdragon 통합, 온디바이스 생성 AI 강조
Google Edge TPU임베디드/IoTCoral 보드, TFLite 친화
ARM Ethos NPU임베디드/마이크로라이선스 IP, 저전력 MCU급까지
각종 SoC 내장 NPUPC(Copilot+ 류)TOPS 경쟁, 온디바이스 보조 기능

여기에 PC 진영에서도 NPU 내장이 표준이 되며 TOPS 경쟁이 벌어지고 있습니다.


거대한 모델을 작은 칩에 — 모델 경량화

엣지의 본질적 도전은 큰 모델을 작은 자원에 맞추는 것입니다. 핵심 기법은 세 가지입니다.

양자화 (Quantization)

가장 중요하고 효과적인 기법입니다. FP32/FP16으로 표현되던 가중치를 INT8, 때로는 INT4로 낮춥니다. 메모리가 절반 이하로 줄고, NPU가 정수 연산에 최적화돼 있어 속도와 전력 효율이 함께 좋아집니다.

양자화 효과 감각

  FP32 모델: 100MB, NPU에서 비효율
  INT8 모델: 약 25MB, NPU 정수 유닛 활용 -> 빠르고 저전력

  대가: 약간의 정확도 저하 (보정/QAT로 완화)

엣지에서는 양자화가 선택이 아니라 사실상 필수입니다. 대부분의 NPU가 INT8 추론을 1순위로 가속하기 때문입니다.

지식 증류 (Knowledge Distillation)

큰 "교사" 모델의 동작을 작은 "학생" 모델이 흉내 내도록 학습시킵니다. 학생 모델은 작지만 교사의 출력 분포를 따라 배워, 같은 크기의 모델을 처음부터 학습한 것보다 좋은 성능을 냅니다.

프루닝 (Pruning)

중요도가 낮은 가중치나 채널을 잘라냅니다. 비정형 프루닝은 임의의 가중치를 0으로 만들지만 하드웨어 이득을 얻기 어렵고, 구조적 프루닝(채널/필터 단위)은 모델 자체를 작게 만들어 NPU에서도 실제 속도 이득을 냅니다.

실무에서는 이 세 가지를 조합합니다. 예컨대 큰 모델을 증류로 줄이고, 구조적 프루닝으로 더 다듬고, 마지막에 INT8로 양자화하는 식입니다. 각 단계마다 정확도를 측정하며 합격선을 지키는 것이 관건입니다.


메모리와 전력 제약

엣지 NPU의 진짜 병목은 연산이 아니라 메모리와 전력인 경우가 많습니다.

이 제약들 때문에 엣지에서는 "가능한 한 작고, 가능한 한 효율적인" 설계가 미덕입니다. 클라우드처럼 모델을 키워 정확도를 사는 전략이 통하지 않습니다.


온디바이스 LLM의 동향

최근 가장 뜨거운 흐름은 작은 언어 모델(SLM)을 기기에서 직접 돌리는 것입니다. 수십억 파라미터 규모의 모델을 INT4 등으로 강하게 양자화하면 고급 스마트폰이나 노트북의 NPU/메모리에 올라갈 수 있습니다.

이것이 가능해진 배경에는 몇 가지가 있습니다.

온디바이스 LLM의 매력은 앞서 말한 프라이버시, 지연, 비용 이점이 LLM 시대에 그대로 적용된다는 점입니다. 다만 한계도 분명합니다. 기기에 올릴 수 있는 모델 크기에는 상한이 있어, 가장 복잡한 작업은 여전히 클라우드의 큰 모델이 낫습니다. 그래서 현실적 해법은 둘을 섞는 것입니다.


컴파일러와 런타임

엣지 AI를 실제로 굴리려면 모델을 특정 NPU가 이해하는 형태로 변환하고 실행하는 런타임이 필요합니다. 주요 런타임은 다음과 같습니다.

런타임주 생태계특징
TensorFlow Lite (LiteRT)안드로이드/임베디드폭넓은 기기 지원, Edge TPU 친화
ONNX Runtime크로스 플랫폼다양한 백엔드, 하드웨어 추상화
Core ML애플 생태계Neural Engine 자동 활용
벤더 SDK각 NPU 전용최대 성능, 이식성은 낮음

전형적인 흐름은 이렇습니다. PyTorch나 TensorFlow에서 모델을 만들고, 양자화를 적용한 뒤, 대상 런타임의 포맷으로 변환(컴파일)합니다. 이 변환 단계에서 연산자가 NPU가 지원하는 것으로 매핑되고, 지원하지 않는 연산자는 CPU로 떨어집니다(폴백). 폴백이 많으면 NPU를 제대로 못 쓰는 셈이므로, 모델을 NPU 친화적으로 설계하는 것이 중요합니다.

엣지 배포 파이프라인 (개념)

  학습(PyTorch/TF)
        |
  양자화(INT8/INT4)
        |
  변환/컴파일 (TFLite / ONNX / CoreML)
        |
  기기 런타임에서 실행 (NPU 가속, 미지원 연산은 CPU 폴백)

클라우드-엣지 하이브리드

엣지와 클라우드는 경쟁이 아니라 역할 분담입니다. 가장 실용적인 아키텍처는 둘을 섞는 하이브리드입니다.

이 하이브리드 설계는 양쪽의 장점을 취합니다. 흔한 요청을 엣지에서 흡수해 클라우드 비용과 부하를 줄이고, 어려운 요청만 클라우드의 큰 모델에 맡깁니다. 프라이버시가 중요한 데이터는 엣지에서 처리하고 결과만 보내는 패턴도 흔합니다.


한계

엣지 AI를 과장하지 않기 위해 한계도 분명히 해둡니다.


개발자 시작 가이드

엣지 AI를 처음 시도하는 개발자라면 다음 순서를 권합니다.

  1. 작업을 명확히. 무엇을 기기에서 돌릴지 정합니다. 지연·프라이버시·오프라인이 중요한 작업이 엣지의 1순위 후보입니다.
  2. 검증된 모델로 시작. 이미지 분류, 키워드 인식처럼 잘 알려진 작은 모델과 기성 예제로 출발합니다. 처음부터 거대 LLM을 올리려 하지 않습니다.
  3. 타깃 런타임 선택. 애플 생태계면 Core ML, 안드로이드/임베디드면 TFLite, 크로스 플랫폼이면 ONNX Runtime이 자연스럽습니다.
  4. 양자화 먼저 적용. INT8 양자화로 모델을 줄이고 정확도를 측정합니다. 합격이면 그대로, 아니면 보정/QAT로 보완합니다.
  5. 실기기에서 측정. 에뮬레이터가 아니라 실제 기기에서 지연, 전력, 발열을 잽니다. NPU 가속이 실제로 걸렸는지, CPU 폴백이 얼마나 나는지 확인합니다.
  6. 하이브리드 고려. 어려운 입력은 클라우드로 넘기는 폴백 경로를 설계합니다.

흔한 함정도 정리합니다. TOPS 숫자만 보고 기기를 고르는 것, 양자화 후 정확도 검증을 건너뛰는 것, NPU 미지원 연산자를 많이 써서 CPU 폴백으로 느려지는 것이 대표적입니다.


NPU는 왜 효율적인가 — 한 걸음 더

NPU의 효율을 이해하려면 데이터 이동 비용으로 돌아가야 합니다. 데이터센터에서와 마찬가지로, 엣지에서도 연산 자체보다 데이터를 옮기는 데 드는 에너지가 훨씬 큽니다. NPU의 설계는 이 비용을 줄이는 방향으로 맞춰져 있습니다.

에너지 비용 직관 (작을수록 좋음)

  레지스터/로컬 메모리 접근 : 매우 저렴
  온칩 SRAM 접근           : 저렴
  외부 메모리(DRAM) 접근    : 비쌈 (한 자릿수~수십 배)

  -> 데이터를 칩 안에 붙들어두고 재사용할수록 효율적

NPU는 신경망의 규칙적인 연산 패턴을 활용해 데이터를 칩 안에서 최대한 재사용합니다. 가중치와 중간값을 작은 온칩 메모리에 두고, 같은 데이터를 여러 연산에 거듭 씁니다. 또 INT8 같은 저정밀 연산은 같은 면적·전력에서 더 많은 곱셈을 수행할 수 있어, 같은 작업을 더 적은 전기로 끝냅니다.

여기에 NPU는 범용성을 일부 포기하는 대신 효율을 얻습니다. CPU는 어떤 코드든 돌려야 하므로 분기 예측, 캐시, 복잡한 제어 로직에 트랜지스터를 씁니다. NPU는 신경망 추론이라는 좁은 작업에 집중해 그 트랜지스터를 곱셈-누산기로 채웁니다. 이 "전문화의 대가"가 와트당 성능의 비결입니다.


엣지 모델 설계 체크리스트

엣지에 모델을 올릴 때 미리 점검하면 좋은 항목들을 정리합니다.

이 체크리스트의 핵심은 "클라우드에서 잘 도는 모델"과 "엣지에서 잘 도는 모델"이 다르다는 점입니다. 엣지는 처음부터 제약을 전제로 모델을 고르고 다듬어야 합니다. 큰 모델을 가져와 억지로 욱여넣기보다, 작업에 맞는 작은 모델을 골라 양자화 친화적으로 다듬는 편이 거의 항상 낫습니다.


엣지 AI가 쓰이는 곳

추상적인 이야기를 구체적인 응용으로 내려보면 엣지 AI의 가치가 분명해집니다.

분야엣지에서 돌리는 이유예시 작업
스마트폰지연·프라이버시·배터리사진 분류, 음성 받아쓰기, 번역
카메라/보안대역폭·지연·프라이버시실시간 객체 감지, 이상 탐지
자동차지연·안전·오프라인차선·보행자 인식, 운전자 모니터링
웨어러블전력·프라이버시심박·활동 분류, 음성 명령
산업 IoT오프라인·지연·비용결함 검사, 예지 정비

이들의 공통점은 "지금 여기서, 빠르게, 데이터를 밖으로 내보내지 않고" 처리해야 한다는 것입니다. 클라우드 왕복이 끼면 지연·프라이버시·연결성 모두에서 불리해지는 작업들입니다. 엣지 AI는 이런 작업에 가장 자연스럽게 들어맞으며, NPU가 이를 적은 전력으로 가능케 합니다.

반대로, 거대한 지식이 필요하거나 매우 복잡한 추론이 필요한 작업은 여전히 클라우드가 낫습니다. 그래서 앞서 본 하이브리드가 현실의 정답이 됩니다. 흔하고 빠른 일은 엣지에서, 드물고 무거운 일은 클라우드에서 처리하는 분업입니다.


온디바이스 LLM의 메모리 산수

온디바이스 LLM이 가능한지 가늠하려면 메모리를 직접 따져보는 것이 가장 빠릅니다. 간단한 계산을 해봅시다.

가중치 메모리(대략) = 파라미터 수 x 파라미터당 바이트

  3B 파라미터, FP16(2바이트) = 약 6GB
  3B 파라미터, INT8(1바이트) = 약 3GB
  3B 파라미터, INT4(0.5바이트) = 약 1.5GB

여기에 KV 캐시와 활성값, 런타임 오버헤드가 더해진다.

이 산수가 말해주는 바는 분명합니다. 양자화가 온디바이스 LLM의 전제 조건이라는 것입니다. FP16 그대로는 작은 모델조차 기기 메모리를 잡아먹지만, INT4로 내리면 같은 모델이 4분의 1 크기로 줄어 고급 스마트폰에도 올라갑니다.

다만 메모리에 들어간다고 끝이 아닙니다. 실제로 쾌적하게 쓰려면 토큰 생성 속도가 충분해야 하는데, 이는 메모리 대역폭에 묶입니다. 데이터센터에서 본 디코딩의 메모리 바운드 문제가 엣지에서는 훨씬 좁은 대역폭과 만나 더 두드러집니다. 그래서 온디바이스 LLM은 "올라가느냐"와 "쓸 만한 속도가 나오느냐"를 따로 확인해야 합니다.

KV 캐시도 변수입니다. 컨텍스트가 길어질수록 KV 캐시가 메모리를 추가로 잡아먹어, 가중치는 들어갔는데 긴 대화에서 메모리가 부족해지는 일이 생깁니다. 그래서 엣지 LLM은 컨텍스트 길이를 현실적으로 제한하고 KV 캐시 양자화 같은 기법을 함께 씁니다.


파편화에 대처하기

엣지 개발의 가장 큰 실무적 고통은 파편화입니다. NPU가 제조사와 세대마다 달라, 한 번 만든 모델이 모든 기기에서 똑같이 빠르게 도는 일은 거의 없습니다.

이에 대처하는 몇 가지 전략이 있습니다.

파편화는 사라지지 않는 현실이므로, 처음부터 "여러 기기에서 돌 것"을 전제로 설계하는 편이 나중에 고생을 줄입니다. 단일 최고 성능을 좇기보다, 넓은 기기 범위에서 합격선을 넘는 견고함을 목표로 삼는 것이 엣지 개발의 지혜입니다.


정확도를 지키는 검증 루틴

엣지 최적화는 거의 항상 정확도를 대가로 효율을 삽니다. 그래서 검증 루틴을 갖추는 것이 기법 자체보다 중요할 때가 많습니다. 권장하는 흐름은 다음과 같습니다.

검증 루틴 (개략)

  기준 모델(FP16) 정확도 측정 -> 합격선 설정
        |
  한 가지 기법 적용 (예: INT8 양자화)
        |
  같은 평가셋으로 정확도 재측정
        |
  꼬리 사례·민감 입력 별도 점검
        |
  합격이면 다음 기법, 불합격이면 보정/QAT/완화

핵심 원칙은 데이터센터 추론에서와 같습니다. 한 번에 한 가지만 적용하고, 평균뿐 아니라 꼬리를 보고, 매번 측정합니다. 엣지에서는 여기에 "실기기 측정"이 더해집니다. 양자화가 정확도를 지켰더라도, 실제 기기에서 NPU 가속이 안 걸려 느리거나 발열로 스로틀링이 나면 사용자 경험은 실패입니다.

특히 엣지에서 흔히 놓치는 것이 분포 이동입니다. 평가셋에서는 멀쩡한데, 실제 사용자의 입력(다른 조명, 다른 억양, 다른 언어)에서 정확도가 무너지는 경우입니다. 그래서 가능하면 실제 사용 환경에 가까운 데이터로 검증하고, 배포 후에도 품질 지표를 관측하는 것이 안전합니다.


엣지 AI의 앞날

엣지 AI의 방향은 몇 가지로 가늠할 수 있습니다.

이 모든 흐름의 바탕에는 같은 동기가 있습니다. 지연, 프라이버시, 비용, 오프라인이라는 엣지의 본질적 이점은 사라지지 않으며, 하드웨어와 소프트웨어가 성숙할수록 더 많은 작업이 기기로 내려옵니다. 클라우드의 거대 모델과 엣지의 작은 모델은 경쟁이 아니라 함께 자라는 두 축입니다.


엣지와 데이터센터, 같은 원리 다른 규모

흥미로운 점은, 엣지 AI를 지배하는 원리가 데이터센터 추론과 본질적으로 같다는 것입니다. 규모만 다를 뿐 작동하는 물리 법칙은 동일합니다.

원리데이터센터엣지
메모리 월HBM 대역폭 병목더 좁은 모바일 메모리 대역폭
양자화INT8/FP8/FP4INT8/INT4 필수
데이터 재사용타일링·dataflowNPU 온칩 재사용
전력 제약기가와트·냉각배터리·발열
워크로드 분리학습 vs 추론엣지 vs 클라우드
컴파일/런타임TensorRT·XLA·TritonTFLite·ONNX·CoreML
핵심 지표처리량·비용지연·전력·정확도

같은 메모리 월 문제가 데이터센터에서는 HBM 대역폭으로, 엣지에서는 모바일 메모리 대역폭으로 나타납니다. 같은 양자화 기법이 데이터센터에서는 처리량과 비용을, 엣지에서는 메모리 적재 가능 여부를 좌우합니다. 같은 데이터 재사용 원리가 데이터센터에서는 타일링으로, 엣지에서는 NPU의 온칩 재사용으로 구현됩니다.

이 대칭성은 학습에 유용합니다. 한쪽을 이해하면 다른 쪽이 쉬워집니다. 데이터센터 추론 최적화를 공부한 사람은 엣지 NPU의 효율 원리를 빠르게 이해하고, 그 반대도 마찬가지입니다. 결국 "데이터를 작게, 적게, 덜 옮기게"라는 한 문장이 칩의 크기와 무관하게 추론 최적화의 핵심으로 관통합니다.

차이는 제약의 강도에 있습니다. 데이터센터는 전력과 냉각이 거대한 규모로 풀려 있어, 어느 정도까지는 자원을 더 투입해 문제를 밀어붙일 수 있습니다. 반면 엣지는 배터리와 발열, 메모리라는 단단한 천장에 막혀 있어 자원을 더 쓰는 선택지 자체가 좁습니다. 그래서 엣지에서는 효율이 선택이 아니라 생존 조건입니다. 같은 원리라도 엣지에서 더 엄격하게 적용해야 하는 이유입니다. 이 강한 제약이 오히려 엣지 개발을 흥미롭게 만듭니다. 한정된 자원 안에서 영리하게 최대를 뽑아내는 일에는 고유한 즐거움이 있습니다.


한눈에 보는 핵심 정리

엣지 AI를 시작하는 사람을 위해 핵심을 짧게 묶습니다.

엣지 AI는 거창한 인프라 없이도 시작할 수 있는, 가장 손에 잡히는 AI 영역입니다. 손안의 기기에서 작은 모델을 돌려보는 것에서부터 출발하면 됩니다.

도구별로 정리하면 출발점이 더 분명해집니다.

조금 더 깊이 들어가고 싶다면 다음 순서를 권합니다. 먼저 대상 기기의 NPU와 지원 런타임을 파악합니다. 그다음 작업에 맞는 작은 모델을 골라 양자화하고, 실기기에서 지연·정확도·발열을 측정합니다. 여기서 만족스러운 결과가 나오면 점진적으로 더 큰 모델이나 더 공격적인 양자화로 한 걸음씩 나아갑니다. 매 단계마다 "기기에 올라가는가"와 "쓸 만한 속도와 정확도가 나오는가"를 분리해 확인하는 것이 핵심입니다. 이 반복이 엣지 AI 개발의 기본 리듬입니다.


마치며

엣지 AI는 "큰 것이 좋다"는 클라우드의 논리와 정반대의 미덕 위에 서 있습니다. 작게, 효율적으로, 제약 안에서 최대를 뽑는 기술입니다. NPU는 그 미덕을 하드웨어로 구현한 가속기로, 적은 전력으로 신경망 추론을 빠르게 끝내 손바닥 안의 AI를 가능케 합니다.

추론이 클라우드에서 학습 capex를 추월하는 시대에, 그 추론의 상당 부분은 사용자의 기기로 분산되고 있습니다. 지연, 프라이버시, 비용이라는 분명한 이점이 이 흐름을 밀고, 양자화·증류·프루닝과 성숙한 런타임이 이를 뒷받침합니다. 가장 좋은 설계는 엣지와 클라우드 중 하나를 고르는 것이 아니라, 둘을 적재적소에 섞는 것입니다. 작은 칩의 제약을 이해하고 존중하는 개발자가 그 균형을 가장 잘 잡습니다.

엣지 AI의 진짜 매력은 거대한 인프라 없이도 누구나 시작할 수 있다는 점입니다. 데이터센터의 기가와트 전력과 수냉 시스템은 소수의 사업자만 다룰 수 있지만, 손안의 NPU 위에서 작은 모델을 돌려보는 일은 개발자 한 사람의 노트북에서도 가능합니다. 그 작은 시작이 지연 없는 응답, 데이터를 지키는 프라이버시, 끊김 없는 오프라인 경험으로 이어집니다. 작은 칩의 제약을 이해하는 일은, 곧 더 많은 사람에게 닿는 AI를 만드는 일이기도 합니다.


참고 자료

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다