대형 모델이 업계에서 인기를 얻은 이후로, 대형 모델을 압축하려는 사람들의 욕구는 결코 줄어들지 않았습니다. 대형 모델은 여러 면에서 뛰어난 성능을 보여주지만, 높은 구축 비용으로 인해 활용 문턱이 크게 높아지기 때문이다. 이 비용은 주로 공간 점유와 계산량에서 발생합니다. "모델 양자화"는 대형 모델의 매개변수를 낮은 비트 폭 표현으로 변환하여 공간을 절약합니다. 현재 주류 방법은 모델 성능의 손실 없이 기존 모델을 4비트로 압축할 수 있습니다. 그러나 3비트 미만의 양자화는 연구자들을 위축시키는 극복할 수 없는 벽과 같습니다.
그림 1: 정량적 모델의 난해함은 2비트에서 급격히 증가합니다
최근 칭화대학교와 하얼빈 공과대학이 arXiv에 공동 발표한 논문은 이를 돌파하는 데 큰 진전을 가져왔습니다. 장애물 희망은 국내외 학계에서 상당한 관심을 끌었습니다. 이 논문은 일주일 전 허깅페이스(huggingface) 핫페이퍼에 등재되기도 했고 유명 논문 추천사인 AK에서 추천하기도 했습니다. 연구팀은 2비트 정량화 수준을 넘어 모델 정량화 연구 최초로 1비트 정량화를 과감하게 시도했습니다.
논문 제목: OneBit: Towards Extremely Low-bit Large Language Models
논문 주소: https://arxiv.org/pdf/2402.11295.pdf
저자가 제안한 방법 "OneBit"이라는 이름은 이 작업의 본질을 매우 적절하게 설명합니다. 사전 훈련된 대형 모델을 실제 1비트로 압축. 본 논문에서는 모델 매개변수를 1비트로 표현하는 새로운 방법과 양자화된 모델 매개변수의 초기화 방법을 제안하고, 양자화 인식 훈련을 통해 고정밀 사전 훈련된 모델의 기능을 1비트 양자화 모델로 마이그레이션합니다. QAT). 실험에 따르면 이 방법은 LLaMA 모델의 성능을 최소 83% 보장하면서 모델 매개변수를 크게 압축할 수 있음을 보여줍니다.
저자는 모델 매개변수가 1비트로 압축되면 행렬 곱셈의 "요소 곱셈"이 더 이상 존재하지 않고 더 빠른 "비트 할당" 연산으로 대체되어 컴퓨팅이 크게 향상될 것이라고 지적했습니다. 능률. 이 연구의 중요성은 2비트 수량화 격차를 메울 뿐만 아니라 PC와 스마트폰에 대형 모델을 배포하는 것도 가능하게 한다는 점입니다.
모델 양자화는 주로 모델의 nn.Linear 레이어(Embedding 레이어 및 Lm_head 레이어 제외)를 낮은 정밀도 표현으로 변환하여 공간 압축을 달성합니다. 이전 작업[1,2]의 기본은 RTN(Round-To-Nearest) 방법을 사용하여 고정밀 부동 소수점 숫자를 가까운 정수 그리드에 대략적으로 매핑하는 것입니다. 로 표현할 수 있습니다.
RTN 기반의 방식은 극히 낮은 비트 폭(3비트 이하)에서 심각한 정확도 손실 문제가 있으며, 양자화 이후의 모델 성능 손실이 매우 심각합니다. 특히, 양자화된 매개변수가 1비트로 표현되면 RTN의 스케일링 계수 s와 영점 z는 실제적인 의미를 잃게 됩니다. 이로 인해 RTN 기반 양자화 방법은 1비트 양자화에서는 거의 비효율적이어서 원래 모델의 성능을 효과적으로 유지하기 어렵게 됩니다.
또한 이전 연구에서는 1bit 모델이 어떤 구조를 채택할 수 있는지도 조사했습니다. 몇 달 전의 BitNet 작업[3]에서는 Sign(・) 함수를 통해 모델 매개변수를 전달하고 +1/-1로 변환하여 1비트 표현을 구현합니다. 그러나 이 방법은 심각한 성능 손실과 불안정한 훈련 과정으로 인해 실제 적용에 한계가 있습니다.
OneBit의 메소드 프레임워크에는 새로운 1비트 레이어 구조, SVID 기반 매개변수 초기화 방법 및 양자화 인식 지식 증류를 기반으로 한 지식 전달이 포함됩니다.
1. 새로운 1bit 구조
OneBit의 궁극적인 목표는 LLM의 가중치 행렬을 1bit로 압축하는 것입니다. 실제 1비트에서는 각 가중치 값이 1비트로만 표현될 수 있어야 합니다. 즉, 가능한 상태는 두 가지뿐입니다. 저자는 대형 모델의 매개변수에서 두 가지 중요한 요소, 즉 부동 소수점 수의 높은 정밀도와 매개변수 행렬의 높은 순위를 고려해야 한다고 믿습니다.
따라서 저자는 양자화로 인한 정확도 손실을 보상하기 위해 FP16 형식의 두 가지 값 벡터를 도입합니다. 이 설계는 원래 가중치 행렬의 높은 순위를 유지할 뿐만 아니라 값 벡터를 통해 필요한 부동 소수점 정밀도를 제공하여 모델 훈련 및 지식 전달을 용이하게 합니다. 1bit 선형 레이어의 구조와 FP16 고정밀 선형 레이어의 구조를 비교하면 다음과 같습니다.
그림 3: FP16 선형 레이어와 OneBit 선형 레이어의 비교
(a) on 왼쪽은 FP16 정밀 모델 구조이고, (b) 오른쪽은 OneBit 프레임워크의 선형 레이어입니다. OneBit 프레임워크에서는 값 벡터 g와 h만 FP16 형식으로 남아 있고 가중치 행렬은 전체가 ±1로 구성되어 있음을 알 수 있습니다. 이러한 구조는 정확성과 순위를 모두 고려하며 안정적이고 고품질의 학습 프로세스를 보장하는 데 매우 의미가 있습니다.
OneBit은 모델을 얼마나 압축하나요? 저자는 논문에서 계산을 제공합니다. 4096*4096 선형 레이어가 압축된다고 가정하면 OneBit에는 4096*4096 1비트 행렬과 2개의 4096*1 16비트 값 벡터가 필요합니다. 총 비트 수는 16,908,288이고, 총 매개 변수 수는 16,785,408개이며, 평균적으로 각 매개 변수는 약 1.0073비트만 차지합니다. 이런 압축 방식은 전례가 없는 진정한 1비트 대형 모델이라고 할 수 있다.
2. SVID를 기반으로 양자화 모델 초기화
완전히 훈련된 원본 모델을 사용하여 양자화 모델을 더 잘 초기화하고 이를 통해 더 나은 지식 전달 효과를 촉진하기 위해 저자는 새로운 매개 변수 매트릭스를 제안합니다. 인수분해 방법을 "값-부호 독립 행렬 인수분해(SVID)"라고 합니다. 이 행렬 분해 방법은 기호와 절대값을 분리하고 절대값에 대해 순위 1 근사를 수행합니다. 원래 행렬 매개변수를 근사하는 방법은 다음과 같이 표현할 수 있습니다. SVD(특이값 분해) 및 NMF(비음수 행렬 분해)와 같은 공통 행렬 분해가 구현됩니다. 그런 다음 저자는 이 SVID 방법이 작업 순서를 교환하여 1비트 모델 프레임워크와 일치하여 매개변수 초기화를 달성할 수 있음을 수학적으로 보여줍니다. 더욱이, 이 논문은 또한 기호 행렬이 분해 과정에서 원래 행렬을 근사화하는 역할을 한다는 것을 증명했습니다.
3. 지식 증류를 통해 원래 모델 기능 마이그레이션
저자는 대규모 모델의 초저비트폭 양자화를 해결하는 효과적인 방법이 양자화 인식 교육 QAT일 수 있다고 지적했습니다. OneBit 모델 구조에서는 지식 증류를 사용하여 양자화되지 않은 모델에서 학습하여 양자화된 모델로의 기능 마이그레이션을 실현합니다. 구체적으로, 학생 모델은 주로 교사 모델의 로짓과 은닉 상태에 의해 유도됩니다. 훈련할 때 값 벡터와 행렬의 값이 업데이트됩니다. 모델 수량화가 완료된 후 Sign(・) 뒤의 매개변수는 바로 저장되어 추론 및 배포 시 바로 사용됩니다. 실험 및 결과
OneBit을 FP16 Transformer, 고전적인 훈련 후 양자화 강력한 기준 GPTQ, 양자화 인식 훈련 강력한 기준 LLM-QAT 및 최신 2비트 가중치 양자화 강력한 기준 OmniQuant와 비교했습니다. . 또한, 현재 1비트 가중치 양자화에 대한 연구가 없기 때문에 저자는 자신의 OneBit 프레임워크에 1비트 가중치 양자화만 사용하고, 다른 방법에는 2비트 양자화 설정을 채택하고 있는데, 이는 전형적인 '약한 취약성'이다. 강한 사람에게."
모델 선정 측면에서도 저자는 1.3B부터 13B까지 다양한 사이즈의 모델과 OPT, LLaMA-1/2를 다양한 시리즈로 선정해 원비트의 효율성을 입증했다. 평가 지표 측면에서 저자는 이전 모델 정량화의 두 가지 주요 평가 차원인 검증 세트의 복잡성과 상식 추론의 제로샷 정확도를 따릅니다.
표 1: OneBit의 효과와 기준 방법 비교(OPT 모델과 LLaMA-1 모델) 표 2: OneBit과 기준 방법의 효과 비교(LLaMA- 2 모델) 표 1과 표 2는 1비트 양자화에서 다른 방법과 비교하여 OneBit의 장점을 보여줍니다. 검증 세트에서 모델의 복잡성을 정량화하는 측면에서 OneBit은 FP16 모델에 가장 가깝습니다. 제로샷 정확도 측면에서는 OPT 모델의 개별 데이터세트를 제외하면 OneBit 양자화 모델이 거의 최고의 성능을 달성했습니다. 나머지 2비트 양자화 방법은 두 평가 지표 모두에서 더 큰 손실을 보여줍니다. OneBit은 모델이 클수록 성능이 더 좋아지는 경향이 있다는 점은 주목할 가치가 있습니다. 즉, 모델 크기가 커질수록 FP16 정밀 모델은 Perplexity 감소에 거의 영향을 미치지 않지만 OneBit은 더 많은 Perplexity 감소를 나타냅니다. 또한 저자는 초저비트폭 양자화를 위해서는 양자화 인식 훈련이 필요할 수도 있다고 지적합니다. 그림 4: 상식 추론 작업 비교 그림 5: 세계 지식 비교 그림 6: 여러 모델의 공간 점유 및 평균 비트 폭 그림 4 - 그림 6은 완전히 훈련된 두 모델 Pythia-1.0B 및 TinyLLaMA-1.1B를 포함하여 서로 다른 채널을 통해 얻은 여러 유형의 소형 모델의 공간 점유 및 성능 손실을 비교합니다. 분해를 통해 얻은 LowRank Llama 및 OneBit-7B입니다. OneBit-7B는 평균 비트 폭이 가장 작고 공간을 가장 적게 차지하지만 상식 추론 능력 측면에서는 여전히 다른 모델보다 우수하다는 것을 알 수 있습니다. 저자는 또한 사회과학 분야에서 모델들이 심각한 지식망각에 직면하고 있음을 지적했다. 전반적으로 OneBit-7B는 실용적인 가치를 보여줍니다. 그림 7에서 볼 수 있듯이 OneBit의 양자화된 LLaMA-7B 모델은 지침을 미세 조정한 후 원활한 텍스트 생성 기능을 보여줍니다. 그림 7: OneBit 프레임워크로 정량화된 LLaMA-7B 모델의 기능 1 효율성 표 3: 다양한 압축의 OneBit LLaMA 모델의 비율 표 3은 다양한 크기의 LLaMA 모델에 대한 OneBit의 압축 비율을 보여줍니다. 원비트의 모델 압축률이 90%를 넘는 것을 볼 수 있는데, 이는 이례적인 일이다. 모델이 증가할수록 OneBit의 압축 비율이 높아지는 점은 주목할 만합니다. 이는 양자화에 참여하지 않는 Embedding 레이어의 매개 변수 비율이 점점 작아지기 때문입니다. 앞서 언급했듯이 모델이 클수록 OneBit이 가져오는 성능 향상이 더 커지며 이는 대형 모델에서 OneBit의 장점을 보여줍니다. 그림 8: 모델 크기와 성능의 균형 그림 8과 같이 매우 낮은 비트 양자화로 인해 특정 성능 손실이 발생할 수 있지만 크기와 성능 균형 사이에서 적절한 균형을 유지합니다. . 저자는 특히 모바일 장치에 모델을 배포할 때 모델 크기를 압축하는 것이 중요하다고 생각합니다. 또한 저자는 1비트 양자화 모델의 계산상의 이점도 지적했습니다. 매개변수는 순전히 이진수이므로 1비트 x 0/1로 표현될 수 있으며 이는 의심할 여지 없이 많은 공간을 절약합니다. 고정밀 모델에서 행렬 곱셈의 요소 곱셈은 효율적인 비트 연산으로 전환될 수 있습니다. 비트 할당과 추가만으로 행렬 제품을 완성할 수 있어 응용 가능성이 높습니다. 2. 견고성 바이너리 네트워크는 일반적으로 불안정한 훈련과 어려운 수렴 문제에 직면합니다. 저자가 소개한 고정밀 값 벡터 덕분에 모델 훈련의 순방향 계산과 역방향 계산 모두 매우 안정적입니다. BitNet은 앞서 1비트 모델 구조를 제안했지만 이 구조는 완전히 훈련된 고정밀 모델의 기능을 전달하는 데 어려움이 있습니다. 그림 9에서 볼 수 있듯이 저자는 BitNet의 전이 학습 능력을 테스트하기 위해 다양한 학습률을 시도한 결과 교사 지도 하에서는 수렴이 어렵다는 사실을 발견했으며 이는 OneBit의 안정적인 학습 가치도 입증했습니다. 그림 9: 다양한 학습률에서 BitNet의 학습 후 정량화 기능 논문 끝부분에서 저자는 초저 비트 폭에 대한 가능한 미래 연구 방향도 제안했습니다. 예를 들어, 더 나은 매개변수 초기화 방법을 찾거나 훈련 비용이 더 적게 들거나 활성화 값의 양자화를 추가로 고려해보세요. 자세한 기술적인 내용은 원본 문서를 참조하세요. 토론 및 분석
위 내용은 칭화대학교와 하얼빈공업대학이 대형 모델을 1비트로 압축했는데, 대형 모델을 휴대폰에서 실행하려는 염원이 곧 실현될 예정입니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!