Zamba2-mini: компактная и производительная модель с гибридной архитектурой.Zamba…

Zamba2-mini: компактная и производительная модель с гибридной архитектурой.Zamba...

🌟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.

Реализацию Zamba2-1.2B для Pytorch можно найти здесь.

▶️Локальная установка и инференс:

# 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_machinelearning_big_data

#AI #SLM #Mamba #ML #Zamba2mini

View Source

+1
0
+1
0
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *