1. Архитектура LLM и основы обработки естественного языка
Архитектура LLM и основы обработки естественного языка
Добро пожаловать в курс «Red Teaming и безопасность LLM-агентов». Чтобы научиться находить уязвимости в системах искусственного интеллекта, необходимо сначала понять, как они устроены «под капотом». Невозможно эффективно взломать или защитить то, принцип работы чего остается для вас «черным ящиком».
В этой статье мы разберем архитектуру современных больших языковых моделей (LLM), поймем, как текст превращается в математику, и выясним, почему модели иногда галлюцинируют или поддаются манипуляциям.
От слов к числам: Токенизация и Эмбеддинги
Первое, что нужно усвоить: LLM не понимают текст. Они понимают только числа. Процесс превращения вашего промпта в понятный машине формат состоит из двух ключевых этапов: токенизации и создания векторных представлений (эмбеддингов).
Токенизация
Когда вы отправляете запрос «Привет, мир!», модель не видит это как предложение. Она разбивает его на фрагменты — токены. Токеном может быть слово, часть слова или даже один символ.
!Визуализация того, как текстовая строка преобразуется в массив числовых идентификаторов.
Для модели ваш текст — это просто последовательность целых чисел (ID). Это важно для безопасности: некоторые атаки (например, кодирование вредоносного промпта в Base64) работают именно потому, что меняют представление токенов, обходя простые фильтры слов, но сохраняя смысл для модели после декодирования.
Эмбеддинги (Embeddings)
Просто превратить слова в числа (ID) недостаточно. Число 5000 не «больше» по смыслу, чем число 10. Нам нужно передать смысл.
Для этого используется слой эмбеддингов. Каждому токену сопоставляется вектор — длинный список чисел (координат) в многомерном пространстве. Слова с похожим смыслом находятся рядом в этом пространстве.
Классический пример арифметики в пространстве эмбеддингов:
Где — вектор слова «Король», — вектор слова «Мужчина», — вектор слова «Женщина», а — результирующий вектор, близкий к слову «Королева».
Для Red Teaming это означает, что модель оперирует семантической близостью. Если вы замените «бомба» на «устройство с громким хлопком», векторы могут оказаться достаточно близкими, чтобы модель поняла контекст, но достаточно далекими, чтобы обойти фильтр по ключевому слову «бомба».
Архитектура Transformer
Современные LLM (GPT, Claude, Llama) строятся на архитектуре Transformer, представленной Google в 2017 году. Ключевая инновация этой архитектуры — механизм Self-Attention (самовнимание).
Механизм внимания (Self-Attention)
До трансформеров модели читали текст последовательно (слева направо). Трансформер может смотреть на все слова в предложении одновременно и решать, какие из них важны друг для друга.
Представьте фразу: «Банк заблокировал карту, потому что он заметил подозрительную активность».
Слово «он» относится к «Банку» или к «карте»? Для человека это очевидно. Механизм внимания позволяет модели математически связать «он» с «Банком», присвоив этой связи высокий вес.
Математически это выражается формулой Scaled Dot-Product Attention:
Где (Query) — запрос (то, что мы ищем), (Key) — ключ (то, с чем сравниваем), (Value) — значение (информация, которую извлекаем), — размерность ключей (масштабирующий коэффициент), а — функция, превращающая числа в вероятности (сумма которых равна 1).
Почему это важно для безопасности? Атаки типа Context Injection или «игнорируй предыдущие инструкции» работают именно через манипуляцию механизмом внимания. Атакующий заставляет модель сместить фокус (Attention) с системного промпта (инструкций безопасности) на новый, вредоносный ввод пользователя.
!Иллюстрация того, как модель определяет связи между словами в предложении.
Как происходит генерация (Inference)
LLM — это, по сути, машина для предсказания следующего токена. Она не «думает» и не «знает» факты. Она вычисляет вероятность того, какой токен должен идти следующим, основываясь на всем предыдущем контексте.
Процесс выглядит так:
Температура и детерминизм
Выбор конкретного токена из вероятностей зависит от параметров генерации, главным из которых является Temperature.
* Низкая температура (близко к 0): Модель всегда выбирает токен с самой высокой вероятностью. Ответы становятся точными, но однообразными и сухими. * Высокая температура (0.7 – 1.0+): Модель может выбрать менее вероятный токен. Это добавляет «креативности», но повышает риск галлюцинаций и бреда.
Для Red Teaming это критично: одна и та же атака может не сработать при температуре 0, но сработать при температуре 1, так как модель «случайно» выберет путь, ведущий к нарушению правил.
Жизненный цикл обучения: откуда берутся Guardrails
Понимание того, как модель училась, помогает понять, где находятся её слабые места.
Jailbreak (Джейлбрейк) — это, по сути, попытка обойти слой RLHF. Атакующий пытается найти такую формулировку, которая заставит модель «забыть» о наказании за вредный контент и вернуться к поведению, выученному на этапе Pre-training (где она видела рецепты ядов или инструкции по взлому).
Контекстное окно и память
У моделей нет памяти в человеческом понимании. Каждый новый запрос для модели — как чистый лист, если вы не передали ей историю переписки.
Контекстное окно — это максимальное количество токенов, которое модель может «держать в голове» одновременно. Если диалог превышает этот лимит, начало беседы (где часто находятся системные инструкции безопасности) «отрезается» и перестает влиять на генерацию.
Это открывает вектор атаки Context Overflow: забить контекст мусором, чтобы вытеснить защитные инструкции (System Prompt), после чего модель становится уязвимой.
Резюме для Red Teamer'а
В следующей статье мы перейдем к практике и разберем Prompt Engineering: как управлять вероятностями модели, чтобы получать нужный результат, и какие шаблоны лежат в основе большинства атак.