1. 서론 AI 경량화는 사실 세간의 인식에 비해 쉽다 기저에 깔려있는 이론은 어렵지만 적용하기에는 매우 쉽다 현재 AI모델은 더 큰 모델, 더 큰 파라미터로 더 좋은 성능을 내는 것이 트렌드 NLP 뿐만이 아니라 CV도 마찬가지 하지만 문제는 서비스 응답 목표치에 비해 AI모델의 추론 속도가 매우 느리다는거 경량화를 통해 AI모델의 아키텍처는 그대로, 정확도 손실은 거의 없게 그런데 추론 속도를 4배 더 빠르게 할수 있다면? Clova의 LaRva 모델은 1배치당 평균 175.87ms인데 경량화를 통해 4배 더 빠른 43.86ms를 달성했다고함 이 정도면 서빙하고도 남는 수준 경량화 기법의 계통 pruning과 low rank 기법이 주로 연구되고 있고(2023.10 기준) know..
1. how much quantization을 얼마나 했느냐에 따라 32bit가 full precision이라면 절반씩 줄여나가는 16bit quantization, 8bit, 4bit, 2bit, 1bit quantization mixed precision으로 quantization하는 기법은 hardware-oriented compression(혹은 hardware-aware compression)에 사용된다고 함 무슨 말이냐면 hardware 친화적인 compression, 사용하는 hardware에 맞춘 compression 구체적으로 아주 미세한 layer 단위에서 어떤 layer는 3bit, 어떤 layer는 5bit quantization을 하는 등 layer 단위로 섞어서 다른 quan..
1. introduction weight뿐만 아니라 activation에도 quantization을 적용할 수 있다 심지어 activation과 weight에 서로 다른 quantization을 적용할 수 있다 activation끼리도 서로 다른 quantization 적용이 가능하고 weight끼리도 서로 다른 quantization 적용이 가능하다 위 그림을 보면 weight에 모두 8bit로 quantization을 하고 activation 3개에는 모두 다른 16bit, 8bit, 3bit quantization을 하고 있다 2. problem activation function을 quantization하면 문제점은 계단함수가 되어 모든 구간에서 미분이 안된다는 문제점이 있다 forward ..
1. motivation 일반적으로 float32로 network 연산과정이 표현되나 그것보다 작은 크기의 데이터 타입인 float16 half precision이나 int8 fixed point로 mapping하여 연산을 수행하는 것 2. 예시 1번처럼 float32의 matrix들을 int8로 quantization mapping하여 표현을함 matrix를 계산한 결과가 2번임 2번을 다시 float32로 dequantization하면 3번이 됨 실제 quantization하지 않고 계산한 4번과 비교하면 어느정도 오차가 있는데 이것을 quantization error라고 부름 경험적으로 quantization error에 대해 robust하게 network가 잘 작동한다는 사실이 알려져서 보편..
neural network의 weight나 activation을 연속적으로 정밀하게 미세한 값으로 표현하는 것보다 정밀도가 떨어지더라도 sparse하게 드문드문 떨어지는 덩어리 quantization으로 표현 1. 왜 하는가? 가장 중요한 부분은 training을 더 빠르게 하기위함보다는 inference 과정에서 속도를 빠르게 하고 싶어서 quantization을 하는 것 model size가 작아짐 32bit의 232에서 16bit로 216으로 8bit에서 28로 절반씩 표현능력과 size가 감소하나 그만큼 메모리양을 절약할 수 있음 저장된 데이터를 얼마나 읽어올 수 있는지 memory bandwidth의 필요량을 줄일 수 있다? 이게 무슨 말인지 생각해봤는데 큰 siz..
continuous value는 구간에 존재하는 모든 실수를 나타내고 discrete value는 양자화된 숫자(quantized number)들, 구간 내에 숫자 하나하나를 나타냄 quantization이란 real number로 표현되는 continuous value를 integer multiple(a quantum of the smallest unit)로 표현하는 과정이다 컴퓨터에서는 floating point로 표현되는 continuous value를 가능한 적은 bit의 integer value로 표현하고자 하는 것이 하나의 quantization이다. 이것의 의미는 floating point 대신에 integer value를 이용해서 calculation을 수행한다는 의미다. neu..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.