[ML] CPU์ GPU, ๊ทธ๋ฆฌ๊ณ TPU
ํ๋๋ ๋นํธ์ฝ์ธ ์ดํ์ผ๋ก GPU๊ฐ ๋๋ ์ ์ด ์์๊ณ , ๋ ์ต๊ทผ์๋ ๋จธ์ ๋ฌ๋/AI ๋๋ฌธ์ GPU๊ฐ ๋ถํฐ๋๊ฒ ํ๋ฆฌ๊ณ ์๋ค. ๊ฒ๋ค๊ฐ ์ต๊ทผ์๋ ๋ฌด์จ TPU๋ผ๋ ๊ฒ๊น์ง ๋์์ ์ฌ๋ฌ๋ถ์ ์์์ ํ๋ค๊ณ ์๋ค.
GPU๋ ๋ญ๊ณ , TPU๋ ๋ ๋ญํ๋ ๋์ผ๊น? ์ญ์ฌ์ ์๋ฆฌ๋ฅผ ๊ฐ๋จํ ์ ๋ฆฌํด๋ณด๋ ์๊ฐ์ ๊ฐ๋๋ก ํ๊ฒ ๋ค.
CPU (Central Processing Unit)
์ปดํจํฐ๋ฅผ ๊ทธ๋ฆฌ ์ ์์ง๋ ์๋ ์ฌ๋์ด๋ผ๋ CPU๊ฐ ๋ญ์ง๋ ์ ๊ฒ์ด๋ค.
๊ฒฐ๊ตญ์๋ ๊ณ์ฐ๊ธฐ๋ค.
์๋ ์ด๊ธฐ ํํ์ ์ปดํจํฐ์๋ ํ๋์ ์ค์ ๊ณ์ฐ ์ฅ์น๊ฐ ์กด์ฌํ๊ณ , ๊ทธ๊ฑธ CPU๋ผ๊ณ ๋ถ๋ ๋ค.
CPU๋ผ๋ ์ฉ์ด๋ 1955๋
์ฆ์๋ถํฐ ์ฌ์ฉ๋์๋ค๊ณ ํ๋ค.
ํ์ฌ ์ผ๋ฐ ๋ฐ์คํฌํ ํ๊ฒฝ์์๋ ์ธํ ๊ณผ AMD๊ฐ ์๋ถํ๊ณ ์๋ค.
GPU (Graphics Processing Unit)
"๊ทธ๋ํฝ์นด๋"๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค.
์๋ฐํ ๋งํ๋ฉด ๊ทธ๋ํฝ์นด๋๋ GPU๋ฅผ ํฌํจํ ์ฌ๋ฌ๊ฐ์ง ๊ทธ๋ํฝ ์ฅ์น๋ค์ ํฌํจํ ํํจํค์ง๋ค.
์ปดํจํ ์ด๊ธฐ์๋ CPU๋ง์ผ๋ก ๋ชจ๋ ๊ฒ์ ํ ์ ์์๊ณ , ์ถฉ๋ถํ๋ค.
ํ์ง๋ง GUI ์ปดํจํ
์๋๊ฐ ๋๋ํ๋ฉด์ ์ฌ์ ์ด ์กฐ๊ธ ๋ฌ๋ผ์ง๊ธฐ ์์ํ๋ค.
๋งจ๋ TV ๋ณด๊ณ ์ปดํจํฐ๋ก ์ํ ๋๋ ค๋ณด๊ณ ํ๋ค๋ณด๋ ์ ์๋ฟ์ง ์์ ์๋ ์์ง๋ง, ์ฌ์ง, ์์ ๊ฐ์ ๊ทธ๋ํฝ์ ๋ํ ์ฒ๋ฆฌ๋ ๋งค์ฐ ๋ฌด๊ฑฐ์ด ์ฒ๋ฆฌ๋ฐฉ์์ ์ํ๋ค. ๊ทธ๋์ ์ฒ์์๋ ๊ทธ๋ํฝ ์ถ๋ ฅ ์ ๋๋ ๋ถ๋ฆฌํด์ ๊ตฌ์ฑํ๋ ์์ง์์ ๋ณด์๋ค.
์์์ฒ๋ฆฌ๋ฅผ ํ ๋ ์ฃผ๋ก ์ฌ์ฉ๋๋ ์ฐ์ฐ์ ๋ฐ์ดํฐ์ ๊ฑฐ๋ํ ์งํฉ์ ๋ค๋ฃจ๋ "๋ฒกํฐ ์ฐ์ฐ"์ธ๋ฐ, CPU์์ ์ด๊ฑธ ๋ค ํ๊ธฐ์๋ ๋ถ๋ด์ด ๋๋ฌด ์ปธ๋ค.
2D๊น์ง๋ ์ด๋ป๊ฒ ์ด๋ป๊ฒ ํด๋, 3D๋ ๊ฐ๋น์ด ๋ถ๊ฐ๋ฅํ๋ค. GPU ์ญ์ฌ์ ์์ด์ ๊ฐ์ฅ ํฐ ๋ถ๊ธฐ์ ์ 3D ์ฒ๋ฆฌ์๋ค.
๊ทธ๋์ ์ด๋ฐ๊ฑธ ์ ๋ฌธ์ ์ผ๋ก ํด์ฃผ๋ ์ฅ์น๋ฅผ ๋ถ๋ฆฌํ๋๊ฒ ๋ซ๋ค๋ ๊ฒฐ๋ก ์ ์ด๋ฅด๋ ๊ณ , ํ์ฌ์ GPU๋ ๋ฒกํฐ ์ฐ์ฐ, ๋๊ท๋ชจ ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ์ต์ ํ๋ ๊ณ ์ฑ๋ฅ์ ํ๋ก์ธ์๊ฐ ๋์๋ค.
๊ฒ๋ค๊ฐ GPU๋ CPU๋ณด๋ค ์ฑ๋ฅ์ ๋์ด๊ธฐ๊ฐ ์ฌ์ด ํธ์ด๋ค. ์๋๋ฉด, ๊ทธ๋ฅ ํฌ๊ธฐ ๋๋ฆฌ๊ณ ์ฝ์ด ์๋ง ๋ฌด์ํ๊ฒ ๋๋ ค๋ ์ฑ๋ฅ์ด ์ ๋์ด๋๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ํฝ์นด๋๊ฐ ์ ์ ์ปค์ง๊ณ ์๋ ์ด์ ์ด๊ธฐ๋ ํ๋ค.
์์ฆ GPU๋ค์ ์ฝ์ด๊ฐ ์์ฒ๊ฐ๋ค.
๊ทธ๋ํฝ ์ฅ์น๋ฅผ ๋ถ๋ฆฌํ๋ ์์ง์์ 1970๋ ๋๋ถํฐ ์์๊ณ , GPU๋ผ๋ ์ฉ์ด๋ 1994๋ Sony์ ์ํด์ ๋ง๋ค์ด์ก๋ค.
๋ํ์ ์ธ GPU ์ ์กฐ์ฌ๋ ์๋น๋์, AMD, ์ธํ ๋ฑ์ด ์๋ค. ํ์ฌ๋ ์๋น๋์๊ฐ ์์๋๊ฐ๋ ๋ชจ์์๋ค.
GPU๋ ์๋ ๊ทธ๋ํฝ ์ฒ๋ฆฌ์ฉ์ผ๋ก๋ง ๋ง๋ค์ด์ก์ง๋ง, ๋๊ท๋ชจ ๋ณ๋ ฌ์ฒ๋ฆฌ์ ์ ํฉํ๋ค๋ ์ฅ์ ํ์ ์์ฆ์ ๋ค๋ฅธ ์ฉ๋๋ก ๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋ค.
1. ๋นํธ์ฝ์ธ๊ณผ ์ฑ๊ตด (2017~2022?)
๋นํธ์ฝ์ธ์ ๋น๋กฏํ ๋ธ๋ก์ฒด์ธ ์์คํ
๋ค์ด ๋๋ฆฝํ๋ฉด์ GPU ํ๊ฒฝ์ด ํ๋ค๋ฆฌ๋ ์ํฉ์ด ๋ฐ์ํ๋ค.
GPU๊ฐ ๋๊ท๋ชจ ๋ณ๋ ฌ๊ณ์ฐ์ ๋ฅํ๋ค๋ ์ ์ ํ์ฉํด์ ์ฝ์ธ์ ์ฑ๊ตด(mining)์ ๋จ์ฉํ๊ฒ ๋ ๊ฒ์ด๋ค.
ํ์ฌ๋ ๋ค์์ ์์คํ ์ด ์ฑ๊ตด ์์คํ ์ ํ๊ธฐํ๊ฑฐ๋, ์ฑ๊ตด ํจ์จ์ด ๋จ์ด์ง๋ฉด์ ์ฑ๊ตด๊ธฐ๋ก์์ ์ญํ ์ ๊ฑฐ์ ๋๋ ์ํ๋ค.
2. ๋จธ์ ๋ฌ๋ (2010?~)
๋จธ์ ๋ฌ๋์ ํ์ต์ ๊ต์ฅํ ๋ฌด๊ฑฐ์ด ์ฐ์ฐ๋ค์ ํ์๋ก ํ๋ค.
ํนํ ๋งค์ฐ ๋ง์ ํ๋ ฌ ์ฐ์ฐ๊ณผ ๋ฒกํฐ ์ฐ์ฐ์ ํ์๋ก ํ๋๋ฐ, GPU์ ๋๋ ๋ณ๋ ฌ์ฒ๋ฆฌ ๋ฅ๋ ฅ์ ํ์ฉํ๋ฉด ์ด๋ฅผ ๋ณด๋ค ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.
๊ทธ๋์ ML ํ์ต ๋๋ฆฐ๋ค๊ณ ํ๋ฉด ์ปดํจํฐ์ GPU ์ฃผ๋ ์ฃผ๋ ๋ฌ์๋๊ณ ๋๋ฆฌ๋๊ฒ ๋น์ฐํ ์ผ์ด ๋๋ค.
ํ์ฌ์งํํ์ด๋ค.
TPU (Tensor Processing Units)
TPU๋ tensorflow ๋ฑ์ ํ ์ ์ฒ๋ฆฌ์ ์ต์ ํ๋ ํ๋ก์ธ์๋ฅผ ๋งํ๋ค.
2016๋
๊ตฌ๊ธ์ ์ํด์ ์ ์, ๋ฐํ๋์์ผ๋ฉฐ, ํ์ฌ๋ ๊ตฌ๊ธ์ด ๋
์ ์ ์ผ๋ก ์ ์, ์ ๊ณตํ๊ณ ์๋ค.
ํ๋ก๋ถํฐ ๋ค ์ง์ ๋ง๋ค์๋ค๊ณ ํ๋ค.
GPU๊ฐ ์ฌ๋ฌ๋ชจ๋ก ๋น ๋ฅด๊ณ ์ข๊ธด ํ์ง๋ง, ์ด๊ฒ๋ ์ญ์ ๋จ์ ์ด ์กด์ฌํ๋ค. ๋๋ฌด ๋น์ธ๊ณ , ์ ๋ ฅ์๋ชจ๋ ๋๋ฌด ์ฌ๊ฐํ ์์ค์ด์๋ค. ๊ฒ๋ค๊ฐ (TPU ์ธก์ ์ฃผ์ฅ์ ์ํ๋ฉด) ์์์ด ๋งค์ฐ ํ์กฑํจ์๋ ์ถฉ๋ถํ ๋น ๋ฅด๊ณ ์ ๊ฒฝ๋ง์ ์ ๋ง์ง๋ ์๋ค.
TPU๋ ๊ทธ๋ฐ GPU์ ๋นํจ์จ์ฑ์ ๊ฐ์ ํ๊ณ ์ ๋์จ ํ๊ฐ์ฑ
์ด๋ค.
๋์ฒด๋ก GPU๋ณด๋ค ๋ช๋ฐฐ-๋ช์ญ๋ฐฐ๋ ๋น ๋ฅด๋ค๊ณ ์ฃผ์ฅํ๋ฉฐ, ๋น์ฉํจ์จ์ ์ด๋ผ๊ณ ํ๋ค.
https://cloud.google.com/tpu?hl=ko
์ฐธ์กฐ
https://en.wikipedia.org/wiki/Central_processing_unit
https://en.wikipedia.org/wiki/Graphics_processing_unit
https://en.wikipedia.org/wiki/Tensor_Processing_Unit
https://serverguy.com/comparison/cpu-vs-gpu-vs-tpu/
https://cloud.google.com/tpu?hl=ko