특정 작업에 대한 사전 훈련된 대형 언어 모델(LLM)의 성능은 계속해서 향상되고 있으며, 이후 프롬프트 지침이 적절하다면 더 많은 작업에 더 잘 일반화될 수 있습니다. 훈련 데이터 및 매개변수와 관련하여 최근 추세에 따르면 연구자들은 더 작은 모델에 더 집중하고 있지만 이러한 모델은 더 많은 데이터에 대해 훈련되었으므로 추론 중에 사용하기가 더 쉽습니다.
예를 들어, 매개변수 크기가 7B인 LLaMA는 1T 토큰에서 학습되었지만 평균 성능은 GPT-3보다 약간 낮지만 매개변수 크기는 후자의 1/25입니다. 뿐만 아니라 현재 압축 기술은 이러한 모델을 더욱 압축하여 성능을 유지하면서 메모리 요구 사항을 크게 줄일 수 있습니다. 이러한 개선을 통해 성능이 좋은 모델을 노트북과 같은 최종 사용자 장치에 배포할 수 있습니다.
그러나 이것은 세대 품질을 고려하면서 이러한 모델을 이러한 장치에 맞도록 충분히 작은 크기로 압축하는 방법이라는 또 다른 과제에 직면합니다. 연구에 따르면 압축된 모델은 허용 가능한 정확도로 답변을 생성하지만 기존 3-4비트 양자화 기술은 여전히 정확도를 떨어뜨리는 것으로 나타났습니다. LLM 생성은 순차적으로 수행되고 이전에 생성된 토큰에 의존하기 때문에 작은 상대 오류가 누적되어 심각한 출력 손상으로 이어집니다. 안정적인 품질을 보장하려면 16비트 모델에 비해 예측 성능을 저하시키지 않는 낮은 비트 폭 양자화 방법을 설계하는 것이 중요합니다.
그러나 각 매개변수를 3~4비트로 양자화하면 보통 또는 심지어 높은 정확도 손실이 발생하는 경우가 많습니다. 특히 에지 배포에 이상적인 1~10B 매개변수 범위의 소형 모델의 경우 더욱 그렇습니다.
정확도 문제를 해결하기 위해 워싱턴 대학교, ETH Zurich 및 기타 기관의 연구자들은 새로운 압축 형식과 양자화 기술인 SpQR(Sparse-Quantized Representation, Sparse-Quantized Representation)을 제안했습니다. 처음으로 LLM은 이전 방법과 유사한 압축 수준을 달성하면서 모델 규모 전반에 걸쳐 거의 무손실 압축을 제공합니다.
SpQR은 특히 큰 양자화 오류를 유발하는 비정상적인 가중치를 식별 및 격리하고 LLaMA에서 다른 모든 가중치를 3~4비트로 압축하면서 더 높은 정밀도로 저장하는 방식으로 작동합니다. 그리고 Falcon LLM. 이를 통해 성능 저하 없이 15% 더 빠른 단일 24GB 소비자 GPU에서 33B 매개변수 LLM을 실행할 수 있습니다.
SpQR 알고리즘은 효율적이며 가중치를 다른 형식으로 인코딩하고 런타임에 효율적으로 디코딩할 수 있습니다. 특히, 이 연구는 SpQR에 16비트 기본 모델보다 더 빠른 추론을 가능하게 하면서 4배 이상의 메모리 압축 이득을 달성하는 효율적인 GPU 추론 알고리즘을 제공합니다.
이 연구에서는 하이브리드 희소 양자화를 위한 새로운 형식인 SpQR(Sparse Quantization Representation)을 제안합니다. SpQR(Sparse Quantization Representation)은 거의 무손실을 유지하면서 사전 훈련된 LLM을 매개변수당 3~4비트로 정확하게 압축할 수 있습니다.
구체적으로 연구에서는 전체 과정을 두 단계로 나누었습니다. 첫 번째 단계는 이상값 감지입니다. 연구에서는 먼저 이상값 가중치를 분리하고 해당 양자화가 높은 오류로 이어진다는 것을 보여줍니다. 이상값 가중치는 높은 정밀도로 유지되는 반면 다른 가중치는 낮은 정밀도(예: 3비트 형식)로 저장됩니다. 그런 다음 연구에서는 매우 작은 그룹 크기로 그룹화된 양자화의 변형을 구현하고 양자화 규모 자체가 3비트 표현으로 양자화될 수 있음을 보여줍니다.
SpQR은 정확도를 저하시키지 않으면서 LLM의 메모리 공간을 크게 줄이는 동시에 16비트 추론에 비해 LLM을 20%-30% 더 빠르게 생성합니다.
또한 연구에서는 가중치 행렬에서 민감한 가중치의 위치가 무작위가 아니라 특정 구조를 가지고 있음을 발견했습니다. 정량화 중에 구조를 강조하기 위해 연구에서는 각 무게의 민감도를 계산하고 LLaMA-65B 모델에 대한 이러한 무게 민감도를 시각화했습니다. 아래 그림 2는 LLaMA-65B의 마지막 self-attention 레이어의 출력 투영을 보여줍니다.
이 연구에서는 정량화 프로세스에 두 가지 변경 사항을 적용했습니다. 하나는 작고 민감한 가중치 그룹을 캡처하고 다른 하나는 개별 이상값을 캡처하는 것입니다. 아래 그림 3은 SpQR의 전체 아키텍처를 보여줍니다.
다음 표는 SpQR 양자화 알고리즘을 보여줍니다. 왼쪽의 코드 조각은 전체 프로세스를 설명하고 오른쪽의 코드 조각에는 보조용 서브루틴이 포함되어 있습니다. :
Experiment이 연구에서는 SpQR을 두 가지 다른 양자화 방식인 GPTQ, RTN(가장 가까운 값으로 반올림)과 비교하고 두 가지 측정항목을 사용하여 양자화 모델의 성능을 평가했습니다. 첫 번째는 WikiText2, Penn Treebank 및 C4를 포함한 데이터 세트를 사용한 복잡성 측정이고, 두 번째는 WinoGrande, PiQA, HellaSwag, ARC-easy, ARC-challenge의 5가지 작업에 대한 제로 샘플 정확도입니다.
주요 결과. 그림 1 결과는 비슷한 모델 크기에서 SpQR이 특히 작은 모델에서 GPTQ(및 해당 RTN)보다 훨씬 더 나은 성능을 발휘한다는 것을 보여줍니다. 이러한 개선은 SpQR이 더 많은 압축을 달성하는 동시에 손실 저하를 줄이기 때문입니다.
표 1, 표 2 결과는 4비트 양자화의 경우 16비트 기준선에 대한 SpQR의 오류가 GPTQ에 비해 절반으로 줄어든다는 것을 보여줍니다.
표 3은 다양한 데이터세트에 대한 LLaMA-65B 모델의 Perplexity 결과를 보고합니다.
마지막으로 연구에서는 SpQR 추론 속도를 평가합니다. 본 연구에서는 특별히 고안된 희소 행렬 곱셈 알고리즘과 PyTorch에서 구현된 알고리즘(cuSPARSE)을 비교하고 그 결과를 Table 4에 나타내었다. 보시다시피 PyTorch의 표준 희소 행렬 곱셈은 16비트 추론보다 빠르지 않지만 이 기사에서 특별히 설계된 희소 행렬 곱셈 알고리즘은 속도를 약 20-30% 향상시킬 수 있습니다.
위 내용은 330억 개의 대규모 매개변수 모델을 단일 소비자급 GPU에 "삽입"하여 성능 저하 없이 15% 속도 향상의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!