위키득계정 ↗
기술

SparseGPT

SparseGPT기술
영문
SparseGPT
대상
학습된 언어 모형의 가중치
방식
학습 후 가지치기
지원 형태
비구조적 및 일부 반구조적 희소성
SparseGPT는 학습이 끝난 대규모 언어 모형에서 일부 가중치를 제거하는 가지치기 방법이다. 층별 출력 재구성 관점에서 남은 가중치를 조정해 별도의 전체 재학습 없이 희소성을 만든다.

출력을 고려한 제거

가중치 일부를 0으로 만들면 보정 입력에 대한 층 출력이 달라진다. SparseGPT는 제거와 남은 가중치 조정을 함께 다뤄 이 차이를 완화한다. 가중치의 절댓값만 보고 가장 작은 값을 삭제하는 방법과 구분된다.

재구성의 독립 예제

보정 입력이 (1, 1)이고 가중치가 (0.2, 0.8)이면 출력은 1이다. 첫 가중치를 지우고 둘째를 1로 조정하면 이 입력의 출력 1을 유지할 수 있다. 그러나 입력 (1, 0)에서는 원래 0.2와 달리 0이 된다. 한 예에서의 복원이 모든 입력의 등가성을 뜻하지는 않는다.

희소 패턴

비구조적 희소성은 개별 가중치의 위치를 유연하게 고를 수 있다. 반구조적 패턴은 작은 묶음 안의 비영 값 개수를 제한한다. 같은 50% 희소성이라도 위치 제약이 다르면 품질과 사용 가능한 연산 커널이 달라질 수 있다.

용량과 실행 속도

0이 많아져도 값을 조밀한 배열로 그대로 저장하고 곱하면 기대한 절감이 나오지 않을 수 있다. 희소 저장의 위치 정보와 하드웨어 지원을 함께 고려해야 한다. 가지치기와 양자화를 결합할 때도 최종 품질과 실제 메모리, 응답 시간을 각각 측정한다.

관련 문서

Wanda 가지치기 / GPTQ 양자화 / 신경망 양자화 / 언어 모형 / 트랜스포머 / AWQ 양자화