출처: https://youtu.be/oRpo7eTIUhs?si=II2uBlOJb5IOMMsu
안녕하세요. 저는 시큐레이어 연구소 소속 이수빈 연구원입니다.
저는 오늘 딥러닝 경량화 기술 중 하나인 모델 컨타이제이션 즉 양자화 기술에 관해 발표를 진행하겠습니다.
목차는 다음과 같습니다.
먼저 경량 딥러닝 기술 개요에 대해서 살펴보겠습니다.
최근 AI 기술이 빠른 속도로 확산되면서 자동차 스마트폰과 같은 소비자 제품 부터 자율주행 자동차와 같은 IoT 응용까지 AI 기술을 적용하는 온디바이스 AI가 떠오르고 있습니다.
지금까지의 인공지능 기술은 모바일과 같은 스마트 기기에서 수집한 정보를 중앙 클라우드 서버로 전송하고 분석해 다시 기기에 결과를 전달하는 방식으로 진행되어 왔습니다.
하지만 이러한 클라우드 컴퓨팅 기반은 중요한 데이터가 클라우드 서버에 저장되고 처리되기 때문에 데이터 보안과 개인 정보 보호 그리고 클라우드 비용과 같은 문제점들이 존재합니다.
반면 온디바이스 AI는 클라우드 서버에 의존하지 않고 디바이스 자체에서 AI 모델을 실행할 수 있기 때문에 기존의 클라우드 컴퓨팅 기반의 보안 문제를 해결하고 빠른 응답 속도와 비용 절감의 이점들이 있어서 현재 다양한 분야에서 활용되고 있습니다.
이러한 온디바이스 AI를 효과적으로 구현하기 위해서는 경량 딥러닝 기술이 중요한 역할을 수행합니다.
이 기술은 주로 제한된 디바이스의 자원을 효율적으로 활용하는 데에 중점을 두고 있는데 크게 경량 알고리즘과 알고리즘 경량화 두 가지 부분으로 나뉩니다.
먼저 경량 알고리즘 연구는 모델 구조를 변경하거나 합성고 필터를 최적화함으로써 알고리즘 자체를 효율적으로 구조화하는 방법을 말합니다.
그리고 알고리즘 경량화 연구는 기존 모델의 파라미터를 줄이거나 압축함으로써 모델 자체를 경량화하는 방법을 말합니다.
각각의 연구에는 다양한 접근 방법들이 있는데 오늘 소개시켜드릴 양자화 기술은 알고리즘 경량화 연구의 한 영역으로 모델을 압축하는 방법에 속합니다.
이제 본격적으로 양자와 기술에 대해서 살펴보겠습니다.
양자화란 파라미터들이 일반적으로 플로팅 포인트 값 형태로 표현되는데 이를 특정한 더 낮은 bit 수의 형태로 매핑하는 최적화 기법을 말합니다.
우측 상단의 그림을 보시면 뉴럴 네트워크 모델은 대부분 웨이트나 액티베이션과 같은 파라미터들로 구성되어 있는데, 이 값들은 모델의 정확도를 높이기 위해 32비트 플로팅 포인트로 표현됩니다.
하지만 리소스가 제한된 환경에서 모든 파라미터가 32비트로 표현된 모델을 사용한다면 크기가 큰 모델의 경우 추론 과정에서 어려움이 있을 수 있습니다.
따라서 파라미터에 사용되는 비트 수를 줄이고 동시에 모델의 크기를 줄이는 과정이 양자화의 핵심 기술입니다.
양자화는 모델의 크기를 축소시켜 예측 속도를 향상시키고 효율적인 하드웨어 사용이 가능하다는 장점이 있습니다.
하지만 정확도 성능이 손실될 수 있다는 단점이 존재하기 때문에 정확도의 손실을 최소화하면서 모델 크기를 줄이기 위한 다양한 양자화 기술들이 있습니다.
다음 장부터는 양자화 기술들에 대해 자세히 살펴보겠습니다.
첫 번째로 소개시켜드릴 유형에 따른 양자화 방법은 균일 양자화와 비균일 양자화입니다.
양자화 과정에서 각 구간의 크기가 동일하게 설정되어 일정한 간격으로 데이터를 표현하는지 아는지에 따라 두 가지 방법으로 나눠집니다.
균일 양자화의 경우 계산식 1을 통해 양자화 이전의 원래 값을 구간마다 일정한 값으로 매핑하게 됩니다.
이렇게 양자화된 값은 계산식 2를 통해 다시 원래의 비트 수로 디퀀타이제이션이 될 수 있지만 변환 과정에서 오차로 인해 원래의 값과 정확히 일치하지 않을 수는 있습니다.
반면 비균일 양자는 데이터 분포를 고려하여 각 데이터의 중요도에 따라 양자 레벨을 조정하기 때문에 효율적으로 비2수를 표현할 수 있고, 균일 양자에 비해 퀀타이제이션 에러가 적습니다.
하지만 데이터의 특정 영역에 더 많은 비트를 할당함으로써 균일 양자보다 더 많은 계산량과 복잡성을 필요로 합니다.
다음으로 소개할 양자화 방법은 대칭 양자화와 비대칭 양자화입니다.
대칭 양자화는 원점을 기준으로 양자화할 값의 범위를 대칭적으로 설정합니다.
이렇게 설정된 범위를 클리핑 렌즈라고 하는데, 추론 시에는 이러한 클리핑 렌즈를 사전에 계산해 고정된 값으로 사용합니다.
반면 비대칭 양자는 대칭적이지 않게 클리핑 렌즈를 설정합니다.
일반적으로 값들이 대칭적으로 분포하지 않기 때문에 이러한 비대칭 양자화 방법이 대칭 양자에 비해 정확도가 높을 수 있습니다.
하지만 아래의 그림을 보시면 왼쪽에 대칭 양자 방법은 0을 0으로 매핑하지만 오른쪽에 비대칭 양자 방법은 매핑하지 않는 것을 볼 수 있습니다.
이러한 차이는 연산량과 구현 과정에서 중요한 역할을 하기 때문에 주로 대칭 양자 방법이 선호되는 경향이 있습니다.
다음은 프로세스에 따른 동적, 정적 양자화 방법에 대해 알아보겠습니다.
양자화를 적용하기 전에 clipping range를 구하는 과정에서 동적 양자화와 정적 양자화와 두 가지 접근 방법이 있습니다.
먼저 동적 양자화의 경우 웨이트에 대해서는 미리 clipping range를 정하고, 액티베이션은 추론 과정에서 입력 값에 따라 동적으로 clipping range를 계산하는 방법입니다.
한편, 정적 양자화는 양자화를 적용하기 전에 웨이트와 액티베이션에 대한 clipping range를 사전에 계산하고 이 계산된 값들을 추론 과정 중에 정적으로 유지해 사용하는 방법입니다.
동적 양자화의 경우 추론 과정에서 추가적인 계산 비용으로 인해 오버헤드가 발생할 수 있습니다.
따라서 모든 입력 값에 대한 동일한 clipping range를 사용하는 정적 양자화 방법이 선호되는 경향이 있습니다.
또 다른 프로세스 방법으로 재학습의 유무에 따라 두 가지 접근 방법이 있습니다.
먼저 첫 번째 방법은 포스트 트레이닝 컨타이제이션입니다.
PTQ 방법은 사전 훈련된 모델을 재학습 없이 그대로 사용하여 양자화를 진행합니다. 별도의 훈련 데이터가 필요 없고 소규모 보정 데이터 세트만 필요하기 때문에 주로 데이터가 제한적이거나 레이블이 없는 상황에서 적용됩니다.
이전 장에서 보여드린 동적 양자와 정적 양자 모두 PTQ 방법에 속합니다.
PTQ 방법을 적용할 경우 리소스 소비가 적고 재학습이 필요 없다는 장점이 있지만 작은 모델에서 정확도 성능이 크게 하락할 수 있다는 점을 유의해야 합니다.
두 번째 방법으로는 컨타이제션 어베어 트레이닝입니다.
qat는 PTQ와 달리 사전 훈련된 모델의 양자를 적용한 후 재학습을 통해 정확도 저하를 복구하는 방법입니다.
하지만 이 방법에는 재학습 과정에서 문제점이 존재합니다.
우측 하단의 그림을 살펴보시면 기존 방식대로 미분에서 백월드 연산을 적용할 때 컨타이저에서 모두 기울기가 0이 되어 버리기 때문에 역전파 과정에서 문제가 발생하게 됩니다.
이러한 문제를 해결하기 위해 ste 방식을 적용해서 미분 가능한 형태로 보정해 역전파 과정에서도 원활한 학습이 가능하도록 합니다.
저희 연구소에서는 앞서 소개한 양자 기법들을 활용해 레즈넷 50 모델에 대한 비교 실험을 진행했습니다.
실험에 사용한 라이브러리로는 텐서플로우 모델을 다양한 플랫폼에서 실행할 수 있도록 변환해 주는 도구인 TF 라이트를 사용했습니다.
실험에 사용한 데이터셋은 사이파 텐 데이터셋으로 5만 장의 훈련 데이터와 만 장의 테스트 데이터로 구성되어 있습니다.
실험은 전체적으로 CPU 환경에서 진행되었지만 QT 방법을 적용하기 위해서는 재학습이 필요하기 때문에 해당 재학습 과정에서만 GPU 환경에서 진행했습니다.
TF 라이트는 세가지 PTQ 방법인 8비트, 다이나믹, 8비트 인티저, 16비트 플로트와 8비트 QT 방법, 총 4가지 유형의 양자 기술을 지원하는데 본 실험에서는 이를 모두 활용해 비교했습니다.
아래의 실험 결과표에 따르면 총 4가지의 유형의 양자 기술 중 큐티 방법이 기존 모델에 비해 3배 빠른 추론 속도와 약 2% 향상된 성능으로 정확도 속도, 그리고 측면에서 모두 우수한 성능을 보였습니다.
나머지 PTQ 방법 중에서는 8비트 인티저 방법이 3배 빠른 추론 속도로 기존 모델과 비슷한 정확도 성능을 달성했습니다.
반면 동적 양자화인 다이나믹 방법의 경우 정확도 성능 하락과 오브헤드 발생으로 좋지 않은 성능 결과를 보였습니다.
결론적으로 레스넷 50 모델 양자화 실험에서 QT 방법이 가장 좋은 성능을 보였고 동적 양자화 방법이 가장 좋지 않은 성능 결과를 보였습니다.
qat의 경우 재학습 과정을 통해 정확도 저하가 없었지만 동적 양자화는 추론 과정에서 추가적인 계산 비용으로 정확도 성능 하락과 오버헤드가 발생한 것으로 보입니다.
하지만 QAT 방법을 사용할 시 재학습 과정을 따로 거쳐야 하기 때문에 리소스나 학습 시간 측면에서 기존 모델과 비슷한 정확도 성능을 낸 PTQ 방법의 8비트 인지도도 좋은 방법으로도 볼 수 있을 것 같습니다.
따라서 양자화 방법을 선택할 때에는 각 상황이나 모델의 종류에 따라 적절한 방법을 고려하여 선택해야 합니다.
본 실험에서는 레즈맵 50 모델을 대상으로 양자를 적용해 봤지만 향후 저희 연구소에서는 다양한 모델에 대한 양자 비교 실험을 추가로 진행할 계획입니다.
다음으로 라즐 랭귀지 모델 양자 기술 연구 현황에 대해서 살펴보겠습니다.
최근 gpt3 등장으로 인해 LLM 기반 AI가 주목을 받고 있습니다.
그러나 LLM은 대규모 연산과 데이터가 필요로 하기 때문에 이를 효율적으로 실행하는 양자 기술이 필수적인 기술로 간주되고 있습니다.
2022년 10월에 발표된 GPTQ는 1750억 개의 파라미터를 가진 GPT 모델을 4비트 또는 3비트로 양자하는 PTQ 기반 방법으로 단일 GPU에서 약 3.25배 빠른 추론 속도를 보였습니다.
GPTQ는 사용자 친화적인 API를 사용해서 머신러닝 워크플로우에서 양자 작업을 처리하는 오토 GPTQ 라이브러리를 통해 사용이 가능합니다.
또한 2023년 조지 게르가노프가 만든 GGML은 PTQ 기반 텐서 라이브러리로 시연으로 작성되어 있으며 GPU가 아닌 CPU에 최적화되어 있습니다.
우측의 GGML에서 공개한 데모 영상을 보시면 라즈베리 파이에서 자동 음성 인식 모델인 위스퍼 모델이 동작하고 있는 모습을 볼 수 있습니다.
그 다음으로 2023년 5월에 발표된 큐로라는 양자화된 4비트 모델의 효율적인 파인튜닝 방법을 제시했습니다.
이 연구에서는 단일 48기가바이트 GPU로 50개, 650억 개의 파라미터를 가진 모델을 성능 저하 없이 파인튜닝하는 데 성공했습니다.
또한 2023년 6월에 발표된 awq는 기존의 GPTQ의 하드웨어 비효율성을 보완한 양자 방법을 제시했습니다.
이 연구에서는 3비트와 4비트에 대해 실험을 진행하였고, GPTQ보다 약 1.45배 빠른 추론 속도 향상 결과를 보였습니다.
마지막으로 2023년 7월에 발표된 퀵은 EBT에서 실행 가능한 결과를 생성한 PTQ 기반 양자 방법을 제시했습니다.
우측 그림을 보시면 모델 크기가 커질수록 2비트와 16비트의 성능 차이가 감소하는 것을 확인할 수 있습니다.
이로써 킵은 LM에서 정확한 2비트의 추론 가능성을 제공한 연구라고 볼 수 있습니다.
다음은 요양 및 향후 전망입니다. 온디바이스 AI를 실현하기 위한 다양한 모델 경량화 기술들이 존재합니다.
그중에서 양자화는 모델의 파라미터를 더 낮은 b2 수로 표현하여 모델 크기를 줄이고 예측 속도를 개선하는 경량화 기법입니다.
양자화는 유형과 프로세스에 따라 다양한 방법들이 존재하는데, 그중에서 PTQ는 사전 훈련된 모델을 재학습 없이 그대로 진행하고, QT는 양자화 후에 재학습을 추가적으로 진행하여 정확도 저하를 복구하는 방법입니다.
QT가 PTQ에 비해 정확도 성능 하락은 적지만 모델 재학습 시간과 추가적인 계산 비용을 감수해야 하는 점이 있습니다.
저희 연구소에서 레진 50 모델에 대한 양자 비교 실험을 진행한 결과 큐티가 정확도, 속도, 크기 측면에서 모든 좋은 성능을 보였고, PTQ 방법 중에서 동적 양자가 가장 좋지 않은 성능을 보였습니다.
양자아는 각 상황이나 모델의 종류에 따라 적절한 방법을 선택해야 하기 때문에 향후 저희 연구소에서는 다양한 모델에 대한 양자 비교 실험을 추가로 진행할 계획입니다.
최근에는 소비자 하드웨어에서 라즐 랭귀지 모델이 실행 가능한 혁신적인 양자 연구가 많이 진행되고 있습니다.
진행된 연구들 중 현재 4비트까지는 성공적으로 양자화 되었지만 이비트에서는 여전히 성능 저하 문제들이 발생하고 있습니다.
하지만 올해 7월에 발표된 킵은 이비트에서 실행 가능한 결과를 생성한 양자 방법을 소개하여 앞으로 LLM에서 정확한 추론을 위한 e비트 양자 연구가 활발히 진행될 것으로 기대됩니다.
또한 현재 LLM 양자 연구 분야에서 PTQ를 활용한 연구들은 활발히 진행되고 있으나 qh의 경우 데이터 양과 계산 비용의 제약으로 인해 활용한 연구는 아직 적은 편입니다.
QT를 활용한 연구 중에서 올해 5월에 발표된 LLM qat는 최초로 지식 증류 방법을 활용해 QT를 LLM에 적용하고 자비트 양자화를 성공적으로 제시했습니다.
이로써 앞으로 PTQ 방법뿐만 아니라 QT 방법의 LLM 최적화 연구가 활발히 진행될 것으로 보입니다.
'대학원 > LLM quantization study' 카테고리의 다른 글
attention mechanism에 대해 다시 공부해보자. (0) | 2024.12.30 |
---|---|
[이 부분도 공부해보면 좋겠다] [fastcampus] 오픈소스 LLM을 활용한 고급 Fine-tuning & AI 서비스 구현 (0) | 2024.12.30 |
워드 임베딩부터 다시 공부해보자. (0) | 2024.12.30 |
딥러닝 모델에서의 양자화 강의 공부 [ 메릭 웨비나 ] 딥러닝모델에서의 양자화 - 정태희 박사(AMD) (0) | 2024.12.29 |