AMD + π€ Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° AMD
AMD + π€ ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠΌ AMD
Π Π°Π½Π΅Π΅ Π² ΡΡΠΎΠΌ Π³ΠΎΠ΄Ρ AMD ΠΈ Hugging Face ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΠΎ ΠΏΠ°ΡΡΠ½Π΅ΡΡΡΠ²Π΅ Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠΈ AMD AI Day. ΠΡ ΡΡΠ΅ΡΠ΄Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Π½Π°Π΄ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈ Π΄Π΅Π»Π°Π΅ΠΌ Π²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ Hugging Face ΠΌΠΎΠ³Π»ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠ°ΠΌΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡΠ° Π½Π° ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ AMD Ρ Π»ΡΡΡΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡΡ.
AMD ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΌΠΎΡΠ½ΠΎΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΌΠΎΡΠ½ΡΡ ΡΡΠΏΠ΅ΡΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² Π² ΠΌΠΈΡΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠ°ΠΌΡΠΉ Π±ΡΡΡΡΡΠΉ Π² ΠΠ²ΡΠΎΠΏΠ΅ LUMI, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π±Π°Π·Π΅ Π±ΠΎΠ»Π΅Π΅ 10 000 Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² MI250X AMD. ΠΠ° ΡΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠΏΡΠΈΡΡΠΈΠΈ AMD ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ»Π° ΡΠ²ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΠ΅ΡΠΈΡ Π°ΠΊΡΠ΅Π»Π΅ΡΠ°ΡΠΎΡΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ², AMD Instinctβ’ MI300, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠΎΡΠΎ ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠΈΡΠΎΠΊΠΎΠΌΡ ΠΊΡΡΠ³Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ ΠΎ Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ΅ΡΡΠ΅ Π² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² AMD “ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ” ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ AMD Instinct Π΄Π»Ρ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².
Π£ΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ “ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ”
ΠΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ Π½Π°ΠΉΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΊΠΎΠ΄Π΅, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΠ΅ Π΄Π»Ρ AMD? ΠΠ΅ Π·Π°ΡΡΡΠ΄Π½ΡΠΉΡΠ΅ Π²Π·ΠΎΡ, ΠΈΡ Π½Π΅Ρ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ NVIDIA π€.
- UltraFastBERT ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠ°Ρ ΡΠ·ΡΠΊΠΎΠ²Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ
- Π Π΅Π²ΠΎΠ»ΡΡΠΈΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π·Π΄ΡΠ°Π²ΠΎΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π»ΠΈΡΠ½ΠΈΡ ΠΈ Π±ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² ΠΌΠ΅Π΄ΠΈΡΠΈΠ½Π΅.
- ΠΠ΅ΡΠ²ΡΠΉ ΡΠΎΠ΄Π½ΠΎΠΉ LLM, ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΠΎΡΡΠ°ΡΠ»ΠΈ
from transformers import AutoTokenizer, AutoModelForCausalLMimport torchmodel_id = "01-ai/Yi-6B"tokenizer = AutoTokenizer.from_pretrained(model_id)with torch.device("cuda"): model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float16)inp = tokenizer(["Π‘Π΅Π³ΠΎΠ΄Π½Ρ Ρ Π½Π°Ρ
ΠΎΠΆΡΡΡ Π² ΠΠ°ΡΠΈΠΆΠ΅ ΠΈ"], padding=True, return_tensors="pt").to("cuda")res = model.generate(**inp, max_new_tokens=30)print(tokenizer.batch_decode(res))
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ², Π½Π°Π΄ ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°ΠΏΡΡΠΊΠ° ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Hugging Face Transformers Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌ Π²ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Π·Π°Π΄Π°ΡΠΈ Transformers Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ AMD Instinct. Π Π½Π°ΡΠ΅ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π·Π΄Π΅ΡΡ: ΠΌΡ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ diffusers “ΠΈΠ· ΠΊΠΎΡΠΎΠ±ΠΊΠΈ” ΠΈ Π΄ΡΡΠ³ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² AMD.
ΠΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ Π²Π΅Ρ ΠΈ Π±ΡΠ»ΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΠΈΠ»ΠΈΠ΅ΠΌ ΠΈ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π½Π°ΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ. ΠΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° Hugging Face ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Hugging Face Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ AMD Instinct Π² Π½Π°ΡΠΈΡ Π΄Π°ΡΠ°ΡΠ΅Π½ΡΡΠ°Ρ , ΠΈ ΡΠΌΠΎΠ³Π»ΠΈ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΡΠ³Π»Π΅ΡΠΎΠ΄Π½ΡΠΉ ΡΠ»Π΅Π΄ ΡΡΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ°Π±ΠΎΡΠΈΡ Π½Π°Π³ΡΡΠ·ΠΎΠΊ, ΡΠ°Π±ΠΎΡΠ°Ρ Ρ Verne Global ΠΏΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² AMD Instinct Π² ΠΡΠ»Π°Π½Π΄ΠΈΠΈ.
ΠΠΎΠΌΠΈΠΌΠΎ Π½Π°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΈΠΌ Π²Π°ΠΆΠ½ΡΠΌ Π°ΡΠΏΠ΅ΠΊΡΠΎΠΌ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌΠΈ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΡΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ AMD. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Hugging Face, ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² AMD ΠΈ ΡΠ»Π΅Π½ΠΎΠ² ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΌΡ Ρ ΡΠ°Π΄ΠΎΡΡΡΡ Π°Π½ΠΎΠ½ΡΠΈΡΡΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ:
- Flash Attention v2 ΠΎΡ AMD Open Source Π² ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π½Π°ΡΠΈΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π² Transformers ΠΈ Text Generation Inference.
- Paged Attention ΠΎΡ vLLM ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΡΠ΅ ΡΠ΄ΡΠ°, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² Text Generation Inference Π΄Π»Ρ ROCm.
- DeepSpeed Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ², ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π½Π° ROCm Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Transformers, ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ.
- GPTQ, ΠΎΠ±ΡΠ°Ρ ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΡΠΆΠ°ΡΠΈΡ Π²Π΅ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ Π½Π° ROCm-Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Ρ AutoGPTQ ΠΈ Transformers.
- Optimum-Benchmark, ΡΡΠΈΠ»ΠΈΡΠ° Π΄Π»Ρ Π»Π΅Π³ΠΊΠΎΠ³ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Transformers Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ AMD Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΡΡ ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌΠΈ ΠΈ ΡΡ Π΅ΠΌΠ°ΠΌΠΈ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ.
- ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ONNX Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ , ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΡ Π½Π° ROCm, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ONNX Runtime ΡΠ΅ΡΠ΅Π· ROCMExecutionProvider Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Optimum.
ΠΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ Π²ΠΎΡΡΠΎΡΠ³ΠΎΠΌ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Hugging Face ΡΡΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°Π»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ ΠΈ Π»Π΅Π³ΠΊΠΈΠΌΠΈ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Ρ ΠΏΡΡΠΌΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠ΅ΠΉ Π² Π½Π°Ρ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² AMD Instinct.
ΠΠ΄ΠΈΠ½ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ AMD Instinct MI250 Ρ 128 ΠΠ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ROCm (GPU 0 ΠΈ 1), ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΈΠΌΠ΅Π΅Ρ 64 ΠΠ ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ MI250 Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π° PyTorch, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠΎΠΌ ΡΠ΅Π½Π·ΠΎΡΠ° ΠΈ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΌΠ΅Π½ΡΡΠΈΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ.
Π ΠΎΡΡΠ°Π²ΡΠ΅ΠΉΡΡ ΡΠ°ΡΡΠΈ ΡΡΠ°ΡΡΠΈ ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π΄Π²ΡΡ ΡΡΠ°ΠΏΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠ΅ΠΊΡΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ:
- ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΡΡΠΈ: Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ (ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ “ΠΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π΄ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΎΠΊΠ΅Π½Π°”).
- ΠΠ°Π΄Π΅ΡΠΆΠΊΠ° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΎΠΊΠ΅Π½: Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠΎΠΊΠ΅Π½Π° Π² Π°Π²ΡΠΎΡΠ΅Π³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΡΠ»Π΅ ΡΡΠ°ΠΏΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
- ΠΡΠΎΠΏΡΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ: ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΡΠ°ΠΏΠ° Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ optimum-benchmark
ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Ρ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΈ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° MI250 ΠΈ A100 Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌΠΈ ΠΈ Π±Π΅Π· Π½ΠΈΡ
, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ:
ΠΠ° Π³ΡΠ°ΡΠΈΠΊΠ°Ρ Π²ΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½Π° MI250, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ, Π³Π΄Π΅ Π·Π°ΠΏΡΠΎΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π² 2,33 ΡΠ°Π·Π° Π±ΠΎΠ»ΡΡΠ΅ ΡΠΎΠΊΠ΅Π½ΠΎΠ² (ΠΏΡΠΎΠΏΡΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ) ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π²Π΄Π²ΠΎΠ΅ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π΄ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΎΠΊΠ΅Π½Π° (Π·Π°Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΡΡΠΈ) ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΊΠ°ΡΡΠΎΠΉ A100.
ΠΠ°ΠΏΡΡΠΊΠ°Ρ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅, ΠΎΠ΄Π½Π° ΠΊΠ°ΡΡΠ° MI250 ΡΠΌΠ΅ΡΠ°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ ΠΎΠ±ΡΡΠ°ΡΡΠΈΡ ΠΎΠ±ΡΠ°Π·ΡΠΎΠ² ΠΈ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
Π Π΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π°
ΠΡΠ΅ ΠΎΠ΄Π½Π° Π²Π°ΠΆΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° Π½Π°ΡΠ΅Π³ΠΎ ΡΠΎΡΡΡΠ΄Π½ΠΈΡΠ΅ΡΡΠ²Π° – ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Hugging Face, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° (Text Generation Inference, TGI). TGI ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π² ΠΌΠ°ΡΡΡΠ°Π±Π΅.
ΠΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ TGI Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π±ΡΠ»Π° ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΡ Nvidia, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Ampere, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Flash Attention v1 ΠΈ v2, Π²Π΅ΡΠΎΠ²ΡΡ ΠΊΠ²Π°Π½ΡΠΈΠ·Π°ΡΠΈΡ GPTQ ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ½ΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡ.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Ρ ΡΠ°Π΄ΠΎΡΡΡΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ AMD Instinct MI210 ΠΈ MI250 Π² TGI, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π²ΡΡΠ΅, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π² ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π³ΠΎΡΠΎΠ²ΠΎΠ΅ ΠΊ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ.
ΠΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΡ ΠΏΠΎΡΡΠ°ΡΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΎΠ² Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° Π½Π° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°Ρ AMD Instinct, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΈ Π²ΡΡΡΠ½ΠΈΡΡ, Π² ΠΊΠ°ΠΊΠΈΡ ΠΎΠ±Π»Π°ΡΡΡΡ Π½Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΎΠ² AMD GPUs, Π½Π°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ Π΄ΠΎΡΡΠΈΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠΆΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π»ΠΎΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ TGI.
Π ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΈ ΠΏΡΠΈ Π΄ΠΎΠ»Π³ΠΎΡΡΠΎΡΠ½ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ AMD ΠΈ Hugging Face ΠΌΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ AMD GeMM Tuner, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ΄ΡΠ° GeMM (ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡ), ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π² TGI, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π½Π°ΠΈΠ»ΡΡΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ½ΡΡΡΡΠΌΠ΅Π½Ρ AMD GeMM Tuner ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ Π²ΡΡ ΠΎΠ΄Π° Π² ΡΠΎΡΡΠ°Π²Π΅ PyTorch Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ΅Π»ΠΈΠ·Π΅ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠ³ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠΌ.
Π‘ ΡΡΡΡΠΎΠΌ Π²ΡΠ΅Π³ΠΎ Π²ΡΡΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ, ΠΌΡ Ρ Π³ΠΎΡΠ΄ΠΎΡΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ AMD, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ Text Generation Inference Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ AMD Π»ΠΈΠ΄Π΅ΡΠΎΠΌ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²Π° ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Llama.
ΠΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΡΠΎΠ»Π±ΡΠΎΠ² Π΄Π»Ρ A100 ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌΠΈ Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π΅Π»Ρ Llama 70B Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ 138 ΠΠ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ float16, ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΉ, KV ΠΊΡΡ-Π±ΡΡΠ΅ΡΠ° (Π±ΠΎΠ»Π΅Π΅ 5 ΠΠ Π΄Π»Ρ Π΄Π»ΠΈΠ½Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ 2048, ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠ°ΠΊΠ΅ΡΠ° 8), ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° CUDA ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡ Instinct MI250 ΠΈΠΌΠ΅Π΅Ρ 128 ΠΠ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ A100 – 80 ΠΠ, ΡΡΠΎ ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΡ Π½Π°Π³ΡΡΠ·ΠΎΠΊ (Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ) Π½Π° MI250.
Text Generation Inference Π³ΠΎΡΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π²ΡΡΡΡΠ²Π°Π½ΠΈΡ Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ
AMD Instinct Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡΠ°Π·Π° Docker ghcr.io/huggingface/text-generation-inference:1.2-rocm
. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΈ Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡ
.
Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅?
ΠΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ ΡΡΠΎΡ Π±Π»ΠΎΠ³-ΠΏΠΎΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²Π°Ρ Π²ΠΎΠΎΠ΄ΡΡΠ΅Π²ΠΈΠ», ΠΊΠ°ΠΊ ΠΈ Π½Π°Ρ Π² Hugging Face, Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΡΠΈΠΌ ΠΏΠ°ΡΡΠ½ΡΡΡΡΠ²ΠΎΠΌ Ρ AMD. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ°Π»ΠΎ Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ, ΠΈ ΠΌΡ Ρ Π½Π΅ΡΠ΅ΡΠΏΠ΅Π½ΠΈΠ΅ΠΌ ΠΆΠ΄ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ AMD.
Π Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ ΠΌΠ΅ΡΡΡΡ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ Π½Π° Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ AMD Radeon, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°Ρ Π΄Π»Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΏΠΎΠ½ΠΈΠΆΠ°Ρ Π±Π°ΡΡΠ΅Ρ ΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΡΠΊΡΡΠ²Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π»Ρ Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ΠΉ Π³ΠΈΠ±ΠΊΠΎΡΡΠΈ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π°Π΄ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ MI300, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈ ΠΎΡΠΊΡΡΡΠ°Ρ Π²Π΅ΡΡΠΈΡ, ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ ΠΈΠ½Π½ΠΎΠ²Π°ΡΠΈΠΈ Π½Π° Π²ΡΡΠΎΡΠ°ΠΉΡΠ΅ΠΌ ΡΡΠΎΠ²Π½Π΅ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΡ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ±ΠΈΠ²Π°Π΅ΠΌΡΡ Π² Hugging Face.
Π’Π°ΠΊΠΆΠ΅ ΠΌΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ Π±ΡΠ΄Π΅ΠΌ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ AMD Ryzen AI, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΡΠ²ΠΎΡ ΠΌΠ΅ΡΡΠΎ Π² ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ² Π΄Π»Ρ Π½ΠΎΡΡΠ±ΡΠΊΠΎΠ² AMD, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. Π ΡΡΠ»ΠΎΠ²ΠΈΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΈ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠΎΠΌΠΎΡΠ½ΠΈΠΊΠΈ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π²ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΠΎΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ, Π²Π°ΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ Π² ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΡ Π²ΡΠ³ΠΎΠ΄Ρ ΠΎΡ ΡΡΠΈΡ ΠΌΠΎΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π ΡΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅, ΡΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ Π½Π° Hugging Face Hub Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠ΅ Ρ Ryzen AI, ΠΈ ΠΌΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ Ρ AMD, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°ΠΊΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠ΅ ΠΌΠ΅ΡΡΡΡ.