From 15% to 90% GPU Utilization: Fix the Data Pipeline, Not the Model
ํ ์ค ํต์ฌ
๋ฉํฐ๋ชจ๋ฌ ํ์ต์์ GPU ํ์ฉ๋ฅ ์ ๋์ด์ฌ๋ฆฌ๋ ํต์ฌ์ ๋ชจ๋ธ ์ต์ ํ๋ณด๋ค ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ์ ๋ณ๋ชฉ์ ์ฐพ์ ๋ณ๋ ฌํ, ์ฌ์ ์ ์ฌ, ๋ฌด๋ณต์ฌ ์ ์ก์ผ๋ก GPU๊ฐ ๊ธฐ๋ค๋ฆฌ์ง ์๊ฒ ๋ง๋๋ ๊ฒ์ด๋ค.
์๊ฐ๋ณ ์์ฝ
-
0:00
์๊ฐ ๋ฉํฐ๋ชจ๋ฌ SFT ํ์ต์์ GPU๋ฅผ ๊ณ์ ๋ฐ์๊ฒ ์ ์งํ๋ ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ ์ค๊ณ๊ฐ ์ฃผ์ ์ด๋ฉฐ, ๋ชจ๋ธ ์์ฒด๋ณด๋ค ์ ์ฒด ํ์ต ์ํ๊ณ์ ๋ณ๋ชฉ์ ๋ณด๋ ๊ด์ ์ด ํต์ฌ์ด๋ค.
-
0:45
ํ์ต์ ์ ๋ง GPU ๋ณ๋ชฉ์ธ๊ฐ? ํ์ต ๋ฃจํ๊ฐ ์ค์ ๋ก GPU์ ๋งํ ์๋์ง๋ถํฐ ์ ๊ฒํด์ผ ํ๋ฉฐ, ๋ฉํฐ๋ชจ๋ฌ ์ฒ๋ฆฌ์ ์ด๋ ค์์ ์ปค๋ ์ต์ ํ๋ณด๋ค ๋ฐ์ดํฐ ๊ณต๊ธ์ด ๋๊ธฐ์ง ์๊ฒ ๋ง๋๋ ๋ฐ ์๋ค.
-
1:10
๋ค ๊ฐ์ง ๋ณ๋ชฉ ๋ณ๋ชฉ์ ํฌ๊ฒ ๋์์ฑ, ์ฌ์ ๊ฐ์ ธ์ค๊ธฐ, ํ๋ก์ธ์ค ๊ฐ ๋ฐ์ดํฐ ๋ณต์ฌ ์ต์ํ, ๊ทธ๋ฆฌ๊ณ ์ถ๊ฐ์ ์ธ ํ๋ ์์ํฌ ์ต์ ํ๋ก ๋๋๋ฉฐ, ์ด๋ฅผ ํ๋์ฉ ์ ๊ฑฐํ๋ ๋ฐฉ์์ผ๋ก ์ ๊ทผํ๋ค.
-
1:50
๋ฉํฐ๋ชจ๋ฌ์ด CPU ์ง์ฝ์ ์ธ ์ด์ ์ด๋ฏธ์งยท์ค๋์คยท๋น๋์ค ์ ์ฒ๋ฆฌ์๋ ๋ก๋ฉ, ๋ฆฌ์ฌ์ด์ฆ, ์ ๊ทํ ๊ฐ์ CPU ์์ ์ด ๋ง์ด ๋ค์ด๊ฐ๊ณ , GPU๋ณด๋ค CPU๊ฐ ๋ง์ ํ๊ฒฝ์์๋ GPU๊ฐ ์คํ๋ ค ๊ตถ์ฃผ๋ฆฌ๊ธฐ ์ฝ๋ค.
-
2:45
๋๊ธฐ ์๊ฐ ๋น์จ ๋ฐ์ดํฐ ์ค๋น์ ์ ์ก์ ์ฐ๋ ์๊ฐ์ ์ ์ฒด ํ์ดํ๋ผ์ธ ์๊ฐ์ผ๋ก ๋๋ ์งํ๋ก ๋ณ๋ชฉ์ ์ธก์ ํ๋ฉฐ, ์ต์ ํ ํ์๋ GPU ํ์ฉ๋ฅ ์ด 15%์์ 90%๋ก ์ฌ๋ผ๊ฐ๋ค.
-
3:35
์ฐ๋ฆฌ์ ์คํ Qwen 3VL ๊ธฐ๋ฐ ๋ชจ๋ธ์ Chat VQA์ ๋ฉํฐํด VLM ๋ํ ํํ๋ก ํ์ตํ๋ฉฐ, ๋ฐ์ดํฐ ๋ก๋ยท๋ณํยท์ ์ก์ด ๋ชจ๋ ๋๋์ผ GPU๊ฐ ๊ณ์ฐ์ ์์ํ ์ ์๋ค.
-
4:10
๋ฐ์ดํฐ ๋ฐ์ดํฐ๋ JSONL๋ก ๊ตฌ์ฑ๋๊ณ ์ด๋ฏธ์ง๋ S3์ ์ ์ฅ๋ ๋งํฌ๋ก ์ฐธ์กฐ๋๋ฉฐ, ์์ ์ด๋ฏธ์ง๋ ๊ฐ์ฒด ์ ์ฅ์์์ ์ฝ์ด์ค๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ํ๋ค.
-
4:35
์์คํ ๊ตฌ์ฑ ๋ฐ์ดํฐ ์์ฑ๊ธฐ๊ฐ ๋ก๋ยท๋ณํยท์ ์ก์ ๋ด๋นํ๊ณ , ๋ฉ๊ฐํธ๋ก ์ ๋ฐ์ดํฐ ๋ณ๋ ฌ ๋ญํฌ๊ฐ ๋ถํ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ ๋ฐฉยท์ญ์ ํ๋ฅผ ์ํํ๋ ๊ตฌ์กฐ๋ก ์ค๊ณ๋๋ค.
-
5:15
๊ธฐ๋ณธ์ : 15% ํ์ฉ๋ฅ ์ฒ์์๋ ์ด๋ฏธ์ง๋ฅผ ํ๋์ฉ ๊ฐ์ ธ์ ํ๋์ฉ ์ฒ๋ฆฌํ๋ ์ง๋ ฌ ๊ตฌ์กฐ ๋๋ฌธ์ ๋ฐฐ์น๋น ๋ฐ์ดํฐ ํ๋ ์๊ฐ์ด 100์ด๋ฅผ ๋๊ณ , GPU๋ 15% ์์ค๋ง ํ์ฉ๋๋ค.
-
6:20
ํด๊ฒฐ์ฑ 1: ๋์์ฑ ์ํ๋ค์ด ์๋ก ๋ ๋ฆฝ์ ์ด๋ฏ๋ก ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ์ ์ ์ฒ๋ฆฌ๋ฅผ ์์ปค ํ๋ก ๋ณ๋ ฌํํ๋ฉด ๋ฐฐ์น ๋จ์ ์ฒ๋ฆฌ ์๋๋ฅผ ํฌ๊ฒ ๋์ผ ์ ์๋ค.
-
7:05
Async, ์ค๋ ๋, ํ๋ก์ธ์ค? ๋คํธ์ํฌ ์์ฒญ๊ณผ ๊ฐ์ IO์๋ async๊ฐ ์ ํฉํ๊ณ , GIL์ ๋๋ CPU ์์ ์๋ ์ค๋ ๋๊ฐ ์ ์ฉํ๋ฉฐ, ์์ ํ ๊ฒฉ๋ฆฌ๊ฐ ํ์ํ๋ฉด ํ๋ก์ธ์ค๊ฐ ์ ํฉํ๋ค.
-
8:10
Asyncio์ Ray actor ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ๋ asyncio๋ก, ์ฒ๋ฆฌ๊ธฐ๋ Ray actor๋ก ๊ตฌ์ฑํด ๋ณ๋ชฉ ๊ตฌ๊ฐ์ ๋ง์ถคํ์ผ๋ก ๋ถ๋ฆฌํ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ ๋ฐฐ์น๋น ๋ฐ์ดํฐ ๋๊ธฐ ์๊ฐ์ด ์ฝ 25% ์ค์ด๋ ๋ค.
-
9:15
ํด๊ฒฐ์ฑ 2: ํ๋ฆฌํ์นญ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋๊ฐ ํ๋ฅผ ๋ฏธ๋ฆฌ ์ฑ์ ์๋น์๋ณด๋ค ํญ์ ์์๊ฐ๋๋ก ๋ง๋ค๋ฉด, ํ๋ จ ์์ฒญ ์์ ์๋ ๋ฐ์ดํฐ๊ฐ ์ฆ์ ์ค๋น๋์ด ๋๊ธฐ ์๊ฐ์ด ๊ฑฐ์ ์ฌ๋ผ์ง๋ค.
-
10:40
ํด๊ฒฐ์ฑ 3: Ray object store๋ฅผ ํ์ฉํ ์ ๋ก ์นดํผ ๋ฐฐ์น๋ง๋ค ์ด๋ฏธ์ง ๋ฐฐ์ด์ด ํ๋ก์ธ์ค ๊ฒฝ๊ณ๋ฅผ ์ฌ๋ฌ ๋ฒ ๋ณต์ฌํ๋ ๋น์ฉ์ด ์ปค์, Ray object store์ ์ฐธ์กฐ ์ ๋ฌ ๋ฐฉ์์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ๋ณต์ฌ๋ฅผ ์ค์ด๊ณ ์ ์ก ๋น์ฉ์ ๋ฎ์ถ๋ค.
-
12:20
์์ฝ: ๋๊ธฐ ์๊ฐ 85%์์ 20%๋ก ์ง๋ ฌ ์ฒ๋ฆฌ, ๋์์ฑ ์ถ๊ฐ, ํ๋ฆฌํ์นญ, ์ ๋ก ์นดํผ ์ ์ก์ ๊ฑฐ์น๋ฉฐ ๋ฐ์ดํฐ ๋๊ธฐ ๋น์จ์ 85%์์ 20%๋ก ์ค๊ณ GPU ํ์ฉ๋ฅ ์ ํฌ๊ฒ ๊ฐ์ ๋๋ค.
-
12:55
ํ์ฅ: ์๋ก์ด ๋ณ๋ชฉ ๊ท๋ชจ๋ฅผ ํค์ฐ์ ๊ฐ์ ์ค์ ์ด๋ผ๋ ๋๊ธฐ ๋น์จ์ด ๋ค์ ์์นํ์ผ๋ฉฐ, ์์ปค์ ๋ฐ์ดํฐ ์์ฑ๊ธฐ๊ฐ ๊ฐ์ ๋ ธ๋์ ๋ชฐ๋ฆฌ๋ฉด์ ๋ค๋ฅธ ๋ณ๋ชฉ์ด ๋๋ฌ๋๋ค.
-
13:25
๋คํธ์ํฌ ์นด๋ ๋ณ๋ชฉ Ray๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ ๋ ธ๋์ ์์ปค๋ฅผ ๋ฐฐ์นํ๋ ๊ฒฝํฅ ๋๋ฌธ์ ํ ์๋ฒ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค ์นด๋๊ฐ ํฌํ๋๊ณ , ๋ ธ๋ ๊ฐ ๋ถ์ฐ์ด ํ์ํด์ง๋ค.
-
14:35
๋ถ์ฐ ์ค์ผ์ค๋ง๊ณผ ์ ๋ก ์นดํผ ์ ๋ก ์นดํผ ์กฐํ์ spread scheduling์ ํจ๊ป ์ ์ฉํด์ผ ์๊ท๋ชจ์์๋ ๋ณด์ด์ง ์๋ ํจ๊ณผ๊ฐ ๋๊ท๋ชจ์์ ๋ํ๋๋ฉฐ, ์ ์ฒด ํ์ดํ๋ผ์ธ ์ฒ๋ฆฌ๋์ด ์ถ๊ฐ๋ก 50% ํฅ์๋๋ค.
-
15:35
๊ตํ GPU ๋ณ๋ชฉ์ฒ๋ผ ๋ณด์ฌ๋ ์ค์ ์์ธ์ CPU, IO, ๋ฉ๋ชจ๋ฆฌ, ๋คํธ์ํฌ์ผ ์ ์์ผ๋ฉฐ, ๋ณ๋ชฉ์ ํ๋๋ฅผ ํด๊ฒฐํ ๋๋ง๋ค ๋ค๋ฅธ ํํ๋ก ์ด๋ํ๋ฏ๋ก ํญ์ ๊ธฐ์ค์ ์ ํ๋กํ์ผ๋งํด์ผ ํ๋ค.
์ค๋ฌด ์ธ์ฌ์ดํธ
- ๋ฉํฐ๋ชจ๋ฌ ํ์ต ์ต์ ํ๋ ๋ชจ๋ธ๋ณด๋ค ๋ฐ์ดํฐ ๊ฒฝ๋ก๋ฅผ ๋จผ์ ์์ฌํด์ผ ํ๋ฉฐ, ํนํ ๋ฐฐ์น๋น ๋๊ธฐ ์๊ฐ์ด ๊ธธ๋ฉด ์ ์ฒ๋ฆฌ์ ์ ์ก ๋จ๊ณ๊ฐ ์ฐ์ ์์๋ค.
- ๋์์ฑ, ํ๋ฆฌํ์นญ, ์ ๋ก ์นดํผ๋ ๊ฐ๊ฐ ๋ ๋ฆฝ์ ์ธ ๊ฐ์ ์ด ์๋๋ผ ์๋ก ๋ค๋ฅธ ๋ณ๋ชฉ์ ๊ฒจ๋ฅํ๋ฏ๋ก, ํ ๋จ๊ณ์ฉ ์ ์ฉํ๋ฉฐ ํ๋กํ์ผ๋งํด์ผ ํจ๊ณผ๋ฅผ ์ ํํ ํ๋จํ ์ ์๋ค.
- ์์ ๊ท๋ชจ์์ ํจ๊ณผ๊ฐ ์ฝํด ๋ณด์ฌ๋ ํ์ฅ ์ ๋คํธ์ํฌยท๋ฐฐ์นยท์ค์ผ์ค๋ง ๋ณ๋ชฉ์ด ๊ฐ์๊ธฐ ๋๋ฌ๋๋ฏ๋ก, ๋๊ท๋ชจ ๊ธฐ์ค์ผ๋ก ์ค๊ณ๋ฅผ ๊ฒ์ฆํด์ผ ํ๋ค.