winzling-embed-SauerkrautLM-MoEdernColBERT-1.5M
крошечный ColBERT-реранкер с русской лексикой
Это отредактированный q8 ONNX-граф мультиязычного ColBERT-реранкера от kyr0 на базе VAGOsolutions/SauerkrautLM-MoEdernColBERT-1.5M. Модель весит 2,26 МБ, работает на CPU и поддерж��вает de, en, es, nl, fr, it, pt и ru.
🔥 Ключевые особенности
- 🔥 2,26 МБ в int8 q8 ONNX — на 64% меньше fp32-графа на 6,29 МБ; в Brotli — 1,87 МБ.
- 🐱 Добавлено 11 998 кириллических токенов: доля токенов <unk> на отложенном русском тексте падает с 42,6% до 1,4%.
- ✅ Работает без GPU: top-25 пассажей ранжируются за 89 мс в Node.js и за 161 мс в браузере через WebAssembly на одном потоке CPU.
- 🔮 Качество: NanoBEIR English — 0,597 nDCG@10 против 0,591 у fp32; GermanDPR и GermanQuAD лучше исходного q8, LegalQuAD немного ниже.
- 💻 Для текста без кириллицы token ids и векторы остаются бит-в-бит такими же, как у weight edit.
💻 Пример
import { createColbertReranker } from 'defuss-vectorsearch/onnx.js';
const r = createColbertReranker({ model: '1.5m' });
const docs = ['Эльбрус высотой 5642 метра.', 'Paris is the capital of France.'];
const [best] = await r.rerank('Самая высокая гора России?', docs, { topK: 1 });
console.log(docs[best.index]);
Подробнее
📌 ПодробнееБенчмарки: NanoBEIR English — 0,597 nDCG@10; Belebele ru — 0,072 → 0,681; MIRACL-ru — 0,013 → 0,350.
Железо: только CPU; top-25 пассажей за 89 мс в Node.js и 161 мс в браузере WASM на одном потоке Apple M5 Max.
Ограничения: вход до 512 позиций; новые ID до 41 999 требуют этот граф и новый tokenizer; код с vocabulary 30 002 нужно обновить.
q8 уменьшает размер загрузки, но не ускоряет inference: вычисления идут в fp32.








Комментарии