지식 증류(Knowledge Distillation, KD)
- 고성능 거대 모델(Teacher)의 지식을 작은 모델(Student)로 증류
- Teacher 모델의 어떠한 정보를 증류하는지에 따라 방법이 달라짐
- 응답 기반 지식 증류(logit-based KD):
- Teacher 모델의 최종 output을 Student 모델이 학습
- 특정 기반 지식 증류(representation-based KD) :
- Teacher 모델에서 특징을 추출하는 backbone network의 정보를 student 모델이 학습
- Teacher 모델의 활성화 맵 분포를 학습
- 일반적으로 logit-based KD보다 높은 정확도
행렬 분해(Tensor Decomposition)
- 특정 행렬을 저차원의 행렬로 분해하는 법
- 저계수 행렬 근사(Low-Rank Approximation, LRA)
- 딥러닝 모델에서 사용
- 특이값 분해(SVD)를 이용하며 저차원 가중치 행렬로 분해하는 방법
다항식 근사
- AI모델에서 사용하는 복잡한 함수를 다항식으로 근사하는 방법
- 복잡한 초월함수들을 낮은 차수의 다항식으로 근사화-> 성능저하 최소화
- 높은 차수의 다항식일 수록 높은 정확도
- 테일러 급수, 다항식 보간법을 사용
희소성 제거방법
- AI모델을 구성하는 다양한 행렬들은 대부분 0값을 가지는 희소한 행렬임
- AI모델의 희소한 행렬 구조를 제거해 유의미한 정보만 남도록 하는 방법
- Pruning, DCT, Auto Encoder 등이 있음
Auto Encoder
입력 데이터를 밀집된 저차원 표현으로 압축하여 희소성을 제거하는 머신러닝 모델
입력과 출력이 동일한 결과를 가지도록 함
희소행렬 표현법
- 희소한행렬을 효과적으로 압축하여 저장하는 기법
- 희소성 제거와는 다르게 행렬 정보 변형 X
- 0이아닌 요소에 대해 행, 열, 값 정보를 따로 저장하여 변환
- 대표적으로 Coordinate List(COO)와 Compressed Spase Row(CSR)가 있음
COO
- 희소한 행렬의 0이 아닌 값들을 표시하고 해당 데이터를 따로 저장
- 행좌표, 열좌표를 각각 row데이터, column 데이터로 저장
CSR
- 0이아닌 원소를 Indices, Index pointers, data 데이터로 변환
- 0이아닌 모든 값을 한줄로 변환하여 data 행으로 저장
- 요소들의 column정보를 한줄로 구성하여 Indices행으로 저장
- 첫행부터 다음행까지 존재하는 데이터의 개수를 Index Pointer 행으로 저장
'AI System Semiconductor' 카테고리의 다른 글
7.1. DRAM 기반 메모리 유형 및 저전력 설계 (0) | 2025.01.08 |
---|---|
6.4. AI 하드웨어 설계 기법 (0) | 2025.01.08 |
6.2. AI 모델 경량화 : 양자화(Quatization) (0) | 2025.01.08 |
6.1. AI 모델 경량화: 프루닝(Pruning, 가지치기) (0) | 2025.01.08 |
5.4. 반도체 패키징 공정 기술 (1) | 2025.01.07 |