요약생성
바쁠 때는 리얼라이즈가 내용을 요약해 드려요.
이 글은 AI를 둘러싼 전문 용어와 근거 없는 믿음을 명확히 하기 위한 게시물 시리즈인 AI 이해하기의 일부입니다.
대규모 언어 모델(LLM)은 여러 작업에서 뛰어난 성능을 보여주며 큰 인기를 끌고 있습니다. 그러나 이러한 인상적인 기능에는 높은 컴퓨팅 비용이라는 큰 단점이 따릅니다.
LLaMA 2 및 Falcon과 같은 최상위 모델은 수십, 많게는 수백 기가바이트의 GPU 메모리를 요구할 수 있습니다. 따라서 실행 비용이 많이 들 뿐만 아니라 설정 측면에서도 큰 어려움을 겪습니다. 또한 리소스를 많이 사용하는 특성상 강력한 클라우드 서버에 액세스하지 않고는 에지 장치에서 실행하는 것이 거의 불가능합니다.
이러한 문제를 극복하기 위해 연구자들은 다양한 혁신적인 압축 기술을 개발해 왔습니다. 이러한 방법은 LLM을 더욱 압축하여 제한된 리소스를 가진 장치에 맞출 수 있도록 하는 것을 목표로 합니다. 또한 이러한 모델의 속도를 높이고 추론 지연 시간을 줄여 효율성을 높일 수 있습니다.
이 글에서는 LLM 압축 기술의 세계와 그 작동 방식, 장단점, LLM 애플리케이션에 미치는 영향을 살펴보겠습니다.
LLM 프루닝
이미지 출처: 123RF
다른 심층 신경망과 마찬가지로 대규모 언어 모델은 많은 구성 요소로 구성되어 있습니다. 그러나 이러한 구성 요소가 모두 모델 출력에 큰 영향을 미치는 것은 아닙니다. 실제로 일부 구성 요소는 전혀 영향을 미치지 않을 수도 있습니다. 이러한 필수적이지 않은 구성 요소는 프루닝하여 모델의 성능을 유지하면서 모델을 더욱 압축할 수 있습니다.
LLM 프루닝을 수행하는 방법에는 여러 가지가 있으며, 각 방법마다 고유한 장단점이 있습니다. 비구조적 프루닝은 모델의 구조를 고려하지 않고 관련 없는 매개변수를 제거하는 것입니다. 기본적으로 비구조적 프루닝은 특정 임계값 미만의 매개변수를 0으로 설정하여 효과적으로 영향을 제거합니다. 그 결과 0과 0이 아닌 가중치가 무작위로 분포된 희소 모델이 생성됩니다.
비구조적 프루닝은 구현하기 쉽습니다. 그러나 비구조적 프루닝에서 가중치가 무작위로 분포되어 있기 때문에 하드웨어 최적화를 활용하기가 어렵습니다. 희소 모델을 압축하려면 추가적인 계산 및 처리 단계가 필요합니다. 또한 압축된 모델은 최적의 성능을 얻기 위해 종종 추가적인 재교육이 필요합니다.
이러한 어려움에도 불구하고 비구조적 프루닝은 상당한 발전을 이루었습니다. 그러한 발전 중 하나가 오스트리아 과학 기술 연구소(ISTA)의 연구원들이 개발한 기술인 SparseGPT입니다. SparseGPT는 BLOOM 및 OPT와 같은 대규모 트랜스포머 모델에 대해 원샷 프루닝을 수행하여 재교육의 필요성을 없앴습니다.
또 다른 기술인 LoRAPrune은 저순위 적응(LoRA)과 프루닝을 결합하여 다운스트림 작업에서 LLM의 성능을 향상시킵니다. LoRA는 기초 모델의 매개변수 하위 집합만 업데이트하는 매개변수 효율적인 미세 조정(PEFT) 기술입니다. 따라서 모델 성능을 향상시키는 매우 효율적인 방법입니다.
반면에 구조적 프루닝은 뉴런, 채널 또는 계층과 같이 모델의 전체 부분을 제거하는 것입니다. 구조적 프루닝의 장점은 모델 압축을 단순화하고 하드웨어 효율성을 향상시킨다는 것입니다. 예를 들어 전체 계층을 제거하면 모델 구조에 불규칙성을 도입하지 않고도 모델의 계산 복잡성을 줄일 수 있습니다.
그러나 구조적 프루닝을 하려면 모델의 아키텍처와 다양한 부분이 전반적인 성능에 어떻게 기여하는지 깊이 이해해야 합니다. 또한 전체 뉴런이나 계층을 제거하면 학습된 중요한 특징이 제거될 수 있으므로 모델의 정확도에 큰 영향을 미칠 위험이 더 큽니다.
구조적 프루닝을 위한 유망한 기술 중 하나는 LLM-Pruner입니다. 이 작업에 구애받지 않는 방법은 원래 학습 데이터에 대한 의존도를 최소화하고 기울기 정보를 기반으로 중요하지 않은 결합 구조를 선택적으로 제거합니다. 이러한 접근 방식은 LLM 기능의 대부분을 최대한 보존하므로 모델 압축에 효과적인 도구입니다.
LLM 지식 증류
이미지 출처: 123RF
지식 증류는 작은 “학생“ 모델이 더 크고 복잡한 “교사“ 모델의 동작을 모방하도록 학습하는 기계 학습 기술입니다. 학습 프로세스를 통해 교사의 지식을 학생 모델로 효과적으로 전달하여 더욱 압축적이면서도 유능한 모델을 만듭니다.
LLM 분야에서 지식 증류 기술은 크게 두 가지 범주로 나뉩니다. 첫 번째는 표준 지식 증류로, 교사 모델의 일반적인 지식을 학생 모델에 전달하는 것을 목표로 합니다. 예를 들어 ChatGPT에서 일련의 프롬프트와 응답을 수집하여 더 작은 오픈 소스 LLM을 학습하는 데 사용할 수 있습니다. 그러나 상용 모델에서 수집한 데이터로 LLM을 학습하는 데는 제한이 있다는 점에 유의해야 합니다.
표준 지식 증류의 어려움은 기본 데이터 분포를 정확하게 포착하는 데 있습니다. 칭화대학교와 마이크로소프트 리서치의 연구원들이 개발한 기술인 MiniLLM은 이 문제를 해결합니다. 이 기술은 LLM을 위해 특별히 설계된 다양한 목표 함수와 최적화 함수를 사용하여 증류 프로세스의 효율성을 높입니다.
두 번째 범주인 새로운 능력 증류는 교사 모델이 학습한 특정 능력을 추출하여 학생 모델에 전달하는 것을 목표로 합니다. 새로운 능력은 대규모 모델에는 있지만 소규모 모델에는 없는 기능입니다. 예를 들어 GPT-4에서 수학 또는 추론 문제에 대한 프롬프트와 응답을 수집하여 Vicuna와 같은 더 작은 모델에 전달하려고 할 수 있습니다. EA 증류의 장점은 좁은 작업 집합에 초점을 맞추기 때문에 측정하기가 훨씬 쉽다는 것입니다. 그러나 더 큰 모델의 새로운 행동을 모방하는 LLM의 능력에는 한계가 있다는 점을 기억해야 합니다.
LLM 양자화
이미지 출처: 123RF
GPT-3과 같은 LLM은 일반적으로 매개변수를 부동 소수점 값으로 저장합니다. 반정밀도에서 각 매개변수는 2바이트를 차지하므로 GPT-3 크기의 모델에는 수백 기가바이트의 메모리가 필요합니다. 압축 기술인 양자화는 이러한 매개변수를 1바이트 또는 더 작은 정수로 변환하여 LLM의 크기를 크게 줄입니다.
양자화는 오픈 소스 LLM을 랩톱 및 데스크톱 컴퓨터와 같은 일상적인 장치에서 실행할 수 있도록 하므로 인기를 얻고 있습니다. GPT4All 및 Llama.cpp는 이 기술을 효과적으로 활용한 양자화된 LLM의 두 가지 주목할 만한 예입니다.
양자화는 모델의 학습 주기의 다양한 단계에서 적용할 수 있습니다. 양자화 인식 학습(QAT)에서 양자화는 학습 프로세스에 통합됩니다. 이러한 접근 방식을 통해 모델은 처음부터 저정밀도 표현을 학습하여 양자화로 인한 정밀도 손실을 완화할 수 있습니다. 그러나 QAT의 단점은 모델을 처음부터 학습해야 하므로 리소스를 많이 사용하고 비용이 많이 들 수 있다는 것입니다.
양자화 인식 미세 조정(QAFT)은 사전 학습된 고정밀도 모델을 저정밀도 가중치로 품질을 유지하도록 조정하는 또 다른 접근 방식입니다. QLoRA 및 매개변수 효율적이고 양자화 인식 적응(PEQA)과 같은 기술이 QAFT에 일반적으로 사용됩니다.
마지막으로 사후 학습 양자화(PTQ)는 모델을 학습한 후 LLM의 매개변수를 저정밀도 데이터 유형으로 변환하는 것입니다. PTQ는 모델 아키텍처를 변경하거나 모델을 재교육하지 않고도 모델의 복잡성을 줄이는 것을 목표로 합니다. 주요 장점은 추가적인 학습이 필요하지 않기 때문에 간단하고 효율적이라는 것입니다. 그러나 다른 기술만큼 효과적으로 원래 모델의 정확도를 유지하지 못할 수 있습니다.
LLM 압축은 끊임없이 진화하는 흥미로운 연구 분야입니다. LLM 압축에 대한 보다 기술적인 개요는 “대규모 언어 모델의 모델 압축에 대한 설문 조사” 논문을 참조하세요.