/ Модель

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

Контекст
8 194 токена
Параметры
659 млн
Лицензия
MIT
Архитектура
xlm-roberta · dense
Базовая модель
bge-m3
Опубликована
25 июн 2025

bge-m3-onnx-int8

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

gpahal/bge-m3-onnx-int8 — это оптимизированная и квантизованная до int8 версия модели BAAI/bge-m3, подготовленная сообществом для запуска через ONNX Runtime.

5 721скачиваний за 30 дней3лайкавеса обновлены25 июн 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модель одновременно формирует три представления текста: плотное dense, разреженное sparse и ColBERT-представление. Плотные и ColBERT-эмбеддинги нормализуются по умолчанию, как в исходной библиотеке FlagEmbedding; разреженное представление можно преобразовать в словарь весов токенов. Для инференса используются ONNX Runtime, токенизация через Hugging Face Transformers и интеграция с Optimum. В модели применены оптимизации графа уровня O2, а вычисления рассчитаны на CPU; точный размер модели, длина контекста и перечень поддерживаемых языков в README не указаны.

К сильным сторонам относятся объединение dense-, sparse- и ColBERT-представлений в одном запуске, многоязычная ориентация, снижение вычислительных требований благодаря int8-квантизации и совместимость с ONNX Runtime. Ограничениями являются необходимость самостоятельно обрабатывать разные типы выходов и то, что изменение нормализации или набора представлений требует повторного экспорта модели. Модель распространяется по лицензии MIT.

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

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

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

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

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

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

Открыть на Hugging Face

This model is a ONNX runtime and int8 quantized version of BGE-M3.

This model outputs dense, sparse and ColBERT embedding representations all at once. The output is a list of numpy arrays in previously mentioned order of representations.

Note: dense and ColBERT embeddings are normalized like the default behavior in the original FlagEmbedding library, if you want unnormalized outputs you can modify the code in export_onnx_int8.py and re-run the script.

This model also has "O2" level graph optimizations applied, you can read more about optimization levels here. If you want ONNX model with different optimization or without optimizations, you can re-run the ONNX export script export_onnx_int8.py with appropriate optimization argument.

Usage with ONNX Runtime (Python)

If you haven't already, you can install the ONNX Runtime Python library:

pip install onnxruntime

For tokenization, you can for example use HF Transformers by installing it:

pip install transformers

Clone this repository with Git LFS to get the ONNX model files.

You can then use the model to compute embeddings, as follows:

import time

from optimum.onnxruntime import ORTModelForCustomTasks
from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("BAAI/bge-m3")
model = ORTModelForCustomTasks.from_pretrained("gpahal/bge-m3-onnx-int8")

questions = ["What is your opening hour?", "Where are your offices?"]
input_q = tokenizer(
    questions,
    padding=True,
    truncation=True,
    return_tensors="np"
)
print(f"Question input keys: {list(input_q.keys())}, shapes: {[v.shape for v in input_q.values()]}")

t0 = time.perf_counter()
output_q = model(**input_q)
print(f"Time taken: {(time.perf_counter()-t0)*1e3:.1f} ms")

Note: You can use following sparse token weight processor from FlagEmbedding to get same the output for the sparse representation from the ONNX model:

from collections import defaultdict


def process_token_weights(token_weights: np.ndarray, input_ids: list):
    # conver to dict
    result = defaultdict(int)
    unused_tokens = {
        tokenizer.cls_token_id,
        tokenizer.eos_token_id,
        tokenizer.pad_token_id,
        tokenizer.unk_token_id,
    }
    for w, idx in zip(token_weights, input_ids):
        if idx not in unused_tokens and w > 0:
            idx = str(idx)
            if w > result[idx]:
                result[idx] = w
    return result


token_weights = outputs[1].squeeze(-1)
lexical_weights = list(
    map(process_token_weights, token_weights, inputs["input_ids"].tolist())
)

Export ONNX weights

You can export ONNX weights with the provided export_onnx_int8.py ONNX weight export script which leverages HF Optimum. If needed, you can modify the model configuration to for example remove embedding normalization or to not output all three embedding representations. If you modify the number of output representations, you need to also modify the ONNX output config BGEM3OnnxConfig in export_onnx_int8.py.

First, install needed Python requirements as follows:

pip install -r requirements.txt

Then you can export ONNX weights as follows:

python export_onnx.py --opset 17 --device cpu --optimize O2

You can read more about the optional optimization levels here.

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
XLMRobertaModel
Ревизия весов
2b34e84

0 моделей