미니 npu는 뭐할 때 쓰나요?
- S펜내장기원
- 조회 수 906
- 2021.12.28. 13:40
엑시노스고 스냅이고 npu는 발전이 크더라구요
구글신께 npu 물어보니 ai 딥러닝 이런 이야기 나오는데 일반인 입장에서 읽어도 잘 모르겠습니다..ㄷㄷ
ai라서 카메라에는 그래서 좋다는 거 알겠는데..
혹시 빅스비 더 빠릿해지고 그런 것도 있을까요??
터치정확도나 그런 데에도 적용되는지 궁금하네요.
우선 NPU가 무엇인지 알 필요가 있습니다. NPU는 Neural Processing Unit으로 보통 한국말로 하자면 신경망 처리 유닛이라고 하는데, 특정 데이터 집단으로부터 Neural Network로 원하는 목표 값(어떤 Model을 만들겠다는 목표)을 도출하기 위해서 Artificial Neural Network Model을 하나 만들어서 GPGPU로 연산을 하여 빠르게 목표와 가깝게 가중치(w), bias 등을 각 Model에 사용된 수식에 맞게 계산하고, 예측 -> 추론 -> 학습 (supervised, unsupervised에 따라 차이가 있기는 함)을 거쳐서 Model의 성능을 향상시킵니다.
그런데 이 Model을 특정 데이터 집단(보통 빅데이터를 전처리하여 학습가능한 데이터로 바꿈)으로부터 학습시켜서, 또 실제 데이터에서 연산을 하도록 만드는 것은 굉장히 부하가 많이 드는 작업입니다. 그래서 이전에도 Google TPU라고 하는 AI 가속기가 있었어요. AI 가속기라고 하면, 일반적인 CPU는 AI 알고리즘을 처리하기에는 비효율적이기(한번에 하나의 수식씩 계산함) 때문에 AI 알고리즘을 효율적으로 처리하기 위한(한번에 여러개의 수식을 계산함) 별도의 보조 도구인 것이죠.
왜냐하면 AI 알고리즘은 빅데이터, Artificial Neural Network에서 요구하는 (Modeling에 따라 차이가 있겠지만) 대규모 병렬 연산이 필요하기 때문에 CPU로는 비효율적이라는 것을요. 그래서 CPU의 성능이 좋지 않은 개발 보드 등에 장착할 수 있는 AI Accelerator(가속기)가 나옵니다.
그리고 이걸 더 소형화하여 ARM기반의 칩 설계 회사들이 NPU 형태로 하여 칩 내부에 넣게 됩니다. 이렇게 하여 지금의 NPU가 나왔습니다.
그런데 이제 생각해야 합니다. 도대체 모바일 기기에서 NPU로 뭘 하느냐. 인공신경망 처리를 가속화하고 실행하는데 효율적이라며?
모바일에서 AI가 구현된 것들이 많지 않은데요. 초기에는 자주 반복되는 작업에 대해서만 NPU가 쓰이고는 했습니다만, 지금에는 스마트폰에 카메라 관련 기능들이 특화되고 강화되면서 이와 관련된 기능에도 NPU가 쓰이고 있습니다.
iOS의 경우에서는 실제 렌즈로 보이는 풍경과 색 톤을 실시간으로 합성해주거나, 동영상 촬영시 사람의 시선에 따라 초점을 맞춰주는 기능과 같이 GPU와 CPU가 연산하기에는 어려운 기능들에 NPU가 쓰이고 있고,
안드로이드는 삼성전자는 사진 편집과 효과 적용 (리마스터, 지우개 기능 등), 빅스비 응답, 구글은 카메라 앱 기술 및 사진 편집/효과적용 (지우개 기능) 등에 쓰이고 있습니다.
빅스비 이런거는 네트워크를 쓸거고 사용자에게는 카메라 말고는 거의 없을겁니다.