Hailo 컴파일 결과
- 딥러닝 모델(가중치 파일)을 parsing → optimization → compile 과정을 거쳐, Hailo에서 실행 가능한
hef
파일로 만들 수 있다.
- 이 과정에서 최적화 및 컴파일 정보를 가지고 있는
har
파일이 함께 생성되는데, hailo profiler
를 통해 har
의 정보를 분석하여 시각화할 수 있다.
Hailo Profiler
YOLOv8n 모델 Profile 예시
-Hailo-컴파일과-메모리-할당_image_1.png)
- Model Details 탭에서 모델 파라미터 개수, 레이어 수, 연산량 등과 함께 모델 아키텍쳐를 시각적으로 확인할 수 있다.
-Hailo-컴파일과-메모리-할당_image_2.png)
- Optimization Details 탭에서 최적화/양자화 관련 설정과, 각 레이어의 최적화 정보를 확인 할 수 있다.
-Hailo-컴파일과-메모리-할당_image_3.png)
- Compilation & Runtime Details 탭에서 컴파일 정보를 확인할 수 있다.
- YOLOv8n 모델은 하나의 context로 컴파일 되었고, context를 클릭하여 각 context의 런타임 할당 정보를 확인할 수 있다.
-Hailo-컴파일과-메모리-할당_image_4.png)
Hailo 런타임 메모리 할당
-Hailo-컴파일과-메모리-할당_image_5.png)
- Compilation & Runtime Details 탭에서 Hailo Compiler 에서 모델이 디바이스에서 실행될 때 온-디스바이스 메모리(SRAM)에 Context가 어떻게 할당될 것 인지 시각적으로 표시한다.
Context
- Hailo의 온칩 리소스(SRAM, compute unit 등)를 초과하지 않도록 분할된 하나의 실행 단위 네트워크.
- 일정량의 연산 그래프 + 가중치 + 메모리 사용량을 포함하며, 해당 context 단독으로 Hailo에서 실행 가능한 최소 단위.
- 전체 딥러닝 모델이 너무 크면 온칩 RAM에 한번에 올릴 수 없으므로, Hailo Compiler에서 내부의 SRAM 용량에 맞게 자동으로 분할함.(Multi Context)
-Hailo-컴파일과-메모리-할당_image_6.png)