AI 주도 인터페이스 수요 증가로 안면 인식 같은 기능을 기계에 통합하는 것이 더 이상 기념비적 도약처럼 느껴지지 않는다. 다양한 AI 플랫폼, 훈련 도구, 오픈소스 프로젝트(페이스ID 예시 등)로 개발자는 PC에서 빠르게 프로토타이핑할 수 있다.
(출처: CEVA)
제약사항(Constraints)
PC나 클라우드에서 훈련된 네트워크를 임베디드 시스템으로 이식하는 것은 독특한 과제다. 고성능 하드웨어용으로 구축된 모델은 메모리 제약을 무시하고 부동소수점 연산에 의존하며 슬라이딩 윈도우 추론을 위해 오프칩 메모리에 의존한다. 강력한 PC 프로토타입은 이런 비효율을 감당할 수 있지만 임베디드 애플리케이션은 성능 유지하면서 훨씬 더 검소해야 한다.
최적화 필수 요소
최적화 첫 기둥은 양자화(quantization). 32비트 부동소수점 가중치를 8비트 정수로 변환하면 모델 크기와 중간 값 모두 축소돼 대부분 비전 작업에서 정확도 영향 미미하면서 상당한 메모리 절약 달성.
가중치 희소성(sparsity) 활용으로 연산 추가 절감. 0에 가까운 계수를 제로화하며 정확도 영향 모니터링하면 불필요한 곱셈 제거, 메모리 트래픽과 전력 소비 동시 절감.
실제로 비전 모델은 이미지를 증분 처리하므로 계산 윈도우가 프레임 가로질러 슬라이드하며 가중치 업데이트. 가중치 매트릭스 큰 비율을 0으로 강제하면 어레이 압축·온칩 SRAM 저장 가능, 오프칩 트래픽 감소·처리량 증대.
뉴럴 넷은 성숙한 라이브러리에도 의존. 텐서플로 라이트(TensorFlow Lite)나 벤더별 가속기 라이브러리 같은 마이크로컨트롤러 친화적 런타임이 효율적 추론에 필수. 마이크로컨트롤러 완전 활용 위해선 보통 맞춤형 솔루션 필요.
올바른 플랫폼 선택이 따라서 중요. 선택한 프레임워크(예: 텐서플로)에서 훈련된 모델을 최소 수동 조정으로 임베디드 타깃에 바로 컴파일하는 플로우 필요, 양자화 레벨, 가중치 임계값, 메모리 매핑에 세밀한 제어 허용하면서.
어떻게 쉽게 사용할 수 있는 플로우로 만들까?
원하는 것은 훈련된 네트워크를 패키징해 배포하는 심리스 파이프라인: 양자화, 희소성 프루닝, 런타임 코드 생성 완비로 저수준 최적화 아닌 애플리케이션에 집중 가능.
CEVA CDNN은 정확히 이 목적 위해 구축. 양자화, 프루닝, 런타임 생성을 위한 오프라인 툴체인 제공, CEVA DSP와 고객 가속기에 타이트하게 결합된 라이브러리 전달. CDNN은 텐서플로 라이트, ONNX, Caffe 등 주요 모델 포맷 모두 지원.