... 시발 너무 쓸게 많다......
CPU 구조부터 시작해야 되는데 엄두가 안나노.
여튼 세 줄 요약 일단 하고 시작하자.
1. CPU->GPU->NPU(구글에서는 TPU라 카더라) 순으로 발전
2. CPU는 범용적이고, GPU, NPU로 갈 수록 Ai에 더 적합하게 특화됨
3. GPU랑 NPU랑 결국 비스무리한 측면이 많아서 그 동안 GPU 잘 깎은 황가놈이 NPU도 잘 만듬.
각 챕터 별로 결론만 압축해서 이야기해보자....
일단... CPU랑 글카(GPGPU)랑 NPU 이 순서대로 발전하니까 따악 기억하고...
그리고 존나 부정확함. 정확하게 적으려면 나 주거어어어.
CPU는 일단 계산기잖아? CPU는 한 컴터 안에 있는 (거의) 모든 것의 제어를 담당함
한 마디로 말해, CPU 느님은 다 하실 수 있음!
근데 보통 다 되는 물건은 단점이 뭐겠음? 느리다는 거임.
그래서 글카가 나온거임. 글카가 하는 걸 CPU가 못해서가 아니라,
글카로 할껄 CPU로 하면 너무 느려서 그럼.
그래픽카드는 주로 행렬처리에 특화가 되어있음.
왜.. 우리가 보는 모니터 화면 다 픽셀로 되어있잖아.
그 픽셀 하나하나가 RGB 숫자값을 가지고 있고.
그럼 컴터 내부에서는 픽셀 하나하나 숫자가 좌아아악 적혀있는 행렬로 보인단 말이야.
그래서 이 행렬에다가 덧셈하고 곱셈하고 이런 연산을 좌아아악 해줘야되잖아.
글카는 이런 걸 전문적으로 빠르게 해줌.
대충 이런식임.
가로로 100개, 세로로 100개 숫자가 나열된 행렬를 더하려면 덧셈을 1만번 해야겠지?
CPU는 숫자를 하나하나 꺼내서 더함.
GPU는 숫자 1만개를 한 번꺼에서 한 번에 더하고 한 번에 저장함.
누가 빠르긌노. GPU가 빠르긌지.
원래는 그래픽 처리하려고 행렬 연산 전문 기능을 여러 개 넣어놨는데
이걸 본 인공지능 연구자들이 이런 생각을 한겨.
"어? 인공신경망도 결국은 행렬연산이잖아?
GPU가 그래픽처리하는 물건이긴 한데, 어쨌든 행렬연산 전문 아뇨?
그럼 코드를 어케저케 잘 짜면 GPU한테 그래픽처리가 아니라 AI용 행렬연산을 시킬 수 있지 않을까?'
그래서 나온게 GPGPU임. 원래는 글카가 그래픽 관련 연산을 하는데,
그래픽 연산 대신에 CPU가 할 일을 대신 시키자 이거임.
AI 연구자들이 CPU로 할 계산을 GPU로 할 수 있어서 뿅가 죽기 시작했는데
칩 좀 만지는 아재들은 이런 생각을 한거지.
"아니... GPU로 AI 할 수 있긴 한데.. GPU는 그래픽 전문가잖아? AI에는 필요 없는 게 너무 많아..."
이래서 GPU에서 AI에 필요없는 부분을 빼버린 게 NPU임.
당연히 NPU가 훨신 빠르고 전기 적게 먹음.
근데 이 NPU랑 GPU랑 생긴 게 사실 비슷한 게 많다 보니까 엔비디아가 존나 1황 먹고 있는거임.
GPU가 살빼면 NPU인데 당연히 비슷하지.
끗. 시1발 단순하게 써서 이 정도라니 장난 아니노...