파인튜닝 필요 여부 | 확장 가능 범위 | 사용해봤는지 여부 | |
LongLoRA | O | 8배 | 파인튜닝 자원 부족 |
Position Interpolation | O | 8배 | 파인 튜닝 자원 부족 |
Dynamic NTK | X | 2배 | llama.cpp에서 사용 가능 |
LongLM | X | 4배 | llama.cpp에서 사용 가능 |
ChunkLlama | X | 4배 | 코드에서 적용 가능 |
Infini-attention | O | 2M 까지 | 파인튜닝 자원 부족 |
# B: batch size; N: no. of batch; S: sequence length or number of tokens; G: group size;
# H: number of attention heads; D: dimension of each attention head
# qkv in shape (B, N, 3, H, D), projected queries, keys, and values
# Key line 1: split qkv on H into 2 chunks, and shift G/2 on N
qkv = cat((qkv.chunk(2, 3)[0], qkv.chunk(2, 3)[1].roll(-G/2, 1)), 3).view(B*N/G,G,3,H,D)
# standard self-attention function
out = self_attn(qkv)