1. Введение в архитектуру LLM и принципы работы генеративного искусственного интеллекта
Введение в архитектуру LLM и принципы работы генеративного искусственного интеллекта
Добро пожаловать в курс «Основы безопасности и уязвимости больших языковых моделей». Прежде чем мы сможем обсуждать методы тестирования на проникновение, поиск уязвимостей (red teaming) или защиту моделей (blue teaming), нам необходимо фундаментально разобраться в том, как эти системы устроены. Невозможно эффективно анализировать безопасность «черного ящика», не понимая механизмов, скрытых внутри.
Многие считают, что современные нейросети, такие как GPT, GigaChat или Llama, обладают разумом или пониманием. На самом деле, это сложные вероятностные машины. В этой статье мы разберем архитектуру Трансформера, процесс токенизации и математические основы, которые превращают набор чисел в связный текст.
Что такое Большая Языковая Модель (LLM)?
Большая языковая модель (Large Language Model) — это нейронная сеть, обученная на огромном массиве текстовых данных предсказывать следующее слово (или часть слова) в последовательности.
Ключевое слово здесь — вероятность. Модель не «знает» фактов. Она знает, с какой вероятностью слово следует за словом в определенном контексте.
Токенизация: Как машина видит текст
Компьютеры не понимают буквы или слова, они понимают только числа. Поэтому первым этапом работы любой LLM является токенизация.
Токен — это единица текста, которую обрабатывает модель. Это может быть целое слово, часть слова или даже один символ. Например, слово «безопасность» может быть разбито на токены «без», «опас», «ность».
После превращения текста в последовательность чисел, эти числа преобразуются в эмбеддинги (embeddings). Эмбеддинг — это вектор (список чисел), который представляет значение токена в многомерном пространстве. Слова с похожим смыслом (например, «король» и «царь») будут иметь математически близкие векторы.
Архитектура Transformer
Современный прорыв в области ИИ произошел в 2017 году с появлением архитектуры Transformer. До этого использовались рекуррентные сети (RNN), которые читали текст последовательно, слово за словом, и часто «забывали» начало длинного предложения к его концу.
Трансформер изменил правила игры благодаря механизму, называемому Self-Attention (механизм самовнимания).
Механизм внимания (Self-Attention)
Представьте, что вы читаете предложение: «Банк заблокировал счет, потому что он был подозрительным». Чтобы понять, к чему относится слово «он» (к банку или к счету), вы интуитивно связываете слова друг с другом. Механизм внимания делает это математически.
Он позволяет модели смотреть на все слова в предложении одновременно и вычислять «вес» (важность) каждого слова по отношению к другим.
Математически механизм внимания описывается следующей формулой:
Где: * (Query) — матрица запросов. Это то, что мы ищем (текущий токен, для которого мы ищем контекст). * (Key) — матрица ключей. Это то, что мы проверяем (все остальные токены в последовательности). * (Value) — матрица значений. Это содержание информации, которую мы извлечем, если запрос совпадет с ключом. * — скалярное произведение запросов и ключей. Оно показывает, насколько тесно связаны два токена. * — коэффициент масштабирования, где — размерность векторов ключей. Он нужен для стабильности градиентов при обучении. * — функция, которая превращает полученные числа в вероятности (сумма всех чисел становится равна 1).
Простыми словами: эта формула позволяет модели сказать: «При генерации следующего слова мне нужно на 80% учитывать слово 'счет' и только на 5% слово 'банк'».
Процесс обучения LLM
Понимание того, как модель училась, критически важно для понимания векторов атак (например, отравления данных). Обучение проходит в два основных этапа.
1. Pre-training (Предварительное обучение)
На этом этапе модель «читает» терабайты текста из интернета (книги, статьи, код, форумы).
Задача модели на этом этапе проста: Next Token Prediction (предсказание следующего токена). Мы даем модели текст, обрываем его и просим угадать продолжение. Если она угадывает неверно, мы корректируем ее внутренние веса (параметры).
Результат пре-трейнинга — «Base Model» (базовая модель). Она отлично знает язык и факты, но не умеет вести диалог. Если вы спросите её: «Как испечь пирог?», она может не ответить рецептом, а продолжить вопросом: «...и какие ингредиенты нужны?», потому что в обучающих данных часто встречались списки вопросов.
2. Fine-tuning и RLHF (Дообучение и обратная связь)
Чтобы превратить базовую модель в полезного ассистента (как ChatGPT или GigaChat), используется этап Instruction Tuning (обучение на инструкциях) и RLHF (Reinforcement Learning from Human Feedback — обучение с подкреплением на основе отзывов людей).
Именно на этапе RLHF в модель закладываются механизмы безопасности (safety guardrails). Модель «штрафуют» за генерацию вредоносного контента, оскорблений или инструкций по созданию оружия.
> «Взлом» LLM (Jailbreak) — это, по сути, попытка найти такую последовательность токенов, которая заставит модель проигнорировать веса, полученные на этапе RLHF, и вернуться к вероятностному поведению базовой модели, которая просто продолжает текст.
Генерация текста: Температура и вероятности
Когда вы отправляете запрос в чат, модель не просто выдает один готовый ответ. Она рассчитывает вероятности для всех возможных следующих токенов в своем словаре (который может содержать 50 000+ токенов).
Допустим, после фразы «Я люблю пить горячий...» модель предсказывает: * «кофе» — 65% * «чай» — 30% * «шоколад» — 4% * «бетон» — 0.0001%
Как именно выбирается слово, зависит от параметров генерации, главным из которых является Temperature (Температура).
Формула модификации вероятностей с учетом температуры:
Где: * — вероятность выбора -го токена. * — логит (исходное числовое предсказание модели) для -го токена. * — температура. * — экспонента (число в степени). * — сумма по всем возможным токенам .
Как это работает: * Если низкая (близка к 0), распределение становится «острым». Вероятность самого популярного токена («кофе») стремится к 100%. Ответы становятся точными, детерминированными, но скучными. * Если высокая (близка к 1 или выше), распределение сглаживается. Разница между «кофе» и «чаем» уменьшается, и у модели появляется шанс выбрать менее очевидный вариант. Это добавляет «креативности», но увеличивает риск галлюцинаций и бреда.
Контекстное окно
У каждой модели есть ограничение памяти, называемое контекстным окном. Это максимальное количество токенов (входной запрос + сгенерированный ответ), которое модель может удержать в «внимании» одновременно.
Если диалог превышает размер окна, самые старые токены просто «отрезаются» и модель забывает начало разговора. В контексте безопасности это важно: некоторые атаки строятся на переполнении контекста или внедрении вредоносных инструкций в ту часть окна, которой модель уделяет больше внимания.
Заключение
Мы разобрали, что LLM — это не магия, а математика. Это сложная функция, преобразующая входные векторы в выходные на основе вероятностей, выученных на гигантских объемах данных.
Понимание механизма Attention, процесса токенизации и разницы между Pre-training и RLHF дает нам ключи к пониманию уязвимостей. В следующих статьях мы увидим, как именно злоумышленники манипулируют этими вероятностями, чтобы обойти защиту, заложенную разработчиками.
В следующей статье мы перейдем к классификации уязвимостей LLM по стандарту OWASP Top 10.