GOAT mmBERT YAT Base Contrastive 10K
мультиязычный энкодер для поиска и эмбеддингов
GOAT — мультиязычный энкодер текста и кода от mlnomad. Это контрастивный чекпоинт после 10 000 шагов, инициализированный из MLM-модели GOAT checkpoint 379079. Около 281,8 млн параметров вместе с сохранённой MLM-головой, 768-мерные эмбеддинги, 22 слоя transformer, GOAT-input attention и YATGLU feed-forward блоки.
⚙ Ключевые особенности
- 🌐 Обучение на смеси MS MARCO, Global Voices bitext, CodeSearchNet и восьми языковых источников MIRACL.
- 🧬 Symmetric cosine InfoNCE с temperature 0.05, in-batch negatives, mined negatives и маскированием дублей и известных позитивов.
- 📀 10 000 optimizer updates, global batch 128, AdamW, peak LR 3e-5, 200 warmup и cosine schedule.
- 🔎
model.poolвозвращает mean-pooled нормализованные эмбеддинги; max length 512, position capacity 8192. - 🫡 Step 4 000 был лучшим чекпоинтом, прошедшим все development regression gates; step 10 000 завершил расписание и прошёл полный набор бенчмарков.
💡 Пример
import jax.numpy as jnp
from flax import nnx
from flaxchat.hub import from_pretrained
repo = "mlnomad/goat-mmbert-yat-base-contrastive-10k"
model = from_pretrained(repo)
pool = nnx.jit(lambda encoder, ids: encoder.pool(ids))
# ids — int32-массив формы (batch, 512)
embeddings = pool(model, jnp.asarray(ids))
Подробнее
English MTEB: 45.93; multilingual MTEB: 42.61 по восьми категориям; CoIR: 34.25; MIRACL hard-negative retrieval: 24.51.Инференс проверен на TPU v5e с MTEB 2.21.8, max length 512, batch 16 и FP32 L2-нормализацией.
Ограничения: полный аудит пересечения train/benchmark пока не выполнен; по опубликованным метрикам модель уступает предыдущей YAT embedding v1.
Лицензия MIT для реализации и весов; данные сохраняют лицензии источников.








Комментарии