tgoop.com/ai_machinelearning_big_data/6831
Last Update:
InfiniteHiP - ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ deepauto.ai, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ LLM, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Ρ Π΄ΠΎ 3 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΡΠΎΠΊΠ΅Π½ΠΎΠ² Π½Π° ΠΎΠ΄Π½ΠΎΠΌ GPU.
InfiniteHiP ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΉ ΠΈΠ΅ΡΠ°ΡΡ
ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΡΠ½ΠΈΠ½Π³Π° ΡΠΎΠΊΠ΅Π½ΠΎΠ², Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡΡΠ΅ΠΈΠ²Π°Ρ Π½Π΅ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΊΠΎΡΠΈΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΈ ΠΎΠ±ΠΎΠΉΡΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ GPU ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ KV-ΠΊΡΡ Π² ΠΏΠ°ΠΌΡΡΡ Ρ
ΠΎΡΡΠ°.
ΠΡΡΠ½ΠΈΠ½Π³-ΠΌΠΎΠ΄ΡΠ»ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΈΠ·Π±ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½ΡΠ΅ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ, ΠΎΠΏΠΈΡΠ°ΡΡΡ Π½Π° ΡΠ°Π·ΡΠ΅ΠΆΠ΅Π½Π½ΠΎΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΡΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π² ΠΌΠ°ΡΡΠΈΡΠ°Ρ
Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ LLM.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ Π΄Π΅Π»ΠΈΡ Π²Ρ
ΠΎΠ΄Π½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π½Π° ΡΠ°Π½ΠΊΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π°ΠΏΠΏΡΠΎΠΊΡΠΈΠΌΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ top-1 ΡΠΎΠΊΠ΅Π½ Ρ Π½Π°ΠΈΠ²ΡΡΡΠΈΠΌ attention score Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π½ΠΊΠ΅. ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ top-K Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π½Π°ΡΠΈΠΌΡΡ
ΡΠ°Π½ΠΊΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°ΡΡΡΡ.
ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ InfiniteHiP Π½Π° SGLang ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ 7.24-ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π² end-to-end Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π² 3 ΠΌΠ»Π½. ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π²ΡΠ΅Π³ΠΎ 3.34% VRAM, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠΉ Π΄Π»Ρ Flash Attention 2.
InfiniteHiP ΠΏΡΠ΅Π²ΠΎΡΡ
ΠΎΠ΄ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π² Π·Π°Π΄Π°ΡΠ°Ρ
QA ΠΏΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ½ΡΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌ, ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΠΈ Π² ΠΌΡΠ»ΡΡΠΈ-ΡΠΎΡ ΡΠΈΠ·ΠΎΠ½ΠΈΠ½Π³Π΅. HiP Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΡΠ΅ OOL (out-of-likelihood) ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ, ΡΠΎΡ
ΡΠ°Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ Π΄Π»ΠΈΠ½Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π° ΡΠ°ΠΊΠΈΡ
Π·Π°Π΄Π°ΡΠ°Ρ
ΠΎΡΡΡΠΈΠΌΠΎ Π΄Π΅Π³ΡΠ°Π΄ΠΈΡΡΡΡ.
InfiniteHiP ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Ρ Π»ΡΠ±ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ Π½Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Transformers.
git clone [email protected]:DeepAuto-AI/hip-attention.git
cd hip-attention
conda create --name hip python=3.11
conda activate hip
pip install -e "."
# Optional for development
pip install -e ".[dev]"
# Optional, depends on your CUDA environment
export CUDACXX=/usr/local/cuda/bin/nvcc
# Dependencies that requires --no-build-isolation
pip install -e ".[no_build_iso]" \
--no-build-isolation \
--verbose
# SGLang with OpenAI API support for serving
pip install -e ".[sglang]" \
--no-build-isolation \
--verbose \
--find-links https://flashinfer.ai/whl/cu124/torch2.4/flashinfer/
# Access the `hip` package from any project
import torch
from hip import hip_attention_12, HiPAttentionArgs12
device = 'cuda'
batch_size = 1
kv_len = 128 * 1024
q_len = 32 * 1024
num_heads = 32
num_kv_heads = 8
head_dims = 128
dtype = torch.bfloat16
q = torch.randn(
(batch_size, q_len, num_heads, head_dims),
dtype=dtype,
device=device
)
k = torch.randn(
(batch_size, kv_len, num_kv_heads, head_dims),
dtype=dtype,
device=device,
)
v = k.clone()
output, metadata = hip_attention_12(q=q, k=k, v=v, args=HiPAttentionArgs12())
print(output.shape)
# > torch.Size([1, 32768, 32, 128])
@ai_machinelearning_big_data
#AI #ML #InfiniteHiP #Framework