드디어 스마트 홈을 위한 ASR 작업에 내 NPU (Intel Arrow Lake)를 활용해 보았습니다
요약
Intel Arrow Lake NPU를 활용하여 스마트 홈용 ASR(자동 음성 인식) 작업을 수행한 성능 비교 결과입니다. CPU 대비 속도와 에너지 효율 면에서 압도적인 성능 향상을 확인했습니다.
핵심 포인트
- NPU 사용 시 CPU 대비 약 4.8배 빠른 속도와 10.7배 적은 에너지 소모
- 짧은 음성 명령 처리 시 NVIDIA GPU보다 빠른 응답성(Low Latency) 제공
- NPU 활용을 통해 CPU 부하를 줄이고 GPU VRAM을 절약 가능
- Intel NPU의 낮은 TOPS 수치에도 불구하고 특정 ML 워크로드에서 높은 효율 증명
저는 다른 곳에서 심층 분석(deep dive)을 통해 발견한 내용에 대해 글을 썼지만(Reddit은 교차 링크를 좋아하지 않기 때문에 언급하지 않겠습니다), 이곳이 AI 관련 정보를 가장 많이 배우는 곳이고, NPU에 대한 질문들이 종종 마케팅 상술로 치부되어 무시되는 것을 보았기에 이곳에 공유하고 싶었습니다(LLM의 관점에서는 대부분 그렇지만, 다른 머신러닝 (ML) 워크로드의 경우에는 그렇지 않습니다).
OpenVINO로 컴파일된 onnx-asr를 NPU에서 작동하게 만드는 과정에서 제가 발견한 함정들이 궁금하시다면 해당 기사를 읽어보셔도 좋지만, 저는 이곳에 발견한 결과들을 게시하고자 합니다.
총 시간, 총 사용 에너지(추론 중 와트(watts) 및 전사당 총 줄(Joules))를 비교한 표입니다.
| 오디오 길이 | CPU (INT8) | NPU (FP32) | 속도 향상 | 에너지 |
|---|---|---|---|---|
| 10s | 978ms / 44.6J / 45.6w | 204ms / 4.2J / 20.5w | 4.8배 빠름 | 10.7배 적은 에너지 |
| ... |
에너지는 intel-rapl을 사용하여 10Hz로 샘플링되었으며, 이는 전체 패키지 전력을 제공합니다. 여기서 실행 전 측정된 유휴(idle) 전력을 뺐으므로, 전력이 12.7w로 표시된다면 이는 유휴 상태보다 12.7w가 더 높음을 의미합니다.
Intel NPU는 서류상으로는 13TOPS로, 40TOPS 이상의 AMD 제품에 비해 상당히 약하기 때문에 이는 놀라운 결과라고 생각합니다. 하지만 이 작업에는 여전히 충분히 빠릅니다.
Home Assistant에서 측정한 실제 엔드 투 엔드 (end-to-end) 수치입니다:
이 작업을 NPU에서 실행하면 CPU가 CPU 본연의 작업을 할 수 있도록 자유로워지며, 또한 제 7900XTX에서 LLM 작업을 수행하기 위한 귀중한 2~3GB의 VRAM을 절약할 수 있습니다.
덧붙이자면, 이 설정은 실제 사용 환경에서 이전에 사용하던 12GB RTX 3060 eGPU보다 더 나은 성능을 보여줍니다. 34초 길이의 음성 명령을 처리할 때, NPU는 약 120160ms가 소요되는 반면, 이전에 사용하던 3060은 약 150~300ms가 소요되었습니다. 제가 NPU가 NVIDIA 그래픽 카드보다 더 강력하다고 주장하는 것은 아닙니다. 다만, NPU는 휴면 상태에서 즉각적으로 깨어날 수 있는 반면, NVIDIA 카드는 성능을 끌어올리는 데(ramp up) 충분한 시간이 걸리기 때문에, 스마트 홈 음성 명령과 같은 짧은 작업 부하(workload)에서는 NPU의 빠른 시작이 승리할 수 있었던 것으로 추측합니다. 긴 형식의 오디오를 전사(transcribing)하는 작업이라면 NVIDIA 카드가 다시 승리할 가능성이 매우 높습니다.
마침내 NPU의 유용한 용도를 찾아냈으며, 다음으로는 STT(Speech-to-Text) 오디오 생성을 NPU로 옮겨보고 싶습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기