티스토리 뷰
[Day 35] 모델 경량화 - 1
1. 강의 복습 내용
모델 경량화 - 1
1. 머신러닝 모델 경량화
- 머신러닝 모델은 여러 데이터들이 공유하는 어떤 패턴을 표현하기 위한 함수
- 가장 표현력이 좋다고 알려져 광범위하게 쓰이는 함수가 Deep Neural Network (DNN)
- 다양한 데이터를 아우르는 특징들을 많이 표현하고 싶을 수록 더욱 크고 복잡한 모델이 필요
- 크고 복잡한 모델이 필요하게 되는 것은 자연스러운 흐름
- 하지만, 사람 사회로 이 기술들이 스며들기 위해서는 대부분 크기는 점차 작아지고, 성능은 향상되는 방향으로 기술이 발전하는 모습을 보인다.
- 결국, 머신러닝도 이같은 흐름을 따를 것이고 머신러닝 모델 경량화 기술이 요구될 것이다.
*) 경량화? 소형화?
- On-Device AI 혹은 서버형 경량화로 우리가 보고 싶어하는 효과는 속도, 용량, 연산의 최소화
- 작아지게 (소형화) 만들기 보다는, 가벼워지게 (경량화) 만드는 것이 주안점
- 작은 것은 부피 (혹은 크기)를 말하는 것이고, 가벼운 것은 무게를 말하는 것
- 작은 것과 가벼운 것은 다르다
- 소형화 (小形化)는 작다는 뜻이고, 경량화 (輕量化)는 가볍다는 뜻
*) 무엇을 경량화할까?
: 모델이 가진 무의미한 정보량을 줄여서 경량화를 달성하는 것이 목표
- 무의미한 정보가 줄어들면, 정보의 밀도가 올라간다. (정보=유의미한 정보+무의미한 정보)
- 따라서 모델 경량화란 모델 압축(Compression)과도 같다. (소형화가 아니다)
*) 어떻게 경량화할까?
: 즉 큰 모델에 들어있는 정보 중 더 중요한 정보와 덜 중요한 정보를 어떻게 가려낼 것인가? 의 질문으로 환원가능
- 덜 중요한 정보를 배제하는 방법
- Pruning
- Quantization
- Knowledge Distillation
- Filter Decomposition
2. Edge Device를 위한 모델 경량화
- 우리의 실생활에서는 수 많은 Edge Device를 통해 데이터를 주고 받고 결정을 한다.
- 하지만 Cloud에서 수 없이 많은 Edge Device를 통해 전달되는 데이터들을 처리하고 주고 받기에는 너무 많은 과정을 거쳐야하고, 연산량도 많아 Cloud가 감당할 수 없다.
- 때문에, 적절히 Edge Device 내에서 데이터를 처리하고 결정하는 과정을 거친다면 Cloud 부담이 많이 줄어들 것이다.
- Edge Device는 Cloud만큼의 리소스를 사용할 수 없기 때문에 각각의 리소스 한계에 맞는 모델이 필요할 것이고, 그치만 성능은 최대로 하는 기술이 필요하다. (모델 경량화의 필요성)
*) Edge Device 관점에서의 AI Model
- Cloud-Based AI의 경우, 모델의 성능을 높이기 위해 더더욱 거대한 모델, 파라미터 수가 기하급수적으로 커지거고 이런 모델들의 Performance를 얻기 위해 학습시키는 것에도 방대한 양의 Cost가 소요된다.
- 하지만 Edge Intelligence, 즉 Edge Device에서의 모델의 경우엔 다른 기준이 존재한다.
3. 머신러닝 모델 최적화
: 제약 조건(경량화) 하에서의 의사결정(최적화)
- Optimization Problem은 Decision Problem으로 바꿔 풀 수 있다.
- 즉, Decision Problem이 다항시간 안에 풀 수 있는 최대가 P이면 Optimization Problem은 항상 P 일 것이다.
- 반대로 Optimization Problem을 풀면 Decision Problem 또한 항상 풀 수 있다.
2. 피어 세션
1. 1주일 간 피어 세션 진행 방식, 기록 방식 논의
2. 강의 내용에 대한 토의
- Further Question 위주 토론
3. Conclusion
1. 롯데정보통신 주최 CV 대회 참여 (재미삼아 다음주 휴강기간 중에 하기 위해서)
2. 강의가 다소 많이 추상적인 것 같아 흐름을 파악하고 떠올리기 힘들었음 (강의 내용을 토대로 목차 형태로 나타내기가 너무 난해했음) -> 슬라이드 별 Reference를 참고해야할 것 같다.
3. 강의와 함께 토이코드가 주어진 것은 매우 좋은 것 같다. (실험 정신)
4. U-Stage 마지막 주이므로, 전체 한번 정리를 해보고 무엇이 부족한지 파악하는 시간을 가져봐야 할 것 같다.
- 또 무엇에 내가 가장 흥미를 느꼈었는지. 되돌아보는 시간
'부스트캠프 AI Tech > 학습정리' 카테고리의 다른 글
[Day 37] 모델 경량화 - 3 (0) | 2021.03.17 |
---|---|
[Day 36] 모델 경량화 - 2 (0) | 2021.03.16 |
[Day 34] Computer Vision (CV) - 5 (0) | 2021.03.12 |
[Day 33] Computer Vision (CV) - 4 (0) | 2021.03.11 |
[Day 32] Computer Vision (CV) - 3 (0) | 2021.03.11 |
- Total
- Today
- Yesterday
- 공공데이터
- NLP 구현
- 프로그래머스
- 다이나믹프로그래밍
- 백준
- cnn
- Unet 구현
- P-Stage
- 알고리즘
- 그리디
- C++
- DACON
- 데이터핸들링
- 백트래킹
- DeepLearning
- AI 프로젝트
- dfs
- 데이터연습
- 동적계획법
- Data Handling
- 브루트포스
- 부스트캠프 AI Tech
- Vision AI 경진대회
- pandas
- 이분탐색
- ResNet
- 코딩테스트
- 네트워킹데이
- python
- Unet
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |