/ Модель

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

Контекст
32 768 токенов
Параметры
7,1 млрд
Размер весов
28,4 ГБ
Лицензия
Apache 2.0
Архитектура
mistral · dense
Опубликована
30 дек 2024

LENS-d4000

ЭмбеддингиТекст → embedding9 профессий

Текстовая модель на базе Mistral, создающая 4000-мерные лексиконные эмбеддинги для семантического сравнения и поиска.

487скачиваний за 30 дней1лайквеса обновлены22 янв 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

  • RedditClusteringP2P

    main_score

    Результат

    0,732

    MTEB

    Публичная таблицаревизия не подтверждена

  • R2MEDMedXpertQAExamRetrieval

    main_score

    Результат

    0,0109

    MTEB

    Публичная таблицадругая ревизия

  • TwentyNewsgroupsClustering

    main_score

    Результат

    0,6944

    MTEB

    Публичная таблицаревизия не подтверждена

  • SICK-R

    main_score

    Результат

    0,8381

    MTEB

    Публичная таблицаревизия не подтверждена

  • AskUbuntuDupQuestions

    main_score

    Результат

    0,6545

    MTEB

    Публичная таблицаревизия не подтверждена

  • CQADupstackWebmastersRetrieval

    main_score

    Результат

    0,4707

    MTEB

    Публичная таблицаревизия не подтверждена

  • RedditClustering

    main_score

    Результат

    0,7232

    MTEB

    Публичная таблицаревизия не подтверждена

  • CQADupstackGamingRetrieval

    main_score

    Результат

    0,6442

    MTEB

    Публичная таблицаревизия не подтверждена

  • CQADupstackTexRetrieval

    main_score

    Результат

    0,342

    MTEB

    Публичная таблицаревизия не подтверждена

  • MTOPIntentClassification

    main_score

    Результат

    0,9259

    MTEB

    Публичная таблицаревизия не подтверждена

  • R2MEDIIYiClinicalRetrieval

    main_score

    Результат

    0,1623

    MTEB

    Публичная таблицадругая ревизия

  • MassiveIntentClassification

    main_score

    Результат

    0,7965

    MTEB

    Публичная таблицаревизия не подтверждена

  • AmazonPolarityClassification

    main_score

    Результат

    0,9705

    MTEB

    Публичная таблицаревизия не подтверждена

  • DBPedia

    main_score

    Результат

    0,501

    MTEB

    Публичная таблицаревизия не подтверждена

  • Touche2020

    main_score

    Результат

    0,2586

    MTEB

    Публичная таблицаревизия не подтверждена

  • ArxivClusteringS2S

    main_score

    Результат

    0,5025

    MTEB

    Публичная таблицаревизия не подтверждена

  • ToxicConversationsClassification

    main_score

    Результат

    0,9229

    MTEB

    Публичная таблицаревизия не подтверждена

  • QuoraRetrieval

    main_score

    Результат

    0,9084

    MTEB

    Публичная таблицаревизия не подтверждена

  • BiorxivClusteringP2P

    main_score

    Результат

    0,5239

    MTEB

    Публичная таблицаревизия не подтверждена

  • CQADupstackEnglishRetrieval

    main_score

    Результат

    0,5562

    MTEB

    Публичная таблицаревизия не подтверждена

  • NQ

    main_score

    Результат

    0,7313

    MTEB

    Публичная таблицаревизия не подтверждена

  • R2MEDBiologyRetrieval

    main_score

    Результат

    0,0726

    MTEB

    Публичная таблицадругая ревизия

  • ClimateFEVER

    main_score

    Результат

    0,4462

    MTEB

    Публичная таблицаревизия не подтверждена

  • CQADupstackRetrieval

    main_score

    Результат

    0,4739

    MTEB

    Публичная таблицаревизия не подтверждена

  • STS12

    main_score

    Результат

    0,7907

    MTEB

    Публичная таблицаревизия не подтверждена

  • STS16

    main_score

    Результат

    0,8723

    MTEB

    Публичная таблицаревизия не подтверждена

  • Banking77Classification

    main_score

    Результат

    0,9043

    MTEB

    Публичная таблицаревизия не подтверждена

  • TRECCOVID

    main_score

    Результат

    0,6973

    MTEB

    Публичная таблицаревизия не подтверждена

  • STS17

    main_score

    Результат

    0,9155

    MTEB

    Публичная таблицаревизия не подтверждена

  • MedrxivClusteringP2P

    main_score

    Результат

    0,4635

    MTEB

    Публичная таблицаревизия не подтверждена

  • CQADupstackGisRetrieval

    main_score

    Результат

    0,4053

    MTEB

    Публичная таблицаревизия не подтверждена

  • STS15

    main_score

    Результат

    0,8969

    MTEB

    Публичная таблицаревизия не подтверждена

  • R2MEDBioinformaticsRetrieval

    main_score

    Результат

    0,2962

    MTEB

    Публичная таблицадругая ревизия

  • CQADupstackPhysicsRetrieval

    main_score

    Результат

    0,5287

    MTEB

    Публичная таблицаревизия не подтверждена

  • BIOSSES

    main_score

    Результат

    0,8447

    MTEB

    Публичная таблицаревизия не подтверждена

  • CQADupstackProgrammersRetrieval

    main_score

    Результат

    0,5153

    MTEB

    Публичная таблицаревизия не подтверждена

  • MassiveScenarioClassification

    main_score

    Результат

    0,8197

    MTEB

    Публичная таблицаревизия не подтверждена

  • MSMARCO

    main_score

    Результат

    0,4695

    MTEB

    Публичная таблицаревизия не подтверждена

  • STS22

    main_score

    Результат

    0,6869

    MTEB

    Публичная таблицаревизия не подтверждена

  • AmazonCounterfactualClassification

    main_score

    Результат

    0,9361

    MTEB

    Публичная таблицаревизия не подтверждена

  • StackOverflowDupQuestions

    main_score

    Результат

    0,5815

    MTEB

    Публичная таблицаревизия не подтверждена

  • CQADupstackStatsRetrieval

    main_score

    Результат

    0,4088

    MTEB

    Публичная таблицаревизия не подтверждена

  • MindSmallReranking

    main_score

    Результат

    0,3192

    MTEB

    Публичная таблицаревизия не подтверждена

  • SummEval

    main_score

    Результат

    0,3155

    MTEB

    Публичная таблицаревизия не подтверждена

  • MedrxivClusteringS2S

    main_score

    Результат

    0,4454

    MTEB

    Публичная таблицаревизия не подтверждена

  • SCIDOCS

    main_score

    Результат

    0,2751

    MTEB

    Публичная таблицаревизия не подтверждена

  • FiQA2018

    main_score

    Результат

    0,6043

    MTEB

    Публичная таблицаревизия не подтверждена

  • SprintDuplicateQuestions

    main_score

    Результат

    0,9698

    MTEB

    Публичная таблицаревизия не подтверждена

  • STS14

    main_score

    Результат

    0,8432

    MTEB

    Публичная таблицаревизия не подтверждена

  • TweetSentimentExtractionClassification

    main_score

    Результат

    0,8017

    MTEB

    Публичная таблицаревизия не подтверждена

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

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

LENS-d4000 — модель текстовых эмбеддингов, разработанная Yibin Lei. Она использует подход Lexicon-based Embeddings: компоненты вектора задуманы как соответствующие кластерам семантически близких токенов. Версия d4000 формирует представления размерностью 4000 на основе архитектуры Mistral с 7,1 млрд параметров.

Модель предназначена для извлечения признаков из текста и получения эмбеддингов, которые можно применять для сравнения семантической близости текстов и поиска по смыслу. Для неё заявлен контекст длиной до 32 768 токенов. Репозиторий содержит веса Safetensors; лицензия — Apache 2.0.

Описание не содержит результатов оценок качества или подробностей о рекомендуемом способе использования и ограничениях представлений. Указан интерфейс извлечения признаков, поэтому для получения эмбеддингов может потребоваться подходящая библиотека или обёртка.

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

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

Ограничения

В README не приведены результаты оценок качества или подробные рекомендации по применению; заявлено извлечение признаков, поэтому для удобного получения эмбеддингов может понадобиться совместимая библиотека или обёртка.

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

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

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

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

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

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

Открыть на Hugging Face

LENS is a model that produces Lexicon-based EmbeddiNgS (LENS) leveraging large language models. Each dimension of the embeddings is designed to correspond to a token cluster where semantically similar tokens are grouped together. These embeddings have a similar feature size as dense embeddings, with LENS-d4000 offering 4000-dimensional representations.

The technical report of LENS is available in Enhancing Lexicon-Based Text Embeddings with Large Language Models.

Usage

git clone https://huggingface.co/yibinlei/LENS-d4000
cd LENS-d4000
import torch
from torch import Tensor
import torch.nn.functional as F
from transformers import AutoTokenizer
from bidirectional_mistral import MistralBiForCausalLM

def get_detailed_instruct(task_instruction: str, query: str) -> str:
    return f'<instruct>{task_instruction}\n<query>{query}'

def pooling_func(vecs: Tensor, pooling_mask: Tensor) -> Tensor:
    # We use max-pooling for LENS.
    return torch.max(torch.log(1 + torch.relu(vecs)) * pooling_mask.unsqueeze(-1), dim=1).values

# Prepare the data
instruction = "Given a web search query, retrieve relevant passages that answer the query."
queries = ["what is rba",
           "what is oilskin fabric"]
instructed_queries = [get_detailed_instruct(instruction, query) for query in queries]
docs = ["Since 2007, the RBA's outstanding reputation has been affected by the 'Securency' or NPA scandal.",
        "Today's oilskins (or oilies) typically come in two parts, jackets and trousers. Oilskin jackets are generally similar to common rubberized waterproofs."]

# Load the model and tokenizer
model = MistralBiForCausalLM.from_pretrained("yibinlei/LENS-d4000", ignore_mismatched_sizes=True)
model.lm_head = torch.load('lm_head.pth')
tokenizer = AutoTokenizer.from_pretrained("yibinlei/LENS-d4000")

# Preprocess the data
query_max_len, doc_max_len = 512, 512
instructed_query_inputs = tokenizer(
                instructed_queries,
                padding=True,
                truncation=True,
                return_tensors='pt',
                max_length=query_max_len,
                add_special_tokens=True
            )
doc_inputs = tokenizer(
                docs,
                padding=True,
                truncation=True,
                return_tensors='pt',
                max_length=doc_max_len,
                add_special_tokens=True
            )
# We perform pooling exclusively on the outputs of the query tokens, excluding outputs from the instruction.
query_only_mask = torch.zeros_like(instructed_query_inputs['input_ids'], dtype=instructed_query_inputs['attention_mask'].dtype)
special_token_id = tokenizer.convert_tokens_to_ids('<query>')
for idx, seq in enumerate(instructed_query_inputs['input_ids']):
    special_pos = (seq == special_token_id).nonzero()
    if len(special_pos) > 0:
        query_start_pos = special_pos[-1].item()
        query_only_mask[idx, query_start_pos:-2] = 1 
    else:
        raise ValueError("No special token found")

# Obtain the embeddings
with torch.no_grad():
    instructed_query_outputs = model(**instructed_query_inputs)
    query_embeddings = pooling_func(instructed_query_outputs, query_only_mask)
    doc_outputs = model(**doc_inputs)
    # As the output of each token is used for predicting the next token, the pooling mask is shifted left by 1. The output of the final token EOS token is also excluded.
    doc_inputs['attention_mask'][:, -2:] = 0
    doc_embeddings = pooling_func(doc_outputs, doc_inputs['attention_mask'])

# Normalize the embeddings
query_embeddings = F.normalize(query_embeddings, p=2, dim=1)
doc_embeddings = F.normalize(doc_embeddings, p=2, dim=1)

# Compute the similarity
similarity = torch.matmul(query_embeddings, doc_embeddings.T)

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей