Tricks from OpenAI gpt-oss YOU ๐ซต can use with transformers
Quick Summary
OpenAI์ GPT OSS ๋ชจ๋ธ์ transformers์์ ํจ์จ์ ์ผ๋ก ์คํยท๋ฏธ์ธ์กฐ์ ํ๊ธฐ ์ํด ๋์ ๋ ๋ค์ด๋ก๋ํ ์ปค๋, MXFP4 ์์ํ, Flash Attention 3, ํ ์ ๋ณ๋ ฌํ ๋ฑ ํต์ฌ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ค๋ช ํ ๊ธ์ ๋๋ค.
๐ผ๏ธ ์ธํฌ๊ทธ๋ํฝ
๐ผ๏ธ 4์ปท ์ธํฌ๊ทธ๋ํฝ
๐ก ํ ์ค ์์ฝ
OpenAI์ GPT-OSS ๋ชจ๋ธ์ transformers์์ ํจ์จ์ ์ผ๋ก ์คํยท๋ฏธ์ธ์กฐ์ ํ๊ธฐ ์ํด ๋์ ๋ ๋ค์ด๋ก๋ํ ์ปค๋, MXFP4 ์์ํ, Flash Attention 3, ํ ์ ๋ณ๋ ฌํ ๋ฑ ํต์ฌ ์ ๊ทธ๋ ์ด๋๋ฅผ ์ค๋ช ํ ๊ธ์ ๋๋ค.
๐ ํต์ฌ ์์ฝ
- ๊ธ์ OpenAI GPT-OSS ๋ชจ๋ธ ์ถ์๋ฅผ ๊ณ๊ธฐ๋ก transformers ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋๊ท๋ชจ๋ก ๊ฐ์ ๋์๊ณ , ๊ทธ ๊ฒฐ๊ณผ ๋ชจ๋ธ ๋ก๋ยท์คํยท๋ฏธ์ธ์กฐ์ ์ด ๋ ํจ์จ์ ์ด ๋์๋ค๊ณ ์ค๋ช ํฉ๋๋ค.
- ํต์ฌ ๋ณํ ์ค ํ๋๋ Hub์์ ์ฌ์ ๋น๋๋ ์ปค๋์ ๋ด๋ ค๋ฐ์ ์ฐ๋ ๋ฐฉ์์ผ๋ก, ๊ฐ๋ณ ์ปค๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กด์ฑ ์ฆ๊ฐ์ ๋ก์ปฌ ์ปดํ์ผ ๋ถ๋ด์ ์ค์ด๋ ๋ฐ ์ด์ ์ ๋ก๋๋ค.
- GPT-OSS๋ MoE ๊ตฌ์กฐ๋ฅผ ํ์ฉํ๋ฉฐ Liger RMSNorm, MegaBlocks MoE MLP, attention sinks๋ฅผ ์ง์ํ๋ Flash Attention 3, MXFP4 Triton ์ปค๋ ๊ฐ์ ์ฌ๋ฌ ์ปค์คํ ์ปค๋์ ์ฌ์ฉํฉ๋๋ค.
- MXFP4๋ 4๋นํธ ๋ถ๋์์์ ํ์๊ณผ 32๊ฐ ๋จ์ ๋ธ๋ก๋ณ ์ค์ผ์ผ๋ง์ ๊ฒฐํฉํด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํฌ๊ฒ ์ค์ด๋ฉฐ, ์ง์ ํ๊ฒฝ์์๋ GPT-OSS 20B์ 120B๋ฅผ ํจ์ฌ ์์ VRAM์ผ๋ก ์คํํ ์ ์๊ฒ ํฉ๋๋ค.
- ์๋ฌธ ํ๋ฐ๋ถ๋ tensor parallelism์ ์๊ฐํ๋ฉฐ, ๋ ์ด์ด ๋ด๋ถ ํ ์๋ฅผ ์ฌ๋ฌ GPU๋ก ๋๋์ด ๊ฐ์ ๋ ์ด์ด๋ฅผ ๋ณ๋ ฌ ์ฒ๋ฆฌํจ์ผ๋ก์จ GPU๋น ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ด์ ๋ฎ์ถ๊ณ ์ฒ๋ฆฌ๋์ ๋์ด๋ ๋ฐฉ์์ ์ค๋ช ํฉ๋๋ค.
๐งฉ ์ฃผ์ ํฌ์ธํธ
- ๊ธ์ OpenAI GPT-OSS ๋ชจ๋ธ ์ถ์๋ฅผ ๊ณ๊ธฐ๋ก transformers ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋๊ท๋ชจ๋ก ๊ฐ์ ๋์๊ณ , ๊ทธ ๊ฒฐ๊ณผ ๋ชจ๋ธ ๋ก๋ยท์คํยท๋ฏธ์ธ์กฐ์ ์ด ๋ ํจ์จ์ ์ด ๋์๋ค๊ณ ์ค๋ช ํฉ๋๋ค.
- ํต์ฌ ๋ณํ ์ค ํ๋๋ Hub์์ ์ฌ์ ๋น๋๋ ์ปค๋์ ๋ด๋ ค๋ฐ์ ์ฐ๋ ๋ฐฉ์์ผ๋ก, ๊ฐ๋ณ ์ปค๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กด์ฑ ์ฆ๊ฐ์ ๋ก์ปฌ ์ปดํ์ผ ๋ถ๋ด์ ์ค์ด๋ ๋ฐ ์ด์ ์ ๋ก๋๋ค.
- GPT-OSS๋ MoE ๊ตฌ์กฐ๋ฅผ ํ์ฉํ๋ฉฐ Liger RMSNorm, MegaBlocks MoE MLP, attention sinks๋ฅผ ์ง์ํ๋ Flash Attention 3, MXFP4 Triton ์ปค๋ ๊ฐ์ ์ฌ๋ฌ ์ปค์คํ ์ปค๋์ ์ฌ์ฉํฉ๋๋ค.
- MXFP4๋ 4๋นํธ ๋ถ๋์์์ ํ์๊ณผ 32๊ฐ ๋จ์ ๋ธ๋ก๋ณ ์ค์ผ์ผ๋ง์ ๊ฒฐํฉํด ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ํฌ๊ฒ ์ค์ด๋ฉฐ, ์ง์ ํ๊ฒฝ์์๋ GPT-OSS 20B์ 120B๋ฅผ ํจ์ฌ ์์ VRAM์ผ๋ก ์คํํ ์ ์๊ฒ ํฉ๋๋ค.
- ์๋ฌธ ํ๋ฐ๋ถ๋ tensor parallelism์ ์๊ฐํ๋ฉฐ, ๋ ์ด์ด ๋ด๋ถ ํ ์๋ฅผ ์ฌ๋ฌ GPU๋ก ๋๋์ด ๊ฐ์ ๋ ์ด์ด๋ฅผ ๋ณ๋ ฌ ์ฒ๋ฆฌํจ์ผ๋ก์จ GPU๋น ๋ฉ๋ชจ๋ฆฌ ๋ถ๋ด์ ๋ฎ์ถ๊ณ ์ฒ๋ฆฌ๋์ ๋์ด๋ ๋ฐฉ์์ ์ค๋ช ํฉ๋๋ค.
๐ง ์์ธ ์ ๋ฆฌ
1. GPT-OSS ์ถ์์ ๋ง์ถ transformers ์ ๊ทธ๋ ์ด๋
๊ธ์ OpenAI๊ฐ GPT-OSS ๋ชจ๋ธ ์๋ฆฌ์ฆ๋ฅผ ๊ณต๊ฐํ๊ณ , ์ด ๋ชจ๋ธ๋ค์ด MXFP4 ์์ํ, ํจ์จ์ ์ธ ์ปค๋, ์๋ก์ด ์ฑํ ํ์ ๊ฐ์ ๊ธฐ์ ์ ํฌํจํ๋ค๊ณ ์๊ฐํฉ๋๋ค. Hugging Face ์ธก์ GPT-OSS๋ฅผ transformers์์ ์ง์ํ๊ธฐ ์ํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์๋นํ ๊ฐ์ ํ์ผ๋ฉฐ, ๋ชฉํ๋ ๋ชจ๋ธ์ ๋ ํจ์จ์ ์ผ๋ก ๋ก๋ํ๊ณ ์คํํ๊ณ ๋ฏธ์ธ์กฐ์ ํ ์ ์๊ฒ ํ๋ ๊ฒ์ ๋๋ค. ๋ํ ์ด ๊ตฌํ์ด GPT-OSS์๋ง ๊ฐํ์ง ์๊ณ transformers ๋๊ตฌ์์์ ์ผ๋ถ๊ฐ ๋์ด ํ์ฌ์ ๋ฏธ๋์ ๋ค๋ฅธ ๋ชจ๋ธ๋ ํํ์ ๋ณผ ์ ์๋ค๊ณ ๊ฐ์กฐํฉ๋๋ค. ๊นจ๋ํ ๊ตฌํ์ ๊ณต๊ฐํ๋ฉด ์ปค๋ฎค๋ํฐ๊ฐ ์ ๋ฐฉ๋ฒ์ ๋น ๋ฅด๊ฒ ์ดํดํ๊ณ ์ฑํํ ์ ์๊ณ , MLX, llama.cpp, vLLM ๊ฐ์ ํ๋ ์์ํฌ๋ ์ฐธ๊ณ ๊ตฌํ์ผ๋ก ํ์ฉํ ์ ์๋ค๋ ์ ์ด ๋ฐฐ๊ฒฝ์ผ๋ก ์ ์๋ฉ๋๋ค.
2. Hub์์ ๋ด๋ ค๋ฐ๋ zero-build ์ปค๋์ ๋ฌธ์ ์์
์๋ฌธ์ ๋จผ์ ์ปค๋์ ๊ฐ์๊ธฐ์์ ํ๋ ฌ๊ณฑ, ํ์ฑํ, ์ ๊ทํ ๊ฐ์ ์์ ์ ์คํํ๋ ํน์ํ๊ณ ์์ ํ๋ก๊ทธ๋จ์ผ๋ก ์ค๋ช ํฉ๋๋ค. eager PyTorch์์๋ ์ฐ์ฐ๋ง๋ค ๊ฐ๋ณ ์ปค๋์ด ์์ฐจ์ ์ผ๋ก ์คํ๋์ด ์ดํดํ๊ธฐ๋ ์ฝ์ง๋ง, ๋ฉ๋ชจ๋ฆฌ ์ ์ก๊ณผ ์ปค๋ ์คํ ์ค๋ฒํค๋๊ฐ ์ถ๊ฐ๋ ์ ์์ต๋๋ค. PyTorch 2.0์ torch.compile๊ณผ TorchInductor๋ ์ปค๋์ ์๋์ผ๋ก ์ตํฉํ๊ณ ์ต์ ํํด ์ฑ๋ฅ์ ๋์ด์ง๋ง, ์ปค๋ฎค๋ํฐ๋ Flash Attention์ฒ๋ผ ์์ฃผ ๋ฑ์ฅํ๋ ์ฐ์ฐ ๋ฌถ์์ ์ง์ ์ต์ ํํ ์ปค์คํ ์ปค๋๋ ๋ง๋ค์ด ์์ต๋๋ค. ๋ฌธ์ ๋ ์ด๋ฐ ์ปค๋๋ค์ด ๋ณ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ํฉ์ด์ ธ ์๊ณ CUDA, C++, Python ๋ ์ด์ด๊ฐ ์์ธ ์ ์์ค ์ฝ๋๋ผ ๋์ ์์คํ ์์ ์ปดํ์ผํด์ผ ํ๋ฏ๋ก ์์กด์ฑ๊ณผ ๋น๋ ๋ถ๋ด์ด ์ปค์ง๋ค๋ ๋ฐ ์์ต๋๋ค.
3. kernels ํจํค์ง์ GPT-OSS์ ์ปค์คํ ์ปค๋ ์ฌ์ฉ
์ด ๊ธ์์ ์ ์ํ๋ ํด๊ฒฐ์ฑ ์ kernels ํจํค์ง๊ฐ Hub์์ ์ง์ ์ปค๋์ ์ฌ์ ๋น๋๋ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ด๋ ค๋ฐ๋ ๋ฐฉ์์ ๋๋ค. ์ฌ์ฉ์๋ ํ์ํ ์ปค๋์ ์ง์ ํ๊ธฐ๋ง ํ๋ฉด ๋๊ณ , kernels๋ ์์คํ ๊ณผ ํธํ๋๋ ๋ฒ์ ์ ์ฐพ์ ์ต์ด ์ฌ์ฉ ์ ๋ค์ด๋ก๋ํฉ๋๋ค. GPT-OSS๋ Mixture of Experts ๋ชจ๋ธ๋ก์ Liger RMSNorm, MegaBlocks MoE MLP, attention sinks๋ฅผ ์ง์ํ๋ Flash Attention 3, MXFP4 Triton ์ปค๋ ๋ฑ ์ฌ๋ฌ ์ปค์คํ ์ปค๋์ ํ์ฉํฉ๋๋ค. RMSNorm๊ณผ MegaBlocksMoeMLP๋ ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ํตํด ์ปค๋ฎค๋ํฐ ์ปค๋์ ๊ฐ๋ฆฌํค๋ฉฐ, CUDA ๋๋ ROCm, ํ์ต ๋๋ ์ถ๋ก ์ฌ๋ถ์ ๋ฐ๋ผ ์ ์ ํ ์ปค๋์ด ์๋์ผ๋ก ์ ํ๋ฉ๋๋ค. ๋ค๋ง Hub์์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๋ ๊ธฐ๋ฅ์ด๊ธฐ ๋๋ฌธ์ ์ผ๋ฐ ์ปค์คํ ์ปค๋ ์ฌ์ฉ์ ๋ชจ๋ธ ์์ฑ ์ use_kernels=True๋ก ๋ช ์์ ์ผ๋ก ์ ํํด์ผ ํฉ๋๋ค.
4. ์ปค์คํ ์ปค๋์ ์ ์ฉ ๋ฒ์์ ๋ฒค์น๋งํฌ ์ฃผ์์
์๋ฌธ์ ์ด ์ค๊ณ๊ฐ ํน์ ๋ชจ๋ธ์ ๋ง์ถ ๋์์ ์ผ๋ฐํ ๊ฐ๋ฅํ๋ค๊ณ ์ค๋ช ํฉ๋๋ค. ์๋ฅผ ๋ค์ด Liger RMSNorm ์ปค๋์ ์ด๋ฏธ ์ฌ๋ฌ ๋ชจ๋ธ์์ ์ฌ์ฌ์ฉ๋ ์ ์๊ณ , MoE ์ปค๋๋ ํฅํ ๋ค๋ฅธ MoE ๋ชจ๋ธ์ ์ ์ฉ๋ ์ฌ์ง๊ฐ ์์ต๋๋ค. ์์ ์ฝ๋์์๋ openai/gpt-oss-20b๋ฅผ AutoModelForCausalLM.from_pretrained๋ก ๋ถ๋ฌ์ค๋ฉด์ dtype๊ณผ device_map์ ์๋์ผ๋ก ์ค์ ํ๊ณ use_kernels=True๋ฅผ ์ ๋ฌํฉ๋๋ค. ์คํ ์ ๋ก๊ทธ์๋ LigerRMSNorm๊ณผ MegaBlocksMoeMLP๊ฐ ๊ฐ๊ฐ ์ปค๋ฎค๋ํฐ ์ ์ฅ์์์ ์ฌ์ฉ๋๊ณ ์๋ค๋ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค. ์๋ฌธ์ ํ ์คํธํ ์์คํ ์์ ์ด๋ฌํ ์ปค๋์ด ๋ ํฐ ๋ฐฐ์น ํฌ๊ธฐ์์ ํนํ ์ข์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์๋ค๊ณ ๋งํ๋ฉด์, ์ค์ ํ๋ก์ ํธ์์๋ ์์ฐ ํ๊ฒฝ์ ์ต๋ํ ๊ฐ๊น์ด ์กฐ๊ฑด์ผ๋ก ์ง์ ๋ฒค์น๋งํฌํด์ผ ํ๋ค๊ณ ๊ถ๊ณ ํฉ๋๋ค.
5. Flash Attention 3์ attention sinks ์ง์
GPT-OSS ๋ชจ๋ธ์ attention sinks๋ฅผ ์ฌ์ฉํ๋ฉฐ, ์๋ฌธ์ ์ด ๊ธฐ๋ฅ์ด ํ์ง์ ๋์ด๊ณ ๋ ๊ธด ์ปจํ ์คํธ ์ฌ์ฉ์ ๋๋๋ค๊ณ ์ค๋ช ํฉ๋๋ค. vLLM ํ์ ์ด ๊ธฐ๋ฅ์ ์ต์ Flash Attention์ธ Flash Attention 3์ ์ถ๊ฐํ๊ณ , ๊ทธ ๊ฒฐ๊ณผ ๋ง๋ค์ด์ง ์ปค์คํ ์ปค๋์ด Hub์์ ์ ๊ณต๋ฉ๋๋ค. ํ์ฌ ์๋ฌธ์ด ์ธ๊ธํ ํธํ ๋์์ Hopper ์ํคํ ์ฒ์ด๋ฉฐ, ํด๋น ํ๋์จ์ด๊ฐ ์๋ค๋ฉด attn_implementation์ kernels-community/vllm-flash-attn3๋ฅผ ์ง์ ํด ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ๋ถ๋ถ์ ์์ ์ค๋ช ํ zero-build ์ปค๋ ํ๋ฆ๊ณผ ์ด์ด์ง๋ฉฐ, attention block์ฒ๋ผ ๋ชจ๋ธ ์ฑ๋ฅ์ ์ค์ํ ๊ตฌ์ฑ์์๋ฅผ ๋จ์ผ ์ปค๋๋ก ์ต์ ํํด ๋ฉ๋ชจ๋ฆฌ ์ ์ก์ ์ค์ด๊ณ ์๋์ ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ ๊ฐ์ ํ๋ ค๋ ๋ฐฉํฅ์ ๋ณด์ฌ์ค๋๋ค.
6. MXFP4 ์์ํ์ ํ์๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ ๊ฐ ํจ๊ณผ
์๋ฌธ์ ๋ํ ์ธ์ด ๋ชจ๋ธ์ด ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๊ตฌํ๊ธฐ ๋๋ฌธ์ ์์ํ๊ฐ ์ค์ํ๋ค๊ณ ์ค๋ช ํฉ๋๋ค. FP32๋ ์ซ์ ํ๋์ 32๋นํธ๋ฅผ ์ฐ๊ณ BF16์ 16๋นํธ๋ฅผ ์ฐ์ง๋ง, ๋นํธ ํญ์ ๋ฎ์ถ๋ฉด ์ผ๋ถ ์ ๋ฐ๋๋ฅผ ํฌ๊ธฐํ๋ ๋์ ๋ชจ๋ธ ํฌ๊ธฐ์ ๋ฉ๋ชจ๋ฆฌ ์ด๋๋์ ์ค์ผ ์ ์์ต๋๋ค. MXFP4๋ 1๊ฐ์ ๋ถํธ ๋นํธ, 2๊ฐ์ ์ง์ ๋นํธ, 1๊ฐ์ ๊ฐ์ ๋นํธ๋ก ๊ตฌ์ฑ๋ E2M1 4๋นํธ ๋ถ๋์์์ ํ์์ ์ฌ์ฉํฉ๋๋ค. E2M1 ์์ฒด๋ ๋งค์ฐ ๊ฑฐ์น ๊ธฐ ๋๋ฌธ์ MXFP4๋ 32๊ฐ ์์ ๋จ์ ๋ธ๋ก๋ง๋ค ๊ณต์ ์ค์ผ์ผ์ ์ ์ฅํ๋ blockwise scaling์ ๊ฒฐํฉํด ๋์ ๋ฒ์๋ฅผ ๋ณด์ํฉ๋๋ค. ์๋ฌธ์ ๋ฐ๋ฅด๋ฉด MXFP4๊ฐ ํ์ฑํ๋๋ฉด GPT-OSS 20B๋ ์ฝ 16GB VRAM, GPT-OSS 120B๋ ์ฝ 80GB VRAM์ ๋ค์ด๊ฐ ์ ์์ด ๋จ์ผ GPU์์ ์คํ ๊ฐ๋ฅ์ฑ์ด ํฌ๊ฒ ๋ฌ๋ผ์ง๋๋ค.
7. transformers ์์ MXFP4 ํตํฉ๊ณผ ์คํ ์กฐ๊ฑด
transformers๋ MXFP4๋ฅผ ๋ค์ดํฐ๋ธ๋ก ์ง์ํ๋ฉฐ, ์ฑ๋ฅ ํฅ์์ ์ํด ์ต์ ํ๋ Triton ๊ธฐ๋ฐ MXFP4 ์ปค๋์ ํ์ฉํฉ๋๋ค. ๋ชจ๋ธ์ด MXFP4๋ฅผ ์ง์ํ๋์ง๋ GptOssConfig์์ quantization_config๋ฅผ ํ์ธํด ์ ์ ์๊ณ , ์์์๋ quant_method๊ฐ mxfp4๋ก ํ์๋ฉ๋๋ค. ์ด ๊ฐ์ด ์์ผ๋ฉด ์ง์ ํ๊ฒฝ์์ ๋ชจ๋ธ์ ์๋์ผ๋ก MXFP4 ๊ฒฝ๋ก์ Triton ์ปค๋์ ์ฌ์ฉํ๋ฉฐ, ๋ฏธ์ธ์กฐ์ ํ GPT-OSS ๋ชจ๋ธ์ MXFP4 ํ์์ผ๋ก Hub์ ์ง์ ์ ์ฅํ ์ ์๋ค๋ ์ ๋ ์ธ๊ธ๋ฉ๋๋ค. GPU์์ MXFP4๋ฅผ ์คํํ๋ ค๋ฉด accelerate, kernels, triton 3.4 ์ด์์ด ํ์ํ๊ณ , NVIDIA GPU๋ compute capability 7.5 ์ด์์ด์ด์ผ ํฉ๋๋ค. ์กฐ๊ฑด์ด ์ถฉ์กฑ๋์ง ์์ผ๋ฉด transformers๋ ๊ธฐ๋ณธ์ ์ผ๋ก bfloat16 ๊ฐ์ ๋ ๋์ ์ ๋ฐ๋ ๊ฒฝ๋ก๋ก fallbackํ๋ฉฐ, ์ด ๊ฒฝ์ฐ MXFP4๋ณด๋ค ์ฝ 4๋ฐฐ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ๋ค๊ณ ์ค๋ช ํฉ๋๋ค.
8. MXFP4 ์ปค๋ ๋ฐฐํฌ์ Tensor Parallelism ๋์
MXFP4๋ฅผ ํจ์จ์ ์ผ๋ก ์ฐ๋ ค๋ฉด GEMM๊ณผ fused operation์์ 32๊ฐ ์์ ๋ธ๋ก๊ณผ ๊ฐ ๋ธ๋ก์ ์ค์ผ์ผ์ ์ดํดํ๋ ์ปค๋์ด ํ์ํฉ๋๋ค. ์๋ฌธ์ transformers๊ฐ MXFP4๊ฐ ํ์ํ ๋ชจ๋ธ์ ๋ก๋ํ ๋ ์ปค๋ฎค๋ํฐ ์ ์ฅ์์ MXFP4 ์ธ์ Triton ์ปค๋์ ์๋์ผ๋ก ๊ฐ์ ธ์ค๋ฉฐ, ์ด ๊ฒฝ์ฐ ์์์ ์ผ๋ฐ ์ปค์คํ ์ปค๋๊ณผ ๋ฌ๋ฆฌ use_kernels=True๋ฅผ ๋ฐ๋ก ์ง์ ํ์ง ์์๋ ๋๋ค๊ณ ์ค๋ช ํฉ๋๋ค. Hugging Face cache CLI๋ก ํ์ธํ๋ฉด kernels-community/triton_kernels์ openai/gpt-oss-20b๊ฐ ๋ก์ปฌ ์บ์์ ๋ํ๋ ์ ์๊ณ , ์ด๋ ์ปค๋์ด ์คํ ์ค๋น ์ํ์์ ๋ณด์ฌ์ฃผ๋ sanity check๋ก ์ ์๋ฉ๋๋ค. ์ด์ด์ ๊ธ์ tensor parallelism์ ์๊ฐํ๋ฉฐ, ๋ ์ด์ด ๋ด๋ถ ํ ์๋ฅผ ์ฌ๋ฌ GPU์ ๋๋๊ณ ๊ฐ GPU๊ฐ ์๊ธฐ shard๋ฅผ ๋ณ๋ ฌ๋ก ๊ณ์ฐํ ๋ค all-gather๋ all-reduce๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ชจ์ผ๋ ๋ฐฉ์์ด๋ผ๊ณ ์ค๋ช ํฉ๋๋ค. ์ด ๋ฐฉ์์ GPU๋น ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ค์ด๊ณ ๊ฐ์ ๋ ์ด์ด์์ ์ฌ๋ฌ GPU๋ฅผ ๋์์ ์ผํ๊ฒ ํ๋ฏ๋ก, ์ํ์ค ๊ธธ์ด๋ ๋ฐฐ์น ํฌ๊ธฐ๊ฐ ์ปค์ง์๋ก ์ฒ๋ฆฌ๋ ๊ฐ์ ์ ๋์์ด ๋์ง๋ง ๋น ๋ฅธ ๋จ์ผ ๋จธ์ ๋ด๋ถ ์ฐ๊ฒฐ์ด ์ค์ํ๋ค๊ณ ์ ๋ฆฌ๋ฉ๋๋ค.
๐งพ ํต์ฌ ์ฃผ์ฅ / ์์ฌ์
- ์ด ๊ธ์ ํต์ฌ์ GPT-OSS ์ง์์ด ๋จ์ํ ๋ชจ๋ธ ์ถ๊ฐ๊ฐ ์๋๋ผ, ์ปค๋ ๋ฐฐํฌยท์์ํยท๋ณ๋ ฌํ ๊ฐ์ ์คํ ์ธํ๋ผ๋ฅผ transformers ๋ด๋ถ์ ์ผ๋ฐํํด ๋ฃ๋ ์์ ์ด์๋ค๋ ์ ์ ๋๋ค.
- MXFP4๋ ๋ฉ๋ชจ๋ฆฌ ์ ๊ฐ ํจ๊ณผ๊ฐ ํฌ์ง๋ง, 32๊ฐ ๋จ์ ๋ธ๋ก ์ค์ผ์ผ์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ์ ์ฉ ์ปค๋๊ณผ ํ๋์จ์ด ์กฐ๊ฑด์ด ํจ๊ป ๋ง์์ผ ์ค์ฉ์ ์ธ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค.
- ์๋ฌธ์ ์ฑ๋ฅ ๊ธฐ๋ฅ์ ์ผ๋ ๋ฐฉ๋ฒ๋ง ์ ์ํ์ง ์๊ณ , ์ปค์คํ ์ปค๋๊ณผ MXFP4 ๋ชจ๋ ์ค์ ํ๊ฒฝ์์ ๋ฒค์น๋งํฌํด์ผ ํ๋ค๊ณ ๋ฐ๋ณตํด ๊ฐ์กฐํ๋ฉฐ ๋ฉ๋ชจ๋ฆฌ์ ์ฒ๋ฆฌ๋์ ์ต์ ์กฐํฉ์ ์์คํ ๋ง๋ค ๋ฌ๋ผ์ง ์ ์์์ ๋ถ๋ช ํ ํฉ๋๋ค.
โ ์ก์ ์์ดํ
- OpenAI GPT-OSS๋ฅผ transformers์์ ๋์ ํ ๋ Hub ๊ธฐ๋ฐ ์ปค๋ ๋ค์ด๋ก๋ ๋ฐฉ์๊ณผ ๋ก์ปฌ ์ปดํ์ผ ๋ฐฉ์์ ์์กด์ฑ ๋ถ๋ด์ ๋น๊ตํด ์ฌ์ฉ ๋ฐฉ์์ ์ ํ๋ค.
- Liger RMSNorm, MegaBlocks MoE MLP, Flash Attention 3(attention sinks), MXFP4 Triton ์ปค๋ ์กฐํฉ์ GPT-OSS 20Bยท120B์์ ์ค์ VRAM ์ ๊ฐ๊ณผ ์ฒ๋ฆฌ๋ ์ํฅ ๊ธฐ์ค์ผ๋ก ์ ๊ฒํ๋ค.
- MXFP4 4๋นํธ + 32๊ฐ ๋ธ๋ก ์ค์ผ์ผ๋ง ์ค์ ์ ์ ์ฉํด 20Bยท120B ๋ฏธ์ธ์กฐ์ ํ๊ฒฝ์์ VRAM ํ๊ณ์ ์ฑ๋ฅ ๋ณํ๋ฅผ ์ ๊ฒํ๋ค.
โ ์ด๋ฆฐ ์ง๋ฌธ
- Hub์์ ๋ด๋ ค๋ฐ์ ์ฌ์ ๋น๋ ์ปค๋์ ๋ฒ์ ํธํ์ฑ ์คํจ ๊ฐ๋ฅ์ฑ์ ์ด๋ ์ง์ ์์ ๊ฐ์ฅ ๋จผ์ ํ์งํ ์ ์๋๊ฐ?
- MXFP4 4๋นํธ + 32๊ฐ ๋ธ๋ก ์ค์ผ์ผ๋ง์ด ์ ํ๋๋ ๋ฏธ์ธ์กฐ์ ์๋ ด์ฑ์ ๋ผ์น๋ ์ํฅ์ ์ด๋ค ๊ธฐ์ค์ผ๋ก ํ๋จํ ๊ฒ์ธ๊ฐ?
- ์ธต ๋ด๋ถ ํ ์๋ฅผ GPU ๊ฐ ๋ถํ ํ๋ ํ ์ ๋ณ๋ ฌํ๋ ์ด๋ค GPU ์กฐํฉ์์ ๋ฉ๋ชจ๋ฆฌ ์ํ์ ์ฒ๋ฆฌ๋ ํฅ์์ ๋์์ ์ต์ ํํ ์ ์๋๊ฐ?