/ Модель

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

Контекст
32 768 токенов
Параметры
7,1 млрд
Размер весов
18,8 ГБ
Лицензия
Apache 2.0
Архитектура
sparsetral · MoE
Опубликована
19 фев 2024

sparsetral-16x7B-v2-SPIN_iter1

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

Разговорная англоязычная MoE-модель на базе Sparsetral для генерации текста и выполнения общих инструкций.

81скачиваний за 30 дней13лайковвеса обновлены19 фев 2024

Бенчмарки

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

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

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

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

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

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

sparsetral-16x7B-v2-SPIN_iter1 — разговорная языковая модель семейства Sparsetral, опубликованная serpdotai. Это итерация дообучения базовой sparsetral-16x7B-v2-SPIN_iter0 методом SPIN на OpenHermes-2.5 с добавлением примеров из наборов DPO. Модель построена на архитектуре MistralForCausalLM с разреженной смесью экспертов (MoE); метаданные указывают 7,1 млрд параметров, контекст до 32 768 токенов и формат Safetensors.

Модель предназначена для генерации текста в диалогах и выполнения общих инструкций на английском языке. В README указан формат диалога с ролями system, user и assistant. Разработчик описывает эту версию как промежуточную итерацию и отмечает, что обучение пока приостановлено; поддержка специальных токенов чата и вызова функций обсуждалась как возможное направление дальнейшей работы.

Модель распространяется по лицензии Apache-2.0. Ее характеристики отражают конкретную итерацию обучения, поэтому качество на отдельных задачах может различаться; в README разработчик приглашает присылать примеры задач, с которыми Sparsetral справляется слабо.

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

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

Ограничения

Это промежуточная итерация, и разработчик приостановил дальнейшее обучение этой версии. README обсуждает поддержку специальных токенов чата и вызова функций как возможное будущее направление, поэтому не следует рассчитывать на эти возможности.

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

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

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

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

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

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

Открыть на Hugging Face

This model is sparsetral-16x7B-v2 further tuned utilizing SPIN on OpenHermes-2.5 mixed with traditional DPO samples. This is iteration_1, temporarily pausing further training runs in favor of utilizing DoRA over LoRA. May also start from the beginning with v3 for proper chat token support, also debating adding function tokens + function calling. If you have any tasks that Sparsetral has been weak at, feel free to send us some prompts/chats + desired completions and we will see about making sure your task is supported!

Kuru~ Kuru~ Kuru~ Kuru~

Training

  • 8x A6000s
  • Base model is sparsetral-16x7B-v2-SPIN_iter0
  • Forked version of unsloth for efficient training
  • Sequence Length: 4096
  • Effective batch size: 64
  • Learning Rate: 5e-7 with linear decay (0.1 warmup ratio)
  • Epochs: 2
  • 100k samples (50k new SPIN + 50k from iter_0)
  • QLoRA:
    • 256 r and 256 alpha
    • target_modules=[
          "q_proj",
          "k_proj",
          "v_proj",
          "o_proj",
          "gate_proj",
          "up_proj",
          "down_proj",
          "adapter_down",
          "adapter_up",
      ]
      

Prompt Format

<|im_start|>system\n{message}<|im_end|>\n<|im_start|>user\n{message}<|im_end|>\n<|im_start|>assistant\n

Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("serpdotai/sparsetral-16x7B-v2-SPIN_iter0", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("serpdotai/sparsetral-16x7B-v2-SPIN_iter0", device_map="auto", trust_remote_code=True).eval()

system_str = "<|im_start|>system\n{message}<|im_end|>\n"
user_str = "<|im_start|>user\n{message}<|im_end|>\n"
assistant_str = "<|im_start|>assistant\n{message}<|im_end|>\n"

def construct_prompt(messages):
    prompt = ""
    for message in messages:
        if message["from"] in ["human", "user"]:
            prompt += user_str.format(
                message=message["value"]
            )
        elif message["from"] in ["gpt", "assistant"]:
            prompt += assistant_str.format(
                message=message["value"]
            )
        elif message["from"] in ["system", "instruction"]:
            prompt += system_str.format(
                message=message["value"]
            )
        else:
            raise ValueError(
                f"Unknown message type: {message['from']}"
            )
    return prompt + "<|im_start|>assistant\n"

system = "You are a helpful assistant who will help the user to the best of their ability. If you don't know something, say \"I don't know\""
user = "Are you sentient?"

messages = [
    {"from": "system", "value": system},
    {"from": "user", "value": user},
]

prompt = construct_prompt(messages)
inputs = tokenizer(prompt, return_tensors="pt")
inputs = inputs.to(model.device)
pred = model.generate(**inputs, max_length=4096, do_sample=True, top_k=50, top_p=0.99, temperature=0.9, num_return_sequences=1)
print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))

Other Information

Paper reference: Parameter-Efficient Sparsity Crafting from Dense to Mixture-of-Experts for Instruction Tuning on General Tasks

Original Paper repo

Forked repo with mistral support (sparsetral)

If you are interested in faster inferencing, check out our fork of vLLM that adds sparsetral support

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

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

GPU в ailist

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

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

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

Класс архитектуры
modeling_sparsetral.MistralForCausalLM
Ревизия весов
ac86b9b

0 моделей