/ Модель

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

Контекст
512 токенов
Параметры
534 млн
Лицензия
MIT
Архитектура
deberta-v2 · dense
Опубликована
4 дек 2025

FinDeBERTa

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

Модель классифицирует финансовые новостные заголовки по одному или нескольким из 18 типов событий.

114скачиваний за 30 дней2лайкавеса обновлены4 дек 2025

Бенчмарки

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

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

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

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

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

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

FinDeBERTa — модель на базе DeBERTa-v3-Large, дообученная для многометочной классификации финансовых новостных заголовков. Она относит текст к одному или нескольким из 18 типов событий, включая дивиденды, занятость, слияния и поглощения, финансовую отчётность, юридические события и изменения стоимости ценных бумаг.

Модель имеет 533,8 млн параметров, использует архитектуру DeBERTa-v2 для классификации последовательностей и поддерживает контекст до 512 токенов. При обучении применялись Focal Loss и подбор порогов отдельно для каждого класса. В README указаны Macro F1 0,692 и Micro F1 0,691; результаты различаются по категориям событий.

Модель предназначена для автоматической разметки коротких финансовых новостей и может использоваться для мониторинга событий и сортировки публикаций по типам. Она оптимизирована для заголовков финансовых новостей и может хуже работать на длинных текстах и в других предметных областях; редкие классы распознаются менее надёжно. Лицензия — MIT.

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

  • Разметка заголовков финансовых новостей по типам событий
  • Поиск новостей о дивидендах и финансовой отчётности
  • Выявление сообщений о слияниях и поглощениях
  • Мониторинг юридических событий и изменений рейтингов
  • Сортировка финансовых публикаций по инвестиционным и рыночным событиям

Ограничения

Модель оптимизирована для коротких заголовков финансовых новостей и может хуже обобщаться на другие области или длинные тексты. Качество различается по типам событий; редкие категории распознаются менее надёжно.

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

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

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

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

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

Открыть на Hugging Face

FinDeBERTa: Multi-Label Financial Event Classifier

FinDeBERTa is a fine-tuned DeBERTa-v3-Large model for multi-label financial event classification. It predicts one or more event types from financial news headlines with state-of-the-art performance.

Model Details

  • Base Model: microsoft/deberta-v3-large
  • Task: Multi-label text classification
  • Training: Fine-tuned with Focal Loss and per-class threshold optimization

Event Labels

The model classifies text into 18 financial event types:

["CSR/Brand", "Deal", "Dividend", "Employment", "Expense", "Facility",
 "FinancialReport", "Financing", "Investment", "Legal", "Macroeconomics",
 "Merger/Acquisition", "Product/Service", "Profit/Loss", "Rating", "Revenue",
 "SalesVolume", "SecurityValue"]

Usage

Optimized Usage (with per-class thresholds) (Recommended)

For best performance, use the per-class optimized thresholds:

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
import numpy as np
from huggingface_hub import hf_hub_download

model_name = "ritessshhh/FinDeBERTa"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

# Download per-class thresholds
thresholds_path = hf_hub_download(repo_id=model_name, filename="thresholds.npy")
thresholds = np.load(thresholds_path)

text = "Tesla to acquire a battery startup in a 400 million dollar deal."
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)

with torch.no_grad():
    outputs = model(**inputs)
    probs = torch.sigmoid(outputs.logits)[0].cpu().numpy()

# Apply per-class thresholds
predictions = [
    {"label": model.config.id2label[i], "score": float(prob)}
    for i, prob in enumerate(probs) if prob >= thresholds[i]
]

# Sort by score
predictions = sorted(predictions, key=lambda x: x["score"], reverse=True)
print(predictions)
# Output: [{"label": "Merger/Acquisition", "score": 0.98}, ...]

Basic Usage (with default threshold)

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
import numpy as np

model_name = "ritessshhh/FinDeBERTa"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

text = "Tesla to acquire a battery startup in a 400 million dollar deal."
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)

with torch.no_grad():
    outputs = model(**inputs)
    probs = torch.sigmoid(outputs.logits)[0].cpu().numpy()

# Using default threshold of 0.5
threshold = 0.5
predictions = [
    {"label": model.config.id2label[i], "score": float(prob)}
    for i, prob in enumerate(probs) if prob >= threshold
]

print(predictions)

Training Details

  • Loss Function: Focal Loss (gamma=2.0) with dampened class weights
  • Optimizer: AdamW with cosine learning rate scheduling
  • Batch Size: 8 (with gradient accumulation steps=2)
  • Epochs: 10
  • Learning Rate: 2e-5
  • Weight Decay: 0.02

Performance

MetricScore
Macro F10.692
Micro F10.691
Precision (Macro)0.738
Recall (Macro)0.691
Exact Match Ratio0.532

Per-Class Performance

LabelF1 ScorePrecisionRecall
Dividend1.0001.0001.000
Employment0.9230.8571.000
Merger/Acquisition0.8920.9670.829
Profit/Loss0.8330.8240.843
SecurityValue0.8290.8430.815
Rating0.7900.8000.780
Revenue0.7800.8000.762
SalesVolume0.7480.8330.678
Financing0.7140.7140.714
Deal0.6960.8890.571

Limitations

  • Optimized for financial news headlines (short text)
  • May not generalize well to other domains
  • Performance varies by event type (rare events like "Facility" have lower F1)

Citation

If you use this model, please cite:

@misc{findeberta2024,
  author = {ritessshhh},
  title = {FinDeBERTa: Multi-Label Financial Event Classifier},
  year = {2024},
  publisher = {HuggingFace},
  howpublished = {\url{https://huggingface.co/ritessshhh/FinDeBERTa}}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
DebertaV2ForSequenceClassification
Ревизия весов
1a6206f

0 моделей