/ Модель

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

Контекст
512 токенов
Параметры
534 млн
Лицензия
Apache 2.0
Архитектура
deberta-v2 · dense
Базовая модель
ai-text-detector-v1.01
Библиотека
transformers
Опубликована
4 апр 2026

oculus-v2.0-multilingual

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

Многоязычный классификатор Hastewire оценивает вероятность того, что текст был создан ИИ.

2 019скачиваний за 30 дней0лайковвеса обновлены4 апр 2026

Бенчмарки

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

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

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

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

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

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

Oculus 2.0 Multilingual AI Text Detector — многоязычный классификатор, разработанный Hastewire для определения текстов, созданных ИИ. Модель дообучена на базе DeBERTa-v3-large; по метаданным репозитория она содержит 533,8 млн параметров и поддерживает контекст до 512 токенов. Архитектура включает mean pooling и линейный классификатор, а результат представляет собой вероятность от 0 до 1, где 1 означает текст, созданный ИИ.

Модель предназначена для проверки авторства текстов на восьми языках. В README указано обучение дистилляцией по мягким меткам GPTZero на 12 886 текстах; среди представленных генераторов — модели GPT, Gemini, DeepSeek, Grok и Claude. Для английского, испанского и португальского README приводит метрики точности, полноты и ложноположительной доли, а также сообщает о стресс-тесте на новых текстах от GPT-5.4, Claude Sonnet 4 и Gemini 2.5 Pro.

Репозиторий распространяется по лицензии Apache-2.0. Результат является оценкой классификатора, а не доказательством происхождения текста; приведённые в карточке метрики не охватывают все языки и условия использования, поэтому оценку следует интерпретировать с учётом возможных ошибок.

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

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

Ограничения

Классификатор может ошибаться, поэтому его оценка не подтверждает авторство текста. В README метрики приведены только для части языков и описанных тестовых условий; контекст ограничен 512 токенами.

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

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

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

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

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

Открыть на Hugging Face

Oculus 2.0 Multilingual AI Text Detector

A fine-tuned DeBERTa-v3-large model for detecting AI-generated text across 8 languages.

Supported Languages

LanguageCodeAccuracyRecallFPR
Englishen91.0%89.8%0.2%
Spanishes97.2%96.2%1.0%
Portuguesept99.0%100.0%3.0%
Catalanca99.9%99.8%0.0%
Valencianva100.0%100.0%0.0%
Germande100.0%100.0%0.0%
Frenchfr100.0%100.0%0.0%
Italianit100.0%100.0%0.0%

Stress Test (Unseen Models)

100% recall across all 8 languages on fresh text from GPT-5.4, Claude Sonnet 4, and Gemini 2.5 Pro.

Model Architecture

  • Base: DeBERTa-v3-large (434M parameters)
  • Head: Mean pooling + linear classifier (hidden_size to 1)
  • Output: Sigmoid probability [0, 1] where 1 = AI-generated

Training

  • Method: Knowledge distillation from GPTZero soft labels
  • Loss: Composite (0.5 KL + 0.3 BCE + 0.2 MSE)
  • Data: 12,886 texts across 8 languages
  • AI Models Represented: GPT-5.2, GPT-5.4, GPT-4o-mini, Gemini-3-flash, DeepSeek-v3.2, Grok, Claude Opus, o4-mini
  • Epochs: 5 (best at epoch 5)
  • Learning Rate: 2e-6 with cosine warmup

Usage

import torch
from transformers import AutoTokenizer, AutoConfig, AutoModel, PreTrainedModel
import torch.nn as nn

class DesklibAIDetectionModel(PreTrainedModel):
    config_class = AutoConfig
    def __init__(self, config):
        super().__init__(config)
        self.model = AutoModel.from_config(config)
        self.classifier = nn.Linear(config.hidden_size, 1)
        self.init_weights()

    def forward(self, input_ids=None, attention_mask=None, **kwargs):
        outputs = self.model(input_ids=input_ids, attention_mask=attention_mask)
        last_hidden = outputs[0]
        mask_expanded = attention_mask.unsqueeze(-1).expand(last_hidden.size()).float()
        sum_embeddings = torch.sum(last_hidden * mask_expanded, dim=1)
        sum_mask = torch.clamp(mask_expanded.sum(dim=1), min=1e-9)
        pooled = sum_embeddings / sum_mask
        pooled = pooled.to(self.classifier.weight.dtype)
        logits = self.classifier(pooled)
        return {"logits": logits}

# Load
tokenizer = AutoTokenizer.from_pretrained("danibor/oculus-2.0-multilingual")
model = DesklibAIDetectionModel.from_pretrained("danibor/oculus-2.0-multilingual")

# Predict
text = "Your text here..."
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512, padding="max_length")
with torch.no_grad():
    logits = model(**inputs)["logits"].squeeze(-1)
    prob = torch.sigmoid(logits).item()

print(f"AI probability: {prob:.4f}")
print(f"Classification: {'AI' if prob >= 0.5 else 'Human'}")

Built by

Hastewire - AI Detection Research

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей