디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[정보] Layer-Pruning & QLoRA를 활용한 모델 경량화

ㅇㅇ(182.230) 2024.04.03 02:42:21
조회 1324 추천 18 댓글 3
														
https://arxiv.org/abs/2403.17887


최근 공개된 심층 레이어의 비합리적인 비효율성(The Unreasonable Ineffectiveness of the Deeper Layers)라는 연구에서는 LLM의 심층 레이어를 절반까지 제거하는 실험을 통해 성능 하락을 최소화하면서도 모델 크기를 줄일 수 있음을 보여주고 있습니다. 주로 사용한 방법들은 Pruning과 QLoRA Finetuning이며, 모델 경량화를 통해 연산 비용을 절감하면서도 성능을 비슷하게 유지할 수 있는 모델 개발에 관심있는 분들께 도움이 될 것으로 보입니다.


심층 레이어의 비합리적인 비효율성

소개
이 연구는 대규모 언어 모델(LLM)의 연산 비용, 그 중에서도 추론 시점의 연산 비용을 줄이기 위한 간단하면서도 효과적인 레이어-가지치기(Layer-Pruning) 전략에 대한 실험들과 결과를 공유하고 있습니다. 저자들은 LLM의 더 깊은 레이어를 상당 부분 제거해도 다양한 질의응답 벤치마크에서 성능이 크게 손상되지 않는다는 것을 실증적으로 보여줍니다. 이러한 발견은 LLM의 성능이 그 깊이와 복잡성에 직접 비례한다는 기존의 생각이 사실과 다를 수 있다는 것을 알려주며, QLoRA 파인튜닝과 결합된 레이어 가지치기의 실용적이고 효율적인 접근 방식을 소개하여 모델 최적화에 대한 새로운 방향을 제시하고 있습니다.

LLM의 효율성을 개선하기 위한 현재 방법에는 가중치의 정밀도를 줄이는 양자화(Quantization), 파인튜닝 중 모델 매개변수의 작은 부분 집합만을 업데이트하는 LoRA(Low-Rank Adapters), 불필요한 매개변수나 연결을 직접 제거하는 가지치기(Pruning) 기법 등이 활용되고 있습니다. 이러한 전략은 모델의 크기 또는 학습 및 추론에 필요한 연산 자원을 줄이기 위해 노력하고 있지만, 종종 성능의 하락을 포함하는 트레이드-오프(trade-offs)가 발생하고 있습니다.

기본적인 아이디어는 모델의 모든 레이어가 모델의 성능에 동등하게 기여하지 않는다는 관찰에 기반한 레이어-가지치기(Layer-Pruning) 전략입니다. 이를 위해 먼저 (1) 가장 중요하지 않은 레이어 식별을 위해 레이어 간의 유사도를 측정하여 성능에 미치는 영향을 최소화하면서 제거할 수 있는 레이어를 결정 및 제거하고, (2) 제거된 레이어로 인한 성능 저하를 최소화하기 위해 QLoRA 기법을 사용하는 '치유(healing)' 과정을 거치는 것을 제안하고 있습니다

Layer-Pruning 및 Healing의 동작 방식
이 연구에서 제안하는 레이어-가지치기 방법의 구현은 최적의 레이어를 식별하고 모델을 치유하기 위한 두 단계 과정을 포함합니다. 1) 제거할 레이어를 결정하는 결정은 레이어 표현 간의 각도 거리 분석을 기반으로 하며, 모델의 성능에 미치는 영향을 최소화하기 위해 집중됩니다. 2) QLoRA를 사용한 후속 파인튜닝은 매개변수 효율적인 방식으로, 제거된 레이어의 부재를 보완하고 모델의 효과성을 보존하거나 심지어 향상시키는 데 중요합니다.

아래 그림 1을 통해 전체적인 전략을 먼저 간략히 살펴보겠습니다:

2ebc8876b08b6dfe6cb984b310887c38f3d40e0e74801371638f55646b12ab71d4aa5a8aa2229d6473aac7f69a84b1288b3869b5af60fd76


(a) 알고리즘 흐름도: n개의 레이어 제거 과정은, 각도 거리 d가 최소화되는 레이어 ℓ*를 찾아내어 그 위치부터 n개의 레이어를 제거하는 과정을 포함합니다. 필요한 경우, 파라미터 효율적인 파인튜닝(PEFT)을 통해 모델의 손상을 치유할 수 있습니다.


(b) 레이어 제거 도식화: 레이어 제거 과정은 ℓ부터 시작하여 ℓ+n−1에 이르는 총 n개의 레이어를 모델에서 제거하는 것을 나타냅니다. 이는 모델의 구조적 단순화를 의미합니다.


(c) 각도 거리 분석: 다양한 레이어 수 n에 대해, 레이어 블록의 시작 지점 ℓ에서의 각도 거리 d를 나타냅니다. 가장 낮은 거리(보라색 곡선)에서 가장 높은 거리(노란색 곡선)까지, 각도 거리의 최소값을 추적하는 검은색 선을 보여줍니다.


(d) 가지치기 결과: Llama-2-70B 모델의 레이어 제거 비율에 따른 성능 변화를 보여줍니다. 치유를 통해 성능이 어느 정도 복원되며(진한 파란색), 제거된 레이어 비율이 증가함에 따라 질의응답 작업의 정확도에 급격한 변화가 관찰됩니다(40%-50% 가지치기시), 반면 치유된 손실은 최소 80% 가지치기까지 점진적으로 증가합니다.


각 동작 과정을 다음과 같이 나누어 설명할 수 있습니다.


1. 각도 거리 측정

첫 번째 단계는 모델의 각 레이어 사이의 "각도 거리(angular distance)"를 측정하는 것입니다. 각도 거리는 레이어 간의 유사성을 측정하는 지표로 사용되며, 이는 레이어들이 처리하는 정보의 유사성을 나타냅니다. 레이어 ℓ과 ℓ+n 사이의 각도 거리를 계산함으로써, 모델 내에서 정보 처리가 중복되는 부분을 식별할 수 있습니다. 중복이 많은 레이어는 제거해도 모델 성능에 미치는 영향이 적다고 가정할 수 있습니다.


2. 중요하지 않은 레이어 식별

각도 거리를 기반으로, n개의 연속된 레이어 중에서 제거할 때 성능 손실을 최소화할 수 있는 레이어 블록을 식별합니다. 이를 위해, 레이어 ℓ부터 시작하여 ℓ+n까지의 레이어 블록 중 각도 거리 d가 최소화되는 지점을 찾습니다. 이 최소화된 각도 거리 d는 제거할 레이어 블록을 결정하는 데 사용됩니다. 이 과정은 모델 전체에 걸쳐 반복되어, 제거 가능한 레이어 블록을 찾아냅니다.


3. 레이어 제거 및 모델 치유(healing)


2eed8973b1846afe68bed0b446d7743ecf148a3beaede961bfe6d4bee9f0c1b49a9ab39989c8b40c768e980b985f59df51a7ddb0d4d5528ac97695314ed15e19fd42


식별된 레이어 블록을 모델에서 제거한 후, 제거 과정에서 발생할 수 있는 성능 손실을 "치유"하기 위해 파라미터 효율적인 파인튜닝이 수행됩니다. 이 과정은 주로 QLoRA와 같은 기법을 사용하여 최소한의 파라미터 업데이트로 최대한의 성능 복원을 목표로 합니다. "치유" 과정은 제거된 레이어의 기능을 나머지 레이어가 흡수하도록 하여, 모델의 성능을 원래 상태로 복원하거나 심지어 개선하는 것을 목표로 합니다.


4. 성능 검증

마지막 단계에서는 가지치기와 치유 과정을 거친 모델의 성능을 원래 모델과 비교하여 검증합니다. 이를 통해 가지치기 전략이 모델의 효율성을 향상시키면서도 성능을 유지하거나 개선할 수 있는지를 평가합니다. 다양한 벤치마크와 작업을 통한 성능 평가는 가지치기 전략의 유효성을 실증적으로 증명하는 데 중요합니다.


예를 들어, 100개의 레이어를 가진 가상의 LLM을 고려해 보겠습니다. 제안된 방법은 51번(ℓ*)부터 75(ℓ*+n−1)번째까지 25(n)개의 레이어가 전체 성능에 거의 영향을 미치지 않는다고 식별할 수 있습니다. 이렇게 25(n)개의 레이어들을 제거한 뒤, 모델은 75개의 레이어를 남깁니다. 그런 다음 QLoRA 기법으로 모델을 파인튜닝하며 (제거된 25개의 레이어를 보완할 수 있도록) 남은 75개의 레이어들을 조정합니다. 이러한 과정을 거쳐 가지치기 이전의 원래 모델과 유사하거나 더 나은 성능 수준을 유지하는 더 효율적인 모델을 만들 수 있습니다.


실험 결과


75bfd520e0826cf33bec85e6158820388bd9ba6b8db9305d2eee9b338adc7e2f71b16eb9da713e618500c2e228df6bbd9b81e72a2fb43eb74080b2a9383fc2553cc2


Llama2와 Qwen 모델군들과 Mistral / Phi 모델 등, 2.7B부터 70B에 이르는 다양한 크기의 LLM들을 대상으로 가지치기 및 치유 과정을 실험하였습니다. 실험에 사용한 모델들은 모두 32에서 80개의 원본 레이어를 가지고 있습니다. 치유 단계에서는 QLoRA를 사용하여 모델을 4비트 정밀도로 양자화한 후 Colossal Clean Crawled Corpus(C4)에서 추출한 164M 또는 328M 토큰에 대해 파인튜닝을 진행함으로써 효율적인 학습을 가능하게 했습니다. 이 모든 실험은 단일 A100 GPU에서 수행되었습니다.


성능 평가를 위해 MMLU(Massive Multitask Language Understanding)와 BoolQ라는 두 가지 벤치마크를 사용했습니다. MMLU는 일반적인 세계 지식 및 문제 해결 벤치마크로, BoolQ는 텍스트 자체로부터 답을 추론해야 하는 예/아니오 독해력 평가 벤치마크입니다.


위 그림 2의 실험 결과는 다음과 같은 주요 발견을 보여줍니다:


1. 치유에 의한 성능 개선: 레이어를 제거한 후 QLoRA를 사용한 치유 과정을 거친 모델들은, 치유 과정 없이 레이어만 제거한 경우보다 성능이 개선되었습니다. 이는 치유 과정이 가지치기로 인한 성능 저하를 어느 정도 상쇄할 수 있음을 시사합니다.


2. 가지치기 비율에 따른 성능의 강인성(robust): 실험에 포함된 모델들은 20%-55%의 가지치기 비율까지는 성능이 상당히 강인하게 유지되었습니다. 모델 가족과 크기에 따라 이 비율은 다소 변동이 있지만, 이 범위 내에서는 모델들이 여전히 유용한 성능을 보여줄 수 있음을 의미합니다.


3. 가지치기 비율이 증가함에 따른 성능 하락: 특정한 가지치기 비율을 넘어서면 모델 성능이 급격히 하락하여 임의 추측 수준으로 떨어지는 경향을 보였습니다. 이는 모델에서 제거할 수 있는 레이어의 한계를 나타내며, 과도한 가지치기가 모델의 성능을 크게 저해할 수 있음을 보입니다.

자동등록방지

추천 비추천

18

고정닉 9

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2861 설문 어떤 상황이 닥쳐도 지갑 절대 안 열 것 같은 스타는? 운영자 24/05/20 - -
469314 일반 교사들 방 빼 ㅇㅇ(121.131) 05.14 14 0
469313 일반 근들갑 떨만하네 ㅇㅇ(58.226) 05.14 16 0
469312 일반 알트만 존나 사랑스러우면 개추 ㅋㅋㅋㅋㅋㅋㅋㅋ ㅇㅇ갤로그로 이동합니다. 05.14 20 0
469311 일반 캬 씨발 공부할때 저거만 있어도 효율 오조오억배 ㅋㅋ ㅇㅇ갤로그로 이동합니다. 05.14 22 0
469310 일반 교사들 좆됐다 ㅋㅋㅋ ㅇㅇ(112.156) 05.14 30 0
469309 일반 정신차려보니 10만명보고있음 ㅇㅇ갤로그로 이동합니다. 05.14 54 0
469308 일반 이거 구글 티배깅이냐 [1] 빙냥이ㄱㅇㅇ갤로그로 이동합니다. 05.14 47 0
469307 일반 아니 진짜 사만다잖아 싸이버펑크갤로그로 이동합니다. 05.14 20 0
469306 일반 이게 실시간으로 바로된다고? ㅇㅇ(110.10) 05.14 24 0
469305 일반 her맞네 시발ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅇㅇ(14.35) 05.14 27 0
469304 일반 좆됐노... ㅇㅇ(121.186) 05.14 17 0
469303 일반 와 진짜 사만다네 ㄷㄷㄷ ㅇㅇ(1.245) 05.14 11 0
469302 일반 시발 인퍼런스 속도 말이되나 로컬도 저 속도 안나올거같은데 [1] ㅇㅇ(118.33) 05.14 54 0
469301 일반 교사들 단체로 실직하겟는데 ㅋㅋㅋ ㅇㅇ(112.156) 05.14 25 0
469300 일반 아니 카메라로 실시간이 되네 ㅇㅇ(58.29) 05.14 17 0
469299 일반 얼마나 경량화랬길래 저게 실시간으로 되냐 ㅇㅇ갤로그로 이동합니다. 05.14 27 0
469298 일반 시발 역대급 역대급 역대급 ㅇㅇ(121.124) 05.14 17 0
469297 일반 헬로 사만다 ㅋㅋㅋㅋ ㅇㅇ갤로그로 이동합니다. 05.14 12 0
469294 일반 시발 쩌는데? ㅇㅇ(118.223) 05.14 28 0
469292 일반 찾았다 내여친 ㅇㅇ갤로그로 이동합니다. 05.14 17 0
469291 일반 교사들 싹다 대체시켜 이세이미야케갤로그로 이동합니다. 05.14 18 0
469290 일반 카메라보고 무엇을 하는지 다아네 ㅇㅇ(124.111) 05.14 20 0
469289 일반 0.5 her 이노ㅋㅋㅋ ㅇㅇ(112.186) 05.14 25 0
469288 일반 유동 코드 " 0자리 " [4] 부패하는유전자!!!갤로그로 이동합니다. 05.14 139 1
469287 일반 와 좆지리긴하네 ㅇㅇ(112.156) 05.14 23 0
469286 일반 와 씨발 실시간으로 풀이 봐주네 ㅇㅇ(58.226) 05.14 20 0
469285 일반 교사 시한부 입갤 ㅋㅋㅋㅋㅋㅋㅋㅋㅋ fwaf(14.50) 05.14 29 0
469284 일반 her 맞네 ㅅㅂ ㅇㅇ(218.39) 05.14 22 0
469282 일반 와 her이다 ㄷㄷㄷ ㅇㅇ(121.124) 05.14 19 0
469281 일반 인도 노동자가 실시간 답변중일듯 ㅇㅇ [4] ㅇㅇ(218.153) 05.14 93 1
469280 일반 저러고 시발 편집이면 어캄 ㅇㅇ갤로그로 이동합니다. 05.14 26 0
469279 일반 게임 오바 싹다 구속시켜! ㅇㅇ(59.31) 05.14 12 0
469278 일반 수학강사 필요없누 이제 ㅇㅇ(58.29) 05.14 18 0
469276 일반 Her을 만들어냇네 ㅋㅋㅋ ㅇㅇ(112.156) 05.14 19 0
469275 일반 와 ㅆㅂ ㅋㅋㅋ 개지리네 ㄹㅇ ㅇㅇ(211.241) 05.14 19 0
469274 일반 와 이건 진짜 멀티모달이네? ㅇㅇ(125.137) 05.14 21 0
469273 일반 솔직히 실망이면 개추 [2] ㅇㅇ(115.20) 05.14 77 1
469272 일반 gpt가 지배하겠다 이건 진짜 ㅋㅋㅋ ㅇㅇ(121.191) 05.14 21 0
469271 일반 미쳣다 ㄹㅇ 이건 소름돋는다 ㅇㅇ(121.162) 05.14 29 0
469270 일반 씨발 안에 사람있는거 아니냐 ㅇㅇ(218.52) 05.14 10 0
469269 일반 미친??? 저게 되? [1] ㅁㄴㅇ(222.112) 05.14 41 0
469268 일반 씨발 끝났다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅇㅇ(121.186) 05.14 24 0
469267 일반 진정한 멀티모달이긴하네ㅋㅋㅋㅋ ㅇㅇ(112.186) 05.14 25 0
469266 일반 야 씨발 게임 끝났다 방빼라 ㅇㅇ갤로그로 이동합니다. 05.14 37 0
469265 일반 근데 진짜 좆지리긴하네 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅇㅇ갤로그로 이동합니다. 05.14 27 0
469263 일반 이거 씨발 HER 잖아 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅇㅇ갤로그로 이동합니다. 05.14 96 0
469262 일반 확정이네 agi2024갤로그로 이동합니다. 05.14 17 0
469261 일반 구글이 사기치던 실시간 비전 커뮤니케이션 ㄷㄷㄷㄷ? ㅇㅇ(118.216) 05.14 52 0
469260 일반 ㅇㅇ(58.226) 05.14 9 0
469259 일반 걍 자러가도될듯 ㅇㅇ(121.144) 05.14 44 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2