/ Модель

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

Контекст
32 768 токенов
Параметры
8,9 млрд
Лицензия
Apache 2.0
Архитектура
mistral · dense
Базовая модель
pastiche-crown-clown-7b-dare-dpo
Библиотека
transformers
Опубликована
13 мар 2024

Clown-DPO-Extended

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

Расширенная на базе Mistral языковая модель для генерации текста с контекстом до 32 768 токенов.

133скачиваний за 30 дней5лайковвеса обновлены18 мар 2024

Бенчмарки

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

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

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

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

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

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

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

Clown-DPO-Extended — языковая модель для генерации текста, созданная Arcee AI на основе CorticalStack/pastiche-crown-clown-7b-dare-dpo с помощью mergekit. При расширении архитектуры Mistral каждые пять слоёв добавлялся новый слой; параметры o_proj и down_proj новых слоёв инициализировались нулями по подходу LLaMA Pro. Модель содержит 8,9 млрд параметров, работает с текстом и поддерживает контекст до 32 768 токенов.

Модель подходит для генерации ответов и продолжения текста в задачах общего назначения. В README приведены результаты базовой модели из набора OpenLLM, а не отдельная оценка Clown-DPO-Extended. Модель распространяется по лицензии Apache-2.0.

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

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

Ограничения

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

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

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

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

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

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

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

Открыть на Hugging Face

Extended Model

This is a extension of a pre-trained language models created using mergekit.

image/webp

Merge Details

Merge Method

This method employs mergekit's passthrough method to expand blocks within the "CorticalStack/pastiche-crown-clown-7b-dare-dpo" model. For every 5th layer, a new layer is added, with the o_proj and down_proj parameters of these added layers initialized to zero, mirroring the approach used in LLaMA Pro.

It's important to note that this configuration has not undergone fine-tuning. Therefore, when fine-tuning, ensure that only every 5th layer is trainable, while all other layers remain frozen.

Models Merged

The following models were included in the merge:

🏆 Evaluation

OpenLLM

CorticalStack/pastiche-crown-clown-7b-dare-dpo OpenLLM benchmark suite

ModelAveragearcHellaSwagmmluTruthfulQAgsm8k
CorticalStack/pastiche-crown-clown-7b-dare-dpo76.9372.1888.9063.4579.1585.71

Configuration

The following YAML configuration was used to produce this model:


  slices:
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 0
          - 4
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 3
          - 4
        parameters:
          scale:
            - filter: o_proj
              value: 0
            - filter: down_proj
              value: 0
            - value: 1
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 4
          - 8
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 7
          - 8
        parameters:
          scale:
            - filter: o_proj
              value: 0
            - filter: down_proj
              value: 0
            - value: 1
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 8
          - 12
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 11
          - 12
        parameters:
          scale:
            - filter: o_proj
              value: 0
            - filter: down_proj
              value: 0
            - value: 1
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 12
          - 16
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 15
          - 16
        parameters:
          scale:
            - filter: o_proj
              value: 0
            - filter: down_proj
              value: 0
            - value: 1
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 16
          - 20
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 19
          - 20
        parameters:
          scale:
            - filter: o_proj
              value: 0
            - filter: down_proj
              value: 0
            - value: 1
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 20
          - 24
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 23
          - 24
        parameters:
          scale:
            - filter: o_proj
              value: 0
            - filter: down_proj
              value: 0
            - value: 1
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 24
          - 28
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 27
          - 28
        parameters:
          scale:
            - filter: o_proj
              value: 0
            - filter: down_proj
              value: 0
            - value: 1
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 28
          - 32
  - sources:
      - model: CorticalStack/pastiche-crown-clown-7b-dare-dpo
        layer_range:
          - 31
          - 32
        parameters:
          scale:
            - filter: o_proj
              value: 0
            - filter: down_proj
              value: 0
            - value: 1
  merge_method: passthrough
  dtype: bfloat16

Function to freeze layers

from transformers import AutoModelForCausalLM

def enable_grad_only_every_nth(model, n):
    """
    This function configures the specified model to enable gradient calculations exclusively for every nth layer, starting 
    from the first layer (0-indexed), to accommodate newly added blocks for training. Concurrently, it freezes the gradients 
    for all other components of the model, including the embedding layers and the model's head. This setup is particularly 
    useful for fine-tuning processes where only a subset of layers are targeted for updates, ensuring efficient training and 
    adaptation of newly integrated layers while maintaining the pre-trained behavior of other model components.
    """

    # Freeze embeddings.
    for param in model.model.embed_tokens.parameters():
        param.requires_grad = False

    # Freeze lm_head.
    for param in model.lm_head.parameters():
        param.requires_grad = False

    # Enable gradients for every nth layer
    layers = model.model.layers  # Access the ModuleList containing the layers

    for index, layer in enumerate(layers):

        if (index + 1) % n == 0:  # Enables gradients for every nth layer, starting from the layer after the 0th
            for param in layer.parameters():
                param.requires_grad = True
        else:
            for param in layer.parameters():
                param.requires_grad = False

model = transformers.AutoModelForCausalLM.from_pretrained(
    "arcee-ai/Mistral-7B-Instruct-v0.2-expanded"
    )
# Update layer gradients, specify the correct value for n based on your model's architecture
n =5
enable_grad_only_every_nth(model, n)

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

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

GPU в ailist

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

Можно запустить

Подбираем GPU…

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

0 моделей