AI Apps in a Flash: Ship to GPUs Without Docker โ Dean Quiรฑanola, Runpod
ํ ์ค ํต์ฌ
RunPod Flash๋ Docker ์์ด๋ AI ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ก์ปฌ์ฒ๋ผ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐยทํ ์คํธํ๊ณ ์๋ฒ๋ฆฌ์ค GPU๋ก ๋ฐ๋ก ๋ฐฐํฌํ๊ฒ ํด ์ฃผ๋ ๋๊ตฌ๋ค.
์๊ฐ๋ณ ์์ฝ
-
0:00
์๊ฐ RunPod Flash๋ฅผ ํตํด Docker ์์ด AI ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ๋ ๋ฐฉ์์ ์๊ฐํ๋ค. ํต์ฌ ๋ฌธ์ ๋ GPU ๊ธฐ๋ฐ AI ์ฑ์ ๊ฐ๋ฐยท๋ฐฐํฌ ๊ณผ์ ์ด ๋๋ฌด ๋ฒ๊ฑฐ๋กญ๋ค๋ ์ ์ด๋ค.
-
0:27
Docker ๋ฐ๋ณต ์์ ๊ธฐ์กด AI ๋ฐฐํฌ๋ ์ฝ๋ ์์ , Dockerfile ์์ฑ, ๋น๋, ํธ์, ์คํ์ ๋ฐ๋ณตํด์ผ ํด์ ํ ๋ฒ์ ์์ ์๋ ๋ง์ ์๊ฐ์ด ๋ ๋ค. ์ด ๋ฐ๋ณต์ ๋ณ๊ฒฝ์ด ์ฆ์์๋ก ๊ฐ๋ฐ ์๋๋ฅผ ํฌ๊ฒ ๋จ์ด๋จ๋ฆฐ๋ค.
-
1:12
Flash๋ฅผ ๋ง๋ ์ด์ DevOps ๋ถ๋ด์ ์ค์ด๊ณ ๋ก์ปฌ์ฒ๋ผ ๋ฐ๋ก ์คํยท๊ฒ์ฆํ ์ ์๋ ๊ฐ๋ฐ ๋ฐ๋ณต ๊ตฌ์กฐ๊ฐ ํ์ํ๋ค๋ ๋ฌธ์ ์์์์ Flash๊ฐ ๋ง๋ค์ด์ก๋ค. Python ์ฝ๋๋ง์ผ๋ก GPU์์ ๋ฐ๋ก ๋๋ฆฌ๊ณ ์ฆ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๋ ํ๋ฆ์ด ๋ชฉํ๋ค.
-
2:21
Flash๊ฐ ํ ์ ์๋ ์ผ Flash๋ ํ์ฌ ์๋ฒ๋ฆฌ์ค ์๋ํฌ์ธํธ ์ค์ฌ์ผ๋ก ๋์ํ๋ฉฐ, Q endpoints์ load balance endpoints๋ ์ง์ํ๋ค. ์๋ฒ๋ฆฌ์ค์ pod ์ง์์ ๋ํ๋ ๋ฐฉํฅ์ผ๋ก ํ์ฅ ์ค์ด๋ค.
-
2:41
์๋ํฌ์ธํธ ๊ฐ ํธ์ถ ์๋ก ๋ค๋ฅธ ์๋ฒ์ ์ฃผ์๋ฅผ ์ง์ ๊ด๋ฆฌํ์ง ์๊ณ ๋ ์ฝ๋๊ฐ ๋ค๋ฅธ ์ฝ๋์ ๋ฐ๋ก ํต์ ํ๋ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๋ค. ๋คํธ์ํฌ ๋ณผ๋ฅจ๊ณผ warm caching์ผ๋ก ์๋ฒ๋ฆฌ์ค ํ์ฅ ์์๋ ์บ์๋ฅผ ์ ์งํ๋ค.
-
3:16
์ค์๊ฐ ์๋ฒ๋ฆฌ์ค ๊ฐ๋ฐ ์ค์๋ ๋ก์ปฌ์ฒ๋ผ ํ ์คํธํ๋ค๊ฐ, CLI๋ง์ผ๋ก ๊ฐ์ ํ๋ฆ์ ํ๋ก๋์ ์๋น๊น์ง ์ด์ด๊ฐ ์ ์๋ค. ๋จ์ํ ๋ฐ๋ชจ๊ฐ ์๋๋ผ ์ค์ ์ถ๋ก ์๋น์ค๊น์ง ์ฐ๊ฒฐ๋๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ๊ฐ์กฐํ๋ค.
-
4:06
flash dev ๋ฐ๋ชจ flash dev๋ฅผ ์คํํ๋ฉด FastAPI localhost์ฒ๋ผ ๋ค๋ฃฐ ์ ์๋ ํ๊ฒฝ์ด ๋จ๊ณ , ๋์์ ์๋ฒ๋ฆฌ์ค ์๋ํฌ์ธํธ๊ฐ ํ๋ก๋น์ ๋๋๋ค. ๋ก๊ทธ์ ์ปจํ ์ด๋ ์ํ๋ฅผ ๋ณด๋ฉด์ GPU ์ข ๋ฅ์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก ํ์ธํ ์ ์๋ค.
-
5:40
ํ ์คํธ ์์ฑ์ผ๋ก ๋ฐ๋ณต ๊ฐ์ ์ฝ๋๋ฅผ ์กฐ๊ธ ๋ฐ๊ฟ ํ ์คํธ ์์ฑ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ , ํ์ํ Python ์์กด์ฑ๋ ์ฆ์ ๋ฐ์ํ๋ ๊ณผ์ ์ ๋ณด์ฌ ์ค๋ค. Hugging Face token ์์ด ์คํํ์ ๋์ ๊ฒฝ๊ณ ์ ๊ฒฐ๊ณผ๋ฅผ ํตํด, ๋น ๋ฅธ ๋ฐ๋ณต๊ณผ ๋๋ฒ๊น ์ด ๊ฐ๋ฅํจ์ ๋๋ฌ๋ธ๋ค.
-
7:10
์ค์๊ฐ ์์ HF token์ ํ์ฑํํ๊ณ ํ๋กฌํํธ๋ฅผ ๋ฐ๊ฟ ๋ค์ ์คํํ๋ฉด ๊ฒฐ๊ณผ๊ฐ ์ฆ์ ๋ฌ๋ผ์ง๋ค. Batman์ด fictional character๋ผ๋ ์๋ต์ ํ์ธํ๋ฉฐ, ์์ ํ ์ฌ์คํ์ ์๋๋ฅผ ๊ฐ์กฐํ๋ค.
-
7:59
์ด๋ฏธ์ง ์์ฑ ํ ์คํธ ์์ฑ๋ณด๋ค ๋ฌด๊ฑฐ์ด ์ด๋ฏธ์ง ์์ฑ ์์ ๋ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์คํ๋๋ค. ๋กค์์ ์ํ์ ์คํ ๋ก๊ทธ๋ฅผ ํ์ธํ๊ณ , base64 ๊ฒฐ๊ณผ๋ฅผ ๋ธ๋ผ์ฐ์ ์์ ๋ ๋๋งํด ์ค์ ์ด๋ฏธ์ง๋ฅผ ์ป๋๋ค.
-
10:09
flash deploy๋ก ๋ฐฐํฌ flash deploy๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํจํค์งํด ์๋ฒ๋ก ์ฌ๋ฆฌ๊ณ ๋ฐ๋ก ์๋นํ๋ ๋ฐฐํฌ ์ ์ฐจ๋ฅผ ์ํํ๋ค. Docker๋ฅผ ๊ฑฐ์น์ง ์๊ณ ๋ ์์นด์ด๋ธ ์์ฑ, ์ ๋ก๋, ๋ฐฐํฌ๊ฐ ์ด์ด์ง๋ค.
-
11:13
๋ฐฐํฌ๋ ์๋ํฌ์ธํธ ํธ์ถ ๋ฐฐํฌ๊ฐ ๋๋๋ฉด ๋ก์ปฌ์ด ์๋ ํธ์คํ ๋ ์๋ํฌ์ธํธ๋ฅผ ๊ณ ๊ฐ์ฉ ๋ฐฑ์๋์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค. ์์ฑ๋ ์ด๋ฏธ์ง ์ถ๋ ฅ๊ณผ ์์ ๋ก๊ทธ๋ฅผ ํตํด ์ค์ ์๋น์ค ํํ๋ก ๋์ํจ์ ๋ณด์ฌ ์ค๋ค.
-
12:18
ํด์ปคํค ์ฐ์น ์ฌ๋ก ํ ์ฐธ๊ฐ์๊ฐ Flash๋ฅผ ๊ฐ์ผ ๋ํผ๋ฅผ ๋ง๋ค์ด ์คํ ๋ฐ์ดํฐ์ํธ์ ๋ชจ๋ธ ์ฌ์์ ๋ฃ์ผ๋ฉด ์ฌ๋ฌ ์๋ํฌ์ธํธ๋ฅผ ์๋์ผ๋ก ํผ์ณ ํ๋ จํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ ํ๋ ๋๊ตฌ๋ฅผ 3~4์๊ฐ ๋ง์ ๊ตฌํํ๋ค. Flash๊ฐ ๋น ๋ฅธ ํ๋กํ ํ์ ์ ์์ ์ผ๋ง๋ ์ ๋ฆฌํ์ง ๋ณด์ฌ ์ฃผ๋ ์ฌ๋ก๋ค.
-
13:13
์์ํ๋ ๋ฐฉ๋ฒ RunPod ๊ณ์ ์์ฑ, ์ค์น, API key ์ค์ , ์ด๊ธฐํ ํ flash dev ๋๋ flash deploy๋ฅผ ์ฐ๋ฉด ์์ํ ์ ์๋ค. GitHub ์์ ์ Claude Code ๊ฐ์ AI ์ฝ๋ฉ ๋๊ตฌ๋ฅผ ํจ๊ป ํ์ฉํ๋ฉด ๋ ๋นจ๋ฆฌ ์ตํ ์ ์๋ค.
์ค๋ฌด ์ธ์ฌ์ดํธ
- AI ์ฑ ๋ฐฐํฌ์ ๋ณ๋ชฉ์ ๋ชจ๋ธ ์์ฒด๋ณด๋ค Dockerยท๋ฐฐํฌยท๊ฒ์ฆ ๋ฐ๋ณต์ ์์ผ๋ฏ๋ก, ๊ฐ๋ฐ ๋ฃจํ๋ฅผ ๋ก์ปฌ ์์ค์ผ๋ก ๋จ์ถํ๋ ๋๊ตฌ๊ฐ ์์ฐ์ฑ์ ํฌ๊ฒ ์ข์ฐํ๋ค.
- ์๋ฒ๋ฆฌ์ค GPU ํ๊ฒฝ์์๋ ์๋ํฌ์ธํธ ๊ฐ ํธ์ถ, ์บ์ ์ ์ง, ์ฆ์ ์ฌ๋ฐฐํฌ๊ฐ ๊ฐ๋ฅํด์ผ ์ค์ ์๋น์ค ์ด์์ ์ธ ์ ์๋ค.
- ์ด๊ธฐ ๋์ ์ ๋ณต์กํ ์ค์ ๋ณด๋ค ์์ ์ ์ฅ์์ AI ์ฝ๋ฉ ๋๊ตฌ๋ฅผ ํจ๊ป ํ์ฉํด ์์ ๊ธฐ๋ฅ๋ถํฐ end-to-end๋ก ๊ฒ์ฆํ๋ ๋ฐฉ์์ด ํจ๊ณผ์ ์ด๋ค.