NPU의 특징 :
하드웨어별로 구현 다르고 지원하는 레이어, 넓이 다 다름
같은회사 NPU라도 세대별로 다름.
AI 모델이 통째로 NPU에서 돌아가는 경우는 드물고 어떤 레이어는 CPU에서 받아서 처리하기 때문에 경우 따라 병목도 생김
어떤 레이어는 그냥 CPU에서 전용 AI 유닛 넣고 처리하는게 더 빠름(CPU에 주어진 메모리 대역폭이 커서)
Whisper 같은 음성-텍스트 모델만 해도 수백가지의 레이어로 구성되어 있고
이게 NPU 성능 십분 활용하면서 돌아가게 하려면
해당 하드웨어에 아주 해박한 엔지니어가 제대로 된 프로파일링 도구 써가면서 머가리 싸매고 최적화 시켜야함
최신 퀄컴칩은 모르겠지만 NPU 구조 제대로 공개하는 기업은 없어서 (어차피 아무도 안할거 아니까 ㅋㅋ)
덕후들이 일일이 NPU 벤치마크 돌려보면서 어떤 형태로 구성되어 있나 추정하기도 함
레이어들의 "극히" 일부분이 이정도
당연하지만 저렇게까지 해서 개발하는 개발자는 없음 ㅋㅋ
제대로 최적화 하려면 칩셋별로 다른경우 많으니
현재 모바일 앱에서 쓰는 대부분 AI 모델들 (얼굴인식, 번역, 이미지 인식 등등)은 너무나 작고 단순해서 그냥 CPU에서 쌩으로 돌리는 경우가 많음
내가 말하는건 기본 수백메가 하는 대형 모델들임
퀄컴도 엔지니어들이 아무도 관심가지지 않으니까 상용 모델들을 자기들이 직접 컨버팅해서 올리는 작업을 진행중
애플 엔지니어들은 NPU라는 물건이 얼마나 복잡하고 다루기 어렵고,
실질적으로 활용되지 못할거라는걸 아주 오래전부터 예상하고 있었음
애플 뉴럴엔진과 CoreML은 아주 신박한 방식으로 동작하는데, Coreml tools를 이용해서 상용 AI 모델을 CoreML 포맷으로 변환하고 앱에 적용후 배포하게 되면
사용자 기기에 설치된 앱의 CoreML 포맷 AI 모델은
사용자의 칩셋의 CPU, NPU, GPU 구성에 가장 최적화된 형태로 레이어가 재구성되어서 컴파일이 진행됨...
개발자는 각각 기기에 최적화를 따로 할 필요가 없음
만능은 아니라서 사전에 모델을 애플의 포맷에 맞게 제대로 최적화 하는건 여전히 성능향상에 중요함
아주 혁신적인 방식이고, 타사들은 퍼스트파티 기능, 혹은 마케팅으로 소모하는 NPU를 진짜 제대로 활용하는건 애플인 이유
가벼운 모델을 쓰는 대부분 앱들도 타사 플랫폼보다 훨씬 효율적으로 돌아갈 수 있다는 장점이 있음
물론 라마3, 파이3, 같은 온갖 최신 모델들을 아이폰에서 돌리는 기행이 펼쳐질 수 있는 이유이기도 하고
이 방식이 혁신적인게, 애플이 더 나은 최적화 기법을 찾아낸다?
그럼 AI 모델을 쓰는 앱들이 다시 컴파일되고 성능이 전부 오름
iOS 18에서도 애플이 새로운 최적화 기법을 찾아내서 성능이 크게 상승함
이건 오픈AI의 Whisper 모델을 돌리는 앱인데
Whisper-Base-En 모델 기준 iOS 18 업데이트 이후
초당 165토큰에서 237토큰으로 40% 넘는 성능향상을 보임...
반면 퀄컴 엔지니어들이 동일한 Whisper-Base-En 모델을 머리 싸매가며 최적화 시킨 결과는?
최신 갤럭시 S24 기준 토큰당 18.6ms = 초당 53토큰 ㅋㅋㅋㅋ
A17 대비 4배 이상 느림
노트북에 들어가는 퀄컴 X 엘리트는 13.8ms = 72tok/s
A17 대비 3배 이상 느리다
이게 현실이야
그래서 NPU TOPS 수치로 딸딸이 치는건 아무 의미가 없다는거고
마이크로소프트 같은 대기업들이 논문에서 자사 최신 모델을 왜 아이폰용으로 이식하고 퀄컴엔 시도조차 안하는지 알겠지?
페라리 엔진이 5000 RPM으로 도는거랑 그랜저 엔진이 5000 RPM으로 도는게 다르듯이
NPU는 특히나 HW specific한 설계 사상으로 만들어지는거라 얼마나 다양한 모델, 데이터타입을 지원하는지가 중요하지
TOPS는 그냥 대충 그렇구나 하고 흘려듣는게 맞아
인증 ㄱㄱ
ㅇㅇ 근데 NPU 구조마다 달라서 16비트에서 8비트, 4비트로 내려갈때마다 연산력 더블되는 구조도 있고, 그냥 그대로인 경우도 있음 기업들은 아마 저마다 최대 TOPS 나오는 수치를 광고하려고 할거야 애플도 원래 16비트 기준 쓰다가 A17, M4는 8비트 기준으로 광고하는걸로 암 아마 그 세대부터 8비트 연산시 스루풋이 최대가 되는 구조를 채택하지 않았을까~ 전부 추측이지만
16비트짜리 모델을 8비트 4비트 낮춰서 양자화 하면 성능이 떨어지긴 해... 모델 종류에 따라 하락이 적어서 아주 효과적인 경우도 있고 그렇지 않은 경우도 있고 뭐 님 말대로 코파일럿 그거때문에 좀 어거지로 40tops 이상 맞춘것 같긴 합니다
가끔 맛갤에 해박한 지식 있는 애들이 있는게 신기하다. 앞으로도 좋은 정보들 많이 올려줘라
개추를 버벅시
삼성이 노골적으로 애플 카피함 → "아~ 서로서로 닮아가는거랑께요~"삼성이 내수차별로 한국인 등쳐먹음 → "시장 특성상 어쩔수 없는거랑께요~"아이폰이 갤럭시보다 성능 훨씬 앞서는데요? → "아 암튼 거의 다 따라잡았당께요~ 고사양 게임 안하면 문제없당께요~ 님 혹시 폰으로 게임하는 거지임?"성능딸리면서 가격은 왜 비슷하게 받아먹음? → "아닌데요? 갤럭시A69 역대급 60만원 가성비인데요?" (동일 성능 중국폰 10만원대로 판매중)왜 GOS 성능조작으로 소비자 기만했죠? → "소비자의 안전을 위해 어쩔수없당께요~" "1반인들은 체감 못한당께요~"기본적인 마인드 → "삼성은 세계최강 1등 혁신기업이며 황제로 모셔야한다, 내 말에 반박하거나 팩트를 들고오면 조선족 앱등이로 간주한다"
어차피 위안부 센숭이들 3줄 이상 넘어가면 뇌 과부화 걸려서 이해 못함
아이폰 램 기본 12기가 이상 박히면 넘어갈라고 - dc App
이거 딱 LLVM 같은데? llvm을 ai에 적용했나? - dc App
https://namu.wiki/w/LLVM - dc App