/ Модель

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

Контекст
512 токенов
Параметры
162 млн
Лицензия
MIT
Архитектура
bert · dense
Базовая модель
bert-base-arabertv02
Библиотека
RAGatouille
Опубликована
14 июл 2024

Arabic-ColBERT-100K

Сходство предложенийТекст → score

Дообученная арабская ColBERT-модель для поиска и ранжирования документов по смысловому соответствию запросу.

100скачиваний за 30 дней4лайкавеса обновлены15 авг 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Arabic-ColBERT-100k — первая версия арабской модели ранжирования документов, созданная разработчиком akhooli на основе aubmindlab/bert-base-arabertv02. Модель дообучена с помощью RAGatouille на 100 тысячах отфильтрованных триплетов из набора арабских триплетов объёмом один миллион примеров; данные обогащены оценками сходства. Архитектура — ColBERT на базе BERT, размер — 162,4 млн параметров, максимальная длина контекста — 512 токенов.

Модель предназначена для поиска и ранжирования арабских документов по запросу, в том числе в системах RAG. Для лучших результатов автор рекомендует использовать арабский текст и разбивать документы на фрагменты. README отмечает, что доступны более новые версии модели с большим объёмом обучения. Лицензия — MIT.

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

  • Поиск арабских документов по запросу
  • Ранжирование фрагментов документов для RAG
  • Оценка смыслового соответствия арабских предложений
  • Поиск релевантных отрывков в арабском корпусе

Ограничения

Это первая версия; автор указывает, что доступны более сильные модели на 250 тысячах и 711 тысячах примеров. Для лучших результатов рекомендуется подавать арабский текст и разбивать документы на фрагменты; контекст ограничен 512 токенами.

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

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

Открыть на Hugging Face

Arabic-ColBERT-100k

First version of Arabic ColBERT (better models are available now - see the 250k and 711k ones). This model was trained on 100K filtered triplets of the akhooli/arabic-triplets-1m-curated-sims-len which has 1 million Arabic (translated) triplets. The dataset was curated from different sources and enriched with similarity score. More details on the dataset are available in the data card.

Training used the Ragatouille library using a 2-GPU Kaggle account with aubmindlab/bert-base-arabertv02 as base model.

If you downloaded the model before July 27th 8 pm (Jerusalem time), please try the current version. Use the Ragatouille examples to learn more, just replace the pretrained model name and make sure you use Arabic text and split documents for best results.

You can train a better model if you have access to adequate compute (can finetune this model on more data, seed 42 was used tp pick the 100K sample).

Training script

from datasets import load_dataset
from ragatouille import RAGTrainer
sample_size = 100000
ds = load_dataset('akhooli/arabic-triplets-1m-curated-sims-len', split="train", trust_remote_code=True, streaming=True)

# some data processing not in this script (data filtered based on similarity scores) and 100K selected at random
sds = ds.shuffle(seed=42, buffer_size=10_000)
dsf = sds
triplets = []
for item in iter(dsf):
  triplets.append((item["query"], item["positive"], item["negative"]))
trainer = RAGTrainer(model_name="Arabic-ColBERT-100k", pretrained_model_name="aubmindlab/bert-base-arabertv02", language_code="ar",)
trainer.prepare_training_data(raw_data=triplets, mine_hard_negatives=False)

trainer.train(batch_size=32,
    nbits=4, # How many bits will the trained model use when compressing indexes
    maxsteps=3125, # Maximum steps hard stop
    use_ib_negatives=True, # Use in-batch negative to calculate loss
    dim=128, # How many dimensions per embedding. 128 is the default and works well.
    learning_rate=1e-5, # Learning rate, small values ([3e-6,3e-5] work best if the base model is BERT-like, 5e-6 is often the sweet spot)
    doc_maxlen=256, # Maximum document length. Because of how ColBERT works, smaller chunks (128-256) work very well.
    use_relu=False, # Disable ReLU -- doesn't improve performance
    warmup_steps="auto", # Defaults to 10%
    )

Install datasets and ragatouille first. Last checkpoint is saved in .ragatouille/..../colbert

Model first announced (July 14, 2024): https://www.linkedin.com/posts/akhooli_this-is-probably-the-first-arabic-colbert-activity-7217969205197848576-l8Cy
Dataset published and model updated (July 27, 2024): https://www.linkedin.com/posts/akhooli_arabic-1-million-curated-triplets-dataset-activity-7222951839774699521-PZcw

Citation

@online{AbedKhooli,
	author    = 'Abed Khooli',
	title     = 'Arabic ColBERT 100K',
	publisher = 'Hugging Face',
	month     = 'jul',
	year      = '2024',
	url       = 'https://huggingface.co/akhooli/Arabic-ColBERT-100k',
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
HF_ColBERT
Ревизия весов
c31c1f9

0 моделей