강의 내용
(1강) 경량화 분야 소개 & 강의 소개
경량화를 왜 하냐
- 베터리, 램, 저장공간, 성능
- latency, throughput. 더 작은 latency와 더 큰 throughput을 만들고 싶다.
- 새로운 모델이 생길수록 성능은 좋아지지만 배로 뛰는 연산량..
(멘토님의) 경량화 종류 관점
- 네트워크구조관점
- Efficient Architecture Design (+AutoML;Neural Architecture Search(NAS))
- Network Pruning
- Knowledge Distillation
- Matrix/Tensor Decomposition
…
- Hardware관점
- Network Quantization
- Network Compiling
- Efficient Architecture Design
처음 설계할 때부터 네트워크 구조를 가볍게 (mobilenet 등)
사람의 직관보다 알아서 짜게 하는게 더 좋을수도 있음(Auto ML).
- Network Pruning
별로 영향 없는 weight 없애기
.
굳이 Unstruc
tured pruning을 만든 이유는 규칙적으로만 자르면 어떤 HW에서는 성능이 빨라졌는데 어떤곳에서는 오히려 느려지는 현상이 생기니 각 HW에 맞춰서 각자의 방식으로 잘라내자 는 것 같다.
- Knowledge Distillation
teacher와 student로 학습시키는거.
- Matrix/Tensor Decomposition
어차피 결과가 비슷하다면 나눠서 구하자.
- Network Quantization
- Network Compiling
그래서 강의 내용은 이렇게..
효율적인 architecture를 설계하자는건 이미 많은 노문들이 나오고 있고 많이 읽어봤을테니(읽어야 하는 듯)
아쉽지만다루지못하는것들
- 각 분야마다 약간씩 다르게 적용되는 경량화 variation들(NLP, Speech, Object detection, …)
- 이미 가진 모델을 경량화하는 기법들(Pruning, Knowledge distillation)
한거 정리
코드를 봤는데 생각보다 클래스가 많고 많이 들어가야 한다. 또 "@property" 가 있는데
여기 설명 보자.
협업하고 싶은데 깃허브부터 어떻게 해야 할지 모르겠다. 사람마다 폴더별로 나눠야 할지, 그냥 모든 사람이 하나의 코드를 만들어가는 형태로 해야 할지. 일단 협업 방법
코드 외에도 팀 진행을 어떻게 해야 할지 이렇게 고민하는것도 좀 고민이 많이 되는 듯.
시간을 효율적으로 써야 한다. 똑같이 컴퓨터 앞에 앉아서 보내는 시간은 비슷하거나 조금 더 적을 것 같은데 왜 난 얻는게 없는 것인가. 다른거 하면서 효율적으로 못 쓰는 듯. 막 코드 보는건 좋은데.. 아 나도 잘 모르겠다. 일단 미션이나 다 하자.
내일부터 아침에 전에 같이 했던 사람들끼리 모여서 알고리즘 문제 풀고 공유하기로 했다. 7시에 일어나서 여차저차 준비하고 9시 좀 전에 풀기 시작하면 얼추 맞을 것 같다. 이번 한달 동안만 모든걸 다 한다는 느낌으로.
'과거의 것들 > AI Tech boostcamp' 카테고리의 다른 글
P-stage4 [day4] 모델최적화 기법(1); Automl 실습 (0) | 2021.12.05 |
---|---|
P-stage4 [day3] 모델최적화 기법(1); Automl 이론 (0) | 2021.12.05 |
프로그래머스 뎁매칭 정리 (0) | 2021.12.01 |
P-stage3 img obd 마지막 정리 (0) | 2021.12.01 |
P-stage3 [day9] (0) | 2021.12.01 |