/ Модель

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

Контекст
4 096 токенов
Параметры
6,6 млрд
Размер весов
26,4 ГБ
Лицензия
Llama 2
Архитектура
llama · dense
Опубликована
29 фев 2024

repllama-v1.1-mrl-7b-lora-passage

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

LoRA-дообученная LLaMA-2-7B кодирует запросы и текстовые фрагменты в эмбеддинги гибкой размерности для ранжирования и многоэтапного поиска.

20скачиваний за 30 дней5лайковвеса обновлены12 мая 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

RepLLaMA-7B-Passage-MRL — модель семейства LLaMA, разработанная Xueguang Ma, Liang Wang, Nan Yang, Furu Wei и Jimmy Lin для многоэтапного текстового поиска. Это дообученная с помощью LoRA модель на базе LLaMA-2-7B, обученная один проход на обучающей части набора MS MARCO Passage Ranking.

Модель кодирует запросы и текстовые фрагменты в эмбеддинги для вычисления сходства и ранжирования документов. Благодаря Matryoshka Representation Learning размерность эмбеддингов можно выбирать гибко вплоть до 4096. Число параметров — 6,6 млрд, контекст — до 4096 токенов; вход и результат представлены текстом и векторами соответственно.

Репозиторий содержит веса в формате safetensors. Лицензия указана как Llama 2 Community License. Модель подходит для поиска по текстовым коллекциям и многоэтапного извлечения релевантных фрагментов; обучение на MS MARCO Passage Ranking специализирует её на поиске пассажей, поэтому качество на других языках и доменах отдельно не подтверждено.

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

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

Ограничения

Обучена на MS MARCO Passage Ranking, поэтому её качество на других языках и специализированных доменах не подтверждено. Максимальная размерность эмбеддингов и длина контекста составляют 4096.

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

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

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

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

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

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

Открыть на Hugging Face

RepLLaMA-7B-Passage-MRL

Fine-Tuning LLaMA for Multi-Stage Text Retrieval. Xueguang Ma, Liang Wang, Nan Yang, Furu Wei, Jimmy Lin, arXiv 2023

This model is fine-tuned from LLaMA-2-7B using LoRA and the embedding size is flexible, as Matryoshka Representation Learning is applied during training. The maximum dimensionality of query and passage embedding is 4096.

Training Data

The model is fine-tuned on the training split of MS MARCO Passage Ranking datasets for 1 epoch. Please check our paper for details.

Usage

Below is an example to encode a query and a passage, and then compute their similarity using their embedding.

import torch
from transformers import AutoModel, AutoTokenizer

# Load the tokenizer and model
tokenizer = AutoTokenizer.from_pretrained('meta-llama/Llama-2-7b-hf')
model = AutoModel.from_pretrained('castorini/repllama-v1-mrl-7b-lora-passage')
dim = 512

# Define query and passage inputs
query = "What is llama?"
title = "Llama"
passage = "The llama is a domesticated South American camelid, widely used as a meat and pack animal by Andean cultures since the pre-Columbian era."
query_input = tokenizer(f'query: {query}</s>', return_tensors='pt')
passage_input = tokenizer(f'passage: {title} {passage}</s>', return_tensors='pt')

# Run the model forward to compute embeddings and query-passage similarity score
with torch.no_grad():
    # compute query embedding
    query_outputs = model(**query_input)
    query_embedding = query_outputs.last_hidden_state[0][-1][:dim]
    query_embedding = torch.nn.functional.normalize(query_embedding, p=2, dim=0)

    # compute passage embedding
    passage_outputs = model(**passage_input)
    passage_embeddings = passage_outputs.last_hidden_state[0][-1][:dim]
    passage_embeddings = torch.nn.functional.normalize(passage_embeddings, p=2, dim=0)

    # compute similarity score
    score = torch.dot(query_embedding, passage_embeddings)
    print(score)

Batch inference and training

An unofficial replication of the inference and training code can be found here

Citation

If you find our paper or models helpful, please consider cite as follows:

@article{rankllama,
      title={Fine-Tuning LLaMA for Multi-Stage Text Retrieval}, 
      author={Xueguang Ma and Liang Wang and Nan Yang and Furu Wei and Jimmy Lin},
      year={2023},
      journal={arXiv:2310.08319},
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
LlamaModel
Ревизия весов
0d30290

0 моделей