왜 경량화인가? 딥러닝 모델의 경량화가 필요한 이유
1. motivation
머신러닝과 딥러닝은 이제 거의 모든 분야에서 활용되고 있음
자율주행자동차, entertainment, healthcare, NLP, text, speech, image, audio 등등 다양한 application
2. on device AI
smartphone, smartwatch, IoT device 등에 자체적으로 머신러닝이나 딥러닝 어플리케이션이 올라가 inference를 수행함
이미 object detection, translation 등이 on device에서 수행가능한 딥러닝 어플리케이션들
그러나 올려야하는 어플리케이션이 power(battery) usage가 적어야하고
RAM memory usage가 적어야하고 storage가 적어야하고 computing power가 적어야하는 여러가지 한계점들이 있음
이런 한계점을 해소하는 방법들을 연구하는 것이 경량화의 목표
3. AI on cloud or server
서버나 클라우드에서 AI 어플리케이션을 구동하는 일반적인 방식
on device AI에 비해 배터리, 저장공간, 연산능력 등에 대한 제약은 줄어든다.
즉 서버나 클라우드에서는 on device에 비해 연산량이나 저장공간 등을 크게 신경쓰지 않아도 된다
그러나 latency나 throughput에 제약이 있다
latency는 한가지 요청에 대해 소요되는 시간
예를 들어 번역 한가지가 수행되는데 1분이 걸리면 latency가 길어서 사용자 입장에서는 불편함
throughput은 단위시간당 처리가능한 요청 수를 의미함
예를 들어 1000명이 사용하는 어플리케이션에서 감당할 수 있는 요청수가 1분에 100개이면 사용하기 불편할 것
같은 자원(hardware device, ==돈)으로 더 적은 latency와 더 큰 throughput를 얻을 수 있다면?
이것이 경량화의 일종이라는건가 애매하게 설명해가지고 ㅡㅡ
4. computation
AI의 발전에 따른 중요한 요소 중 하나는 모델의 computation
2012년을 기점으로 AI 모델을 학습하는데 필요한 computation이 3~4개월 주기로 두배씩 증가했다고함
2012를 기점으로 계산량이 증가하는 속도가 심상치않다
연산량 측정 지표는 보통 FLOPs를 사용하지만 제대로 공개가 안되어 있으면 GPU times로 간접적으로 측정함
GPU times 계산시 GPU가 실제로는 100% utilization을 발휘하지 못해서 일부 조정하는데 openAI에서는 1/3로 조정한 적이 있다고는 함
5. 경량화는 결국….
모델 연구와는 별개로 개인적으로는 필수적으로 이용되어야하며 산업에 적용되기 위해서 반드시 거쳐야하는 과정
hardware 종류나 latency 제한, 요구되는 throughput나 원하는 성능들간 tradeoff를 고려하여 적절한 경량화를 수행
'딥러닝 > light weight modeling' 카테고리의 다른 글
knowledge distillation 간단하게 (0) | 2024.08.15 |
---|---|
Efficient Architecture design이란 (0) | 2024.08.14 |
딥러닝 경량화의 quantization 개념 소개 (0) | 2024.07.10 |
값싼 비용으로 최대 효율을 낼 수 있을까 - lottery ticket hypothesis (0) | 2022.12.31 |
iterative pruning의 여러가지 변형 버전 알아보기 (0) | 2022.11.14 |