Опубликовано

“Машинное обучение для приложений высокого риска: подходы к ответственному искусственному интеллекту”

Машинное обучение для приложений высокого риска

Книга представляет собой комплексное руководство по применению искусственного интеллекта и машинного обучения (ИИ/ML)  с целью снижения рисков для современного бизнеса, связанного с использованием этих технологий. Рассмотрены основы управления рисками и компьютерной безопасности, нормативные акты, ответственность за качество продуктов, основанных на ML, а также объяснимые модели и методы их проверки, включая новый фреймворк управления рисками NIST AI. Читателю предложен углубленный взгляд на программирование с использованием Python и  подробными примерами для структурированных и неструктурированных данных. Особое внимание уделяется объяснимым бустинговым машинам, библиотеке XGBoost и методам повышения качества моделей ML. Представлены основанные на реальном опыте советы о том, как организовать успешную работу с приложениями высокого риска. Приведены практические примеры, иллюстрирующие важность и сложность внедрения ML в различных отраслях.

За последнее десятилетие мы стали свидетелями широкого внедрения технологий искусственного интеллекта и машинного обучения (ИИ/ML). Однако отсутствие контроля над их повсеместным внедрением привело к различным инцидентам с пагубными последствиями, которых можно было бы избежать при правильном управлении рисками. Прежде чем мы сможем реализовать истинные преимущества ИИ/ML, специалисты должны понять, как снизить риски, связанные с этой технологией.

В рамках подходов к ответственному использованию ИИ в книге описана целостная структура для улучшения технологии ИИ/МО, бизнес-процессов и культурных компетенций, основанная на лучших практиках управления рисками, кибербезопасности, конфиденциальности данных и прикладных социальных наук.

Авторы создали это руководство для специалистов по работе с данными, которые хотят улучшить работу систем ИИ и ML для организаций, потребителей и общества в целом.

  • Изучите технические методы разработки ответственного ИИ в таких вопросах как объяснимость, проверка и отладка моделей, управление предвзятостью, конфиденциальность данных и безопасность ML
  • Уделите особое внимание объяснимым бустинговым машинам, библиотеке XGBoost и методам повышения качества моделей
  • Узнайте, как создать успешную и эффективную систему управления рисками
  • Ознакомьтесь с обзором действующих стандартов, законов и критериев оценки технологий ИИ, включая новый фреймворк управления рисками NIST AI
  • Воспользуйтесь наглядными примерами углубленного программирования на Python , а также интерактивными ресурсами на GitHub и Colab

Книгу “Машинное обучение для приложений высокого риска: подходы к ответственному искусственному интеллекту” можно купить в нашем интенет-магазине.

Краткое оглавление…………………………………………………………………………………. 5

Отзывы о книге……………………………………………………………………………………… 15

Предисловие…………………………………………………………………………………………… 19

Введение………………………………………………………………………………………………… 21

Кому адресована эта книга………………………………………………………………………………………………………. 22

Что вы узнаете из этой книги…………………………………………………………………………………………………….. 22

Соответствие системе управления рисками искусственного интеллекта NIST………… 24

Структура книги………………………………………………………………………………………………………………………… 25

Часть I……………………………………………………………………………………………………………………………… 25

Часть II…………………………………………………………………………………………………………………………….. 26

Часть III…………………………………………………………………………………………………………………………… 26

Примеры наборов данных………………………………………………………………………………………………………… 26

Кредитные данные Тайваня………………………………………………………………………………………….. 27

Данные рентгенографии грудной клетки Kaggle………………………………………………………….. 28

Условные обозначения, принятые в этой книге………………………………………………………………………. 29

Архив с иллюстрациями к книге……………………………………………………………………………………………….. 29

Благодарности…………………………………………………………………………………………………………………………… 30

Часть I. Теория и практика управления рисками в приложениях ИИ            31

Глава 1. Современное управление рисками в ML…………………………………… 33

Обзор нормативно-правовой базы…………………………………………………………………………………………… 34

Закон ЕС об искусственном интеллекте……………………………………………………………………….. 34

Федеральные законы и правила США………………………………………………………………………….. 35

Государственные и муниципальные законы……………………………………………………………….. 36

Изначальная ответственность за качество продукта………………………………………………….. 37

Правоприменительная практика Федеральной торговой комиссии………………………….. 38

Авторитетные методики……………………………………………………………………………………………………………. 39

Инциденты с ИИ…………………………………………………………………………………………………………………………. 41

Культурные аспекты управления рисками машинного обучения………………………………………… 44

Организационная ответственность……………………………………………………………………………….. 44

Культура эффективного испытания……………………………………………………………………………… 46

Разнообразные и опытные команды…………………………………………………………………………….. 46

Испытание продукта на себе…………………………………………………………………………………………. 47

Двигайтесь быстро и ломайте устои…………………………………………………………………………….. 47

Организационные процессы управления рисками машинного обучения…………………………….. 48

Прогнозирование возможных отказов………………………………………………………………………….. 48

Известные отказы…………………………………………………………………………………………………… 49

Неспособность предвидения…………………………………………………………………………………. 49

Процессы управления модельными рисками……………………………………………………………….. 50

Уровни риска………………………………………………………………………………………………………….. 50

Документация модели……………………………………………………………………………………………. 51

Мониторинг модели……………………………………………………………………………………………….. 52

Инвентарный учет моделей…………………………………………………………………………………… 53

Проверка системы и аудит процессов………………………………………………………………….. 53

Управление изменениями………………………………………………………………………………………. 54

За пределами управления модельными рисками………………………………………………………… 54

Аудит и оценка модели………………………………………………………………………………………….. 55

Оценка воздействия………………………………………………………………………………………………… 55

Подача апелляции, отмена решения и отказ от участия……………………………………. 56

Парное и двойное программирование………………………………………………………………….. 56

Ограничение полномочий при развертывании модели………………………………………. 57

Награда за обнаружение ошибок…………………………………………………………………………. 57

Реагирование на инциденты с ИИ…………………………………………………………………………. 58

Пример: взлет и падение iBuying от Zillow………………………………………………………………………………. 60

Последствия…………………………………………………………………………………………………………………….. 61

Какие уроки мы можем извлечь?…………………………………………………………………………………… 61

Ресурсы……………………………………………………………………………………………………………………………………….. 64

Глава 2. Интерпретируемость и объяснимость……………………………………….. 65

Машинное обучение………………………………………………………………………………………………………………….. 65

Важные принципы интерпретируемости и объяснимости…………………………………………………….. 66

Объяснимые модели…………………………………………………………………………………………………………………… 71

Аддитивные модели……………………………………………………………………………………………………….. 71

Регрессия со штрафом……………………………………………………………………………………………. 71

Обобщенные аддитивные модели…………………………………………………………………………. 75

GA2M и объяснимые бустерные машины……………………………………………………………. 76

Деревья решений…………………………………………………………………………………………………………….. 76

Одиночные деревья решений………………………………………………………………………………… 76

Ограниченные модели XGBoost……………………………………………………………………………. 79

Экосистема объяснимых моделей машинного обучения……………………………………………. 79

Апостериорное объяснение………………………………………………………………………………………………………. 82

Атрибуция и важность признаков…………………………………………………………………………………. 83

Локальные объяснения и атрибуция признаков………………………………………………….. 84

Глобальная значимость признака………………………………………………………………………… 91

Суррогатные модели……………………………………………………………………………………………………… 95

Суррогатные модели дерева решений…………………………………………………………………. 95

Линейные модели и локально интерпретируемые объяснения………………………….. 97

Якоря и правила……………………………………………………………………………………………………… 99

Графическое представление характеристик модели………………………………………………….. 99

Частичная зависимость и индивидуальное условное ожидание……………………….. 99

Накопленный локальный эффект……………………………………………………………………….. 102

Профилирование кластеров………………………………………………………………………………………… 102

Трудноразрешимые проблемы апостериорного объяснения на практике…………………………. 103

Сочетание объяснимых моделей и апостериорных объяснений………………………………………… 107

Пример: алгоритмическая корректировка оценок………………………………………………………………… 109

Ресурсы…………………………………………………………………………………………………………………………………….. 112

Глава 3. Отладка систем машинного обучения…………………………………….. 113

Обучение…………………………………………………………………………………………………………………………………… 114

Воспроизводимость……………………………………………………………………………………………………… 115

Качество данных………………………………………………………………………………………………………….. 116

Спецификация модели для вывода в реальных условиях…………………………………………. 121

Бенчмарки и их альтернативы……………………………………………………………………………. 121

Калибровка…………………………………………………………………………………………………………… 121

Конструктная валидность…………………………………………………………………………………… 122

Предположения и ограничения…………………………………………………………………………… 123

Функции потерь по умолчанию………………………………………………………………………….. 123

Множественные сравнения…………………………………………………………………………………. 123

Будущее безопасного и надежного машинного обучения……………………………….. 124

Отладка модели……………………………………………………………………………………………………………………….. 124

Тестирование программного обеспечения…………………………………………………………………. 125

Традиционная оценка модели…………………………………………………………………………………….. 126

Распространенные ошибки ML…………………………………………………………………………………… 128

Смещение распределений……………………………………………………………………………………. 128

Эпистемическая неопределенность и разреженность данных………………………… 129

Нестабильность……………………………………………………………………………………………………. 130

Утечка……………………………………………………………………………………………………………………. 131

Петля обратной связи…………………………………………………………………………………………… 132

Переобучение……………………………………………………………………………………………………….. 132

Ложное обучение…………………………………………………………………………………………………. 133

Недостаточное обучение…………………………………………………………………………………….. 134

Неполная идентификация……………………………………………………………………………………. 134

Анализ остатков……………………………………………………………………………………………………………. 137

Анализ и визуализация остатков………………………………………………………………………… 137

Моделирование остатков……………………………………………………………………………………. 138

Локальный вклад в остатки…………………………………………………………………………………. 139

Анализ чувствительности……………………………………………………………………………………………. 141

Эталонные модели……………………………………………………………………………………………………….. 144

Исправление ошибок……………………………………………………………………………………………………. 145

Развертывание………………………………………………………………………………………………………………………….. 148

Безопасность в предметной области………………………………………………………………………….. 148

Мониторинг модели……………………………………………………………………………………………………… 150

Устаревание модели и дрейф концепта……………………………………………………………… 150

Обнаружение и устранение дрейфа……………………………………………………………………. 151

Мониторинг нескольких ключевых показателей эффективности……………………. 152

Значения вне диапазона………………………………………………………………………………………. 152

Обнаружение аномалий и эталонные модели…………………………………………………… 152

Аварийные выключатели…………………………………………………………………………………….. 153

Пример: смерть от автономного транспортного средства…………………………………………………… 154

Последствия………………………………………………………………………………………………………………….. 154

Неподготовленная правовая система…………………………………………………………………………. 154

Какие уроки мы можем извлечь?…………………………………………………………………………………. 155

Ресурсы…………………………………………………………………………………………………………………………………….. 156

Глава 4. Борьба с предвзятостью в машинном обучении……………………… 157

Определения предвзятости в ISO и NIST……………………………………………………………………………….. 159

Системная предвзятость………………………………………………………………………………………………. 160

Статистическая предвзятость……………………………………………………………………………………… 160

Человеческая предвзятость и культура науки о данных………………………………………….. 160

Правовые понятия предвзятости ML в США…………………………………………………………………………. 162

Кто обычно страдает от предвзятости систем ML……………………………………………………………….. 165

Ущерб от предвзятости, который испытывают люди…………………………………………………………… 167

Тестирование на предвзятость……………………………………………………………………………………………….. 169

Проверка данных………………………………………………………………………………………………………….. 169

Традиционные подходы: тестирование эквивалентных результатов…………………….. 172

Тестирование статистической значимости……………………………………………………….. 174

Проверка практической значимости………………………………………………………………….. 174

Новый взгляд: тестирование эквивалентности качества работы…………………………….. 176

Чего нам ожидать: тесты для более широкой экосистемы машинного обучения….. 178

Сводный план тестирования……………………………………………………………………………………….. 181

Смягчение предвзятости………………………………………………………………………………………………………….. 183

Технические факторы смягчения предвзятости…………………………………………………………. 184

Научный подход и план эксперимента………………………………………………………………………. 184

Методы смягчения предвзятости………………………………………………………………………………… 186

Человеческий фактор в смягчении предвзятости……………………………………………………….. 190

Пример: вознаграждение за выявленные ошибки предвзятости…………………………………………. 193

Ресурсы…………………………………………………………………………………………………………………………………….. 196

Глава 5. Безопасность машинного обучения………………………………………… 197

Основы безопасности………………………………………………………………………………………………………………. 199

Состязательное мышление………………………………………………………………………………………….. 199

Триада CIA……………………………………………………………………………………………………………………. 200

Лучшие методы обеспечения безопасности для специалистов по данным……………. 201

Атаки на системы ML……………………………………………………………………………………………………………… 204

Атаки на целостность: манипулирование результатами машинного обучения…….. 204

Примеры состязательных атак……………………………………………………………………………. 205

Бэкдор-атаки………………………………………………………………………………………………………… 205

Атаки с отравлением данных……………………………………………………………………………… 206

Атаки путем подмены личности и уклонения……………………………………………………. 207

Атаки на объяснения машинного обучения………………………………………………………. 208

Атаки на конфиденциальность: извлеченная информация………………………………………. 209

Атаки извлечения и инверсии модели………………………………………………………………… 209

Атаки с выводом о членстве………………………………………………………………………………… 210

Общие проблемы безопасности ML………………………………………………………………………………………. 211

Меры противодействия…………………………………………………………………………………………………………… 214

Отладка модели в целях безопасности………………………………………………………………………. 214

Поиск состязательных примеров и анализ чувствительности…………………………. 214

Аудит на предмет инсайдерского отравления данных…………………………………….. 215

Тестирование на предвзятость……………………………………………………………………………. 215

Этический взлом: атаки с извлечением моделей……………………………………………….. 215

Мониторинг модели в целях безопасности………………………………………………………………… 216

Технологии повышения конфиденциальности…………………………………………………………… 218

Федеративное обучение………………………………………………………………………………………. 218

Дифференциальная приватность………………………………………………………………………… 218

Робастное машинное обучение…………………………………………………………………………………… 221

Универсальные контрмеры………………………………………………………………………………………….. 221

Пример: реальные атаки уклонения………………………………………………………………………………………. 224

Атаки уклонения…………………………………………………………………………………………………………… 224

Какие уроки мы можем извлечь?…………………………………………………………………………………. 225

Ресурсы…………………………………………………………………………………………………………………………………….. 226

Часть II. Управление рисками ИИ в действии……………………. 227

Глава 6. Объяснимые бустинговые машины и модели XGBoost…………… 229

Уточнение определений и прозрачность машинного обучения………………………………………….. 229

Аддитивность или взаимодействия…………………………………………………………………………….. 230

Переход к причинно-следственной связи с ограничениями……………………………………… 231

Частичная зависимость и индивидуальное условное ожидание……………………………… 231

Значения Шепли…………………………………………………………………………………………………………… 234

Документация модели………………………………………………………………………………………………….. 235

Семейство объяснимых моделей GAM………………………………………………………………………………….. 236

Elastic Net — штрафуемая GLM с альфа- и лямбда-поиском……………………………………. 236

Обобщенные аддитивные модели……………………………………………………………………………….. 239

GA2M и объяснимые бустинговые машины………………………………………………………………. 244

XGBoost с ограничениями и апостериорными пояснениями……………………………………………….. 247

XGBoost с ограничениями и без ограничений……………………………………………………………. 247

Объяснение поведения модели с помощью частичной зависимости и ICE…………….. 253

Суррогатные модели дерева решений как метод объяснения………………………………….. 255

Пояснения на основе значений Шепли……………………………………………………………………….. 259

Проблемы со значениями Шепли………………………………………………………………………………… 262

Более информированный выбор модели……………………………………………………………………. 266

Ресурсы…………………………………………………………………………………………………………………………………….. 268

Глава 7. Объяснение классификатора изображений PyTorch……………….. 271

Как работает классификация рентгенограмм грудной клетки……………………………………………. 272

Новый взгляд на объяснимые модели и методы апостериорного объяснения…………………… 273

Обзор объяснимых моделей………………………………………………………………………………………… 273

Методы окклюзии…………………………………………………………………………………………………………. 274

Градиентные методы……………………………………………………………………………………………………. 274

Объяснимый ИИ для отладки моделей……………………………………………………………………….. 275

Объяснимые модели………………………………………………………………………………………………………………… 275

ProtoPNet и ее варианты………………………………………………………………………………………………. 276

Другие объяснимые модели глубокого обучения……………………………………………………… 277

Обучение и объяснение классификатора изображений PyTorch………………………………………… 278

Обучающие данные……………………………………………………………………………………………………… 278

Решение проблемы дисбаланса наборов данных……………………………………………………… 279

Дополнение данных и обрезка изображений…………………………………………………………….. 280

Обучение модели………………………………………………………………………………………………………….. 282

Оценка и метрики………………………………………………………………………………………………………….. 284

Создание апостериорных объяснений с помощью Captum……………………………………… 284

Окклюзия……………………………………………………………………………………………………………………….. 285

input*gradient………………………………………………………………………………………………………… 286

Интегрированные градиенты………………………………………………………………………………. 287

Послойное распространение релевантности…………………………………………………….. 289

Оценка пояснений модели……………………………………………………………………………………………. 290

Надежность апостериорных объяснений…………………………………………………………………… 291

Заключение………………………………………………………………………………………………………………………………. 295

Ресурсы…………………………………………………………………………………………………………………………………….. 296

Глава 8. Выбор и отладка моделей XGBoost…………………………………………. 299

Уточнение определений: отладка моделей ML……………………………………………………………………. 299

Выбор модели……………………………………………………………………………………………………………….. 300

Анализ чувствительности……………………………………………………………………………………………. 300

Анализ остатков……………………………………………………………………………………………………………. 302

Исправление………………………………………………………………………………………………………………….. 303

Выбор лучшей модели XGBoost…………………………………………………………………………………………….. 304

Анализ чувствительности XGBoost……………………………………………………………………………………….. 309

Стресс-тестирование модели XGBoost………………………………………………………………………. 310

Методика стресс-тестирования…………………………………………………………………………………… 311

Изменение данных для моделирования условий рецессии………………………………………. 312

Поиск состязательных примеров………………………………………………………………………………… 314

Анализ остатков для XGBoost………………………………………………………………………………………………… 318

Анализ и визуализация остатков………………………………………………………………………………… 319

Сегментный анализ ошибок………………………………………………………………………………………… 323

Моделирование остатков…………………………………………………………………………………………….. 325

Исправление выбранной модели……………………………………………………………………………………………. 327

Чрезмерная важность признака PAY_0………………………………………………………………………. 328

Разные ошибки……………………………………………………………………………………………………………… 330

Заключение………………………………………………………………………………………………………………………………. 333

Ресурсы…………………………………………………………………………………………………………………………………….. 334

Глава 9. Отладка классификатора изображений PyTorch…………………….. 335

Уточнение понятий: отладка моделей DL…………………………………………………………………………….. 337

Отладка классификатора изображений PyTorch………………………………………………………………….. 341

Качество данных и утечки…………………………………………………………………………………………… 341

Тестирование программного обеспечения для DL……………………………………………………. 343

Анализ чувствительности моделей DL……………………………………………………………………….. 344

Тестирование на смещение домена и субпопуляции………………………………………… 345

Примеры состязательных атак……………………………………………………………………………. 349

Возмущение вычислительных гиперпараметров………………………………………………. 352

Устранение проблем…………………………………………………………………………………………………….. 352

Исправление данных……………………………………………………………………………………………. 353

Исправления программного обеспечения………………………………………………………….. 355

Исправления чувствительности………………………………………………………………………………….. 359

Внесение шума……………………………………………………………………………………………………… 359

Другие способы улучшения стабильности………………………………………………………… 360

Заключение………………………………………………………………………………………………………………………………. 363

Ресурсы…………………………………………………………………………………………………………………………………….. 364

Глава 10. Тестирование и исправление предвзятости
с помощью XGBoost……………………………………………………………………………… 365

Уточнение понятий: управление предвзятостью в ML………………………………………………………… 366

Обучение модели………………………………………………………………………………………………………….. 369

Оценка моделей на предмет предвзятости…………………………………………………………………………….. 373

Способы тестирования для групп……………………………………………………………………………….. 374

Тестирование качества прогнозов……………………………………………………………………… 376

Традиционное тестирование показателей исходов………………………………………….. 381

Индивидуальная справедливость……………………………………………………………………………….. 384

Опосредованная предвзятость…………………………………………………………………………………….. 388

Исправление предвзятости……………………………………………………………………………………………………… 389

Предварительная обработка……………………………………………………………………………………….. 390

Внутренняя обработка…………………………………………………………………………………………………. 394

Постобработка……………………………………………………………………………………………………………… 398

Выбор модели……………………………………………………………………………………………………………….. 399

Заключение………………………………………………………………………………………………………………………………. 404

Ресурсы…………………………………………………………………………………………………………………………………….. 406

Глава 11. Атака красной команды на XGBoost……………………………………. 407

Уточнение понятий………………………………………………………………………………………………………………….. 408

Триада CIA……………………………………………………………………………………………………………………. 408

Атаки……………………………………………………………………………………………………………………………… 409

Контрмеры…………………………………………………………………………………………………………………….. 411

Обучение модели……………………………………………………………………………………………………………………… 412

Атаки с участием красной команды………………………………………………………………………………………. 417

Атаки с извлечением моделей……………………………………………………………………………………… 417

Атаки с состязательными примерами…………………………………………………………………………. 421

Атаки вывода о членстве……………………………………………………………………………………………… 423

Отравление данных……………………………………………………………………………………………………… 425

Бэкдоры…………………………………………………………………………………………………………………………. 427

Заключение………………………………………………………………………………………………………………………………. 431

Ресурсы…………………………………………………………………………………………………………………………………….. 432

Часть III. Заключение…………………………………………………………………. 435

Глава 12. Как добиться успеха в машинном обучении высокого риска.. 437

Кто в команде?…………………………………………………………………………………………………………………………. 438

Наука или техника?…………………………………………………………………………………………………………………. 440

Метод анализа данных………………………………………………………………………………………………… 440

Научный метод…………………………………………………………………………………………………………….. 442

Оценка опубликованных результатов и заявлений………………………………………………………………. 443

Применяйте внешние стандарты……………………………………………………………………………………………. 445

Смягчение рисков на основе здравого смысла……………………………………………………………………… 448

Заключение………………………………………………………………………………………………………………………………. 452

Ресурсы…………………………………………………………………………………………………………………………………….. 452

Предметный указатель…………………………………………………………………………. 453

Об авторах……………………………………………………………………………………………. 457

Об изображении на обложке………………………………………………………………… 459

Опубликовано

Встречайте: “Искусственный интеллект глазами хакера”

Искусственный интеллект глазами хакера ( Библиотека журнала «Хакер»)

Эта книга — сборник лучших, тщательно отобранных статей из легендарного журнала «Хакер». Рассмотрены современные подходы к использованию искусственного интеллекта в области информационной безопасности. Описаны методы обхода ограничений ChatGPT, рассмотрено применение нейросетей для написания эксплойтов и поиска уязвимостей в коде. Представлены практические кейсы использования GPT-4 на багбаунти, приведены способы выманивания паролей с помощью чат-ботов и QR-кодов. Даны рекомендации по применению нейросетей и языковой модели Llama для анализа и поиска критичных данных в коде программ. Отдельное внимание уделено генеративному ИИ: показана карта его возможностей, а также способы улучшения изображений с помощью нейросетей. Книга станет ценным источником знаний для тех, кто хочет изучить искусственный интеллект через призму хакерских технологий.

Для пользователей ПК

Эта книга — сборник лучших, тщательно отобранных статей из легендарного журнала «Хакер». В материалах книги рассказывается об использовании искусственного интеллекта (ИИ) в сфере информационной безопасности. Читатель узнает, как большие языковые модели и нейросети могут помочь пентестерам, разработчикам ПО и специалистам по защите информации.

Книгу “Искусственный интеллект глазами хакера“.

Предисловие…………………………………………………………………………………………….. 7

  1. Каким бывает машинное обучение и как оно применяется вбезопасности (Константин Коновалов)………………………………………………………………………………………………………………. 11

Классический кодинг vs машинное обучение…………………………………………………………………………. 11

Задачи искусственного интеллекта…………………………………………………………………………………………. 12

Чем машинное обучение может помочь в ИБ………………………………………………………………………….. 13

Что включает в себя машинное обучение……………………………………………………………………………….. 15

Данные………………………………………………………………………………………………………………………………… 15

Признаки……………………………………………………………………………………………………………………………… 15

Алгоритмы………………………………………………………………………………………………………………………….. 16

Чем отличаются разные алгоритмы…………………………………………………………………………………………. 17

Наивный байесовский классификатор…………………………………………………………………………….. 17

Деревья решений………………………………………………………………………………………………………………… 17

Отличия нейросетей от других алгоритмов…………………………………………………………………………….. 18

Особенности машинного обучения в ИБ…………………………………………………………………………………. 18

Подведем итоги………………………………………………………………………………………………………………………….. 19

  1. Карта мира генеративного ИИ. Выбираем модель и интерфейс, разбираемся с терминами (Олег Афонин)…………………………………………………………………………………………………… 21

Что нужно, чтобы начать создавать картинки?……………………………………………………………………… 21

Видеокарта…………………………………………………………………………………………………………………………. 21

Софт…………………………………………………………………………………………………………………………………….. 22

Что из этого выбрать?……………………………………………………………………………………………………………….. 23

Модели и архитектуры……………………………………………………………………………………………………………… 24

Базовые и дополнительные модели…………………………………………………………………………………………. 26

Из каких частей состоит базовая модель…………………………………………………………………………. 27

Обученные модели и ремиксы…………………………………………………………………………………………… 28

Где брать базовые модели………………………………………………………………………………………………… 28

  1. «Дэн» может все. Как пользователи обманывают ChatGPT
    (Мария Нефёдова)…………………………………………………………………………………… 31

Заставить ИИ сказать запрещенное…………………………………………………………………………………………. 31

DAN……………………………………………………………………………………………………………………………………………… 33

Другой абьюз ChatGPT……………………………………………………………………………………………………………… 37

  1. ChatGPT на рыбалке. Выманиваем пароль при помощи QR-кода
    и чат-бота (Дмитрий Марюшкин)…………………………………………………………….. 43

Задача…………………………………………………………………………………………………………………………………………. 43

Проблемы……………………………………………………………………………………………………………………………………. 44

Решение………………………………………………………………………………………………………………………………………. 44

Сценарий рассылки…………………………………………………………………………………………………………………… 47

Выводы……………………………………………………………………………………………………………………………………….. 50

  1. Запрягаем Лламу на поиски критичных данных в коде
    (Дмитрий Марюшкин)……………………………………………………………………………… 51

Ищем критичное в коде……………………………………………………………………………………………………………… 51

Скоринг на минималках……………………………………………………………………………………………………………. 53

Подключаем железные мозги……………………………………………………………………………………………………. 53

Локальное использование модели……………………………………………………………………………………………. 57

Выводы……………………………………………………………………………………………………………………………………….. 61

  1. Роботы на охоте. Применяем GPT-4 на багбаунти
    (Андрей “W0lFreaK” Козлов)……………………………………………………………………… 63

Разведка………………………………………………………………………………………………………………………………………. 63

Поиск поддоменов……………………………………………………………………………………………………………… 63

Технологии и версии………………………………………………………………………………………………………….. 64

Поиск мисконфигов……………………………………………………………………………………………………………………. 66

Эксплуатация…………………………………………………………………………………………………………………………….. 67

CSRF……………………………………………………………………………………………………………………………………. 67

XSS………………………………………………………………………………………………………………………………………. 69

XXE……………………………………………………………………………………………………………………………………… 70

Деобфускация и анализ кода…………………………………………………………………………………………….. 71

Составление отчета…………………………………………………………………………………………………………………… 72

Выводы……………………………………………………………………………………………………………………………………….. 73

  1. Разоблачаем баги-пустышки и пишем эксплойт при помощи ChatGPT (Хусейн Гадашов) 75

CVE-2023-39526: «уязвимость» в PrestaShop………………………………………………………………………….. 76

CVE-2023-6875: баг в Post SMTP Mailer………………………………………………………………………………….. 78

Какое имя пользователя у администратора?………………………………………………………………………….. 80

Забыли пароль…………………………………………………………………………………………………………………………… 81

Логи электронной почты…………………………………………………………………………………………………………… 81

Изменение пароля………………………………………………………………………………………………………………………. 83

Загрузка шелла………………………………………………………………………………………………………………………….. 83

Бум-бум-эксплойт с GPT……………………………………………………………………………………………………………. 87

Выводы……………………………………………………………………………………………………………………………………….. 88

  1. Сделай мне красиво! Изобретаем персональный нейросетевой фотоувеличитель (Игорь Орещенков)………………………………………………………………………………………………………………. 89

Просто сделай мне красиво!……………………………………………………………………………………………………… 89

Необходимое оборудование…………………………………………………………………………………………………….. 91

Операционная система……………………………………………………………………………………………………………… 93

Среда исполнения……………………………………………………………………………………………………………………… 94

Увеличение виртуальной памяти……………………………………………………………………………………… 96

Нейросети «фотоувеличителя»…………………………………………………………………………………………………. 97

Борьба с прогрессом………………………………………………………………………………………………………………….. 99

Обработка фотографий…………………………………………………………………………………………………………… 100

Выводы……………………………………………………………………………………………………………………………………… 101

«Хакер»: безопасность, разработка, DevOps…………………………………………. 103

Предметный указатель…………………………………………………………………………. 107

Опубликовано

Искусственный интеллект для периферийных устройств: осваиваем встраиваемые системы для машинного обучения

Искусственный интеллект для периферийных устройств

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

Для специалистов по искусственному интеллекту и Интернету вещей

Животное на обложке книги “Искусственный интеллект для периферийных устройств” — сибирский горный козел (Capra sibirica). Особей этого вида можно встретить по всей Азии в таких странах, как Российская Федерация, Китай, Монголия, Пакистан и Казахстан. Сибирские горные козлы — это, по сути, крупный вид диких козлов.

Парадигма периферийного, или пограничного, искусственного интеллекта (Edge AI) заставляет прямо сейчас пересматривать привычные принципы взаимодействия компьютеров с окружающей средой.

Устройства, объединенные в Интернет вещей (IoT) самостоятельно принимают решения, опираясь на те 99% сенсорных данных, которые ранее просто отбрасывались ради экономии средств, полосы передачи данных или из-за ограничений питания. При помощи таких технологий как машинное обучение для встраиваемых систем можно учитывать информацию о человеческом поведении и развертывать приложения на любой платформе – от исключительно маломощных микроконтроллеров до встраиваемых устройств, работающих под Linux.

Изучив это практическое руководство, разработчики-профессионалы, менеджеры по продукту и руководители смогут подобрать инструментарий для решения разнообразных промышленных, коммерческих и научных задач с применением периферийных вычислений. В книге исследованы все этапы рабочего процесса: сбор данных, оптимизация модели, тонкая настройка и тестирование модели. Изучив предложенный материал, можно уверенно проектировать и поддерживать устройства с искусственным интеллектом и программировать встраиваемые модули с возможностями машинного обучения. Авторы подробно разъясняют, как сориентироваться в этой формирующейся отрасли и приступить к коммерческим разработкам.

В этой книге:

  • Как наработать опыт в области машинного обучения и искусственного интеллекта для работы с периферийными устройствами
  • Как понять, какие проекты эффективнее всего выполняются с привлечением периферийного искусственного интеллекта
  • Какие ключевые паттерны применяются при проектировании приложений для периферийных вычислений на основе искусственного интеллекта
  • Как внедрить итеративный подход к разработке систем с искусственным интеллектом
  • Как собрать команду, обладающую всем спектром описанных в книге навыков и способную решать реальные задачи
  • Как ответственно подходить к разработке устройств, оснащённых искусственным интеллектом

Книгу “Искусственный интеллект для периферийных устройств: осваиваем встраиваемые системы для машинного обучения“.

Опубликовано

Вышла книга “Базовая математика для искусственного интеллекта. Математика нового уровня для эффективных и успешных систем ИИ”

Базовая математика для искусственного ин-теллекта

Книга дает прочные знания математики, лежащей в основе работы современных систем ИИ. Приведены необходимые и достаточные сведения для успешной работы в области ИИ, без углубления  в  сложные  академические  теории,  с  акцентом  на практическом применении и современных моделях. Даны основы машинного обучения и науки о данных. Рассмотрены регрессия, нейронные сети, свертка, оптимизация, вероятность, марковские процессы, дифференциальные уравнения и многое другое исключительно в контексте искусственного интеллекта. Показано, как объединять модели машинного обучения и естественного языка, работать с графовыми и сетевыми данными, визуализировать преобразования пространства, уменьшать размерность, обрабатывать изображения, выбирать модели и для проектов, основанных на данных.

Для специалистов в области ИИ, машинного обучения и науки о данных

Сегодня многие сферы бизнеса стремятся внедрять новые технологии на основе ИИ и управления данными.

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

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

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

Листать

Прочитав книгу, вы сможете

  • уверенно пользоваться языками ИИ, машинного обучения, науки о данных, математики;
  • объединять модели машинного обучения и модели естественного языка в рамках одной математической структуры;
  • легко работать с графовыми и сетевыми данными;
  • изучать реальные данные, визуализировать преобразования пространства, уменьшать раз-мерность, обрабатывать изображения;
  • решать, какие модели использовать для проектов, основанных на данных;
  • изучать различные последствия и ограничения ИИ.

Рынки технологий и ИИ подобны реке, где отдельные участки движутся быстрее других. Для успешного применения ИИ требуется умение оценить направление течения и закрепить знание технологий прочным фундаментом, чему способствует эта книга, причем в увлекательной и всеобъемлющей форме. Хале удалось показать математику в выгодном свете широкому кругу людей, входящих в будущее под эгидой ИИ!
 Адри Пуркаястха, руководитель группы по аналитике операционных рисков в сфере ИИ и цифровых рисков, банк BNP Paribas

Книгу “Базовая математика для искусственного интеллекта. Математика нового уровня для эффективных и успешных систем ИИ” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Hala Nelson

Хала Нельсон (Hala Nelson) — доцент кафедры математики в Университете Джеймса Мэдисона (James Madison University), специализируется на математическом моделировании, консультирует официальные органы по вопросам чрезвычайных ситуаций и инфраструктуры. Получила докторскую степень по математике в Курантовском институте математических наук (Courant Institute of Mathematical Sciences) при Нью-Йоркском университете.

Опубликовано

Новинка: “Книга Kaggle. Машинное обучение и анализ данных”

Книга Kaggle. Машинное обучение и анализ данных

Книга рассказывает о продвинутых приёмах машинного обучения и науки о данных (data science) на основе задач, решаемых на всемирно известной платформе Kaggle. Показано (в том числе на примере увлекательных интервью с Kaggle-гроссмейстерами),  как устроена платформа Kaggle и проводимые на ней соревнования. Изложенный материал позволяет развить необходимые навыки и собрать портфолио по машинному обучению, анализу данных, обработке естественного языка, работе с множествами. Подобран уникальный пул задач, охватывающих различные классификационные и оценочные метрики, методы обучения нейронных сетей, схемы валидации, выявление паттернов и трендов в материале любой сложности.

Конкурсы Kaggle – это поле для состязаний, где меряются силами миллионы специалистов по науке о данных (data science), которые сами себя именуют «кэглерами». Участие в таких конкурсах – верный способ профессионально вырасти в области анализа данных, влиться в замечательное сообщество единомышленников и приобрести бесценный опыт для развития карьеры. Авторы книги – грандмастера Kaggle. Они познакомят вас со стратегиями моделирования, которые более нигде не рассмотрены, и подскажут, как удобнее всего обрабатывать изображения, тексты, таблицы, как правильно реализовать обучение с подкреплением. Вы освоите качественные схемы валидации и станете уверенно ориентироваться в самых разных оценочных метриках.

Лука и Конрад рассказали о Kaggle максимально доступно. Оба они – первоклассные профессионалы, пользующиеся большим авторитетом и уважением в сообществе Kaggle. Проштудировав эту книгу, можете смело регистрироваться на Kaggle и рассчитывать на высокие результаты.
Энтони Голдблум, основатель и генеральный директор Kaggle

В книге рассказано:

  • Как устроена соревновательная платформа Kaggle
  • Как выжать максимум из ноутбуков, датасетов и форумов Kaggle
  • Как правильно собирать портфолио проектов и идеи для развития карьеры
  • Как проектировать k-мерные и вероятностные схемы валидации
  • Как освоить наиболее распространённые и экзотические оценочные метрики
  • Как устроена бинарная и многоклассовая классификация объектов, а также их обнаружение
  • Как эффективно обращаться с временными рядами и обработкой естественного языка (NLP)
  • Как преуспеть в задачах на имитационное моделирование и оптимизацию

Книгу Kaggle. Машинное обучение и анализ данных ” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Предисловие. 11

Составители. 13

Об авторах. 13

О рецензентах. 14

О респондентах. 15

Введение. 18

Для кого эта книга. 19

О чем эта книга. 19

Часть I. Знакомство с соревнованиями. 19

Часть II. Оттачивание соревновательных навыков. 20

Часть III. Использование соревнований в своей карьере. 21

Как получить максимальную отдачу от этой книги. 21

Загрузите файлы с примерами кода. 21

Загрузите цветные изображения. 22

Условные обозначения и соглашения. 22

Часть I. Знакомство с соревнованиями Kaggle. 23

Глава 1. Знакомство с Kaggle и другими соревнованиями
по науке о данных. 25

Появление и рост соревновательных платформ. 26

Соревновательная платформа Kaggle. 28

История Kaggle. 28

Другие конкурсные платформы.. 31

Знакомство с Kaggle. 33

Стадии соревнования. 33

Типы соревнований и примеры.. 36

Отправка решения и таблица результатов. 41

Парадигма каркаса для общих задач. 41

Что может пойти не так. 42

Вычислительные ресурсы.. 44

Kaggle Notebooks 45

Создание команд и нетворкинг. 46

Уровни и рейтинг. 49

Критика и возможности. 50

Резюме. 51

Глава 2. Организация данных. 53

Создание датасета. 53

Сбор данных. 57

Работа с датасетами. 62

Kaggle Datasets и Google Colab. 63

Юридические вопросы. 65

Резюме. 66

Глава 3. Работаем и учимся с Kaggle Notebooks 67

Создание блокнота. 68

Запуск блокнота. 71

Сохранение блокнотов на GitHub. 73

Как получить максимум от Kaggle Notebooks 75

Переход на Google Cloud Platform.. 76

На шаг дальше. 77

Курсы Kaggle Learn. 82

Резюме. 86

Глава 4. Используем форумы.. 87

Как работают форумы. 87

Примеры обсуждений. 92

Сетевой этикет. 97

Резюме. 97

Часть II. Оттачивание соревновательных навыков. 99

Глава 5. Задачи и метрики на соревнованиях. 101

Метрики оценивания и целевые функции. 102

Основные типы задач. 103

Регрессия. 104

Классификация. 104

Задачи ранжирования. 105

Датасет Meta Kaggle. 105

Как быть с незнакомыми метриками. 108

Метрики для задач регрессии. 112

Средний квадрат и R-квадрат.. 112

Среднеквадратичная ошибка. 113

Среднеквадратичная логарифмическая ошибка. 114

Средняя абсолютная ошибка. 115

Метрики для задач классификации. 116

Доля правильных ответов. 116

Точность и полнота. 118

F-мера. 120

Log Loss и ROC-AUC. 120

Коэффициент корреляции Мэтьюса. 122

Метрики для многоклассовой классификации. 123

Метрики для задач детектирования объектов. 129

Отношение площадей ограничивающих рамок. 131

Коэффициент Дайса. 132

Метрики для многоклассовой классификации и построение рекомендаций. 133

MAP@{K}. 133

Оптимизация метрики. 134

Нестандартные метрики и целевые функции. 135

Постобработка предсказаний. 138

Предсказание вероятностей и их корректировка. 139

Резюме. 143

Глава 6. Построение схемы валидации. 144

Подглядывание. 144

Почему важна валидация. 147

Смещение и разброс. 150

Стратегии разделения данных. 152

Контроль на отложенных данных. 153

Вероятностные методы оценки качества. 154

Контроль по k блокам. 154

Случайные разбиения. 162

Бутстрэп. 162

Настройка системы валидации. 166

Применение adversarial validation. 169

Пример реализации. 171

Различные распределения обучающих и тестовых данных. 172

Работа с утечками в данных. 176

Резюме. 180

Глава 7. Моделирование для табличных данных. 182

Tabular Playground Series 183

Начальное состояние случайного генератора и воспроизводимость. 186

Разведочный анализ данных. 188

Понижение размерности методами t-SNE и UMAP. 190

Уменьшение размера данных. 191

Преобразования признаков. 193

Простые производные признаки. 194

Метапризнаки на основе строк и столбцов. 196

Целевое кодирование. 197

Важность признаков и оценка качества. 202

Псевдометки. 205

Удаление шума с помощью автокодировщиков. 207

Нейросети для табличных конкурсов. 210

Резюме. 216

Глава 8. Оптимизация гиперпараметров. 218

Базовые методы оптимизации. 219

Поиск по сетке. 219

Случайный поиск. 221

Поиск сокращением вдвое. 222

Ключевые параметры и их использование. 225

Линейные модели. 225

Машины опорных векторов. 225

Случайные леса и экстремально рандомизированные деревья. 227

Градиентный бустинг над деревьями. 228

LightGBM.. 228

XGBoost 230

CatBoost 231

HistGradientBoosting. 232

Байесовская оптимизация. 235

Использование Scikit-optimize. 236

Настройки байесовской оптимизации. 241

Обобщение байесовской оптимизации на параметры нейронных сетей. 248

Создание моделей с KerasTuner 256

Подход TPE и Optuna. 265

Резюме. 270

Глава 9. Ансамбли: блендинг и стекинг. 271

Краткое введение в ансамблевые алгоритмы. 272

Усреднение. 275

Голосование. 277

Усреднение предсказаний. 279

Взвешенные средние. 280

Усреднение и кросс-валидация. 281

Корректируем усреднение для оценок ROC-AUC. 282

Блендинг и метамодели. 283

Блендинг: лучшие практики. 284

Стекинг. 289

Варианты стекинга. 293

Сложные решения с блендингом и стекингом. 294

Резюме. 297

Глава 10. Моделирование в компьютерном зрении. 299

Стратегии аугментации. 299

Встроенные аугментации Keras 305

Подход на основе ImageDataGenerator 305

Слои предварительной обработки. 308

Пакет albumentations 309

Классификация. 312

Обнаружение объектов. 319

Семантическая сегментация. 333

Резюме. 349

Глава 11. Моделирование для обработки естественного языка. 350

Анализ тональности текста. 350

Вопросы и ответы в открытом домене. 359

Стратегии аугментации текста. 374

Основные приемы.. 375

Пакет nlpaug. 380

Резюме. 383

Глава 12. Соревнования по моделированию и оптимизации. 384

Игра Connect X.. 385

Игра “Камень, ножницы, бумага”. 390

Соревнование Santa 2020. 393

Такие разные игры. 397

Резюме. 402

Часть III. Использование соревнований в своей карьере. 403

Глава 13. Создание портфолио проектов и идей. 405

Создание портфолио с помощью Kaggle. 405

Использование блокнотов и обсуждений. 410

Использование датасетов. 413

Организация своего присутствия в Интернете за пределами Kaggle. 417

Блоги и публикации. 418

GitHub. 421

Мониторинг обновлений и информационных бюллетеней о соревнованиях. 423

Резюме. 425

Глава 14. Поиск новых профессиональных возможностей. 426

Налаживание связей с другими исследователями данных на соревнованиях. 427

Участие в Kaggle Days и других встречах Kaggle. 438

Привлечение к себе внимания и другие возможности трудоустройства. 439

Методика STAR. 440

Резюме (и несколько напутственных слов) 442

Предметный указатель. 444

Опубликовано

Уже в продаже: “Проектирование систем машинного обучения”

Проектирование систем машинного обучения

егодня машинное обучение – основной практический аппарат для применения искусственного интеллекта. Книга, основанная на стэнфордском учебном курсе, не ограничивается разбором конкретных библиотек, а описывает высокоуровневый подход к разработке систем машинного обучения, который упрощает их поддержку и развитие, позволяет избежать переобучения, искажения результатов. Рассказано, как сделать новую систему машинного обучения или нейронную сеть, надёжной, репрезентативной и расширяемой, а также качественно доработать уже существующие системы. Также показано, как подобрать библиотеки и алгоритмы с учётом имеющегося множества данных и действующих бизнес-требований, конструировать признаки и отслеживать метрики.

Книга адресована программистам и специалистам по data science

Ключевые особенности

  • Инжиниринг данных и выбор нужных метрик, помогающих правильно решить задачу
  • Автоматизация процесса, позволяющая непрерывно разрабатывать, оценивать, развёртывать и обновлять модели
  • Разработка мониторинговой системы, позволяющей быстро обнаруживать и устранять проблемы, которые могут возникать в реальном использовании
  • Выстраивание платформы машинного обучения, которая была бы применима сразу во многих практических ситуациях
  • Ответственный подход к разработке систем машинного обучения

Чем эта книга не является

Эта книга не является введением в ML. Существует множество книг, курсов и ресурсов, посвященных теориям машинного обучения, и поэтому в этой книге эти концепции уходят в сторону, чтобы сосредоточиться на практических аспектах машинного обучения. Чтобы быть конкретным, книга предполагает, что читатели имеют базовое понимание следующих тем:

  • Модели машинного обучения , такие как кластеризация, логистическая регрессия, деревья решений, совместная фильтрация и различные архитектуры нейронных сетей, включая упреждающую, рекуррентную, сверточную и трансформирующую.
  • Методы машинного обучения , такие как контролируемое и неконтролируемое, градиентный спуск, функция цели/потери, регуляризация, обобщение и настройка гиперпараметров.
  • Такие метрики , как точность, F1, точность, полнота, ROC, среднеквадратическая ошибка и логарифмическая вероятность.
  • Статистические концепции, такие как дисперсия, вероятность и нормальное/длинное распределение.
  • Общие задачи машинного обучения, такие как языковое моделирование, обнаружение аномалий, классификация объектов и машинный перевод.

Книга основана на стэнфордском учебном курсе

Книгу “Проектирование систем машинного обучения” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Отзывы о книге……………………………………………………………………………………… 13

Предисловие…………………………………………………………………………………………… 15

Для кого предназначена эта книга?…………………………………………………………………………………………. 16

Чего вы не найдете в книге?………………………………………………………………………………………………………. 17

Навигация по книге……………………………………………………………………………………………………………………. 18

Репозиторий GitHub и сообщество…………………………………………………………………………………………… 19

Используемые обозначения………………………………………………………………………………………………………. 19

Использование примеров кода…………………………………………………………………………………………………. 20

Платформа онлайн-обучения O’Reilly……………………………………………………………………………………… 20

Как с нами связаться?………………………………………………………………………………………………………………… 21

Благодарности…………………………………………………………………………………………………………………………… 21

Глава 1. Обзор ML-систем……………………………………………………………………… 23

Когда использовать ML?…………………………………………………………………………………………………………… 24

Примеры использования машинного обучения………………………………………………………………………. 30

Понимание систем машинного обучения………………………………………………………………………………… 33

Машинное обучение в исследованиях и в производстве……………………………………………. 33

Различные участники процесса и их требования……………………………………………….. 34

Приоритеты вычислений……………………………………………………………………………………….. 36

Данные…………………………………………………………………………………………………………………….. 39

Объективность………………………………………………………………………………………………………… 40

Интерпретируемость……………………………………………………………………………………………… 41

Обсуждение…………………………………………………………………………………………………………….. 42

ML-системы в сравнении с традиционным ПО……………………………………………………………. 42

Итоги…………………………………………………………………………………………………………………………………………… 44

Глава 2. Введение в проектирование ML-систем……………………………………. 46

Цели для бизнеса и для ML……………………………………………………………………………………………………….. 46

Требования к ML-системам………………………………………………………………………………………………………. 49

Надежность…………………………………………………………………………………………………………………….. 49

Масштабируемость………………………………………………………………………………………………………… 50

Обслуживаемость…………………………………………………………………………………………………………… 51

Адаптивность………………………………………………………………………………………………………………….. 51

Итеративный процесс………………………………………………………………………………………………………………… 52

Формулирование ML-задач……………………………………………………………………………………………………… 54

Типы ML-задач……………………………………………………………………………………………………………….. 55

Классификация или регрессия?…………………………………………………………………………….. 55

Бинарная или мультиклассовая классификация?……………………………………………….. 56

Мультиклассовая или многометочная классификация?…………………………………….. 57

Несколько способов сформулировать задачу…………………………………………………….. 58

Целевые функции……………………………………………………………………………………………………………. 59

Разделение целей……………………………………………………………………………………………………. 60

Данные или разум?……………………………………………………………………………………………………………………. 62

Итоги…………………………………………………………………………………………………………………………………………… 64

Глава 3. Основы проектирования баз данных……………………………………….. 67

Источники данных…………………………………………………………………………………………………………………….. 68

Форматы данных……………………………………………………………………………………………………………………….. 70

JSON…………………………………………………………………………………………………………………………………. 71

Row-Major или Column-Major?……………………………………………………………………………………… 72

Текстовый формат или двоичный?……………………………………………………………………………….. 74

Модели данных………………………………………………………………………………………………………………………….. 75

Реляционная модель……………………………………………………………………………………………………….. 76

NoSQL………………………………………………………………………………………………………………………………. 79

Документальная модель………………………………………………………………………………………… 80

Графовая модель……………………………………………………………………………………………………. 81

Структурированные или неструктурированные данные?………………………………………….. 82

Хранение и обработка данных…………………………………………………………………………………………………. 84

Транзакционная и аналитическая обработка данных……………………………………………….. 84

ETL: извлечение, преобразование, загрузка………………………………………………………………… 87

Режимы потока данных…………………………………………………………………………………………………………….. 89

Передача данных через базы данных………………………………………………………………………….. 89

Передача данных через сервисы…………………………………………………………………………………… 89

Передача данных в режиме реального времени………………………………………………………….. 91

Пакетная обработка или потоковая?……………………………………………………………………………………….. 93

Итоги…………………………………………………………………………………………………………………………………………… 95

Глава 4. Обучающие данные…………………………………………………………………. 98

Семплирование………………………………………………………………………………………………………………………….. 99

Невероятностное семплирование…………………………………………………………………………………. 99

Простое случайное семплирование……………………………………………………………………………. 101

Стратифицированное семплирование………………………………………………………………………… 101

Взвешенное семплирование………………………………………………………………………………………… 101

Резервуарное семплирование……………………………………………………………………………………… 102

Семплирование по важности………………………………………………………………………………………. 103

Разметка……………………………………………………………………………………………………………………………………. 104

Ручные метки………………………………………………………………………………………………………………… 104

Множественность меток………………………………………………………………………………………. 105

Родословная данных……………………………………………………………………………………………. 106

Естественные метки……………………………………………………………………………………………………… 107

Длина петли обратной связи……………………………………………………………………………….. 109

Справляемся с недостатками меток……………………………………………………………………………. 110

Слабый контроль…………………………………………………………………………………………………. 111

Частичный контроль……………………………………………………………………………………………. 114

Трансферное обучение………………………………………………………………………………………… 115

Активное обучение………………………………………………………………………………………………. 116

Несбалансированность классов…………………………………………………………………………………………….. 118

Проблемы несбалансированности классов……………………………………………………………….. 118

Справляемся с несбалансированностью классов……………………………………………………… 120

Использование правильных оценочных метрик……………………………………………….. 121

Методы уровня данных: ресемплинг…………………………………………………………………. 124

Методы уровня алгоритма………………………………………………………………………………….. 125

Обучение с учетом затрат…………………………………………………………………………… 126

Потеря, сбалансированная по классу……………………………………………………….. 126

Фокальная потеря………………………………………………………………………………………… 127

Аугментация данных……………………………………………………………………………………………………………….. 128

Простые преобразования с сохранением меток………………………………………………………… 128

Возмущения…………………………………………………………………………………………………………………… 129

Синтез данных………………………………………………………………………………………………………………. 131

Итоги…………………………………………………………………………………………………………………………………………. 132

Глава 5. Конструирование признаков………………………………………………….. 135

Признаки сконструированные или автоматически генерируемые?……………………………………. 135

Общий обзор методов конструирования признаков…………………………………………………………….. 138

Обработка отсутствующих значений…………………………………………………………………………. 138

Удаление пропусков…………………………………………………………………………………………….. 140

Заполнение пропусков…………………………………………………………………………………………. 141

Масштабирование……………………………………………………………………………………………………….. 141

Дискретизация………………………………………………………………………………………………………………. 143

Кодирование категориальных признаков………………………………………………………………….. 144

Пересечение признаков………………………………………………………………………………………………… 146

Дискретный и непрерывный позиционный эмбеддинг……………………………………………… 147

Утечка данных…………………………………………………………………………………………………………………………. 149

Основные причины утечки данных…………………………………………………………………………….. 151

Случайная разбивка коррелированных по времени данных вместо разбивки по времени              151

Масштабирование перед разделением………………………………………………………………. 152

Заполнение отсутствующих данных статистикой из тестовой части…………….. 152

Плохая обработка дублированных данных перед разделением…………………….. 152

Групповая утечка…………………………………………………………………………………………………. 153

Утечка из процесса генерации данных………………………………………………………………. 153

Обнаружение утечек данных………………………………………………………………………………………. 154

Конструирование хороших признаков………………………………………………………………………………….. 154

Важность признаков…………………………………………………………………………………………………….. 155

Обобщение признаков………………………………………………………………………………………………….. 157

Итоги…………………………………………………………………………………………………………………………………………. 158

Глава 6. Разработка модели и ее автономная оценка……………………………. 161

Разработка и обучение модели………………………………………………………………………………………………. 162

Оценка ML-моделей……………………………………………………………………………………………………… 162

Шесть шагов по выбору модели…………………………………………………………………………. 163

Избегайте ловушки «хочу самое новое»……………………………………………………. 164

Начните с простых моделей……………………………………………………………………….. 164

Избегайте предубеждений при выборе модели………………………………………… 165

Оценивайте хорошую производительность в сравнении с предыдущими хорошими показателями производительности……………………………………………………………………………………. 165

Проанализируйте компромиссы………………………………………………………………… 166

Поймите предположения вашей модели……………………………………………………. 167

Ансамбли………………………………………………………………………………………………………………………. 168

Бэггинг…………………………………………………………………………………………………………………… 170

Бустинг………………………………………………………………………………………………………………….. 171

Стекинг………………………………………………………………………………………………………………….. 172

Отслеживание экспериментов и управление версиями…………………………………………….. 173

Отслеживание экспериментов…………………………………………………………………………….. 173

Управление версиями…………………………………………………………………………………………… 175

Отладка ML-моделей…………………………………………………………………………………………… 176

Распределенное обучение……………………………………………………………………………………………. 179

Параллелизм данных…………………………………………………………………………………………… 180

Параллелизм моделей………………………………………………………………………………………….. 181

AutoML………………………………………………………………………………………………………………………….. 183

Программная часть AutoML: настройка гиперпараметров…………………………….. 183

Аппаратная часть AutoML: архитектурный поиск и оптимизаторы обучения 185

Четыре этапа разработки ML-модели………………………………………………………………………… 186

Этап 1. До машинного обучения………………………………………………………………………… 187

Этап 2. Простейшие ML-модели…………………………………………………………………………. 187

Этап 3. Оптимизация простых моделей……………………………………………………………… 188

Этап 4. Сложные модели…………………………………………………………………………………….. 188

Автономная оценка модели…………………………………………………………………………………………………….. 188

Базовые конфигурации………………………………………………………………………………………………… 189

Методы оценки……………………………………………………………………………………………………………… 191

Тест на возмущение……………………………………………………………………………………………… 191

Тест на инвариантность………………………………………………………………………………………. 192

Тест на ожидаемые изменения……………………………………………………………………………. 192

Калибровка модели……………………………………………………………………………………………… 193

Оценка достоверности…………………………………………………………………………………………. 194

Оценка на основе срезов……………………………………………………………………………………… 195

Итоги…………………………………………………………………………………………………………………………………………. 198

Глава 7. Развертывание модели и совершенствование
ее сервиса прогнозирования…………………………………………………………………. 201

Мифы о развертывании ML……………………………………………………………………………………………………. 203

Миф 1: вы можете развертывать только одну или две модели за раз……………………… 203

Миф 2: если мы ничего не делаем, производительность модели
остается такой же…………………………………………………………………………………………………………. 204

Миф 3: нет нужды в частом обновлении модели………………………………………………………. 205

Миф 4: большинству ML-инженеров не нужно беспокоиться
о масштабировании……………………………………………………………………………………………………… 205

Пакетное прогнозирование или онлайн-прогнозирование?………………………………………………… 206

От пакетного прогнозирования к онлайн-прогнозированию……………………………………. 209

Объединение пакетного и потокового конвейеров……………………………………………………. 211

Сжатие модели…………………………………………………………………………………………………………………………. 213

Низкоранговая факторизация……………………………………………………………………………………… 214

Дистилляция знаний…………………………………………………………………………………………………….. 215

Прунинг…………………………………………………………………………………………………………………………. 215

Квантизация………………………………………………………………………………………………………………….. 216

ML в облаке и на периферийных устройствах……………………………………………………………………… 218

Компиляция и оптимизация модели под граничные устройства……………………………… 220

Оптимизация модели……………………………………………………………………………………………. 222

Использование ML для оптимизации ML………………………………………………………….. 224

ML в браузерах…………………………………………………………………………………………………………….. 227

Итоги…………………………………………………………………………………………………………………………………………. 228

Глава 8. Сдвиги в распределении данных и мониторинг……………………… 232

Причины сбоев ML-систем……………………………………………………………………………………………………… 233

Сбои программной системы………………………………………………………………………………………… 234

Сбои, характерные для ML…………………………………………………………………………………………. 235

Данные в производстве отличаются от данных при обучении……………………….. 235

Граничные случаи……………………………………………………………………………………………….. 237

Вырожденные петли обратной связи…………………………………………………………………. 238

Обнаружение вырожденных петель обратной связи……………………………….. 240

Исправление вырожденных петель обратной связи…………………………………. 240

Сдвиги в распределении данных……………………………………………………………………………………………. 242

Типы сдвигов данных…………………………………………………………………………………………………… 242

Ковариационный сдвиг……………………………………………………………………………………….. 243

Сдвиг меток…………………………………………………………………………………………………………… 245

Концептуальный дрейф……………………………………………………………………………………….. 245

Общие сдвиги в распределении данных…………………………………………………………………….. 246

Обнаружение сдвигов в распределении данных……………………………………………………….. 247

Статистические методы………………………………………………………………………………………. 247

Временные рамки окон для обнаружения сдвигов……………………………………………. 249

Устранение сдвигов распределения данных……………………………………………………………… 252

Мониторинг и наблюдаемость……………………………………………………………………………………………….. 254

Специфичные для мониторинга ML метрики…………………………………………………………….. 255

Мониторинг метрик, связанных с точностью……………………………………………………. 255

Мониторинг прогнозов………………………………………………………………………………………… 256

Мониторинг признаков………………………………………………………………………………………… 257

Мониторинг сырых данных………………………………………………………………………………… 259

Инструменты мониторинга………………………………………………………………………………………….. 260

Журналы……………………………………………………………………………………………………………….. 260

Информационные панели……………………………………………………………………………………. 261

Оповещения…………………………………………………………………………………………………………… 262

Наблюдаемость……………………………………………………………………………………………………………. 263

Итоги…………………………………………………………………………………………………………………………………………. 265

Глава 9. Непрерывное обучение и тестирование в производстве………….. 268

Непрерывное обучение…………………………………………………………………………………………………………… 269

Переобучение без сохранения состояния или обучение с его сохранением?…………. 270

Почему нужно непрерывное обучение?……………………………………………………………………… 272

Проблемы непрерывного обучения…………………………………………………………………………….. 274

Доступ к свежим данным…………………………………………………………………………………….. 274

Оценка…………………………………………………………………………………………………………………… 276

Алгоритмы…………………………………………………………………………………………………………….. 277

Четыре этапа непрерывного обучения……………………………………………………………………….. 278

Этап 1: ручное переобучение без сохранения состояния………………………………… 278

Этап 2: автоматизированное переобучение……………………………………………………… 279

Требования…………………………………………………………………………………………………… 280

Этап 3: автоматизированное обучение с сохранением состояния………………….. 281

Требования…………………………………………………………………………………………………… 281

Этап 4: непрерывное обучение…………………………………………………………………………… 282

Требования…………………………………………………………………………………………………… 282

Как часто надо обновлять модели?……………………………………………………………………………. 282

Ценность свежих данных…………………………………………………………………………………….. 283

Итерация данных или итерация моделей?…………………………………………………………. 284

Тестирование в производстве…………………………………………………………………………………………………. 284

Теневое развертывание………………………………………………………………………………………………… 285

A/B-тестирование…………………………………………………………………………………………………………. 286

Канареечный релиз………………………………………………………………………………………………………. 287

Тестирование чередованием……………………………………………………………………………………….. 288

Бандиты…………………………………………………………………………………………………………………………. 290

Контекстные бандиты как стратегия исследования…………………………………………. 291

Итоги…………………………………………………………………………………………………………………………………………. 293

Глава 10. Инфраструктура и инструменты для MLOps…………………………. 296

Хранение и вычисление…………………………………………………………………………………………………………… 299

Публичное облако или собственный ЦОД?……………………………………………………………….. 302

Среда разработки……………………………………………………………………………………………………………………. 305

Настройка среды разработки……………………………………………………………………………………… 305

IDE…………………………………………………………………………………………………………………………. 306

Стандартизация среды разработки……………………………………………………………………………. 308

От разработки к производству: контейнеры………………………………………………………………. 310

Управление ресурсами……………………………………………………………………………………………………………. 313

Cron, планировщик и оркестратор……………………………………………………………………………… 313

Управление рабочим процессом обработки данных………………………………………………… 316

ML-платформа…………………………………………………………………………………………………………………………. 321

Развертывание модели…………………………………………………………………………………………………. 322

Хранилища моделей…………………………………………………………………………………………………….. 323

Хранилища признаков…………………………………………………………………………………………………. 327

Создать или купить?…………………………………………………………………………………………………….. 329

Итоги…………………………………………………………………………………………………………………………………………. 331

Глава 11. Человеческая сторона машинного обучения…………………………. 334

Пользовательский опыт…………………………………………………………………………………………………………… 334

Обеспечение согласованности……………………………………………………………………………………. 335

Борьба с «преимущественно верными» прогнозами…………………………………………………. 335

Система бэкапов…………………………………………………………………………………………………………… 337

Структура команды…………………………………………………………………………………………………………………. 337

Кросс-функциональное взаимодействие между командами…………………………………….. 338

«Универсальные» специалисты по обработке данных…………………………………………….. 339

Подход 1: создание отдельных команд для управления процессами…………….. 339

Подход 2: специалисты по обработке данных управляют всем процессом…… 340

Ответственный ИИ…………………………………………………………………………………………………………………… 342

Безответственный ИИ: исследования инцидентов…………………………………………………….. 343

Пример 1: предвзятость автоматизированной оценки……………………………………… 344

Провал 1: постановка неправильной цели………………………………………………… 345

Провал 2: недостаточная оценка присущих модели предубеждений……. 345

Провал 3: отсутствие прозрачности………………………………………………………….. 346

Пример 2: опасность «анонимизированных» данных………………………………………. 347

Советы по созданию ответственного ИИ……………………………………………………………………. 349

Выясните источники искажений модели……………………………………………………………. 349

Поймите ограничения подхода, основанного на данных………………………………… 351

Оцените компромиссы между разными пожеланиями……………………………………… 351

Продумывайте всё заранее………………………………………………………………………………….. 352

Создайте карточки моделей………………………………………………………………………………… 353

Установите процессы для смягчения смещений………………………………………………… 354

Будьте в курсе тенденций ответственного ИИ…………………………………………………… 355

Итоги…………………………………………………………………………………………………………………………………………. 355

Заключение………………………………………………………………………………………….. 358

Предметный указатель…………………………………………………………………………. 359

Об авторе……………………………………………………………………………………………… 365

Об обложке…………………………………………………………………………………………… 366

Чип Хьюен

Чип Хьюен – основательница компании Claypot AI. Занималась разработкой систем машинного обучения в компаниях NVIDIA, Snorkel AI, Netflix, Primer, преподаёт в Стэнфордском университете курс CS 329S по проектированию систем машинного обучения.