<aside>
</aside>
성능측정방식 : 처리량에서의 latency(지연시간)에서의 성능 테스트
벤치마크 두 개 존재 :
Nvidia Blackwell platform 벤치마크 set (2024.08) / Llama 2 70B 대용량 모델 사용 / Nvidia H200 GPU 사용
Closed Division ) 초당 4488 token 처리
Open Division ) Pruning를 활용하여 , 초당 11189 token 처리로 늘림
<aside>
목차
Pruning 비율 결정
Pruning된 뉴럴네트워크를 fine-tunning하고 Train하기
Pruning 소개
Pruning(가지치기) 계산방법
<aside>
formula
$\arg \underset{W_p}{\min}$ $L(x;Wp)$ (단, $∥W_p∥_0≤N$ )
Pruning 소개
인간의 뇌에서 일어나는 Pruning
Neural Network에서의 Pruning
Model의 weight들 중 중요도가 낮은 weight의 연결에 대해 weight들을 최대한 sparse(희소하게 : 대부분의 값이 0이도록) 하게 만들어 모델의 파라미터를 줄이는 방법
BaseLine : AlexNet을 사용하여 달성할 수 있는 정확도(기준, 0%)와, 특정 layer의 가중치 분포
Y(Accuracy Loss) : 정확도 손실 정도, X(Pruning Ratio) : Pruning 적용 비율
Pruning : Pruning하는 비율을 늘릴수록 기준대비 정확도 감소, 특정 layer의 0에 가까운 가중치들이 제거된 분포
→ 가중치 70% 제거시 정확도 1% 감소, 80% 제거시 정확도 4% 감소
Pruning + Finetuning (남아있는 가중치들로 재학습) : Pruning하는 비율을 늘려도 정확도 감소 정도 크지않음, 재학습 후 특정 layer의 가중치 분포
→ 동일한 80% 감소에서, 정확도 4% 감소하던게 해당 방법은 정확도 손실 없음
Pruning + Finetuning 반복 : Pruning 비율 더 많이 늘려도 정확도 정도 크지 않음
→ Pruning 후 남은 가중치들로 재학습 ⇒ 다시 pruning ⇒ 다시 재학습
단, 각 단계에서 너무 공격적으로 Pruning을 진행하지 않아야 결과 더 좋음
이미지 작업에서의 Pruning의 효과
AlexNet : [매개변수] 6100만개 → Pruning 후 670만개로 감소, 9배 감소 [연산량] 3배 감소
Parameters : 가중치(weight)와 편향(bias)의 총 개수 (단, bias는 파라미터에서 큰 비중을 차지하지X)
MACs : 입력데이터를 처리할 때 수행하는 연산량 (덧셈,곱셈 연산의 총개수)
Convolutional Layer의 MACs=(커널 높이×커널 너비×입력 채널×출력 채널×출력FeatureMap 크기)
시각 언어 작업에서도 효과있는 Pruning
Pruning 90%& 95% 한 모델이 더 자세하게 이미지를 설명하더라
Pruning 관련 논문 발표도 늘어나고 있음