Финуниверситет — Информационная безопасность

Детекция AI-сгенерированного контента в ВКР: модель, метрики и защита результата

27 марта 2026 года TechCrunch сообщил, что Википедия ужесточает правила в отношении AI-написанных статей: сайт «борется с проблемой текстов, сгенерированных ИИ», а его политики остаются изменяемыми. Для выпускника IT-направления это не новость из мира медиа, а готовый технический кейс: где ещё, как не в открытой энциклопедии с миллионами правок, искать датасет для обучения детектора сгенерированного текста? Если вы пишете работу по машинному обучению, ИБ или контент-модерации, тема детекции AI-контента даёт вам то, что редко встретишь в учебных задачах — реальную бизнес-мотивацию, внятные метрики и защищаемый практический результат. Ниже — как превратить эту новость в структуру ВКР, которая выдержит вопросы комиссии.

Темы ВКР и техническая реализация: единый блок

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

ТемаАктуальность (от статьи)Цель и задачиГлавы
1. Классификатор AI-сгенерированных текстов на базе transformers Википедия вводит правила, но их нужно автоматически контролировать — ручная модерация не масштабируется на миллионы правок. Цель: модель бинарной классификации «человек / ИИ». Задачи: собрать датасет, обучить и сравнить 2–3 архитектуры, посчитать метрики, оценить устойчивость к перефразированию. Гл.1 — анализ подходов (perplexity, burstiness, watermarking, supervised-классификация). Гл.2 — пайплайн и обучение. Гл.3 — метрики и стресс-тесты.
2. Провенанс и водяные знаки контента (provenance, C2PA) Политики Википедии изменяемы — значит, нужны технические маркеры авторства, а не только правила. Цель: прототип сервиса проверки происхождения текста/медиа. Задачи: изучить стандарты провенанса, спроектировать API, реализовать верификацию, оценить ложноположительные срабатывания. Гл.1 — теория провенанса и watermarking. Гл.2 — архитектура сервиса (C4, UML). Гл.3 — тестирование и метрики.
3. Дашборд мониторинга AI-генерации в редакторском пайплайне Модераторам нужен инструмент, который показывает всплески AI-правок, а не только бинарный флаг «ИИ/не ИИ». Цель: панель мониторинга с метриками качества контента и задержек. Задачи: спроектировать схему хранения, настроить сбор метрик, построить визуализации, рассчитать стоимость инференса. Гл.1 — обзор observability-подходов. Гл.2 — реализация и интеграция. Гл.3 — оценка по ISO/IEC 25010.

Как встроить материал статьи в главы 1–3

Первую главу почти всегда отдают теории. Здесь статья TechCrunch работает как кейс-иллюстрация: сослались на конкретное событие, описали проблему, развернули её в перечень подходов к детекции, добавили классификацию методов. Не забудьте сравнить подходы через призму ISO/IEC 25010 — точность, надёжность, производительность, сопровождаемость. Комиссия любит, когда студент не просто «выбрал BERT», а объяснил выбор через измеримые характеристики качества.

Вторая глава — проектирование и реализация. Диаграммы лучше строить в нотации C4 (уровни контекста и контейнеров) для архитектуры сервиса и UML sequence — для потока «пользователь отправил текст → детектор → вердикт». Не рисуйте всё в одном стиле; смешение C4 и UML требует пояснения легенды.

Третья глава — эксперименты. Здесь считаем вероятность ложного обвинения человека в использовании ИИ. Для модерации это критично: ложняк бьёт по репутации платформы, пропуск ИИ — по качеству контента. Так строится ROC-кривая и выбирается порог.

Пример кода: обучение детектора

from transformers import AutoTokenizer, AutoModelForSequenceClassification, Trainer, TrainingArguments
from datasets import load_dataset
import evaluate, numpy as np

ds = load_dataset("json", data_files={"train": "train.jsonl", "test": "test.jsonl"})
tok = AutoTokenizer.from_pretrained("distilbert-base-multilingual-cased")

def prep(batch):
    return tok(batch["text"], truncation=True, padding="max_length", max_length=512)

ds = ds.map(prep, batched=True)
model = AutoModelForSequenceClassification.from_pretrained(
    "distilbert-base-multilingual-cased", num_labels=2)

f1 = evaluate.load("f1")
def metrics(p):
    pred = np.argmax(p.predictions, axis=-1)
    return {"f1": f1.compute(predictions=pred, references=p.label_ids, average="binary")["f1"]}

args = TrainingArguments(output_dir="./detector", num_train_epochs=3,
                         per_device_train_batch_size=16, eval_strategy="epoch",
                         learning_rate=2e-5, seed=42)

Trainer(model=model, args=args, train_dataset=ds["train"],
        eval_dataset=ds["test"], compute_metrics=metrics).train()

Такой скрипт занимает полстраницы и отлично смотрится в приложении к ВКР. Не забудьте указать seed, версию библиотек и гиперпараметры — воспроизводимость результата это первое, о чём спросят на защите.

Метрики, которые стоит считать

МетрикаЧто показываетТипичный порог для модерации
PrecisionДоля верных срабатываний среди всех «ИИ»> 0,90
RecallДоля найденных AI-текстов> 0,85
F1Баланс precision и recall> 0,88
ROC-AUCРазделяющая способность модели> 0,95
Latency p95Задержка инференса< 300 мс

Чему вы научитесь

FAQ

Где взять датасет, если нет доступа к вики-правкам?

Публичные корпуса: HC3, M4, SemEval-2024 Task 8 (machine-generated text detection), плюс самостоятельно собранный набор из открытых текстов и генераций через доступные LLM. Для защиты достаточно 5–10 тысяч примеров на класс, если вы корректно описали сбор и разметку.

Можно ли использовать готовые детекторы?

Можно и нужно как baseline. Сравнение собственной модели с готовым решением — это фактически вторая часть вашей исследовательской работы. Не выдавайте готовое за своё, но и не бойтесь на него опираться.

Как связать эту тему с ИБ или DevOps?

Прямо: детектор — часть контент-модерации, а это защита доверия к платформе. DevOps-профиль подхватывает мониторинг, CI/CD модели, versioning датасетов и артефактов. ИБ-профиль — вопросы отравления обучающих данных (data poisoning) и adversarially-устойчивости классификатора.

Хватит ли одного ноутбука для обучения?

Да, если взять distilbert или небольшой RuBERT и обучать на GPU вроде T4. Обучение на 10 тысячах примеров занимает 20–40 минут. В приложении укажите облако или локальную конфигурацию — воспроизводимость важнее «мощности».

Что проверить перед сдачей
  1. Каждая задача из введения отражена в выводах по главам и в заключении.
  2. Схемы (C4, UML) согласованы между собой и подписаны по ГОСТ.
  3. Метрики посчитаны на отложенной выборке, а не на обучающей.
  4. Указаны seed, версии библиотек и гиперпараметры.
  5. Ссылки на источники и на статью TechCrunch оформлены корректно.
  6. Приложения с кодом и таблицами вынесены отдельно и упомянуты в тексте.
  7. Проверена уникальность текста и отсутствие следов неотредактированной генерации.
Типичные ошибки студентов

1. Оценка на обучающей выборке. F1 = 0,99 в отчёте и развал на защите, потому что модель просто запомнила примеры. Используйте train/val/test split и честно указывайте метрики на тесте.

2. Игнорирование дрейфа данных. Модели генерации обновляются, а значит, детектор устаревает — ровно та причина, по которой Википедия говорит об «изменяемых политиках». Добавьте раздел о периодическом дообучении.

3. Отсутствие связи с постановкой задачи. Если цель — «снизить долю AI-контента», значит в выводах должно быть число: на сколько процентов снизили и как это измерено.

Если до сдачи остаётся мало времени, а структура работы ещё не сложилась, вы можете обсудить тему с профильным специалистом: консультация бесплатная, а в среднем на подготовку раздела уходит около 120 часов работы. Помощь с дипломом охватывает и подбор темы, и реализацию, и оформление — по любому направлению IT.

Материал подготовлен экспертами компании [Название сайта]. Мы помогаем студентам с 2010 года: от выбора темы до защиты. Если вам нужна помощь в разработке темы или оформлении работы, наши специалисты готовы подсказать.

Последнее обновление: 2026-09-28

Источник: Wikipedia cracks down on the use of AI in article writing (опубликовано 2026-03-26)