TensorFlow 모델 최적화 도구는 머신러닝 추론 최적화의 복잡성을 최소화합니다.
지연 시간, 메모리 사용률 및 많은 경우 전력 소비로 인해 머신러닝 모델을 배포할 때 추론 효율성이 매우 중요합니다. 특히 모바일 및 사물 인터넷(IoT)과 같은 에지 기기에서는 리소스가 더욱 제한되며 모델 크기 및 계산 효율성이 주요 관심사가 됩니다.
학습에 대한 계산 요구는 다른 아키텍처에서 학습된 모델의 수에 따라 증가하는 반면, 추론에 대한 계산 요구는 사용자 수에 비례하여 증가합니다.
사용 사례
모델 최적화는 무엇보다도 다음에 유용합니다.
- 클라우드와 에지 기기(예: 모바일, IoT) 모두의 지연 시간 및 추론 비용 절감
- 처리, 메모리 또는 전력 소비에 제한이 있는 에지 기기에 모델 배포
- 모델의 무선 업데이트를 위한 페이로드 크기 감소
- 고정 소수점 연산으로 제한되거나 최적화된 하드웨어에서 실행 사용 설정
- 특수 목적 하드웨어 가속기의 모델 최적화
최적화 기법
모델 최적화 영역에는 다음과 같은 다양한 기법이 포함될 수 있습니다.
- 프루닝 및 구조화된 프루닝으로 매개변수 수를 줄입니다.
- 양자화로 표현 정밀도를 줄입니다.
- 원래 모델 토폴로지를 매개변수가 감소되었거나 실행 속도가 빠른 더 효율적인 모델 토폴로지로 업데이트합니다. 예를 들면 텐서 분해 메서드 및 정제가 있습니다.
Google의 도구 키트는 학습 후 양자화, 양자화 인식 학습, 프루닝, 클러스터링을 지원합니다. 도구 키트는 또한 다양한 기법을 조합하기 위해 협업 최적화를 위한 실험용 지원을 제공합니다.
양자화
양자화된 모델은 32비트 부동 소수점이 아닌 8비트 정수와 같이 정밀도가 낮은 모델을 나타냅니다. 특정 하드웨어를 활용하려면 정밀도가 낮아야 합니다.
희소성 및 프루닝
희소 모델은 연산자(즉, 신경망 레이어) 사이의 연결이 프루닝된 모델로, 매개변수 텐서에 0을 도입합니다.
클러스터링
클러스터링된 모델은 원본 모델의 매개변수가 더 적은 수의 고유 값으로 대체되는 모델입니다.
협업 최적화
도구 키트는 협업 최적화를 위한 실험용 지원을 제공합니다. 이를 통해 여러 모델 압축 기법을 조합하여 이점을 얻을 수 있으며 동시에 양자화 인식 학습을 통해 정확도를 개선할 수 있습니다.