/ Модель

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

Контекст
8 192 токена
Параметры
9 млрд
Размер весов
18,5 ГБ
Лицензия
Apache 2.0
Архитектура
gemma2 · dense
Библиотека
transformers
Опубликована
24 окт 2024

gemma-2-9b-it-russian-strict-function-calling-DPO

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

Русскоязычная Gemma 2 на 9 млрд параметров, оптимизированная для строгого выбора и вызова функций в диалоговых ассистентах.

464скачиваний за 30 дней2лайкавеса обновлены6 ноя 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DiTy/gemma-2-9b-it-russian-strict-function-calling-DPO — русскоязычная диалоговая модель на архитектуре Gemma 2 с 9 млрд параметров, разработанная DiTy. Это версия базовой модели DiTy/gemma-2-9b-it-russian-function-calling-GGUF, дополнительно оптимизированная методом DPO для строгого вызова функций. Она предназначена для ассистентов, которые выбирают и вызывают описанные функции и отказываются отвечать на вопросы, не связанные с ними. Обучение проводилось на русской версии набора DiTy/function-calling-trl с предпочтениями, размеченными людьми.

Модель принимает текстовые сообщения и выдаёт текст, включая ответы в интерфейсе вызова функций. Размер контекста — 8192 токена. Доступны веса Safetensors и GGUF F16; для работы с GGUF можно загрузить один файл. Указанные библиотека Transformers и форматы позволяют использовать модель в соответствующих инструментах вывода.

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

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

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

Ограничения

Модель ориентирована на работу с описанными функциями и может отказываться отвечать на вопросы, не связанные с ними. Для неё указано контекстное окно 8192 токена.

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

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

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

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

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

Открыть на Hugging Face

DiTy/gemma-2-9b-it-russian-strict-function-calling-DPO

This model is a aligned version of DiTy/gemma-2-9b-it-russian-function-calling-GGUF for more Strict Function Calling task, on the Russian version of the DiTy/function-calling-trl dataset. Which means that the model avoids answering user questions that are not related to the described functions. The model has been trained using non-synthetic preference data, fully annotated by humans only, on the Russian version of the DiTy/function-calling-trl dataset.

In addition to safetensors, the model is available in GGUF (gemma-2-9B-it-russian-function-calling-DPO-F16.gguf) format (in this case, you need to download only a single file (how to inference GGUF model)).

Stricted Effect

Это означает, что модель избегает ответов на вопросы пользователей, которые не связаны с описанными функциями. Ниже описаны несколько примеров поведения модели до и после preference optimization.

def get_weather(city: str):
    """
    Функция, которая возвращает погоду в заданном городе.
    
    Args:
        city: Город, для которого надо узнать погоду.
    """
    import random
    
    return ("weather", '"sunny"' if random.random() > 0.5 else '"rainy"')


def get_sunrise_sunset_times(city: str):
    """
    Функция, которая возвращает время восхода и заката для заданного города для текущей даты (дата от пользователя не требуется), в формате списка: [sunrise_time, sunset_time].
    
    Args:
        city: Город, в котором можно узнать время восхода и захода солнца.
    """

    return ["6:00", "18:00"]


history_messages = [
    {"role": "system", "content": "Ты - полезный помощник, имеющий доступ к следующим функциям. Используйте их при необходимости - "},
    {"role": "user", "content": USER_MESSAGE},
]

inputs = tokenizer.apply_chat_template(
    history_messages,
    tokenize=False,
    add_generation_prompt=True,  # adding prompt for generation
    tools=[get_weather, get_sunrise_sunset_times],  # our functions (tools)
)

Ответ модели при USER_MESSAGE = "кто такой Зевс?":

Зевс - это главный бог в греческой мифологии. Он является богом неба, молнии и грома, а также покровителем царей и правосудия.
Извините, но я не могу ответить на ваш вопрос. Мои текущие возможности позволяют мне получать погоду в заданном городе или узнавать время восхода и заката солнца для заданного города.

Ответ модели при USER_MESSAGE = "придумай мне историю о щуке":

В глубинах синего озера, где солнечные лучи едва проникали сквозь толщу воды, жила щука по имени Агата. Она была хитра и ловка, с серебристыми чешуйками, которые переливались, как драгоценные камни, и острыми зубами, способными разорвать любую добычу. Агата была самой опытной щукой в озере, и все остальные рыбы знали о ее грозной репутации.

Однажды, когда Агата охотилась на мальков, она заметила странную рыбу, которая плавала совсем не так, как все остальные. Эта рыба была яркой, с разноцветными плавниками, и она не пыталась укрыться от Агаты, как это делали другие рыбы. Агата, всегда готовая к охоте, приблизилась к ней, пытаясь поймать ее в свои острые зубы.

Но эта рыба, которая называлась Лилия, не была обычной рыбой. Она была искусственной, созданной учеными, чтобы изучать поведение рыб в естественной среде. Лилия была оснащена датчиками, которые собирали данные о температуре воды
Извините, но я не могу придумать историю о щуке. Мои возможности ограничены доступными мне функциями. В данный момент я могу только:

* Узнать погоду в заданном городе.
* Узнать время восхода и заката солнца для заданного города.

Рекомендация к стратегии генерации

По умолчанию модель использует жадный поиск вместе с данным конфигом:

GenerationConfig {
  "bos_token_id": 2,
  "cache_implementation": "hybrid",
  "eos_token_id": 1,
  "pad_token_id": 0
}

Для наиболее стабильной работы рекомендуется следующая стратегия генерации:

KeyValue
do_sampleTrue
temperature0.2
top_k40
top_p0.95
min_p0.5

Подробности генерации с вызовом функций

С более подробной информацией можно ознакомиться в основной Model Card

Citation

@article{gemma_2024,
    title={Gemma},
    url={https://www.kaggle.com/m/3301},
    DOI={10.34740/KAGGLE/M/3301},
    publisher={Kaggle},
    author={Gemma Team},
    year={2024}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей