
ํ์ดํ ์น(PyTorch)์ ํ ์ํ๋ก์ฐ(TensorFlow)์ ์ฐจ์ด์
๋ ๋ค ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ์ด์ง๋ง, ์ฒ ํ๊ณผ ์ฌ์ฉ์ฑ์์ ๋๋ ทํ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
๐ ํต์ฌ ์์ฝ
- ํ์ดํ ์น: ์ง๊ด์ , ํ์ด์ฌ์ค๋ฝ๊ณ ์ฐ๊ตฌ์ฉ·ํ๋กํ ํ์ดํ์ ๊ฐํจ
- ํ ์ํ๋ก์ฐ: ์ฐ์ ๋ฐฐํฌ·๋๊ท๋ชจ ์๋น์ค์ ๊ฐํจ
๐ ํ์ดํ ์น vs ํ ์ํ๋ก์ฐ ์์ธ ๋น๊ต
๊ตฌ๋ถํ์ดํ ์น(PyTorch)ํ
์ํ๋ก์ฐ(TensorFlow)
| ๊ฐ๋ฐ์ฌ | Meta(๊ตฌ Facebook) | |
| ๊ณ์ฐ ๋ฐฉ์ | ๋์ ๊ทธ๋ํ(eager execution) ๊ธฐ๋ณธ | ์ด๊ธฐ์ ์ ์ ๊ทธ๋ํ → ํ์ฌ๋ eager + graph ๋ณํ |
| ์ฌ์ฉ ๋์ด๋ | ํ์ด์ฌ ์ฝ๋์ ์ ์ฌํด ์ง๊ด์ | ๊ธฐ๋ฅ ๋ง๊ณ ๊ตฌ์กฐ ๋ณต์กํด ์๋์ ์ผ๋ก ์ด๋ ค์ |
| ์ฐ๊ตฌ/ํ๊ณ ํ์ฉ | ๋งค์ฐ ๋์ (๋ ผ๋ฌธ ๋๋ถ๋ถ ํ์ดํ ์น ๊ธฐ๋ฐ) | ์์ ๋ณด๋ค ๊ฐ์ |
| ์ฐ์ /์๋น์ค ๋ฐฐํฌ | TorchServe ๋ฑ ์ง์ํ์ง๋ง ์๋์ ์ผ๋ก ์ฝํจ | TF Serving, TF Lite, TF.js, TPU ์ง์ ๋ฑ ์ฐ์ ์ต์ ํ |
| GPU ์ง์ | CUDA ์ฐ๋ ๊ฐํธ | CUDA + XLA + TPU ๋ฑ ๋ค์ํ ํ๋์จ์ด ์ต์ ํ |
๐ง ๋์ ๊ทธ๋ํ vs ์ ์ ๊ทธ๋ํ ์ฝ๊ฒ ์ดํดํ๊ธฐ
๐ธ ํ์ดํ ์น = ๋์ ๊ทธ๋ํ
์ฝ๋๊ฐ ์คํ๋ ๋ ๊ทธ๋ํ๊ฐ ์ฆ์์์ ์์ฑ๋จ.
→ ํ์ด์ฌ ๋๋ฒ๊น
์ฒ๋ผ ํ ์ค์ฉ ๋ณด๋ฉด์ ์์ ๊ฐ๋ฅ
→ ์ฐ๊ตฌ·์คํ ์๋๊ฐ ๋น ๋ฆ
๐ธ ํ ์ํ๋ก์ฐ = (๊ณผ๊ฑฐ) ์ ์ ๊ทธ๋ํ ์ค์ฌ
๊ทธ๋ํ๋ฅผ ๋จผ์ ์ ์ํ๊ณ ๋์ค์ ์คํ
→ ์ต์ ํ·๋ฐฐํฌ์ ์ ๋ฆฌ
→ ํ์ฌ๋ eager ์คํ๋ ๊ธฐ๋ณธ ์ ์ฉ๋์ด ๋ง์ด ์ ์ฐํด์ง
๐งฉ CUDA ํ๋ก๊ทธ๋๋ฐ์์์ ํ์ดํ ์น์ ํ ์ํ๋ก์ฐ ์ญํ
๋ ๋ค CUDA๋ฅผ ์ง์ ์์ฑํ์ง ์์๋ GPU ์ฐ์ฐ์ ์๋ ๊ด๋ฆฌํด์ค๋๋ค.
๐น ํ์ดํ ์น์์ CUDA์ ์ญํ
- GPU๋ก ํ ์๋ฅผ ์ฎ๊ธฐ๊ธฐ ์ฝ๊ฒ ์ค๊ณ
- ์:
-
x = x.cuda() model = model.cuda()
- CUDA ์ปค๋์ ํ์ดํ ์น๊ฐ ๋ด๋ถ์ ์ผ๋ก ์คํํ์ฌ GPU ๊ฐ์ ์ํ
- ํ์ํ๋ฉด **์ปค์คํ CUDA ํ์ฅ(Custom C++/CUDA Extension)**๋ ์์ฑ ๊ฐ๋ฅ
๐น ํ ์ํ๋ก์ฐ์์ CUDA์ ์ญํ
- ํ ์ ์ฐ์ฐ์ ์๋์ผ๋ก GPU ์ฅ์น๋ก ๋ฐฐ์น
- ์:
-
with tf.device("/GPU:0"): x = tf.constant(...)
- ๋ด๋ถ์ ์ผ๋ก cuDNN, cuBLAS ๋ฑ NVIDIA ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉ
- XLA(JIT ์ปดํ์ผ๋ฌ) ์ต์ ํ๋ฅผ ํตํด GPU ์ฑ๋ฅ์ ๊ทน๋ํํ๋ ๊ฒฝ์ฐ๋ ๋ง์
๐ก ์ฝ๊ฒ ์ ๋ฆฌ
- ๋ ๋ค CUDA๋ฅผ ์ง์ ํ๋ก๊ทธ๋๋ฐํ ํ์๊ฐ ์๋ค.
- ํ๋ ์์ํฌ๊ฐ GPU ์ฐ์ฐ์ ๋์ ๊ด๋ฆฌํ๋ค.
- ๊ฐ๋ฐ์๊ฐ CUDA ์ปค๋์ ์ง์ ์์ฑํ๋ ๊ฒฝ์ฐ๋ ๊ณ ๊ธ ์ปค์คํฐ๋ง์ด์ง ์ํฉ๋ฟ์ด๋ค.
'Project ESG+AI > Tech Basics' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| 46์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (0) | 2025.12.16 |
|---|---|
| 44์ผ, 45์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (1) | 2025.12.16 |
| 41์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (0) | 2025.12.09 |
| 40์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (0) | 2025.12.08 |
| 39์ผ์ฐจ. IT ๊ฐ๋ ์ ๋ฆฌ (0) | 2025.12.05 |