/ Модель

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

Контекст
32 768 токенов
Параметры
32 млрд
Размер весов
65,5 ГБ
Лицензия
Apache 2.0
Архитектура
qwen2 · dense
Базовая модель
Qwen2.5-32B-Instruct
Библиотека
transformers
Опубликована
18 ноя 2025

Diver-GroupRank-32B

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

DIVER-GroupRank-32B — китайско-английский языковой реранкер на базе Qwen2.5-32B, который сравнивает группы кандидатов и оценивает их релевантность запросу.

154скачиваний за 30 дней3лайкавеса обновлены23 ноя 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DIVER-GroupRank-32B — ранжировщик текстовых фрагментов, обученный авторами работы GroupRank с применением обучения с подкреплением. Модель основана на Qwen/Qwen2.5-32B-Instruct и использует архитектуру Qwen2ForCausalLM с 32 млрд параметров. При ранжировании она получает запрос и небольшую группу кандидатов, сравнивает их с учётом контекста группы и генерирует оценки релевантности для отдельных фрагментов.

Модель предназначена для переранжирования результатов информационного поиска, в том числе запросов, требующих рассуждений. Авторы сообщают о результатах на тестах BRIGHT и R2MED и о способности переносить качество на классические задачи поиска. Заявленная в README длина контекста — 40 тысяч токенов; в метаданных каталога указано 32 768 токенов. Поддерживаются китайский и английский языки. Доступны веса в формате safetensors, библиотека — Transformers.

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

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

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

Ограничения

Ранжирование выполняется через генерацию оценок, поэтому необходима совместимая схема подачи группы кандидатов и интерпретации ответа. Заявленная в README длина контекста 40 тысяч токенов отличается от значения 32 768 токенов в метаданных каталога.

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

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

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

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

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

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

Открыть на Hugging Face

Introduction

This is the model trained in our paper: GroupRank: A Groupwise Reranking Paradigm Driven by Reinforcement Learning (📝arXiv).

Please refer our 🧩github repository for the usage of GroupRank-32B.

Highlights

GroupRank is a reinforcement-learning-powered reranker that breaks the traditional “pointwise vs. listwise” trade-off: it feeds the query together with a small group of candidates to an LLM, lets the model perform within-group comparisons, and outputs individual relevance scores—combining the flexibility of pointwise scoring with the contextual awareness of listwise ranking. Training is driven by GRPO and a heterogeneous reward (NDCG + distributional alignment) that keeps scores consistent across groups, while a synthetic data pipeline eliminates the need for large human-labeled sets. On the reasoning-heavy BRIGHT and R2MED benchmarks, GroupRank sets new SOTA NDCG@10 (46.8 / 52.3) with strong generalization to classic retrieval tasks.

Model Description

  • Model type: Text Reranker, a reasoning-based generator model.
  • Language(s) (NLP): Bilingual (Chinese & English)
  • Context Length: 40k
  • Number of Paramaters: 32B

For more details, including benchmark evaluation, hardware requirements, and inference performance, please refer to our GitHub (https://github.com/AQ-MedAI/Diver).

Model#Total ParamsContext LengthDownloadBRIGHT
DIVER-GroupRank-7B7B40K[🤗 HuggingFace]https://huggingface.co/AQ-MedAI/Diver-GroupRank-7B [🤖 ModelScope]https://www.modelscope.cn/models/AQ-MedAI/Diver-GroupRank-7B--
DIVER-GroupRank-32B32B40K[🤗 HuggingFace]https://huggingface.co/AQ-MedAI/Diver-GroupRank-32B [🤖 ModelScope]https://www.modelscope.cn/models/AQ-MedAI/Diver-GroupRank-32B--

Model Performance

BRIGHT 基准测试结果 (NDCG@10)

ModelsBio.Earth.Econ.Psy.Rob.Stack.Sus.Leet.PonyAoPSTheoQ.TheoT.Avg.
Diver-Retriever-4B52.5253.5933.7545.1628.3830.3935.0012.9714.749.8342.5136.3232.93
Non-reasoning reranker
rankT5 (3B)33.0122.8018.968.612.2810.0723.9411.9734.938.9619.6911.7017.24
RankZephyr (7B)42.6019.5118.7929.8513.9813.3329.2912.9731.377.4431.1931.6723.50
Reasoning reranker
Rank-R1 (7B)40.8531.3823.1732.0419.8211.2335.533.776.604.9917.2030.1021.39
Rank-R1 (14B)49.5741.1527.5640.0428.4628.1943.766.9618.457.8834.8043.1130.83
Rank-K (32B)51.0642.3432.9544.5233.0728.4441.5712.8221.628.4839.3143.1533.28
ReasonRank (7B)-w20s1051.6343.4332.4043.9931.0225.6339.8115.3820.076.9538.9140.6932.49
ReasonRank (32B)-w20s1053.8947.5936.3452.6436.4834.1744.4715.2114.815.4740.6345.2935.58
GroupRank-7B56.8553.0635.9448.7536.6535.0543.9915.4815.5310.6441.4546.4036.65
GroupRank-32B59.4856.4940.1250.4638.3639.1643.3219.4816.3213.3446.3947.9139.24

inference

from vllm import LLM, SamplingParams
from collections import defaultdict
from transformers import AutoTokenizer
import random
import torch

random.seed(666)

sys_prompt = '''Your task is to evaluate and rank documents based on how well they help answer the given query. Follow this evaluation priority:
1. PRIMARY: Usefulness & Helpfulness - Does the document provide actionable information, solutions, or direct answers that help address the user's needs?
2. SECONDARY: Relevance - Does the document contain information related to the query topic?

Evaluation Process:
1. First, identify the user's core intent and what kind of help they need from the query
2. For each document, assess:
   - How directly it addresses the user's intent
   - What actionable information or answers it provides
   - How much it helps solve the user's problem or need
3. Compare documents against each other to ensure proper ranking
4. Assign scores that reflect the relative usefulness ranking

Scoring Scale (0-10):
- 9-10: Extremely helpful, directly answers the query with actionable information
- 7-8: Very helpful, provides substantial useful information for the query
- 5-6: Moderately helpful, contains some useful information but incomplete
- 3-4: Minimally helpful, limited useful information despite topic relevance
- 1-2: Barely helpful, mentions related topics but provides little useful information
- 0: Not helpful at all, cannot assist with answering the query
'''

user_prompt = '''I will provide you {TOPK} documents, each indicated by a numerical identifier []. Score these documents based on their Usefulness and Relevance to the query.
Query:
{QUERY}

Documents:
{PASSAGES}

## Final Output Format
You must structure your response in exactly two parts: provide your brief reasoning process first, then output final scores in JSON format like below, with document IDs as string keys and integer scores as values for all {TOPK} documents. 
The reasoning process and answer are enclosed within <reason> </reason> and <answer> </answer> tags, respectively. Do NOT output anything outside the specified tags. Follow this exact format:
<reason> 
[Analyze each document's usefulness and relevance to the query, explaining your scoring rationale]
</reason>
<answer> 
\```json
{{"[1]": 5, "[2]": 3, "[3]": 8}}
\``` 
</answer>
'''

class GroupReranker:
    def __init__(self, model_path, sys_prompt, user_prompt) -> None:
        # vllm offline inference
        self.llm = LLM(model=model_path, dtype="bfloat16", gpu_memory_utilization=0.9, tensor_parallel_size=torch.cuda.device_count(), max_model_len=32000)
        self.tokenizer = AutoTokenizer.from_pretrained(model_path)
        self.sampling_params = SamplingParams(temperature=0.3, top_p=0.8, max_tokens=8000, logprobs=10)

        self.group_system_prompt = sys_prompt
        self.group_user_prompt = user_prompt

    def rerank(self, query, doc_list):
        docs_str = ''.join(["[{}]. {}\n\n".format(idx+1, doc_text) for idx, doc_text in enumerate(doc_list)])

        group_texts = self.group_user_prompt.format(QUERY=query, PASSAGES=docs_str, TOPK=len(doc_list))

        message = self.tokenizer.apply_chat_template(
            [{'role': 'system', 'content': self.group_system_prompt}, 
            {'role': 'user', 'content': group_texts}], tokenize=False, add_generation_prompt=True)

        output = self.llm.generate(message, self.sampling_params, use_tqdm=True)

        return output

🌹 If you use this model, please ✨star our GitHub repository to support us. Your star means a lot!

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
Qwen2ForCausalLM
Ревизия весов
820775a

0 моделей