๐งโ๐ซ Lecture 7-8
์ด๋ฒ ๊ธ์์๋ Neural Architecture Search(์ดํ NAS)๋ผ๋ ๊ธฐ๋ฒ์ ์๊ฐํ๋ค. NAS๋ ์ต์ ์ ์ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ์๋์ผ๋ก ๋ฐ๊ฒฌํ๋ ๊ณผ์ ์ด๋ค.
์ ๊ทธ๋ฆผ์ฒ๋ผ, ๊ธฐ์กด์ ๋ชจ๋ธ์ ๊ฐ๋ฐํ ๋์๋ ๋ ์ด์ด์ ๊ฐ์, ์ปค๋์ ํฌ๊ธฐ๋ ์ฑ๋ ๊ฐ์๋ฑ์ ์ฌ๋์ด ์ ํด๊ฐ๋ฉฐ ๋ง๋ค์๋ค๋ฉด, NAS๋ ์ด๋ฅผ ์๋ํํด์ ๊ฐ์ฅ ์ฑ๋ฅ์ด ์ข์ ๊ตฌ์กฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ๋ ๊ฒ์ด๋ค. ์ด๋ฅผ ์ํด search space ๋ฑ์ ์ฌ์ฉํ๊ณ ์ด๋ ๋ค์์ ์ค๋ช ํ ๋ก ํ๊ฒ ๋ค.
1. Primitive operations
์ด ์ฑํฐ๋ ๊ธฐ๋ณธ ์ฐ์ฐ์ ๋ค์ ๋์๋ณธ๋ค. ๊ฐ์์์ ๋ฑ์ฅํ๋ ์ฐ์ฐ์ผ๋ก ์๋์ ๊ฐ์ ์ฐ์ฐ์ด ์๋ค.
- Linear Layer
- Convolution
- Grouped Convolution
- Depthwise Convolution
- 1x1 Convolution ๊ฐ ์ฐ์ฐ์ ๋ํ ์ค๋ช ์ ์ด ๊ธ์์๋ ํ์ง ์๊ณ , ๊ฐ ์ฐ์ฐ์ ์ฐ์ฐ ์์ธ MACs(Multiply-ACumulate)๋ง ์ง๋๋ค.
2. Classic building blocks
1์ฑํฐ์ ๋ง์ฐฌ๊ฐ์ง๋ก, ๊ธฐ๋ณธ์ ์ธ ๋คํธ์ํฌ ๊ตฌ์กฐ๋ค์ ๋ํด ๋์๋ณธ๋ค. ๊ฐ์์์ ์๋์ ๊ฐ์ ๋คํธ์ํฌ๊ฐ ๋ฑ์ฅํ๋ค
- bottleneck block
- grouped convolution
- depthwise-separable block
- inverted bottleneck block
- grouped convolution & channel shuffle
- multi-head self attention(transformer)
์์ primitive operations์ building blocks์ ๋ํ ๊น์ ์ดํด๊ฐ ์์ด๋, convolution ์ฐ์ฐ์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ดํด๊ฐ ์๋ค๋ฉด NAS๋ฅผ ์ดํดํ๋๋ฐ๋ ๋ฌธ์ ๊ฐ ์๋ค.
3. Introduction to neural architecture search (NAS)
์ด ์ฑํฐ์์๋ NAS๊ฐ ๋ฌด์์ธ์ง, ๊ทธ๋ฆฌ๊ณ search space์ ๋ํด ์ค๋ช ํ๋ค.
3.1 What is NAS?
NAS๋ ์์ ์ค๋ช ํ ๋๋ก, ์ต์ ์ ์ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ์๋์ผ๋ก ๋ฐ๊ฒฌํ๋ ๊ณผ์ ์ด๋ค. ์์ ๊ทธ๋ํ์์, ์์ ์์ชฝ์ ๋ณ(*)๋ก ํ์๋ ๋ชจ๋ธ์ด NAS๊ธฐ๋ฐ์ ๋ชจ๋ธ๋ค์ด๊ณ , ์ค์ ๋ก ์ฌ๋์ด ์ ์ํ ๋ชจ๋ธ๋ณด๋ค ์ข์ ์ฑ๋ฅ์ ๋ด๋ ๊ฒ์ ๋ณด์ฌ์ค๋ค. (์ ์ ์ฐ์ฐ์(MAC)์ผ๋ก ๋์ Top-1 accuracy) NAS๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ์คํ ๊ตฌ์กฐ์ด๋ค. ์ด๋ฅผ ์์๋๋ก ์ดํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค. 1. Search Space์์ ํน์ ํ ์ฐ์ฐ/๋คํธ์ํฌ๋ฅผ ๊ณ ๋ฅธ๋ค 2. ๊ทธ๊ฒ๋ค์ ์ ์กฐํฉํด(Search Strategy) ์ ๋นํ ๊ตฌ์กฐ๋ฅผ ๋ง๋ ๋ค 3. ์กฐํฉํ ๊ตฌ์กฐ(architecture)์ ์ฑ๋ฅ์ ํ๊ฐํ๋ค(performance estimation) 4. 1~3์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ฉฐ ์ต์ ์ ๋ชจ๋ธ์ ์ฐพ๋๋ค.
3.2 Search space
๊ทธ๋ ๋ค๋ฉด Search space๋ ๋ฌด์์ผ๊น? Search space์๋ ๋ ๊ฐ์ง ์ข ๋ฅ๊ฐ ์๋ค.
- Cell-level
- Network-level cell-level์ convolution๊ฐ์ ์ฐ์ฐ, network-level์ bottleneck๊ฐ์ ๋คํธ์ํฌ๋ฅผ ๋์์ผ๋ก ๊ทธ ์ค ํ๋๋ฅผ ์ ํํ๋ ๊ฒ์ด๋ค.
3.2.1 Cell-level
์์ ๊ทธ๋ฆผ์ Cell-level์ ์ ํ์ RNN์ ํตํด ์งํํ๋ ๊ทธ๋ฆผ์ด๋ค. ์ด๋ ์ฐ์ธก๊ณผ ๊ฐ์ ๊ตฌ์กฐ์ ๋คํธ์ํฌ๋ฅผ ๋ง๋ค์๊ณ ํ ๋, ๊ฐ๊ฐ ์ด๋ค ์ฐ์ฐ/์ ๋ ฅ์ผ๋ก ์ฑ์ธ์ง๋ฅผ ๊ณ ๋ฅด๋ ๊ฒ์ด๋ค. ์ฐ์ฐ/์ ๋ ฅ์ ๊ณ ๋ฅด๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ด๋ค ์ ๋ ฅ์ ์ฌ์ฉํ ์ง(select one hidden state) ๊ณ ๋ฅธ๋ค
- ๊ฐ ์ ๋ ฅ์ ์ด๋ค ์ฐ์ฐ์ ์ทจํ ์ง(select operation for first/second hidden state) ๊ณ ๋ฅธ๋ค
- ์ฐ์ฐ์ ์ทจํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ป๊ฒ ํฉ์น ์ง(select method to combine ๊ณ ๋ฅธ๋ค
์ด๋ ๊ฒ cell-level๋ก ์ฐ์ฐ/์ ๋ ฅ์ ๋ฐ๊ฟ๊ฐ๋ฉด์, ์ต์ ์ ๋ธ๋ก(์ํธ์ํฌ)๋ฅผ ๋ง๋๋ ๊ฒ์ด๋ค.
3.2.2 Network-level
Network-level์ ๊ธฐ์กด์ ๋คํธ์ํฌ(ex. bottleneck)์์ ์ฌ๋ฌ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ๊ฟ๋ณด๋ฉฐ ์ต์ ํํ๋ ๊ฒ์ด๋ค. ๋คํธ์ํฌ์ depth, resolution, width, kernel size, topology๋ฑ์ ๋ฐ๊ฟ๊ฐ๋ฉฐ ๋ณํํด, ์ต์ ์ ์ฑ๋ฅ์ ๊ฐ์ง๋ ํ๋ผ๋ฏธํฐ๋ฅผ ์ฐพ๋๋ค.
์ ๊ทธ๋ฆผ์ depth๋ฅผ ๋ณ๊ฒฝํ๋ ์์์ด๋ค. ๊ทธ๋ฆผ์ฒ๋ผ bottleneck ๋ธ๋ก์ ์ผ๋ง๋ ๊น๊ฒ(2~4) ๋ง๋ค์ง ์ ํ๋ ๊ฒ์ด๋ค.
3.3 Design the search space
๊ทธ๋ ๋ค๋ฉด, search space๋ฅผ ์ด๋ป๊ฒ ์ ์ํด์ผ ํ ๊น? kernel size๋ฅผ 3~100, depth๋ 3~100 ์ด๋ ๊ฒ ๋ชจ๋ ๊ณ ๋ คํ ์๋ ์๋ค. ์ด๋ฅผ ๋ชจ๋ ํ ์คํธ(performance ์ธก์ ) ํด๋ณด๋ ค๋ฉด ์์ฒญ๋ ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ด๋ค. ๋ฐ๋ผ์ ์ ๊ทธ๋ฆผ์ฒ๋ผ ํด๋ฆฌ์คํฑ ๋ฐฉ์๋ฑ์ ํตํด ๋ ์ข์ search space์์ ํ์ํ๋ค๋ฉด ์๊ฐ์ ์ค์ผ ์ ์๋ค.(search space optimization) ์ข์ search space๋ฅผ ๋ง๋ค๊ธฐ ์ํด์, FLOPS(์ฐ์ฐ์)๋ฅผ ํ์ฉํ ์ ์๋ค. ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์กฐ๊ฑด์์ ๋ ๋ง์ ์ฐ์ฐ์ ์งํํ๋ ๋ชจ๋ธ์, ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ผ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ ๊ทธ๋ฆผ์์ ๊ฒ์ ์์ ์ ๋ณด๋ค ๋นจ๊ฐ ์ ์ search space๋ฅผ ๊ณ ๋ฅด๋ ๊ฒ์ด ๋ ์ข์ ๋ชจ๋ธ์ ์ป์ ํ๋ฅ ์ด ๋๋ค (Larger FLOPS -> Larger model capacity -> More likey to give higher accuracy)
3.4 Search strategy
search space๋ฅผ ์ ์ํ๋ค๋ฉด, ์ด๋ค ์์ผ๋ก ํ์ํด์ผ ํ ๊น? ์ด ์ฑํฐ์์๋ 5๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ค๋ฃฌ๋ค. - Grid search - Random search - Reinforcement learning - Gradient descent - Evolutionary search
3.4.1 Grid search
grid search๋ ์์ ํ์๊ฐ์ ๋ฐฉ๋ฒ์ด๋ค. ์ ๊ทธ๋ฆผ์ฒ๋ผ ๊ฐ๋ฅํ ๋ชจ๋ ๋ฐฉ๋ฒ์ ์กฐํฉํ๋ฉฐ ์ต์ ์ ์ฐพ๋๋ค. ์ข๋ ์ผ๋ฐํํ๋ฉด, ์ ๊ทธ๋ฆผ์ฒ๋ผ depth, width, resolution๋ฑ์ ํ๋ผ๋ฏธํฐ์ ์ฐ์ธก์ฒ๋ผ ์์ ์ธ์์ ๊ธฐ์กด ๋ชจ๋ธ๊ณผ์ FLOPS๊ฐ ์ผ๋ง๋ ์ฐจ์ด๋๋ ๋๋์ง ๋ฒ์๋ฅผ ์ค์ ํ๋ฉฐ grid search๋ฅผ ์งํํ ์ ์๋ค.
3.4.2 Random search
Random search๋ ๋ง๊ทธ๋๋ ๋ฌด์์๋ก ๊ณ ๋ฅด๋ ๊ฒ์ด๋ค. ์ต์ ํ ์ธก๋ฉด์์ ์๋ฏธ๊ฐ ์๋ค๊ธฐ ๋ณด๋ค๋, NAS ๊ตฌํ์ ์ด์์ด ์๋์ง ์ฒดํฌํ๋ sanity check ์ฉ๋๋ก ์ฌ์ฉ๋๋ค.
3.4.3 Reinforcement learning
Reinforcement learning์ ๋ง๊ทธ๋๋ก ๊ฐํ ํ์ต(RL)์ ์ด์ฉํ ๋ฐฉ์์ด๋ค. ์ด์ ์ cell-level์ ์ค๋ช ํ์ ๋ ์ฌ์ฉํ๋ RNN๊ฐ์ controller๋ฅผ ์ฌ์ฉํด ๋ชจ๋ธ(architecture)์ ๋ง๋ค๊ณ , ์ด๋ฅผ ํ๊ฐํ ๊ฒฐ๊ณผ๋ฅผ RNN์ ๋ฐ์ํด ์ต์ ํํ๋ ๋ฐฉ์์ด๋ค.
3.4.4 Gradient descent
Gradient descent๋ฐฉ์์ ์ ์ฉํ ์๋ ์๋ค. ๊ทธ๋๋ง๋ค ๋ชจ๋ธ ํ๊ฐ๋ฅผ ํ์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ ๋ computing efficientํ๋ค. ์ ๊ทธ๋ฆผ (c)์์ 3๊ฐ์ง path๋ฅผ ๊ธฐ์ตํ๋ค๊ฐ, ํ๋ฅ ๊ฐ ๋์ ๊ณณ์ ์ ํํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํตํด gradient๋ฅผ ์ญ์ ํํ๋ค. ๋ชจ๋ ์ ํ(activation)์ ๋ฉ๋ชจ๋ฆฌ์ ๋ณด๊ดํ๊ณ ์์ด์ผ ํ๋ค๋ ๋จ์ ์ด ์๋ค.
3.4.5 Evolutionary search
Evelutionary search๋ mutation-crossover ๊ณผ์ ์ ํตํด ๋ชจ๋ธ์ ๋ณํ์ํค๋ฉฐ ์ต์ ์ ๋ชจ๋ธ์ ์ฐพ์๊ฐ๋ค. mutation์ ๊ธฐ์กด์ ๋ชจ๋ธ ๊ตฌ์กฐ๋ฅผ ๋ณํ์ํค๋ ๊ณผ์ ์ด๋ค. ์ ๊ทธ๋ฆผ์์ ๋ชจ๋ธ์ depth๋ฅผ ์์๋ก ๋ณํ์ํค๋ ๊ฒ์ฒ๋ผ, width๋ kernel size๋ฅผ ๋๋คํ๊ฒ ๋ณํ์์ผ muation๋ ๋คํธ์ํฌ๋ฅผ ๋ง๋ ๋ค. ๊ทธ๋ฐ ๋ค, crossover๋ฅผ ํตํด ๋ ๋ชจ๋ธ์ ์ ์ ๋ฐ๋ ๊ฒ์ฒ๋ผ ๋๋คํ๊ฒ ํฉ์น๋ค. ์ด๋ ๊ฒ ๋ง๋ ์ ๋ชจ๋ธ์ ํ๊ฐํด๊ฐ๋ฉฐ ์ต์ ์ ๋ชจ๋ธ์ ์ฐพ๋๋ค.
4. Efficient and Hardware-aware NAS
์ด ์ฑํฐ์์๋ ๋ชจ๋ธ์ ํ๊ฐํ๋ ๋ฐฉ๋ฒ(Performance estimation strategy)์ ํ๋์จ์ด์ ๋ง์ถฐ ์ต์ ํํ๋ ๋ฐฉ์์ ๋ํด ๋ค๋ฃฌ๋ค
4.1 Performance(Accuracy) estimation strategy
์์ NAS ๊ตฌ์กฐ ๊ทธ๋ฆผ์ ๋ค์ ๋ณด๋ฉด, search space์ search strategy๋ฅผ ํตํด ๋ง๋ ๋ชจ๋ธ(๊ตฌ์กฐ)์ ํ๊ฐํด์ผ ํ๋ค. ์ด ๋ ์ด ๋ชจ๋ธ์ ๋จ์ํ ๊ตฌ์กฐ๋ง ์กํ ์๋ ๊ฒ์ด๊ธฐ์, ๊ฐ๋จํ ์๊ฐํด๋ณด๋ฉด ์ฒ์๋ถํฐ ๋ค์ ํ์ต์ ํด์ผ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์ธก์ ํ ์ ์๋ค. ํ์ง๋ง NAS ๊ณผ์ ์์ ๊ต์ฅํ ๋ง์ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ฒ ๋๊ณ , ์ด๋ฅผ ์ผ์ผํ ํ์ตํ๋ฉด ์์ฒญ๋ ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ด๋ค. ์ด๋ค ์์ผ๋ก ํด๊ฒฐํ๋์ง ์ดํด๋ณด์.
4.1.1 Train from scratch
์์ ๋งํ ๊ฒ์ฒ๋ผ ๊ฐ์ฅ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ ๋ชจ๋ ๊ตฌ์กฐ๋ฅผ ํ์ตํด ๋ณด๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ์ด๋ CIFAR10์ด๋ผ๋ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ชจ๋ธ์ ํ์ตํ๋๋ฐ๋ 12800๊ฐ์ ๋ชจ๋ธ์ ํ์ตํด์ผ ํ๊ณ , ์ด๋ 22,400 GPU-hour๋ผ๋ ์ด๋ง์ด๋งํ ์๊ฐ์ด ๊ฑธ๋ฆฐ๋ค.
4.1.2 Inherit weight
๊ทธ๋์ ๋ฑ์ฅํ ๋ฐฉ์์ด, ๊ธฐ์กด์ ํ์ตํ weight๋ ๊ฐ๋งํ ๋ ์ฑ, ์๋ก์ด node๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ์์ด๋ค. ์ ๊ทธ๋ฆผ์์ Net2Wider๋ ๊ธฐ์กด ๋ชจ๋ธ์์ width๋ฅผ ์ถ๊ฐํ๊ณ , Net2Deeper๋ depth๋ฅผ ์ถ๊ฐํ๊ณ ๊ธฐ์กด ๋ชจ๋ธ(parent model)์ weight๋ฅผ ์ ๋นํ ๊ณ์นํ๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์๋ก ์ฒ์๋ถํฐ ํ์ตํ์ง ์์๋ ๋๋ค.
4.1.3 Hypernetwork
Hypernetwork๋ ๋ชจ๋ธ์ ๊ตฌ์กฐ๋ฅผ ๋ณด๊ณ ๊ทธ ๋ชจ๋ธ์ weight๋ฅผ ์์ธกํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. GNN์ ํตํด topology(๋ชจ๋ธ ๊ตฌ์กฐ)์ ๋ํ feature๋ฅผ ์ถ์ถํด weight์ ์์ธกํ๋ค.
4.2 Zero-shot NAS
๊ทธ๋ ๋ค๋ฉด ์์ train ํ์ง ์๊ณ NASํ ์ ์์๊น? 1. ZenNAS 2. GradSign ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์์ง๋ง, ๊ทธ๋ค์ง ์ข์ ๋ฐฉ๋ฒ์ ์๋๋ค. ### 4.2.1 ZenNAS ZenNAS๋ ์ข์ ๋ชจ๋ธ์ ์ ๋ ฅ์ ๋ณํ์ ๋ฏผ๊ฐํ ๊ฒ์ด๋ผ๋ ๊ฐ์ ์ ํตํด ์ข์ ๋ชจ๋ธ์ ์ฐพ๊ณ ์ ํ๋ค. ๊ณผ์ ์ ์๋์ ๊ฐ๋ค.
- ์ ๊ท๋ถํฌ(N)์ ๋ฐ๋ฅด๋ ์์์ ์ ๋ ฅ x๋ฅผ ๋ง๋ ๋ค
- x๋ฅผ ์ด์ง ๋ณํํ xโ์ ๋ง๋ ๋ค.
- x์ xโ์ ์ ๋ ฅ์ผ๋ก ์ฌ์ฉํ ๋ชจ๋ธ์ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํด, ํฐ ์ฐจ์ด๊ฐ ์๋ค๋ฉด ๋์ ๋ชจ๋ธ๋ก ๋ณธ๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฐ๋ฆฌ๊ฐ ์ธ๋ป ์๊ฐํ๊ธฐ์๋ ์ข์ ๋ฐฉ๋ฒ์ ์๋๋ค.
4.2.2 GradSign
GradSign์ ์ข์ ๋ชจ๋ธ์ด sample๊ฐ์ local minima๊ฐ ๋น์ทํ ์์น์ ๋ถํฌํ ๊ฒ์ด๋ผ๋ ๊ฐ์ ์ ํตํด ์ข์ ๋ชจ๋ธ์ ์ฐพ๊ณ ์ ํ๋ค. local minima๊ฐ ๋น์ทํ ์์น๋ผ๋ฉด(์ ๊ทธ๋ฆผ์ ์ค๋ฅธ์ชฝ),๋ sample๊ฐ์ gradient๊ฐ ๊ฐ์ ๋ถํธ(Sign)์ ๊ฐ์ง ๊ฒ์ด๊ณ ์ด๋ฅผ ํตํด ์ข์ ๋ชจ๋ธ์ธ์ง ํ๋จํ๋ค. (๋ง์ฝ ๋ถํธ๊ฐ ๊ฐ๋ค๋ฉด ๋ชจ๋ ๋ํ์ ๋ ์ ๋๊ฐ์ด ๋ ํด ๊ฒ์ด๋ค)
4.3 Hardware-aware NAS
์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ์ฒ๋ผ, ๊ฐ์ ๋ชจ๋ธ์ ์ฌ๋ฌ ๋๋ฐ์ด์ค์ ํ์ฌํ๋ ค๋ฉด, ๊ฐ๊ฐ์ ๋๋ฐ์ด์ค์ ์ต์ ํ๋ด ๋ชจ๋ธ์ ๋ง๋ค์ด์ผ ํ๊ณ , NAS ๊ณผ์ ์์๋ ์ด์ ๋ํ ๊ณ ๋ ค๊ฐ ํ์ํ๋ค ๊ทธ๋ฐ๋ฐ, ๋๋ฐ์ด์ค์ ์ต์ ํ ํ๋ค๋ ๊ฒ์ MACs๋ฅผ ๋จ์ํ ๊ณ์ฐํ๋ ๊ฒ๊ณผ๋ ๋ค๋ฅด๋ค. ์ ๊ทธ๋ฆผ์ฒ๋ผ MACs๋ ๋ ์ ์ง๋ง, latency๊ฐ ๋ ๋์ด๋ ์๋ ์๋ค. ๋๋ฐ์ด์ค ํ๊ฒฝ์์ ๊ฐ์ฅ ์ค์ํ ์งํ๋ latency์ด๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ๊ฐ์ ๋๋ฐ์ด์ค์์ ๋ชจ๋ธ์ latency๋ฅผ ํ๊ฐํ๋ ๊ฒ์ ๊ต์ฅํ ์ด๋ ต๊ณ , ๋๋ฆฌ๋ค. ๋ฐ๋ผ์ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์, latency๋ฅผ ์์๋ก ์์ธกํ๋ ๊ฒ์ด๋ค. latency๋ฅผ ์์ธกํ๋ ๋ฐฉ๋ฒ์ผ๋ก๋ 1. latency lookup table 2. network-wise latency profiling ๋ฑ์ด ์๋ค.
4.3.1 latency lookup table
๋ชจ๋ธ ๊ตฌ์กฐ์, ์ฌ์ฉํ๋ ์ฐ์ฐ(Op)์ latency(Lat)์ ์ ๋ ฅ์ผ๋ก ์ฃผ๋ฉด, ํด๋น ์ ๋ ฅ์ ๋ณด๊ณ ์ฐ์ ์ ์ผ๋ก +-ํด ๊ณ์ฐํ๋ ๋ฐฉ์์ด๋ค
4.3.2 network-wise latency profiling
kernel size์ width๋ฑ์ ์ ๋ ฅ์ผ๋กํ๋ ML ๋ชจ๋ธ์ ๋ง๋ค์ด์ latency๋ฅผ ์ธก์ ํ๋ ๋ฐฉ์์ด๋ค ์ด๋ ๊ฒ latency๋ฅผ ์์ธกํ๋ ๋ฐฉ๋ฒ์, ๊ฝค๋ ๋์ ์ ํ๋๋ฅผ ๋ณด์ธ๋ค
4.4 Neural-hardware architecture co-search
NAS๋ ๋ชจ๋ธ์ ๊ตฌ์กฐ๋ง ์ ๋ฐ๊พผ๋ค๊ณ ๋๋ ๊ฒ์ด ์๋๋ผ, ํ๋์จ์ด ๋ํ ๊ณ ๋ คํด์ผ ํ๋ค. Local Buffer Size, Global Buffer size, #PE์ฒ๋ผ ๋จ์ํ ์ซ์(sizing)์ ๊ดํ ๊ฒ๋ ์์ง๋ง, Compute Array Size์ฒ๋ผ ์กฐ๊ธ๋ ๋ณตํฉ์ ์ผ๋ก ์ํฅ์ ๋ฏธ์น๋ ํ๋ผ๋ฏธํฐ๋ ์๋ค.
5. NAS applications
5.1 NLP, GAN, point cloud, pose
NAS์ ํ์ฉ ์์๋ค์ด๋ค. ๊ฐ์ ์ฌ๋ผ์ด๋๋ง ๊ฐ๋จํ ์ฒจ๋ถํ๋ค ์ผ๊ตด ์ฌ์ง์ ๊ฐ์ง๊ณ ํ์ , ๋ ธํ ์ ๋๋ฑ์ ์ค์๊ฐ์ผ๋ก ์กฐ์ ํด๋ณด๋ ์ดํ๋ฆฌ์ผ์ด์ ์ด๋ค. NAS์ ์ข์ ํ์ฉ ์์์ธ๋ฐ, ์์ ๋ชจ๋ธ(small sub-net)์ผ๋ก๋ ์ค์๊ฐ ๋ณ๋์ ๋์ํ๊ณ , ํฐ ๋ชจ๋ธ(large sub-net)๋ก๋ ํ์ ๋๋ ์ด๋ฏธ์ง๋ฅผ ์ ์ํ ๋ ์ฌ์ฉํ๋ค.
์ฌ๊ธฐ๊น์ง NAS ์ค๋ช ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค. ๊ฐ์ ๋ด์ฉ์ ๋ง์ด ์์ฝํ๊ธฐ ๋๋ฌธ์, ๋ ์์ธํ ๋ด์ฉ์ ๊ฐ์(https://hanlab.mit.edu/courses/2023-fall-65940)์ 7-8๊ฐ์ ์ฐธ์กฐ ๋ถํ๋๋ฆฝ๋๋ค.