/ Модель

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

Контекст
8 192 токена
Параметры
307 млн
Лицензия
MIT
Архитектура
modernbert · dense
Базовая модель
mmBERT-base
Опубликована
19 июн 2026

gaperon-mmbert-tamil

Классификация текстаТекст → label3 профессии

Модель оценивает качество тамильских текстов по шести параметрам, чтобы отбирать и взвешивать примеры для обучающих корпусов.

12скачиваний за 30 дней0лайковвеса обновлены19 июн 2026

Бенчмарки

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

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

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

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

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

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

gaperon-mmbert-tamil — модель классификации качества тамильского текста, разработанная для конвейера подготовки данных Gaperon. Она дообучена на jhu-clsp/mmBERT-base — многоязычном энкодере ModernBERT с 22 слоями и размером скрытого состояния 768; модель содержит около 306,9 млн параметров и поддерживает контекст до 8192 токенов. Шесть независимых классификационных голов оценивают ясность, связность, глубину, грамматику, полезность и общее качество по шкале «низкое», «среднее», «высокое».\n\nМодель предназначена для оценки, фильтрации и взвешивания тамильских текстов, например веб-документов в обучающем корпусе.

На валидации средний macro-F1 составил 0,5305; отложенная тестовая выборка не оценивалась, поэтому оценки следует считать шумным сигналом фильтрации. Обучение и оценка проводились только на тамильских текстах с соответствующей схемой разметки, и перенос на другие языки, жанры или предметные области не подтверждён. Весовые файлы распространяются по лицензии MIT; для загрузки классификационных голов требуется отдельный файл heads.pt и специальный код, они несовместимы напрямую с AutoModelForSequenceClassification.

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

  • Оценка ясности тамильских документов
  • Фильтрация веб-текстов на тамильском для обучающего корпуса
  • Оценка грамматики и связности тамильских текстов
  • Ранжирование примеров по полезности для обучения модели
  • Выявление текстов низкого качества на тамильском

Ограничения

Обучена и оценена только на тамильских текстах с конкретной схемой разметки; перенос на другие языки, жанры и области не подтверждён. Средний macro-F1 на валидации — 0,5305, тестовая выборка не оценивалась; классификационные головы требуют отдельной загрузки из heads.pt.

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

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

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

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

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

Открыть на Hugging Face

gaperon-mmbert-tamil

A multi-head text-quality classifier for Tamil, fine-tuned from jhu-clsp/mmBERT-base (a ModernBERT-architecture multilingual encoder) as part of the Gaperon data-curation pipeline. Given a passage of text, it predicts a low / medium / high rating along six quality dimensions, intended for scoring and filtering web/corpus text before it's used for further model training.

This is the best checkpoint (selected on validation mean_macro_f1) from training run mmbert_tamil_v1, saved at epoch 3.

Model description

  • Backbone: jhu-clsp/mmBERT-base (ModernBERT architecture, 22 layers, hidden size 768, 8192 max sequence length, mean pooling over token representations).
  • Heads: six independent linear heads (Linear(768 → 3)), one per label dimension, applied to the mean-pooled backbone output. Each head is a 3-way classifier over {low: 0, medium: 1, high: 2}.
  • Label dimensions: clarity, coherence, depth, grammar, usefulness, overall.

The backbone weights are in model.safetensors / config.json (standard HF format, loadable with AutoModel). The six classification heads are not part of the HF backbone class and are stored separately in heads.pt (see usage below).

Intended use

Rating the quality of Tamil text (e.g. web-scraped documents) along the six dimensions above, for filtering/weighting examples in a training corpus. Not intended as a general-purpose sentence encoder or for tasks unrelated to the quality-rating schema it was trained on.

Training data

Fine-tuned on an in-house tagged corpus of Tamil text (data_gaperon/tagged_v2/tamil), labeled with low/medium/high ratings for each of the six dimensions.

Hyperparameters

HyperparameterValue
max_length512
batch_size32
learning_rate2e-5
weight_decay0.01
dropout0.1
frozen layers0
warmup_ratio0.1
seed42

Evaluation results (best checkpoint, epoch 3)

Macro-F1 / accuracy per dimension on the validation set (no held-out test split was evaluated for this run):

DimensionVal F1Val Acc
clarity0.57340.5873
coherence0.56970.6019
depth0.47310.7970
grammar0.52760.6197
usefulness0.53980.6592
overall0.49930.6229
mean macro-F10.5305–

Usage

import torch
from huggingface_hub import hf_hub_download
from transformers import AutoModel, AutoTokenizer

repo_id = "<your-username>/gaperon-mmbert-tamil"

tokenizer = AutoTokenizer.from_pretrained(repo_id)
backbone = AutoModel.from_pretrained(repo_id)

heads_path = hf_hub_download(repo_id, filename="heads.pt")
ckpt = torch.load(heads_path, map_location="cpu")
label_dims = ckpt["label_dims"]              # ["clarity", "coherence", "depth", "grammar", "usefulness", "overall"]
label2id = ckpt["label2id"]                  # per-dimension {"low": 0, "medium": 1, "high": 2}
heads_state = ckpt["heads_state_dict"]        # one Linear(768, 3) per dimension

heads = {dim: torch.nn.Linear(768, 3) for dim in label_dims}
for dim, head in heads.items():
    head.weight.data = heads_state[f"{dim}.weight"]
    head.bias.data = heads_state[f"{dim}.bias"]
    head.eval()

backbone.eval()
text = "Your input passage here."
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
    hidden = backbone(**inputs).last_hidden_state          # (1, seq_len, 768)
    mask = inputs["attention_mask"].unsqueeze(-1)
    pooled = (hidden * mask).sum(1) / mask.sum(1)           # mean pooling

id2label = {dim: {v: k for k, v in mapping.items()} for dim, mapping in label2id.items()}
for dim, head in heads.items():
    pred_id = head(pooled).argmax(-1).item()
    print(dim, "->", id2label[dim][pred_id])

Limitations

  • Trained and evaluated only on Tamil text matching the tagging schema of the source corpus; quality ratings may not transfer to other domains or genres.
  • Lowest-resource of the three Gaperon mmBERT models trained so far (3 epochs of saved checkpoints), with the lowest mean macro-F1 (0.5305) and no held-out test evaluation — treat its outputs as a noisier filtering signal than the English/Hindi models.
  • heads.pt requires custom loading code (shown above) — it is not loadable via AutoModelForSequenceClassification.

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

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

GPU в ailist

Универсальный рантайм · text-classification

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

Подбираем GPU…

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

0 моделей