11,1 ΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡΠΈΠΊΠΎΠ²
πZamba2-mini: ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π°Ρ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ.
Zamba2-mini - Π³ΠΈΠ±ΡΠΈΠ΄Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ c 1.2B ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΠΈΠ· Π±Π»ΠΎΠΊΠΎΠ² state-space Mamba (SSM) ΠΈ transformer.
ΠΠΎΠ΄Π΅Π»Ρ ΡΠΎΠ·Π΄Π°Π½Π° Π½Π° ΠΎΠ±ΡΠ΅ΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ Zamba, Π½ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ 2.7B ΡΡΠ΅ΠΌΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ:
π’Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ rotary position embeddings;
π’ΡΠ΅ΡΠ΅Π΄ΡΡΡΠΈΠ΅ΡΡ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ΅ΡΠ½ΡΠ΅ Π±Π»ΠΎΠΊΠΈ Π·Π°ΠΌΠ΅Π½Π΅Π½Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΎΠ±ΡΠΈΠΌ;
π’Π²ΠΌΠ΅ΡΡΠΎ LoRA Π½Π° Π±Π»ΠΎΠΊΠ΅ MLP Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΡΡ LoRA Π² Π±Π»ΠΎΠΊΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΡ.
Zamba2-mini ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΠΊΠ΅Π½ΠΈΠ·Π°ΡΠΎΡ Mistral v0.1 ΠΈ Π±ΡΠ»Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ΅Π½Π° Π½Π° 3 ΡΡΠΈΠ»Π»ΠΈΠΎΠ½Π°Ρ
ΡΠΎΠΊΠ΅Π½ΠΎΠ² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΈ ΠΊΠΎΠ΄Π΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ
ΠΈΠ· ΠΎΡΠΊΡΡΡΡΡ
Π²Π΅Π±-Π½Π°Π±ΠΎΡΠΎΠ² Π΄Π°Π½Π½ΡΡ
, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΊΠΎΡΠΏΡ Π΄Π°Π½Π½ΡΡ
Zyda.
ΠΠΏΠΎΡΠ»Π΅Π΄ΡΡΠ²ΠΈΠΈ, Π½Π° Π²ΡΠΎΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Zamba2-mini Π±ΡΠ»Π° ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π½ΡΡΠ° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°Π·Π΅ Π°Π³ΡΠ΅ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ Π½Π° ΡΠΌΠ΅ΡΠΈ ΠΈΠ· 100B Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ
ΡΠΎΠΊΠ΅Π½ΠΎΠ².
Zamba2-mini ΠΏΠΎΠΊΠ°Π·Π°Π»Π° Π² ΡΠ΅ΡΡΠ°Ρ
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΠΌΡΠ΅ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ <2B ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ LLM Π±ΠΎΠ»ΡΡΠ΅Π³ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ°.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ΅ SSM Zamba2-mini Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π½ΠΈΠ·ΠΊΠΈΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΈ Π±ΡΡΡΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΏΡΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠΈ VRAM, ΡΠ΅ΠΌ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ ΠΏΠ»ΠΎΡΠ½ΠΎΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ΅ΡΠΎΠ².
Π’Π°ΠΊΠΈΠ΅ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π΅Π»Π°Π΅Ρ Π΅Π΅ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ
.
β οΈ ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Zamba2-mini Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠ° ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ HuggingFace.
βΆοΈΠΠΎΠΊΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅Π½Ρ:
# Clone repositiry
git clone https://github.com/Zyphra/transformers_zamba2.git
#Install requirments:
cd transformers_zamba2
pip install -e .
pip install accelerate
#Inference
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
tokenizer = AutoTokenizer.from_pretrained("Zyphra/Zamba2-1.2B")
model = AutoModelForCausalLM.from_pretrained("Zyphra/Zamba2-1.2B", device_map="cuda", torch_dtype=torch.bfloat16)
input_text = "A funny prompt would be "
input_ids = tokenizer(input_text, return_tensors="pt").to("cuda")
outputs = model.generate(**input_ids, max_new_tokens=100)
print(tokenizer.decode(outputs[0]))
βΆοΈΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ΅ Π½Π° CPU - only, ΡΠΊΠ°ΠΆΠΈΡΠ΅ use_mamba_kernels=False ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ AutoModelForCausalLM.from_pretrained.
πΠΠΈΡΠ΅Π½Π·ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ : Apache 2.0 License.
π‘Arxiv
π‘ΠΠΎΠ΄Π΅Π»Ρ
#AI #SLM #Mamba #ML #Zamba2mini
1 ΠΌΠΈΠ½ΡΡΠ°
28Β Π°Π²Π³ΡΡΡΠ°Β 2024