1. 출발점
신경망의 가중치 행렬은 겉보기에는 매우 클 수 있다.
하지만 실제 학습이 끝난 뒤 singular value 를 확인했을 때, 상위 몇 개만 크고 나머지는 매우 작을 수 있다.
수학적으로는 full rank 일 순 있지만
실제 변환의 대부분은 앞쪽 몇 개 singular direction에 의해 이뤄진다.
이처럼 형식적인 rank 는 크지만 실제로 의미 있게 사용되는 독립 방향의 수가 작은 상태를 낮은 effective rank 라고 한다.
2. Matrix Rank 와 Effective Rank 의 차이
Matrix rank
singular value 가 정확히 0 이 아닌 개수
Effectie rank
실질적으로 중요한 독립 방향의 개수
3. low Effective Rank 의 직관
가중치 행렬을 SVD 로 분해하면
- W = U Sigma V^T
각 singular value 는 특정 입력 방향이 출력에서 얼마나 크게 반영되는지를 나타낸다.
- 큰 singular value
- 해당 방향이 출력에 강하게 반영됨
- 작은 singular value
- 해당 방향의 영향이 약함
- 0 인 singular value
- 해당 방향이 완전히 제거
낮은 effective rank 란 결국
신경망이 많은 좌표를 가지고 있지만 실제로는 소수의 방향을 중시믕로 계산하고 있다는 뜻
4. 전형적인 Singular Spectrum 형태
잘 학습된 가중치에서는 singular value 가 모두 비슷한 경우보다
- 소수의 강한 mode
- 많은 약한 mode
가 존재한다.
행렬은 정확히 low-rank 는 아니지만 approximately low-rank 라고 볼 수 있다.
5. 정확한 Low Rank 와 낮은 Effective Rank
정확한 low rank
- 정보 손실 없이 factorization 가능
낮은 effective rank
- 작은 오차를 허용하면 factorization 가능
6. Energy 관점에서의 Effective Rank
singular value 의 제곱은 해당 mode 가 차지하는 에너지로 볼 수 있다.
- 전체 matrix rank = 1024
- 99% enery rank = 64
라면 형시적으로는 1024 차원의 변환이지만 99% 의 변화는 64 개 방향으로 설명된다는 뜻
7. Stable Rank
stale rank 의 정의

- stable rank 가 큼
- 에너지가 여러 방향에 분산
- 작음
- 소수 singular mode 가 지배함
8. 낮은 Effective Rank 가 의미하는 것
과도한 layer width
많은 채널이나 feature 가 중복되어 있을 수 있다.
데이터의 저차원 구조
입력 데이터 자체가 전체 공간을 사용하지 않을 수 있다.
저차원 manifold 근처에 놓아있다면, 가중치 역시 제한된 방향만 학습할 수 있다.
Task-specific subspace 형성
학습 과정에서 문제 해결에 필요한 방향만 강ㅇ화되고 나머지는 약하게 유지될 수 있다.
암묵적 정규화
명시적인 rank regularization 없이도 낮은 effective rank 해를 선호할 수 있다.
표현 붕괴
항상 좋은 것만은 아닌
필요한 정보 방향까지 사라졌다면
- underfitting
- representation collapse
- rank collapse
일 수 있음
9. 낮은 Effective Rank가 곧 작은 네트워크를 의미하지 않는 이유
낮은 effective rank는 현재 학습된 가중치가 압축 가능하다는 신호다.
하지만 이것이 곧바로 다음을 의미하지는 않는다.
처음부터 작은 모델을 사용해도
같은 성능과 같은 학습 결과를 얻을 수 있다.
큰 모델은 다음 역할을 할 수 있다.
좋은 해를 찾기 쉬운 넓은 탐색 공간 제공
gradient descent 최적화 안정화
여러 solution path 제공
초기 학습에서 다양한 방향 탐색
학습이 끝난 뒤에는 그중 일부 방향만 남아 낮은 effective rank가 형성될 수 있다.
즉:
학습에는 큰 모델이 유리
최종 표현에는 작은 모델이 충분
한 상황이 가능하다.
10. Compiler에서의 활용 가능성
낮은 effective rank는 compiler에서 즉시 확정적인 rewrite 조건이 아니라 compression candidate를 만드는 근거로 사용할 수 있다.
가능한 분석 단계:
1. Weight spectrum 분석
2. Effective rank 계산
3. 후보 rank 생성
4. Low-rank factorization
5. 출력 오차 추정
6. calibration 데이터 검증
7. latency·memory 비용 모델 평가
8. 필요 시 fine-tuning
9. 최종 rewrite 적용
예:
기존:
Linear(4096 → 4096)
분석:
99% energy rank = 128
후보:
Linear(4096 → 128)
Linear(128 → 4096)
이후 정확도와 실제 하드웨어 비용을 확인해야 한다.
'AI Compiler framework' 카테고리의 다른 글
| Linear 연산 합성 실험 결과 분석 (0) | 2026.07.06 |
|---|---|
| MatMul 연산자 의미 정의 (1) | 2026.07.06 |
| Add 연산자 의미 정의 (1) | 2026.07.05 |
| AI Compiler 프로젝트 개발 재시작 방향 (0) | 2026.07.05 |
| AICF / MCIR 에서 패턴의 새로운 정의 (0) | 2026.03.23 |