/ Модель

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

Контекст
2 048 токенов
Лицензия
cc-by-nc-2.0
Архитектура
gpt2 · dense
Базовая модель
rugpt3medium_based_on_gpt2
Библиотека
sentence-transformers
Опубликована
5 сен 2024

gpt_text_embd

ЭмбеддингиТекст → embedding

Экспериментальная модель на основе ruGPT-3 Medium преобразует русские предложения и абзацы в эмбеддинги для семантического поиска и сравнения.

101скачиваний за 30 дней0лайковвеса обновлены7 сен 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ponimash/gpt_text_embd — экспериментальная модель Sentence Transformers для преобразования русскоязычных предложений и абзацев в плотные векторы размерностью 1024. Она основана на ai-forever/rugpt3medium_based_on_gpt2: для эксперимента извлечены первые шесть слоёв GPT-2-подобной архитектуры, а средний пуллинг объединяет токенные представления. Максимальная длина последовательности — 2048 токенов.

Модель предназначена для семантического сопоставления текстов, поиска по смыслу и парафраз, а также может применяться для кластеризации и классификации текста. Она выдаёт эмбеддинги, которые можно использовать в системах поиска и сравнения текстов. Лицензия CC-BY-NC-2.0 разрешает использование с указанием авторства, но ограничивает коммерческое применение.

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

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

Ограничения

Это эксперимент по использованию GPT-2-подобной модели в качестве эмбеддера; качество на конкретных наборах данных в README не приведено. Лицензия CC-BY-NC-2.0 ограничивает коммерческое использование.

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

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

Открыть на Hugging Face

Эксперимент по использованию модели, наподобие GPT-2, в качестве эмбеддера. Базовая модель: ai-forever/rugpt3medium_based_on_gpt2, извлечено первые 6 слоев.

SentenceTransformer

Это модель sentence-transformers, которая обучена для преобразования предложений и абзацев в плотное векторное пространство размерностью 1024. Она может использоваться для семантического сопоставления текста, семантического поиска, поиска парафраз, классификации текста, кластеризации и других задач.

Описание Модели

Основные Характеристики

  • Тип модели: Sentence Transformer
  • Максимальная длина последовательности: 2048 токенов
  • Размерность выхода: 1024

Полная Архитектура Модели

SentenceTransformer(
  (0): Transformer({'max_seq_length': 2048, 'do_lower_case': False}) with Transformer model: GPT2Model 
  (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

Использование

Прямое Использование (Sentence Transformers)

Для начала установите библиотеку Sentence Transformers:

pip install -U sentence-transformers

Затем загрузите эту модель и выполните инференс.

from sentence_transformers import SentenceTransformer

# Загрузка модели с 🤗 Hub
model = SentenceTransformer("Ponimash/gpt_text_embd")
# Запуск инференса
sentences = [
    'Погода сегодня прекрасная.',
    'На улице так солнечно!',
    'Он поехал на стадион.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

# Получение оценок схожести для эмбеддингов
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Результаты

# Выходная размерность: 1024
tensor([[1.0000, 0.6575, 0.4605],
        [0.6575, 1.0000, 0.4683],
        [0.4605, 0.4683, 1.0000]])

SentenceTransformer(
  (0): Transformer({'max_seq_length': 2048, 'do_lower_case': False}) with Transformer model: GPT2Model 
  (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей