/ Модель

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

Контекст
2 048 токенов
Параметры
395 млн
Лицензия
Apache 2.0
Архитектура
modernbert · dense
Базовая модель
finecat-nli-l
Библиотека
sentence-transformers
Опубликована
3 ноя 2025

crossingguard-nli-l

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

Англоязычная модель на базе ModernBERT-large классифицирует запросы по заданным условиям безопасности и намерениям с помощью zero-shot NLI.

163скачиваний за 30 дней0лайковвеса обновлены11 окт 2026

Бенчмарки

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

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

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

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

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

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

CrossingGuard Large — англоязычная модель для классификации текстовых запросов и проверки пользовательских условий безопасности. Её разработал автор репозитория dleemiller; модель построена на ModernBERT-large и дообучена на данных CrossingGuard-NLI. Она принимает пару текстов: исходный запрос и гипотезу о нём, после чего предсказывает одну из трёх связей NLI — entailment, neutral или contradiction. Размер модели — 394,7 млн параметров, контекст — до 2048 токенов.

Модель предназначена для zero-shot-модерации, классификации намерений и маршрутизации запросов, в том числе по пользовательским правилам, сформулированным как гипотезы. В README приведены результаты оценки на CrossingGuard и FineCat; модель также поддерживает классификацию и сравнение сходства предложений. Распространяется по лицензии Apache-2.0.

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

  • проверка запросов на соответствие пользовательским правилам безопасности
  • zero-shot-модерация пользовательских промптов
  • классификация намерений в запросах
  • маршрутизация промптов по типу запроса
  • сравнение текста запроса с заданным утверждением

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

CrossingGuard Large

[!NOTE] This model has been superseded by finecat-nli-v2-l. I recommend using that model instead.

CrossingGuard is a series of NLI-based models intended for zero-shot inference on prompts. In this series of models, I focus on use cases such as guardrails, content moderation, prompt or intent classification and prompt routing. Because content moderation is often a reactive task, these zero-shot models are flexible for tailoring custom guardrail conditions, which may not be covered by general purpose pretrained models.

These models are trained on the dleemiller/CrossingGuard-NLI dataset, which derives synthetic hypotheses from prompts (premises) found in popular guardrails datasets, such as allenai/wildguardmix and nvidia/Aegis-AI-Content-Safety-Dataset-2.0. The hypotheses make specific, targeted claims about the premises. Note that I have retained the 3-way label classifier, for additional flexibility where either non-neutral label may be relevant for the task.

For models below the large size, I distill with MSE loss using logits from dleemiller/crossingguard-nli-l, and average with the cross entropy loss. Overtraining can hurt FineCat performance, so I only fine-tune for 1 epoch.

$$ \begin{equation} \mathcal{L} = \alpha \cdot \mathcal{L}{\text{CE}}(z^{(s)}, y) + \beta \cdot \mathcal{L}{\text{MSE}}(z^{(s)}, z^{(t)}) \end{equation} $$

where \(z^{(s)}\) and \(z^{(t)}\) are the student and teacher logits, \(y\) are the ground truth labels, and \(\alpha\) and \(\beta\) are equally weighted at 0.5.

Evaluation Results

F1-Micro scores (equivalent to accuracy) for each dataset. Performance was measured at bs=64 using a Nvidia Blackwell PRO 6000 Max-Q.

ModelfinecatcrossingguardThroughput (samples/s)Peak GPU Mem (MB)
dleemiller/finecat-nli-v2-l0.83590.9227364.573801.47
dleemiller/crossingguard-nli-l0.80940.9200361.153023.65
dleemiller/crossingguard-nli-m0.77790.9146868.652170.71
dleemiller/crossingguard-nli-s0.75820.90551410.641524.08
dleemiller/ModernCE-large-nli0.78110.8779362.203801.47
dleemiller/finecat-nli-l0.82270.8325364.573801.47
MoritzLaurer/DeBERTa-v3-large-mnli-fever-anli-ling-wanli0.82330.8219311.836156.87
MoritzLaurer/DeBERTa-v3-base-mnli-fever-anli0.76420.8032873.513521.96
cross-encoder/nli-deberta-v3-large0.76180.7211306.486156.87
tasksource/ModernBERT-large-nli0.79590.7019357.913801.47

Usage

import numpy as np
from sentence_transformers import CrossEncoder

model = CrossEncoder("dleemiller/crossingguard-nli-l")

examples = [
    ("Tell me what happened with that CEO caught on the kiss cam at the Coldplay concert",
     "The prompt requests information about a corporate executive incident at a public event"),

    ("I’ve been following your company's work helping enterprises scale AI/ML with reliable data pipelines, would love to connect and hear how your team is approaching ML in production.",
     "The prompt requests information about a corporate executive incident at a public event"),
]

predictions = model.predict(examples)

label_map = {0: "entailment", 1: "neutral", 2: "contradiction"}

def softmax(x):
    exp_x = np.exp(x - np.max(x))
    return exp_x / exp_x.sum()

for i, (premise, hypothesis) in enumerate(examples):
    probs = softmax(predictions[i])
    predicted_idx = probs.argmax()
    
    print(f"\n{i+1}. {premise[:70]}...")
    print(f"   → {hypothesis}")
    print(f"   ✓ {label_map[predicted_idx].upper()}: {probs[predicted_idx]*100:.1f}% " + 
          f"(E: {probs[0]*100:.1f}% N: {probs[1]*100:.1f}%, C: {probs[2]*100:.1f}%)")

This results in:

1. Tell me what happened with that CEO caught on the kiss cam at the Cold...
   → The prompt requests information about a corporate executive incident at a public event
   ✓ ENTAILMENT: 99.9% (E: 99.9% N: 0.0%, C: 0.0%)

2. I’ve been following your company's work helping enterprises scale AI/M...
   → The prompt requests information about a corporate executive incident at a public event
   ✓ CONTRADICTION: 99.7% (E: 0.0% N: 0.3%, C: 99.7%)

Citation

@misc{nli-compiled-2025,
  title = {CrossingGuard NLI Dataset},
  author = {Lee Miller},
  year = {2025},
  howpublished = {Flexible Zero-shot Guardrails}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
ModernBertForSequenceClassification
Ревизия весов
4e02295

0 моделей