/ Модель

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

Контекст
514 токенов
Параметры
305 млн
Лицензия
Apache 2.0
Архитектура
xlm-roberta · dense
Базовая модель
xlm-roberta-base
Библиотека
transformers
Опубликована
12 дек 2025

Nickup-Swallow-v2

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

Многоязычная модель XLM-RoBERTa для классификации и фильтрации спама, рекламы и другого нежелательного текстового содержимого.

48скачиваний за 30 дней1лайквеса обновлены12 дек 2025

Бенчмарки

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

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

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

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

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

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

Nickup Swallow v2 — многоязычная модель классификации текста от NickupAI, созданная на основе FacebookAI/xlm-roberta-base и дообученная для фильтрации спама, рекламных сообщений и цифрового шума. Её можно использовать как предварительный фильтр перед передачей текстов более крупной языковой модели.

Модель построена на XLM-RoBERTa и содержит 305,2 млн параметров по метаданным Hugging Face; README приводит оценку 270 млн. Заявлены оптимизация для более быстрой работы и меньшего потребления памяти, в том числе на CPU и мобильных устройствах, а также точность около 90,5% по оценке авторов. Поддерживаемые языки включают английский, русский, китайский, немецкий, испанский, французский, японский, итальянский, португальский и арабский; контекст — до 514 токенов.

Результаты классификации в примерах README представлены метками LABEL_0 и LABEL_1, включая категорию USELESS, поэтому назначение меток следует сверить с кодом или настройками использования. Заявленные показатели качества не сопровождаются описанием набора данных и протокола оценки. Лицензия — Apache-2.0.

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

  • фильтрация спама перед передачей текста в LLM
  • выявление рекламных сообщений
  • отсев цифрового шума и бессмысленных строк
  • классификация нежелательных текстов в многоязычных потоках

Ограничения

README не описывает обучающий набор данных и протокол оценки, поэтому заявленную точность около 90,5% трудно независимо оценить. Назначение выходных меток LABEL_0 и LABEL_1 требует проверки перед внедрением.

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

🦅 Nickup Swallow (v2) - Optimized Edition

"Focused Filtering for Efficient Deployment."

Nickup Swallow v2 is a refined, optimized version of our multilingual text classification model. While many classification models exist, V2 focuses specifically on reducing memory footprint and enhancing inference latency for production environments where resource allocation is critical.

This model is ideal for acting as a robust Gatekeeper to filter aggressive spam, promotional content, and digital junk before data reaches larger Language Models (LLMs).

✨ Key Advantages

  • 📏 Resource Reduction: Achieved a 50% reduction in model size (270M parameters) compared to the original V1 (550M).
  • 🌍 Multilingual Coverage: Based on the strong, multilingual foundation of the XLM-RoBERTa-Base architecture.
  • 🎯 Enhanced Robustness: The training process led to significant functional improvements, particularly in achieving high confidence on verifiable spam while maintaining stable judgment on ambiguous content.
  • ⏱️ High Latency Gain: Optimized for faster inference speed on standard CPU and mobile hardware due to its compact size.

📊 Performance Comparison

MetricV1 (Large)V2 (Optimized)Notes
Model Size550M params270M paramsSubstantially reduced memory requirement.
Accuracy (Est.)89.32%~90.5%Achieved comparable or better accuracy on the downstream task.
Base ArchitectureXLM-RoBERTa-LargeXLM-RoBERTa-Base

🧪 Comparative Analysis (Functionality Check)

We compare V2's performance against V1 on critical filtering cases:

Input TextV1 Verdict (550M)V2 Verdict (270M)V2 Useless ConfidenceFunctional Result
"Срочно! Уникальный товар: https://tinyurl.com/sale_forever..."LABEL_0 (0.25%)🗑️ USELESS99.51%V2 Superiority: Achieved near-perfect confidence on malicious spam.
"98523498230578509375023957029578239057239057"LABEL_0 (1.30%)🗑️ USELESS98.56%Correctly flags raw digital noise as high-priority junk.
"Привет, как дела? Что ешь?"LABEL_1 (65.45%)🗑️ USELESS86.34%Pragmatic Filtering: Correctly categorizes conversational filler as non-factual (USELESS).
"Солнце в 330 тысяч раз массивнее Земли..."LABEL_1 (98.99%)✅ USEFUL99.77%Both models confidently preserve valuable facts.

💻 Usage

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch.nn.functional as F
import torch

# Load from Hugging Face
model_name = "NickupAI/Nickup-Swallow-v2" # Recommended path

# Load the model and tokenizer (V2 uses clear labels: 0=USELESS, 1=USEFUL)
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)
device = "cuda" if torch.cuda.is_available() else "cpu"
model.to(device).eval()


def classify(text, threshold=0.90):
    """Classifies text and returns verdict based on a defined confidence threshold."""
    inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512).to(device)
    with torch.no_grad():
        outputs = model(**inputs)
        probs = F.softmax(outputs.logits, dim=-1)
    
    # Label 0 = USELESS/Spam (the target class for filtering)
    useless_prob = probs[0][0].item()
    useful_prob = probs[0][1].item()
    
    # Applying the pragmatic filtering threshold (90% confidence required to block)
    if useless_prob > threshold: 
        return f"⛔ Blocked (Useless Confidence: {useless_prob:.2%})"
    else:
        return f"✅ Allowed (Useful Confidence: {useful_prob:.2%})"

# Example usage
text_spam = "BUY CRYPTO NOW! Click this link to get rich: https://scam-link.net"
text_fact = "The most popular Linux distribution used for servers is generally Ubuntu or CentOS."

print(classify(text_spam))
print(classify(text_fact))

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей