๐ Accelerating LLM Inference with TGI on Intel Gaudi
Quick Summary
Hugging Face๋ Intel Gaudi ํ๋์จ์ด ์ง์์ Text Generation Inference(TGI) ๋ณธ์ฒด์ ๋ค์ดํฐ๋ธ๋ก ํตํฉํด, ๋ณ๋ ํฌํฌ ์์ด Gaudi ๊ธฐ๋ฐ LLM ์ถ๋ก ๋ฐฐํฌ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํ์ต๋๋ค.
๐ผ๏ธ ์ธํฌ๊ทธ๋ํฝ
๐ผ๏ธ 4์ปท ์ธํฌ๊ทธ๋ํฝ
๐ก ํ ์ค ์์ฝ
Hugging Face๋ Intel Gaudi ํ๋์จ์ด ์ง์์ Text Generation Inference(TGI) ๋ณธ์ฒด์ ๋ค์ดํฐ๋ธ๋ก ํตํฉํด, ๋ณ๋ ํฌํฌ ์์ด Gaudi ๊ธฐ๋ฐ LLM ์ถ๋ก ๋ฐฐํฌ๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ํ์ต๋๋ค.
๐ ํต์ฌ ์์ฝ
- TGI๋ PR #3091์ ํตํด Intel Gaudi ์ง์์ ๋ฉ์ธ ์ฝ๋๋ฒ ์ด์ค์ ํตํฉํ์ผ๋ฉฐ, ์ด์ ์ ๋ณ๋ tgi-gaudi ํฌํฌ๋ฅผ ๋ ์ด์ ์ค์ฌ ๊ฒฝ๋ก๋ก ์ ์งํ์ง ์์๋ ๋ฉ๋๋ค.
- ์ด๋ฒ ํตํฉ์ TGI์ ๋ฉํฐ ๋ฐฑ์๋ ์ํคํ ์ฒ๋ฅผ ํ์ฉํด Gaudi1, Gaudi2, Gaudi3 ํ๋์จ์ด์์ LLM ์ถ๋ก ์ ์ง์ํ๊ณ , ์ฌ์ฉ์๊ฐ ์ต์ TGI ๊ธฐ๋ฅ์ ๋ ๋น ๋ฅด๊ฒ ํ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
- Gaudi ๋ฐฑ์๋๋ ํ๋์จ์ด ์ ํ์ง ํ๋, ํน์ ์ํฌ๋ก๋์์์ ๊ฐ๊ฒฉ ๋๋น ์ฑ๋ฅ, TGI์ ๋์ ๋ฐฐ์นญ๊ณผ ์คํธ๋ฆฌ๋ฐ ์๋ต ๊ฐ์ ์ด์ ๊ธฐ๋ฅ, ์ธ๊ธฐ ๋ชจ๋ธ ์คํ ์ง์์ ์ฃผ์ ์ฅ์ ์ผ๋ก ๋ด์ธ์๋๋ค.
- ์ฌ์ฉ์๋ Gaudi ์ฅ๋น์์ ๊ณต์ Docker ์ด๋ฏธ์ง๋ฅผ ์คํํ๊ณ Hugging Face ํ ํฐ๊ณผ ๋ชจ๋ธ ID๋ฅผ ์ง์ ํด TGI ์๋ฒ๋ฅผ ๋์ด ๋ค, HTTP ์์ฒญ์ผ๋ก ํ ์คํธ ์์ฑ์ ํธ์ถํ ์ ์์ต๋๋ค.
- Hugging Face๋ Llama, Mistral, Mixtral, Falcon, Qwen2, Starcoder, Gemma, Llava, Phi-2 ๋ฑ ์ฌ๋ฌ ๋ชจ๋ธ์ Gaudi์ ๋จ์ผยท๋ฉํฐ ์นด๋ ๊ตฌ์ฑ์ ๋ง๊ฒ ์ต์ ํํ์ผ๋ฉฐ, ํฅํ DeepSeek-r1/v3์ QWen-VL ๊ฐ์ ๋ชจ๋ธ ์ง์๋ ์๊ณ ํ์ต๋๋ค.
๐งฉ ์ฃผ์ ํฌ์ธํธ
- TGI๋ PR #3091์ ํตํด Intel Gaudi ์ง์์ ๋ฉ์ธ ์ฝ๋๋ฒ ์ด์ค์ ํตํฉํ์ผ๋ฉฐ, ์ด์ ์ ๋ณ๋ tgi-gaudi ํฌํฌ๋ฅผ ๋ ์ด์ ์ค์ฌ ๊ฒฝ๋ก๋ก ์ ์งํ์ง ์์๋ ๋ฉ๋๋ค.
- ์ด๋ฒ ํตํฉ์ TGI์ ๋ฉํฐ ๋ฐฑ์๋ ์ํคํ ์ฒ๋ฅผ ํ์ฉํด Gaudi1, Gaudi2, Gaudi3 ํ๋์จ์ด์์ LLM ์ถ๋ก ์ ์ง์ํ๊ณ , ์ฌ์ฉ์๊ฐ ์ต์ TGI ๊ธฐ๋ฅ์ ๋ ๋น ๋ฅด๊ฒ ํ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
- Gaudi ๋ฐฑ์๋๋ ํ๋์จ์ด ์ ํ์ง ํ๋, ํน์ ์ํฌ๋ก๋์์์ ๊ฐ๊ฒฉ ๋๋น ์ฑ๋ฅ, TGI์ ๋์ ๋ฐฐ์นญ๊ณผ ์คํธ๋ฆฌ๋ฐ ์๋ต ๊ฐ์ ์ด์ ๊ธฐ๋ฅ, ์ธ๊ธฐ ๋ชจ๋ธ ์คํ ์ง์์ ์ฃผ์ ์ฅ์ ์ผ๋ก ๋ด์ธ์๋๋ค.
- ์ฌ์ฉ์๋ Gaudi ์ฅ๋น์์ ๊ณต์ Docker ์ด๋ฏธ์ง๋ฅผ ์คํํ๊ณ Hugging Face ํ ํฐ๊ณผ ๋ชจ๋ธ ID๋ฅผ ์ง์ ํด TGI ์๋ฒ๋ฅผ ๋์ด ๋ค, HTTP ์์ฒญ์ผ๋ก ํ ์คํธ ์์ฑ์ ํธ์ถํ ์ ์์ต๋๋ค.
- Hugging Face๋ Llama, Mistral, Mixtral, Falcon, Qwen2, Starcoder, Gemma, Llava, Phi-2 ๋ฑ ์ฌ๋ฌ ๋ชจ๋ธ์ Gaudi์ ๋จ์ผยท๋ฉํฐ ์นด๋ ๊ตฌ์ฑ์ ๋ง๊ฒ ์ต์ ํํ์ผ๋ฉฐ, ํฅํ DeepSeek-r1/v3์ QWen-VL ๊ฐ์ ๋ชจ๋ธ ์ง์๋ ์๊ณ ํ์ต๋๋ค.
๐ง ์์ธ ์ ๋ฆฌ
1. TGI์ Gaudi ์ง์์ ์ง์ ํตํฉ
๊ธ์ ํต์ฌ ๋ฐํ๋ Intel Gaudi ํ๋์จ์ด ์ง์์ด Hugging Face์ Text Generation Inference, ์ฆ TGI์ ๋ค์ดํฐ๋ธ๋ก ๋ค์ด๊ฐ๋ค๋ ์ ์ ๋๋ค. ์ด์ ์๋ Gaudi ์ฅ์น๋ฅผ ์ํด ๋ณ๋์ tgi-gaudi ํฌํฌ๋ฅผ ์ ์งํ์ง๋ง, ์ด ๋ฐฉ์์ ์ฌ์ฉ์์๊ฒ ๋ฒ๊ฑฐ๋กญ๊ณ ์ต์ TGI ๊ธฐ๋ฅ์ ์ถ์ ์์ ์ ํจ๊ป ์ ๊ณตํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค์์ต๋๋ค. ์ด๋ฒ PR #3091 ํตํฉ์ผ๋ก Gaudi ์ง์์ TGI ๋ฉ์ธ ์ฝ๋๋ฒ ์ด์ค์ ์ผ๋ถ๊ฐ ๋์๊ณ , ์ฌ์ฉ์๋ ๋ณ๋ ์ ์ฅ์๋ฅผ ๋ค๋ฃจ์ง ์์๋ ๋ฉ๋๋ค. ๊ธ์ ์ด๋ฅผ TGI์ ์๋ก์ด ๋ฉํฐ ๋ฐฑ์๋ ์ํคํ ์ฒ๊ฐ ๊ฐ๋ฅํ๊ฒ ํ ๋ณํ๋ก ์ค๋ช ํ๋ฉฐ, ์คํ์์ค AI ์ปค๋ฎค๋ํฐ์ ๋ ๋์ ๋ฐฐํฌ ์ ํ์ง๋ฅผ ์ ๊ณตํ๋ ์ ๋ฐ์ดํธ๋ก ์ ์ํฉ๋๋ค.
2. ์ง์๋๋ Intel Gaudi ํ๋์จ์ด ๋ฒ์
์ด๋ฒ ํตํฉ์ Intel์ Gaudi ํ๋์จ์ด ๋ผ์ธ ์ ๋ฐ์ ๋์์ผ๋ก ํฉ๋๋ค. ๋ณธ๋ฌธ์ Gaudi1, Gaudi2, Gaudi3๋ฅผ ๊ฐ๊ฐ ์ธ๊ธํ๋ฉฐ, Gaudi1์ AWS EC2 DL1 ์ธ์คํด์ค์์ ์ฌ์ฉํ ์ ์๊ณ Gaudi2๋ Intel Tiber AI Cloud์ Denvr Dataworks์์ ์ ๊ณต๋๋ค๊ณ ์ค๋ช ํฉ๋๋ค. Gaudi3๋ Intel Tiber AI Cloud, IBM Cloud, ๊ทธ๋ฆฌ๊ณ Dell, HP, Supermicro ๊ฐ์ OEM์ ํตํด ์ ๊ทผํ ์ ์๋ค๊ณ ์ ๋ฆฌ๋์ด ์์ต๋๋ค. ์ด ๋ชฉ๋ก์ TGI๊ฐ ํน์ ๋จ์ผ ์ฅ๋น๋ง ๊ฒจ๋ฅํ๋ ๊ฒ์ด ์๋๋ผ ์ฌ๋ฌ ์ธ๋์ Gaudi ๊ฐ์๊ธฐ๋ฅผ ๋์์ผ๋ก ์ถ๋ก ๋ฐฐํฌ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ ค๋ ๋ฐฉํฅ์์ ๋ณด์ฌ์ค๋๋ค.
3. ์ด์ ํ๊ฒฝ์์์ ์๋ฏธ์ ์ฅ์
๋ณธ๋ฌธ์ Gaudi ๋ฐฑ์๋๊ฐ LLM ์ด์ ๋ฐฐํฌ์์ ๊ฐ๋ ์๋ฏธ๋ฅผ ๋ค์ฏ ๊ฐ์ง๋ก ๋๋ ์ค๋ช ํฉ๋๋ค. ์ฒซ์งธ, ๊ธฐ์กด GPU ์ค์ฌ์ ์ ํ์ง ์ธ์ Gaudi๋ผ๋ ํ๋์จ์ด ์ต์ ์ ์ ๊ณตํด ๋ฐฐํฌ ๋ค์์ฑ์ ๋์ ๋๋ค. ๋์งธ, ํน์ ์ํฌ๋ก๋์์๋ Gaudi ํ๋์จ์ด๊ฐ ๋งค๋ ฅ์ ์ธ ๊ฐ๊ฒฉ ๋๋น ์ฑ๋ฅ์ ๋ผ ์ ์๋ค๊ณ ๊ฐ์กฐํฉ๋๋ค. ์ ์งธ, TGI๊ฐ ์ ๊ณตํด ์จ ๋์ ๋ฐฐ์นญ, ์คํธ๋ฆฌ๋ฐ ์๋ต ๊ฐ์ ํ๋ก๋์ ๊ธฐ๋ฅ์ Gaudi์์๋ ์ฌ์ฉํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ฌ๊ธฐ์ Llama 3.1, Mixtral, Mistral ๊ฐ์ ์ธ๊ธฐ ๋ชจ๋ธ ์ง์๊ณผ ๋ฉํฐ ์นด๋ ์ถ๋ก , ๋น์ -์ธ์ด ๋ชจ๋ธ, FP8 ์ ๋ฐ๋ ๊ฐ์ ๊ณ ๊ธ ๊ธฐ๋ฅ๋ ํจ๊ป ์ ์๋ฉ๋๋ค.
4. Docker ๊ธฐ๋ฐ ์์ ๋ฐฉ๋ฒ
๊ธ์ Gaudi์์ TGI๋ฅผ ์คํํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ผ๋ก ๊ณต์ Docker ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ ์ ์ฐจ๋ฅผ ์๊ฐํฉ๋๋ค. ์ฌ์ฉ์๋ Gaudi ํ๋์จ์ด๊ฐ ์๋ ๋จธ์ ์์ habana ๋ฐํ์์ ์ง์ ํด ์ปจํ ์ด๋๋ฅผ ์คํํ๊ณ , ๋ชจ๋ธ ๊ฐ์ค์น๋ฅผ ๋ฐ๋ณต ๋ค์ด๋ก๋ํ์ง ์๋๋ก ๋ก์ปฌ ๋ณผ๋ฅจ์ ์ปจํ ์ด๋์ /data์ ์ฐ๊ฒฐํฉ๋๋ค. ์์๋ Hugging Face ์ก์ธ์ค ํ ํฐ์ ํ๊ฒฝ ๋ณ์๋ก ๋๊ธฐ๊ณ HABANA_VISIBLE_DEVICES๋ฅผ all๋ก ์ค์ ํ ๋ค, ghcr.io/huggingface/text-generation-inference:3.2.1-gaudi ์ด๋ฏธ์ง๋ฅผ ์คํํ๋ ํ๋ฆ์ ๋ณด์ฌ์ค๋๋ค. ์๋ฒ๊ฐ ์ฌ๋ผ๊ฐ ํ์๋ 127.0.0.1:8080/generate ์๋ํฌ์ธํธ์ POST ์์ฒญ์ ๋ณด๋ด ์ ๋ ฅ ๋ฌธ์ฅ๊ณผ max_new_tokens ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฌํด ์ถ๋ก ์ ํธ์ถํ ์ ์์ต๋๋ค.
5. ์ต์ ํ๋ ๋ชจ๋ธ๊ณผ ๊ณ ๊ธ ๊ธฐ๋ฅ
๋ณธ๋ฌธ์ Gaudi์์ ๋จ์ผ ์นด๋์ ๋ฉํฐ ์นด๋ ๊ตฌ์ฑ์ ๋ชจ๋ ๊ณ ๋ คํด ์ต์ ํํ ๋ชจ๋ธ ๋ชฉ๋ก์ ์๋นํ ๊ตฌ์ฒด์ ์ผ๋ก ์ ์ํฉ๋๋ค. Llama 3.1์ 8B์ 70B, Llama 3.3 70B, Llama 3.2 Vision 11B, Mistral 7B, Mixtral 8x7B, CodeLlama 13B, Falcon 180B, Qwen2 72B ๋ฑ์ด ํฌํจ๋ฉ๋๋ค. ๋ํ Starcoder์ Starcoder2, Gemma 7B, Llava-v1.6-Mistral-7B, Phi-2๋ ์ง์ ๋์์ผ๋ก ์ธ๊ธ๋ฉ๋๋ค. Hugging Face๋ ๋ชจ๋ธ๋ง ์ฝ๋๋ฅผ Gaudi ํ๋์จ์ด์ ๋ง๊ฒ ์ต์ ํํด ์ฑ๋ฅ์ ์ต๋ํํ๊ณ Gaudi์ ๊ธฐ๋ฅ์ ์ถฉ๋ถํ ํ์ฉํ๋๋ก ํ๋ค๊ณ ์ค๋ช ํ๋ฉฐ, Intel Neural Compressor๋ฅผ ํตํ FP8 ์์ํ๋ ๊ณ ๊ธ ์ต์ ํ ๊ธฐ๋ฅ์ผ๋ก ์๊ฐํฉ๋๋ค.
6. ํฅํ ํ์ฅ๊ณผ ์ปค๋ฎค๋ํฐ ์ฐธ์ฌ ์์ฒญ
๋ง์ง๋ง ๋ถ๋ถ์ ์์ผ๋ก์ ๋ชจ๋ธ ํ์ฅ๊ณผ ์ปค๋ฎค๋ํฐ ์ฐธ์ฌ๋ฅผ ๊ฐ์กฐํฉ๋๋ค. Hugging Face๋ DeepSeek-r1/v3, QWen-VL, ๋ ๊ฐ๋ ฅํ ๋ชจ๋ธ๋ค์ ํฅํ ๋ผ์ธ์ ์ ์ถ๊ฐํ๊ฒ ๋ค๊ณ ์๊ณ ํ๋ฉฐ, Gaudi ๊ธฐ๋ฐ TGI๊ฐ ๋ค์ํ AI ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ํ ์ ์๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ค๊ณ ๋งํฉ๋๋ค. ๋์์ ์ฌ์ฉ์๊ฐ Gaudi ํ๋์จ์ด์์ TGI๋ฅผ ์ง์ ์ํํด ๋ณด๊ณ ํผ๋๋ฐฑ์ ์ ๊ณตํด ๋ฌ๋ผ๊ณ ์์ฒญํฉ๋๋ค. ๋ฌธ์๋ ๋ณ๋์ Gaudi ๋ฐฑ์๋ ๋ฌธ์๋ก ์๋ด๋๋ฉฐ, ๊ธฐ์ฌ์ ๊ด์ฌ ์๋ ์ฌ์ฉ์๋ ๊ธฐ์ฌ ๊ฐ์ด๋๋ฅผ ํ์ธํ๊ฑฐ๋ GitHub ์ด์๋ฅผ ์ด์ด ์๊ฒฌ์ ๋จ๊ธธ ์ ์๋ค๊ณ ์ ๋ฆฌ๋ฉ๋๋ค.
๐งพ ํต์ฌ ์ฃผ์ฅ / ์์ฌ์
- ์ด๋ฒ ๋ณํ์ ์ค์ง์ ๊ฐ์น๋ ์๋ก์ด ํ๋์จ์ด ์ง์ ์์ฒด๋ณด๋ค๋, ๋ณ๋ ํฌํฌ๋ฅผ ์์ TGI์ ์ต์ ๊ธฐ๋ฅ๊ณผ Gaudi ์ง์์ ๊ฐ์ ๋ฆด๋ฆฌ์ค ํ๋ฆ ์์์ ๋ฐ์ ์ ์๊ฒ ํ๋ค๋ ๋ฐ ์์ต๋๋ค.
- ๋ณธ๋ฌธ์ Gaudi๋ฅผ GPU์ ๋จ์ ๋์ฒด์ฌ๋ก๋ง ์ค๋ช ํ์ง ์๊ณ , ๋์ ๋ฐฐ์นญยท์คํธ๋ฆฌ๋ฐยท์ค๋ฉยทFP8ยท๋น์ -์ธ์ด ๋ชจ๋ธ ์ง์๊น์ง ํฌํจํ ํ๋ก๋์ ์ถ๋ก ๋ฐฑ์๋๋ก ์๋ฆฌ๋งค๊น์ํค๊ณ ์์ต๋๋ค.
- ์ต์ ํ ๋ชจ๋ธ ๋ชฉ๋ก๊ณผ Docker ์คํ ์์๋ฅผ ํจ๊ป ์ ์ํ ์ ์ ๋ฐํ๊ฐ ๊ฐ๋ ์ ํตํฉ ์๊ฐ์ ๊ทธ์น์ง ์๊ณ , ์ฌ์ฉ์๊ฐ ์ค์ Gaudi ์ฅ๋น์์ ๋ฐ๋ก ์ํํ ์ ์๋ ๋ฐฐํฌ ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ๋ ค๋ ์๋๋ฅผ ๋ณด์ฌ์ค๋๋ค.
โ ์ก์ ์์ดํ
- PR #3091 ๊ธฐ๋ฐ TGI ๋ณธ์ฒด ํตํฉ ๊ฒฝ๋ก๋ฅผ ์ฐ์ ์ฑํํด Gaudi ์ถ๋ก ๋ฐฐํฌ๋ ๋ณ๋ tgi-gaudi ํฌํฌ ๋์ ๊ณต์ ๋จ์ผ ์ฑ๋๋ก ์ ํํ๋ค.
- Gaudi1ยทGaudi2ยทGaudi3์์ ๋จ์ผยท๋ฉํฐ ์นด๋ ๊ตฌ์ฑ์ ๋ถ๊ธฐํด ๊ณต์ Docker ์ด๋ฏธ์ง ์คํ, HF ํ ํฐ, ๋ชจ๋ธID ์ง์ , HTTP ์์ฑ ํธ์ถ์ ์ ๊ฒํ๋ค.
- ์ง์ ๋ชจ๋ธ๊ตฐ์ LlamaยทMistralยทMixtralยทFalconยทQwen2ยทStarcoderยทGemmaยทLlavaยทPhi-2๋ก ์ ๋ฆฌํ๊ณ ํฅํ DeepSeek-r1/v3ยทQWen-VL๊น์ง ์คํ ์ฐ์ ์์๋ฅผ ๋ฐ์ํ๋ค.
โ ์ด๋ฆฐ ์ง๋ฌธ
- Gaudi1ยทGaudi2ยทGaudi3 ๊ฐ๊ฐ์์ ๋จ์ผยท๋ฉํฐ ์นด๋ ์กฐํฉ์ด ๋น์ฉ ๋๋น ์ฑ๋ฅ ์ด์ ์ ๊ฐ์ฅ ํฌ๊ฒ ๋์ด์ฌ๋ฆฌ๋ ์ํฌ๋ก๋๋ ๋ฌด์์ธ๊ฐ?
- ๋์ ๋ฐฐ์นญ๊ณผ ์คํธ๋ฆฌ๋ฐ ์๋ต์ด ๊ฒฐํฉ๋ ์ด์์์ ์ต๋ ๋์ ์์ฒญ๋ ๋ฐ ํ ํฐ ๊ธธ์ด ์ ํ์ ์ด๋ ์ง์ ์์ ์ฑ๋ฅ ์ ํ๋ก ์ ํ๋๋๊ฐ?
- ๊ณต์ Docker ๊ธฐ๋ฐ HF ํ ํฐยท๋ชจ๋ธID ํธ์ถ ๋ฐฉ์์ DeepSeek-r1/v3์ QWen-VL ์ถ๊ฐ ์ ๊ธฐ์กด ๋ชจ๋ธ ๋๋น ์ด๋ค ์ธ์ฆยท์ค์ผ์ผ๋ง ์๊ฑด์ด ํ์ํ๊ฐ?