/ Модель

Характеристики

Контекст
2 048 токенов
Лицензия
MIT
Архитектура
phi-msft · MoE
Опубликована
8 янв 2024

phixtral-4x2_8

Генерация текстаТекст → текст7 профессий

Объединённая MoE-модель на базе четырёх вариантов Phi-2 для генерации английского текста, диалогов и кода.

194скачиваний за 30 дней209лайковвеса обновлены15 янв 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

phixtral-4x2_8 — языковая модель на архитектуре Mixture of Experts, созданная Mlabonne путём объединения четырёх моделей Microsoft Phi-2 по мотивам Mixtral-8x7B. В конфигурацию вошли cognitivecomputations/dolphin-2_6-phi-2, lxuechen/phi-2-dpo, Yhyu13/phi-2-sft-dpo-gpt4_en-ep1 и mrm8488/phi-2-coder; маршрутизация экспертов использует режим cheap_embed. Модель предназначена для генерации текста, диалогов и кода на английском языке.

В README приведено сравнение с отдельными моделями Phi-2 на наборе Nous suite: средний результат phixtral-4x2_8 составил 47,7; условия тестирования описаны кратко, поэтому эти цифры не гарантируют аналогичное качество в других задачах. Контекст — 2048 токенов. Репозиторий содержит веса Safetensors, а лицензия — MIT. В README также упомянута возможность запуска в 4-битной точности на GPU T4.

Сценарии применения

  • генерация ответов в англоязычном чат-боте
  • написание и дополнение кода
  • создание англоязычных текстов
  • сравнение вариантов Phi-2 на общих языковых задачах

Ограничения

Контекст ограничен 2048 токенами. Оценки в README приведены для набора Nous suite, и их переносимость на другие сценарии не установлена.

Для каких профессий подходит7

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Также подходит для

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

phixtral-4x2_8

phixtral-4x2_8 is the first Mixure of Experts (MoE) made with four microsoft/phi-2 models, inspired by the mistralai/Mixtral-8x7B-v0.1 architecture. It performs better than each individual expert.

⚡ Quantized models

🏆 Evaluation

The evaluation was performed using LLM AutoEval on Nous suite.

ModelAGIEvalGPT4AllTruthfulQABigbenchAverage
phixtral-4x2_833.9170.4448.7837.6847.7
dolphin-2_6-phi-233.1269.8547.3937.246.89
phi-2-dpo30.3971.6850.7534.946.93
phi-2-sft-dpo-gpt4_en-ep130.6171.1348.7435.2346.43
phi-2-coder*29.3071.0345.1335.5445.25
phi-227.9870.844.4335.2144.61
* results reported by @vince62s here.

Check YALL - Yet Another LLM Leaderboard to compare it with other models.

🧩 Configuration

The model has been made with a custom version of the mergekit library (mixtral branch) and the following configuration:

base_model: cognitivecomputations/dolphin-2_6-phi-2
gate_mode: cheap_embed
experts:
  - source_model: cognitivecomputations/dolphin-2_6-phi-2
    positive_prompts: [""]
  - source_model: lxuechen/phi-2-dpo
    positive_prompts: [""]
  - source_model: Yhyu13/phi-2-sft-dpo-gpt4_en-ep1
    positive_prompts: [""]
  - source_model: mrm8488/phi-2-coder
    positive_prompts: [""]

💻 Usage

Here's a Colab notebook to run Phixtral in 4-bit precision on a free T4 GPU.

!pip install -q --upgrade transformers einops accelerate bitsandbytes

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "phixtral-4x2_8"
instruction = '''
    def print_prime(n):
        """
        Print all primes between 1 and n
        """
'''

torch.set_default_device("cuda")

# Load the model and tokenizer
model = AutoModelForCausalLM.from_pretrained(
    f"mlabonne/{model_name}", 
    torch_dtype="auto", 
    load_in_4bit=True, 
    trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(
    f"mlabonne/{model_name}", 
    trust_remote_code=True
)

# Tokenize the input string
inputs = tokenizer(
    instruction, 
    return_tensors="pt", 
    return_attention_mask=False
)

# Generate text using the model
outputs = model.generate(**inputs, max_length=200)

# Decode and print the output
text = tokenizer.batch_decode(outputs)[0]
print(text)

Inspired by mistralai/Mixtral-8x7B-v0.1, you can specify the num_experts_per_tok and num_local_experts in the config.json file (2 and 4 by default). This configuration is automatically loaded in configuration.py.

vince62s implemented the MoE inference code in the modeling_phi.py file. In particular, see the MoE class.

🤝 Acknowledgments

A special thanks to vince62s for the inference code and the dynamic configuration of the number of experts. He was very patient and helped me to debug everything.

Thanks to Charles Goddard for the mergekit library and the implementation of the MoE for clowns.

Thanks to ehartford, lxuechen, Yhyu13, and mrm8488 for their fine-tuned phi-2 models.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Нельзя запустить

Модели нужен код из репозитория; автор пока не в списке доверенных организаций.

Класс архитектуры
PhiForCausalLM
Ревизия весов
e9dad46

0 моделей