๐ Intel Gaudi ๊ธฐ๋ฐ TGI ๋ก LLM ์ถ๋ก ๊ฐ์ํ
์์ฝ
Hugging Face์ Text Generation Inference (TGI)๊ฐ Intel Gaudi ํ๋์จ์ด ์ง์ ๊ธฐ๋ฅ์ ๊ณต์์ ์ผ๋ก ํตํฉํ์ฌ LLM ์ถ๋ก ๋ฐฐํฌ์ ์ ์ฐ์ฑ๊ณผ ํจ์จ์ฑ์ ํฌ๊ฒ ํฅ์์์ผฐ์ต๋๋ค. ์ด์ ์๋ ๋ณ๋์ ํฌํฌ(fork)๋ฅผ ์ฌ์ฉํด์ผ ํ์ผ๋, ์ด์ TGI์ ๋ค์ค ๋ฐฑ์๋ ์ํคํ ์ฒ๋ฅผ ํตํด Gaudi๋ฅผ ์ง์ ์ง์ํ๋ฉฐ, ์ด๋ Gaudi1๋ถํฐ Gaudi3๊น์ง Intel์ ์ ์ฒด ๋ผ์ธ์ ์ ์ปค๋ฒํฉ๋๋ค. ์ด ํตํฉ์ Llama 3.1, Mixtral ๋ฑ ์ฃผ์ ๋ชจ๋ธ์ ๋ํ ํ๋ก๋์ ๊ธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ, ๋น์ฉ ํจ์จ์ฑ๊ณผ ๋ค์ํ ํ๋์จ์ด ์ต์ ์ ์ฌ์ฉ์์๊ฒ ์ ์ํฉ๋๋ค.
ํต์ฌ ํฌ์ธํธ
- TGI๊ฐ TGI ๋ค์ค ๋ฐฑ์๋ ์ํคํ ์ฒ๋ฅผ ํตํด Intel Gaudi ์ง์์ ๊ณต์ ํตํฉํ์ฌ ์ฌ์ฉ ํธ์์ฑ์ ๋์์ต๋๋ค.
- Gaudi1, Gaudi2, Gaudi3 ๋ฑ Intel์ ์ ์ฒด Gaudi ํ๋์จ์ด ๋ผ์ธ์ ์ ์ง์ํฉ๋๋ค.
- ์ด ๊ธฐ๋ฅ์ Llama 3.1, Mixtral ๋ฑ ์ธ๊ธฐ ๋ชจ๋ธ์ ๋ํด ๋์ ๋ฐฐ์น, ์คํธ๋ฆฌ๋ฐ ์๋ต ๋ฑ ํ๋ก๋์ ๊ธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- Gaudi ํ๊ฒฝ์์ FP8 ์์ํ ๋ฐ ๋ฉํฐ ์นด๋ ์ถ๋ก (sharding)๊ณผ ๊ฐ์ ๊ณ ๊ธ AI ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์์ต๋๋ค.
- ๊ณต์ Docker ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ์ฌ Gaudi ํ๋์จ์ด ๋จธ์ ์์ ์ฝ๊ฒ ๋ฐฐํฌํ๊ณ ํ ์คํธํ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๋ PR #3091 ์ ํตํด TGI ์ ๋ฉ์ธ ์ฝ๋๋ฒ ์ด์ค์ Gaudi ์ง์ ๊ธฐ๋ฅ์ ์์ ํ ํตํฉํ์ต๋๋ค. ์ด์ ์๋ tgi-gaudi ์์ ๋ณ๋์ ํฌํฌ (fork) ๋ฅผ ์ ์งํด ์์ต๋๋ค. ์ด๋ ์ฌ์ฉ์์๊ฒ ๋ถํธ์ ์ฃผ์์ผ๋ฉฐ, ์ต์ TGI ๊ธฐ๋ฅ์ ์ถ์ ์ ์ง์ํ์ง ๋ชปํ๊ฒ ํ์ต๋๋ค. ์ด์ ์๋ก์ด TGI ๋ค์ค ๋ฐฑ์๋ (multi-backend) ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ TGI ์์ ์ง์ Gaudi ๋ฅผ ์ง์ํฉ๋๋ค. ๋ ์ด์ ์ปค์คํ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ํ finicking(๊ณ ๋ฏผ) ์ ํ ํ์๊ฐ ์์ต๋๋ค ๐
์ด ํตํฉ์ Intel ์ ์ ์ฒด Gaudi ํ๋์จ์ด ๋ผ์ธ์ ์ ์ง์ํฉ๋๋ค:
- Gaudi1 ๐ป: AWS EC2 DL1 ์ธ์คํด์ค์์ ์ฌ์ฉ ๊ฐ๋ฅ
- Gaudi2 ๐ป๐ป: Intel Tiber AI Cloud ๋ฐ Denvr Dataworks ์์ ์ฌ์ฉ ๊ฐ๋ฅ
- Gaudi3 ๐ป๐ป๐ป: Intel Tiber AI Cloud, IBM Cloud ๋ฐ Dell, HP, Supermicro ์ ๊ฐ์ OEM ์์ ์ฌ์ฉ ๊ฐ๋ฅ
Intel ์ Gaudi ์ ํ ํ์ด์ง์์ ๋ ๋ง์ ์ ๋ณด๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
TGI ์ Gaudi ๋ฐฑ์๋๋ ๋ค์๊ณผ ๊ฐ์ ์ฃผ์ ์ด์ ์ ์ ๊ณตํฉ๋๋ค:
- ํ๋์จ์ด ๋ค์์ฑ ๐: ์ ํต์ ์ธ GPU ๋ฅผ ๋์ด ์์ฐ ํ๊ฒฝ์ LLM ์ ๋ฐฐํฌํ ์ ์๋ ๋ ๋ง์ ์ต์
- ๋น์ฉ ํจ์จ์ฑ ๐ฐ: ํน์ ์ํฌ๋ก๋์ ๋ํด Gaudi ํ๋์จ์ด๋ ๋งค๋ ฅ์ ์ธ ๊ฐ๊ฒฉ ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค
- ํ๋ก๋์ ์ค๋น โ๏ธ: TGI ์ ๋ชจ๋ ๊ฒฌ๊ณ ํจ (๋์ ๋ฐฐ์น, ์คํธ๋ฆฌ๋ฐ ์๋ต ๋ฑ) ์ด ์ด์ Gaudi ์์๋ ์ฌ์ฉ ๊ฐ๋ฅ
- ๋ชจ๋ธ ์ง์ ๐ค: Llama 3.1, Mixtral, Mistral ๋ฑ ์ธ๊ธฐ ์๋ ๋ชจ๋ธ์ Gaudi ํ๋์จ์ด์์ ์คํ
- ๊ณ ๊ธ ๊ธฐ๋ฅ ๐ฅ: ๋ฉํฐ ์นด๋ ์ถ๋ก (sharding), ๋น์ ์ธ์ด ๋ชจ๋ธ, FP8 ์ ๋ฐ๋ ์ง์
TGI ๋ฅผ Gaudi ์์ ์คํํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๊ณต์ Docker ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. Gaudi ํ๋์จ์ด ๋จธ์ ์์ ์ด๋ฏธ์ง๋ฅผ ์คํํด์ผ ํฉ๋๋ค. ์์ํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
model=meta-llama/Meta-Llama-3.1-8B-Instruct
volume=$PWD/data # Docker ์ปจํ
์ด๋์ ๋ณผ๋ฅจ์ ๊ณต์ ํ์ฌ ๊ฐ ์คํ๋ง๋ค ๊ฐ์ค์น๋ฅผ ๋ค์ด๋ก๋ํ์ง ์๋๋ก ํจ
hf_token=YOUR_HF_ACCESS_TOKEN
...
์๋ฒ๊ฐ ์คํ๋๋ฉด ์ถ๋ก ์์ฒญ์ ๋ณด๋ผ ์ ์์ต๋๋ค:
curl 127.0.0.1:8080/generate
-X POST
-d '{"inputs":"What is Deep Learning?","parameters":{"max_new_tokens":32}}'
...
TGI ์ Gaudi ๋ฅผ ์ฌ์ฉํ๋ ์ข ํฉ์ ์ธ ๋ฌธ์, including how-to ๊ฐ์ด๋ ๋ฐ ๊ณ ๊ธ ์ค์ ์ ์๋ก์ด ์ ์ฉ Gaudi ๋ฐฑ์๋ ๋ฌธ์์์ ํ์ธํ์ธ์.
์ฐ๋ฆฌ๋ ๋จ์ผ ์นด๋ ๋ฐ ๋ฉํฐ ์นด๋ ๊ตฌ์ฑ์ ์ํด ๋ค์ ๋ชจ๋ธ์ ์ต์ ํํ์ต๋๋ค. ์ด๋ ์ด ๋ชจ๋ธ๋ค์ด Intel Gaudi ์์ ์ต๋ํ ๋น ๋ฅด๊ฒ ์คํ๋จ์ ์๋ฏธํฉ๋๋ค. ์ฐ๋ฆฌ๋ Intel Gaudi ํ๋์จ์ด๋ฅผ ํ๊ฒํ ํ๊ธฐ ์ํด ๋ชจ๋ธ๋ง ์ฝ๋๋ฅผ ํน์ ์ ์ผ๋ก ์ต์ ํํ์ฌ ์ต๊ณ ์ ์ฑ๋ฅ์ ์ ๊ณตํ๊ณ 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
๐โ๏ธ ์ฐ๋ฆฌ๋ ๋ํ Gaudi ํ๋์จ์ด์์ FP8 ์์ํ (Intel Neural Compressor (INC) ๋ฅผ ํตํด) ์ ๊ฐ์ ๋ง์ ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
โจ ๊ณง ์ถ์ ์์ ! ์ฐ๋ฆฌ๋ DeepSeek-r1/v3, QWen-VL ๋ฐ ๋ ๊ฐ๋ ฅํ ๋ชจ๋ธ์ ์ถ๊ฐํ์ฌ AI ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ๋ชจ๋ธ ๋ผ์ธ์ ์ ํ์ฅํ ์์ ์ ๋๋ค ๐
์ฐ๋ฆฌ๋ ์ปค๋ฎค๋ํฐ์๊ฒ TGI ๋ฅผ Gaudi ํ๋์จ์ด์์ ์คํํ๊ณ ํผ๋๋ฐฑ์ ์ ๊ณตํ๋ ๊ฒ์ ์ด๋ํฉ๋๋ค. ์ ์ฒด ๋ฌธ์๋ TGI Gaudi ๋ฐฑ์๋ ๋ฌธ์์์ ํ์ธํ ์ ์์ต๋๋ค ๐ ๊ธฐ์ฌ์ ๊ด์ฌ์ด ์๋ค๋ฉด ๊ธฐ์ฌ ๊ฐ์ด๋๋ผ์ธ์ ํ์ธํ๊ฑฐ๋ GitHub ์์ ์ด์๋ฅผ ์ด์ด ํผ๋๋ฐฑ์ ์ ์ถํ์ธ์ ๐ค Intel Gaudi ์ง์ ๊ธฐ๋ฅ์ TGI ์ ์ง์ ํตํฉํจ์ผ๋ก์จ ์ฐ๋ฆฌ๋ LLM ์ ๋ฐฐํฌํ๊ธฐ ์ํ ์ ์ฐํ๊ณ ํจ์จ์ ์ด๊ณ ํ๋ก๋์ ์ค๋น๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ ์ฐ๋ฆฌ์ ์๋ฌด๋ฅผ ๊ณ์ ์ํํฉ๋๋ค. ์ด ์๋ก์ด ๊ธฐ๋ฅ์ผ๋ก ๋ฌด์์ ๊ตฌ์ถํ ์ง ๊ธฐ๋ํฉ๋๋ค! ๐
AI ์๋ ์์ฑ ์ฝํ ์ธ
๋ณธ ์ฝํ ์ธ ๋ Hugging Face Blog์ ์๋ฌธ์ AI๊ฐ ์๋์ผ๋ก ์์ฝยท๋ฒ์ญยท๋ถ์ํ ๊ฒ์ ๋๋ค. ์ ์ ์๊ถ์ ์์ ์์์๊ฒ ์์ผ๋ฉฐ, ์ ํํ ๋ด์ฉ์ ๋ฐ๋์ ์๋ฌธ์ ํ์ธํด ์ฃผ์ธ์.
์๋ฌธ ๋ฐ๋ก๊ฐ๊ธฐ