/ Модель

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

Контекст
8 192 токена
Параметры
3,2 млрд
Размер весов
12,7 ГБ
Лицензия
Apache 2.0
Архитектура
gemma · dense
Опубликована
12 мар 2024

gemma-3b-it-expanded

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

Экспериментальная расширенная версия Gemma для генерации диалогового текста и последующего дообучения добавленных слоёв.

120скачиваний за 30 дней1лайквеса обновлены12 мар 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Gemma-3B-IT-Expanded — экспериментальная текстовая авторегрессионная модель семейства Gemma, созданная с помощью mergekit на основе google/gemma-2b-it. В неё добавлены слои через каждые три исходных слоя; параметры o_proj и down_proj новых слоёв инициализированы нулями. Размер модели по метаданным — 3,2 млрд параметров, контекст — до 8192 токенов. Модель предназначена для генерации текста в диалоговом формате и дальнейшего дообучения с обновлением добавленных слоёв при замороженных остальных.

Модель не проходила дообучение после расширения, поэтому её качество для практических задач не подтверждено. В README рекомендовано обучать только каждый четвёртый слой. Репозиторий содержит веса Safetensors. Лицензия — Apache-2.0.

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

  • генерация ответов в диалоге
  • создание прототипа чат-бота
  • эксперименты с расширением слоёв Gemma
  • дообучение добавленных слоёв языковой модели

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

Gemma-IT-Expanded-Unfrozen-Layers

This method employs mergekit's passthrough method to expand blocks within the "google/gemma-2b-it" model. For every fourth 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 fourth layer is adjusted, while all other layers remain frozen.

🧩 Configuration

slices:
  - sources:
      - model: google/gemma-2b-it
        layer_range: [0, 3]
  - sources:
      - model: google/gemma-2b-it
        layer_range: [2, 3]
        parameters:
          scale:
            - filter: o_proj
              value: 0.0
            - filter: down_proj
              value: 0.0
            - value: 1.0

  - sources:
      - model: google/gemma-2b-it
        layer_range: [3, 6]
  - sources:
      - model: google/gemma-2b-it
        layer_range: [5, 6]
        parameters:
          scale:
            - filter: o_proj
              value: 0.0
            - filter: down_proj
              value: 0.0
            - value: 1.0

  - sources:
      - model: google/gemma-2b-it
        layer_range: [6, 9]
  - sources:
      - model: google/gemma-2b-it
        layer_range: [8, 9]
        parameters:
          scale:
            - filter: o_proj
              value: 0.0
            - filter: down_proj
              value: 0.0
            - value: 1.0

  - sources:
      - model: google/gemma-2b-it
        layer_range: [9, 12]
  - sources:
      - model: google/gemma-2b-it
        layer_range: [11, 12]
        parameters:
          scale:
            - filter: o_proj
              value: 0.0
            - filter: down_proj
              value: 0.0
            - value: 1.0

  - sources:
      - model: google/gemma-2b-it
        layer_range: [12, 15]
  - sources:
      - model: google/gemma-2b-it
        layer_range: [14, 15]
        parameters:
          scale:
            - filter: o_proj
              value: 0.0
            - filter: down_proj
              value: 0.0
            - value: 1.0

  - sources:
      - model: google/gemma-2b-it
        layer_range: [15, 18]
  - sources:
      - model: google/gemma-2b-it
        layer_range: [17, 18]
        parameters:
          scale:
            - filter: o_proj
              value: 0.0
            - filter: down_proj
              value: 0.0
            - value: 1.0

merge_method: passthrough
dtype: bfloat16


# Function to freeze layers

from transformers import AutoModelForCausalLM

def update_layer_gradients(model, n):
    """
    Enables gradients only for every nth layer within the model's layers, starting from the layer after the 0th.
    
    :param model: The model instance, assumed to be of type GemmaForCausalLM or similar.
    :param n: Interval at which layers after the first will have their gradients enabled, indicating they are newly added.
    """
    layers = model.model.layers  # Access the ModuleList containing the layers
  
    for i, layer in enumerate(layers):
        if i % n == (n - 1):  # Enables gradients for every nth layer, starting from the layer after the 0th
            print(i)
            for param in layer.parameters():
                param.requires_grad = True
        else:
            for param in layer.parameters():
                param.requires_grad = False

# Load the model
model = AutoModelForCausalLM.from_pretrained("/Users/gayalshamane/Documents/mergekit/gemma-2b-it-expanded")


# Update layer gradients, specify the correct value for n based on your model's architecture
n = 4  # Example: update every 4rd layer, starting from the first layer after the 0th, adjust this value as needed
update_layer_gradients(model, n)

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
GemmaForCausalLM
Ревизия весов
13511d6

0 моделей