... 시발 너무 쓸게 많다......

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발 단순하게 써서 이 정도라니 장난 아니노...