출력을 고려한 제거
가중치 일부를 0으로 만들면 보정 입력에 대한 층 출력이 달라진다. SparseGPT는 제거와 남은 가중치 조정을 함께 다뤄 이 차이를 완화한다. 가중치의 절댓값만 보고 가장 작은 값을 삭제하는 방법과 구분된다.
재구성의 독립 예제
보정 입력이 (1, 1)이고 가중치가 (0.2, 0.8)이면 출력은 1이다. 첫 가중치를 지우고 둘째를 1로 조정하면 이 입력의 출력 1을 유지할 수 있다. 그러나 입력 (1, 0)에서는 원래 0.2와 달리 0이 된다. 한 예에서의 복원이 모든 입력의 등가성을 뜻하지는 않는다.
희소 패턴
비구조적 희소성은 개별 가중치의 위치를 유연하게 고를 수 있다. 반구조적 패턴은 작은 묶음 안의 비영 값 개수를 제한한다. 같은 50% 희소성이라도 위치 제약이 다르면 품질과 사용 가능한 연산 커널이 달라질 수 있다.
용량과 실행 속도
0이 많아져도 값을 조밀한 배열로 그대로 저장하고 곱하면 기대한 절감이 나오지 않을 수 있다. 희소 저장의 위치 정보와 하드웨어 지원을 함께 고려해야 한다. 가지치기와 양자화를 결합할 때도 최종 품질과 실제 메모리, 응답 시간을 각각 측정한다.
관련 문서
Wanda 가지치기 / GPTQ 양자화 / 신경망 양자화 / 언어 모형 / 트랜스포머 / AWQ 양자화