Книга: Инжиниринг искусственного интеллекта
Назад: 5.6 Безопасность LLM: как не выпустить джинна из бутылки
Дальше: ГЛАВА 6. ПЕРСПЕКТИВНЫЕ АРХИТЕКТУРЫ: ОТ МОНОЛИТА К ОРКЕСТРУ

РЕЗЮМЕ К ГЛАВЕ 5

Активные vs общие параметры:

общие - сколько знаний может выучить модель, активные - сколько вычислений нужно на инференс; для инженера важнее активные.



Реальность long context:

1M токенов ≠ идеальная память; нужны тесты, KV Cache оптимизации, учёт «вымывания» первых токенов.



Матрица выбора моделей:

для универсальных задач - GPT-4o или Mixtral; для математики - DeepSeek; для русского языка - GigaChat; для RAG - GigaChat Lightning.



Бенчмарки врут (не специально): модели заучивают тесты, реальное качество может отличаться на 10–15%; всегда тестируйте на своих данных.



Три сценария использования:

API - идеально для старта и малых объёмов (нулевые CAPEX, но дорого на масштабе). Аренда GPU - золотая середина для средних объёмов (дешевле API, но нужны инженеры). On-prem - для гигантов и чувствительных данных (самое дешёвое на больших объёмах, но огромные CAPEX и сложность).



Скрытые затраты TCO:

дообучение модели, версионирование, compliance и безопасность, мониторинг, инженерное сопровождение. На масштабе эти расходы могут превысить стоимость самих вычислений.



Точка безубыточности:

API выгодно до ~1 млн запросов в месяц, аренда GPU - до ~50 млн, on-prem - после 50–100 млн. Но цифры сильно зависят от конкретной модели, провайдера и региона.



Всегда считайте TCO до старта:

промт в 1000 токенов сегодня может превратиться в $100 000 счёта через полгода. Закладывайте запас в 30% на непредвиденные расходы и регулярно пересматривайте архитектуру по мере роста объёмов.



LLM - memory-bound.

Скорость инференса определяется не вычислениями, а пропускной способностью памяти.



HBM - главный дефицит.

Вся HBM выкуплена под ИИ, цены на GPU растут, поставки ограничены. Обычная DRAM, SSD, HDD в дефиците не находятся, но для LLM непригодны.



Типы GPU:

A100 - для инференса до 70B, H100 - быстрее и дороже, H200 - для длинных контекстов, B200 - для гигантов.



Считайте память перед арендой:

параметры × 2 (FP16) + KV Cache + overhead. Если модель не влезает в одну карту - затраты растут.



Квантизация (INT8, INT4) снижает потребление памяти в 2–4 раза с минимальной потерей качества.



В условиях дефицита:

начинайте с API, используйте квантизацию, выбирайте модели с оптимизациями (GQA, MLA, MoE), закладывайте долгие сроки поставки железа.



MLOps - не опция, а обязательное условие продакшена.

Модель не заканчивается на инференсе. Чтобы она работала 24/7, нужны: инференс-сервер (vLLM, TGI) вместо скрипта на Python; CI/CD с тестовым набором из реальных запросов; мониторинг латенси (p95), throughput, error rate, токенов в секунду; план отката за 10 минут. Без этого даже самая умная модель останется Jupyter-ноутбуком.



Мониторинг LLM - это не только железо, но и качество ответов.

Отслеживайте не только latency и error rate, но и дрейф данных: как изменилось распределение длины промтов, языка запросов, доменов задач. Если через полгода пользователи стали писать в 2 раза длиннее, модель начнет тормозить - и вы узнаете об этом за неделю до того, как позвонят клиенты.



Дрейф данных - главная причина молчаливой деградации.

Модель может не меняться, код не трогали, а ответы стали хуже. Потому что изменились данные: новая аудитория, новые вопросы, новый стиль общения. Регулярно (раз в неделю) стройте распределение метаданных промтов и сравнивайте с эталоном. Если распределение изменилось статистически значимо - пересматривайте роутер, промты или дообучайте модель.



Prompt Injection - пользователь переопределяет системные инструкции. Защита: разделение промтов, экранирование, валидация на входе.



Jailbreak - обход guardrails модели. Защита: output filtering, red teaming, дообучение на атаках.



Data Poisoning - внедрение вредоносных данных в обучение. Защита: аудит данных, изоляция дообучения, LoRA вместо полного fine-tuning.



PII Leakage - модель выдает личные данные из обучающей выборки. Защита: фильтрация данных, тестирование на утечки, output filtering.



Output Filtering - последний рубеж. Детектируйте опасный контент, PII, нецензурную лексику, повторы.



Red Teaming - контролируемая попытка взломать свою систему перед запуском. Автоматизация через garak, PyRIT.



Чек-лист безопасности - обязательный набор контроля перед продакшеном.



Практический пример

Хотите прикинуть бюджет для своего проекта, но не уверены в формулах? Готовый скрипт на Python с примерами расчета TCO для трех сценариев (API, аренда GPU, on-prem) - в Приложении 5.2.



Вопросы для самопроверки

1. Чем отличаются общие параметры от активных? Почему для инженера важнее вторые?



2. Что означает «контекст 1M токенов» на практике? Какие подводные камни скрываются за этой цифрой?



3. Три сценария использования: API, аренда GPU, on-prem. Для каких объёмов запросов каждый из них оптимален?



4. Какие скрытые затраты TCO часто забывают учесть при переходе на open-source модели?



5. Почему бенчмарки «врут» и как правильно проверять модель под свою задачу?



6. Какие два дополнительных критерия выбора модели (кроме скорости и качества) критичны для продакшена?



7. Почему LLM нельзя эффективно запустить на обычном CPU-сервере, даже если там 256 GB RAM?



8. Что такое HBM и почему она стала главным дефицитным ресурсом в индустрии ИИ?



9. Чем отличается HBM от обычной DRAM? Почему SSD/HDD не подходят для инференса?



10. Какие типы GPU оптимальны для инференса модели 70B с длинным контекстом?



11. Как оценить, сколько памяти потребует модель перед арендой GPU?



12. Что такое квантизация и как она помогает в условиях дефицита HBM?



13. Чем инференс-сервер (vLLM, TGI) отличается от запуска модели через model.generate() в Python-скрипте? Почему в продакшене нельзя обойтись вторым вариантом?



14. Какие метрики нужно мониторить, чтобы не пропустить деградацию модели в продакшене? Назовите минимум 5 метрик и объясните, о каких проблемах говорит падение или рост каждой.



15. Что такое дрейф данных и почему модель может начать работать хуже, даже если её код и веса не менялись? Приведите пример из реальной жизни.



16. Что такое prompt injection и чем он отличается от jailbreak?



17. Какие три уровня защиты можно выстроить для предотвращения prompt injection?



18. Почему output filtering считается «последним рубежом» и какие типы контента нужно фильтровать?



19. Что такое red teaming и как его автоматизировать?



20. Какие риски связаны с дообучением модели на пользовательских данных и как их минимизировать?



Назад: 5.6 Безопасность LLM: как не выпустить джинна из бутылки
Дальше: ГЛАВА 6. ПЕРСПЕКТИВНЫЕ АРХИТЕКТУРЫ: ОТ МОНОЛИТА К ОРКЕСТРУ