Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

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

Руководство для инженеров программного обеспечения
Покупка
Новинка
Артикул: 855975.01.99
Доступ онлайн
1 799 ₽
В корзину
Это всеобъемлющая книга о разработке систем, которые поддерживают наведение мостов в области глубокого обучения, от научных изысканий и прототипирования до производства. Почему наша система глубокого обучения сконструирована именно так, а не иначе? Подойдет ли ее конструкция и для других конкретных случаев использования? Каждый компонент системы обсуждается очень подробно, приводится мотивация и дается представление о плюсах и минусах различных конструкционных вариантов. Для того чтобы помочь инженерам воплотить все идеи на практике, создан образец системы глубокого обучения с полностью работоспособным исходным кодом. Издание предназначено для инженеров практически всех уровней знаний, заинтересованных в разработке эффективных систем глубокого обучения.
Ванг, К. Конструирование систем глубокого обучения : руководство для инженеров программного обеспечения : практическое руководство / К. Ванг, Д. Сзето ; пер. с англ. А. В. Логунова. – Москва : ДМК Пресс, 2023. - 464 с. – ISBN 978-5-93700-181-8. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2204227 (дата обращения: 03.04.2025). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Кай Ванг и Дональд Сзето
Конструирование систем  
глубокого обучения


Designing Deep 
Learning Systems
A GUIDE FOR SOFTWARE ENGINEERS 
CHI WANG
AND DONALD SZETO
CODE LAB BY YAN XUE
FOREWORD BY SILVIO SAVARESE AND CAIMING XIONG


Конструирование систем 
глубокого обучения
РУКОВОДСТВО ДЛЯ ИНЖЕНЕРОВ  
ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
КАЙ ВАНГ  
И ДОНАЛЬД СЗЕТО
Лаборатория кода Яня Сюэ
Вводное слово Сильвио Саварезе и Каймин Сюн 
Москва, 2024


УДК	 004.048
ББК	 32.813
В17
Ванг К., Сзето Д.
В17	
Конструирование систем глубокого обучения / пер. с англ. А. В. Логунова. – М.: ДМК Пресс, 2023. – 462 с.: ил. 
ISBN 978-5-93700-181-8
Это всеобъемлющая книга о разработке систем, которые поддерживают наведение мостов в области глубокого обучения, от научных изысканий и прототипирования до производства. Почему наша система глубокого обучения сконструирована 
именно так, а не иначе? Подойдет ли ее конструкция и для других конкретных 
случаев использования? Каждый компонент системы обсуждается очень подробно, 
приводится мотивация и дается представление о плюсах и минусах различных 
конструкционных вариантов. Для того чтобы помочь инженерам воплотить все 
идеи на практике, создан образец системы глубокого обучения с полностью работоспособным исходным кодом. 
Издание предназначено для инженеров практически всех уровней знаний, заинтересованных в разработке эффективных систем глубокого обучения.
УДК  004.048
ББК  32.813
Copyright © DMK Press 2023. Authorized translation of the English edition. 
© 2023 Manning Publications. This translation is published and sold by permission of 
Manning Publications, the owner of all rights to publish and sell the same.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения 
владельцев авторских прав.
ISBN 978-1-6334-3986-3 (англ.)	
©  Manning Publications, 2023
ISBN 978-5-93700-181-8 (рус.)	
©  Перевод, оформление, издание, ДМК Пресс, 2023


Оглавление
	 1	   Введение в системы глубокого обучения......................................................... 27
	 2	   Служба управления наборами данных............................................................. 63
	 3	   Служба тренировки моделей..............................................................................120
	 4	   Распределенная тренировка..............................................................................160
	 5	   Служба гиперпараметрической оптимизации..............................................199
	 6	   Конструирование службы раздачи моделей...................................................233
	 7	   Раздача моделей на практике............................................................................260
	 8	   Склад метаданных и артифактов......................................................................320
	 9	   Оркестровка рабочего процесса........................................................................343
	10	   Путь к производству.............................................................................................375


Содержание
Оглавление............................................................................................................ 5
Вводное слово...................................................................................................... 12
Предисловие........................................................................................................ 14
Благодарности................................................................................................... 17
О книге................................................................................................................. 20
Об авторах......................................................................................................... 25
Об иллюстрации на обложке............................................................................ 26
1	
Введение в системы глубокого обучения.................................. 27
1.1	
Цикл освоения глубокого обучения.................................................... 30
1.1.1	
Фазы цикла освоения продукта на базе глубокого обучения..... 32
1.1.2	
Технические роли в цикле освоения........................................... 38
1.1.3	
Пошаговый обход цикла освоения глубокого обучения............ 41
1.1.4	
Масштабируемость при разработке проекта....................... 43
1.2	
Обзор конструкции системы глубокого обучения............................ 44
1.2.1	
Эталонная системная архитектура....................................... 45
1.2.2	
Ключевые компоненты.............................................................. 46
1.2.3	
Ключевые пользовательские сценарии..................................... 52
1.2.4	
Выведение своей собственной конструкции............................ 55
1.2.5	
Разработка компонентов поверх Kubernetes.......................... 57
1.3	
Разработка системы глубокого обучения в сравнении 
с разработкой модели........................................................................... 60
Резюме................................................................................................................ 61
2	
Служба управления наборами данных...................................... 63
2.1	
Понимание службы управления наборами данных......................... 65
2.1.1	
Почему системы глубокого обучения нуждаются  
в управлении наборами данных................................................. 65
2.1.2	
Принципы конструирования службы управления  
наборами данных........................................................................ 70


Содержание
2.1.3	
Парадоксальный характер наборов данных............................ 73
2.2	
Экскурсия по образцу службы управления наборами данных....... 75
2.2.1	
Ознакомление с образцом службы............................................ 75
2.2.2	
Пользователи, пользовательские сценарии и общая  
картина....................................................................................... 82
2.2.3	
API приема данных..................................................................... 84
2.2.4	
API доставки тренировочного набора данных....................... 90
2.2.5	
Внутреннее хранилище наборов данных.................................. 96
2.2.6	
Схемы данных.............................................................................. 99
2.2.7	
Добавление нового типа набора данных (IMAGE_CLASS)..... 103
2.2.8	
Резюме конструкции службы...................................................104
2.3	
Подходы с открытым исходным кодом.............................................105
2.3.1	
Delta Lake и Petastorm с семейством Apache Spark................105
2.3.2	
Pachyderm с облачным хранилищем объектов........................113
Резюме...............................................................................................................118
3	
Служба тренировки моделей.........................................................120
3.1	
Служба тренировки моделей: обзор конструкции..........................122
3.1.1	
Зачем использовать службу тренировки моделей?...............123
3.1.2	
Принципы конструирования службы тренировки.................125
3.2	
Шаблон исходного кода тренировки для глубокого обучения......127
3.2.1	
Рабочий процесс тренировки моделей....................................127
3.2.2	
Докеризация исходного кода тренировки моделей  
в качестве черного ящика.........................................................129
3.3	
Образец службы тренировки моделей..............................................130
3.3.1	
Ознакомление со службой.........................................................131
3.3.2	
Обзор конструкции службы......................................................132
3.3.3	
API службы тренировки............................................................135
3.3.4	
Запуск нового задания на тренировку....................................136
3.3.5	
Обновление и доставка информации о статусе задания.....140
3.3.6	
Исходный код тренировки модели классифицирования 
намерений..................................................................................142
3.3.7	
Управление заданиями на тренировку...................................144
3.3.8	
Метрики для устранения неполадок.......................................145
3.3.9	
Поддержка нового алгоритма или новой версии....................146
3.4	
Тренировочные операторы Kubeflow с открытым исходным  
кодом......................................................................................................147
3.4.1	
Тренировочные операторы Kubeflow.......................................148
3.4.2	
Шаблон оператора/контроллера Kubernetes.........................149
3.4.3	
Конструкция тренировочного оператора Kubeflow..............150
3.4.4	
Как использовать тренировочные операторы Kubeflow.......152
3.4.5	
Как интегрировать эти операторы в существующую 
систему......................................................................................154
3.5	
Когда использовать публичное облако..............................................155
3.5.1	
Когда использовать технологическое решение на базе 
публичного облака.....................................................................156
3.5.2	
Когда создавать свою собственную службу тренировки......156
Резюме...............................................................................................................158


Содержание
4	
Распределенная тренировка...........................................................160
4.1	
Типы методов распределенной тренировки....................................161
4.2	
Параллелизм данных...........................................................................162
4.2.1	
Концепция параллелизма данных............................................162
4.2.2	
Трудности тренировки с несколькими работниками...........166
4.2.3	
Написание исходного кода распределенной тренировки  
(с параллелизмом данных) для разных фреймворков 
тренировки................................................................................168
4.2.4	
Инженерные усилия по распределенной тренировке 
с параллелизмом данных..........................................................173
4.3	
Образец службы с поддержкой распределенной тренировки  
с параллелизмом данных....................................................................176
4.3.1	
Обзор службы.............................................................................176
4.3.2	
Ознакомление со службой.........................................................178
4.3.3	
Запуск заданий на тренировку................................................180
4.3.4	
Обновление и доставка информации о статусе задания.....184
4.3.5	
Конвертация исходного кода тренировки  
в распределенный режим исполнения......................................185
4.3.6	
Улучшения..................................................................................186
4.4	
Тренировка больших моделей, не помещающихся на один 
графический процессор.......................................................................187
4.4.1	
Традиционные методы: экономия памяти............................187
4.4.2	
Конвейерный параллелизм модели..........................................189
4.4.3	
Как разработчикам программного обеспечения 
поддерживать параллелизм конвейера..................................196
Резюме...............................................................................................................197
5	
Служба гиперпараметрической оптимизации..................199
5.1	
Понятие гиперпараметров..................................................................201
5.1.1	
Что такое гиперпараметр?....................................................201
5.1.2	
Причины важности гиперпараметров...................................202
5.2	
Понятие гиперпараметрической оптимизации..............................203
5.2.1	
Что такое гиперпараметрическая оптимизация?...............203
5.2.2	
Популярные алгоритмы гиперпараметрической 
оптимизации.............................................................................207
5.2.3	
Распространенные подходы к автоматической ГПО............214
5.3	
Конструирование службы ГПО...........................................................217
5.3.1	
Принципы конструирования службы ГПО..............................217
5.3.2	
Общая конструкция службы ГПО............................................219
5.4	
Библиотеки ГПО с открытым исходным кодом...............................221
5.4.1	
Hyperopt......................................................................................222
5.4.2	
Optuna.........................................................................................225
5.4.3	
Ray Tune......................................................................................227
5.4.4	
Следующие шаги........................................................................231
Резюме...............................................................................................................231
6	
Конструирование службы раздачи моделей.........................233
6.1	
Объяснение процесса раздачи моделей............................................235
6.1.1	
Что такое модель машинного обучения?...............................235


Содержание
6.1.2	
Модельное предсказание и модельный вывод..........................237
6.1.3	
Что представляет собой раздача модели?............................238
6.1.4	
Трудности раздачи моделей.....................................................239
6.1.5	
Терминология раздачи моделей................................................241
6.2	
Распространенные стратегии раздачи моделей..............................242
6.2.1	
Прямое встраивание модели....................................................242
6.2.2	
Служба моделей.........................................................................243
6.2.3	
Сервер моделей..........................................................................244
6.3	
Конструирование службы предсказания..........................................245
6.3.1	
Одномодельное приложение.....................................................246
6.3.2	
Многоарендаторное приложение............................................250
6.3.3	
Поддержка нескольких приложений в одной системе............253
6.3.4	
Общие требования к службе предсказания............................257
Резюме...............................................................................................................258
7	
Раздача моделей на практике.......................................................260
7.1	
Образец службы моделей....................................................................261
7.1.1	
Ознакомление со службой.........................................................262
7.1.2	
Конструкция службы.................................................................263
7.1.3	
Фронтендовая служба..............................................................264
7.1.4	
Предсказатель классификации намерений.............................271
7.1.5	
Вытеснение моделей.................................................................278
7.2	
Образец сервера моделей TorchServe................................................278
7.2.1	
Ознакомление со службой.........................................................279
7.2.2	
Конструкция службы.................................................................280
7.2.3	
Фронтендовая служба..............................................................280
7.2.4	
Бэкенд TorchServe.......................................................................281
7.2.5	
API TorchServe............................................................................282
7.2.6	
Модельные файлы TorchServe...................................................284
7.2.7	
Вертикальное масштабирование в Kubernetes......................289
7.3	
Сервер моделей в сопоставлении со службой моделей..................291
7.4	
Экскурсия по инструментам с открытым исходным кодом 
 для раздачи моделей...........................................................................292
7.4.1	
TensorFlow Serving......................................................................293
7.4.2	
TorchServe...................................................................................296
7.4.3	
Triton Inference Server................................................................300
7.4.4	
KServe и другие инструменты..................................................306
7.4.5	
Интеграция инструмента раздачи с существующей 
системой раздачи......................................................................307
7.5	
Выпуск моделей....................................................................................309
7.5.1	
Регистрация моделей................................................................311
7.5.2	
Загрузка произвольной версии модели в реальном  
времени с помощью службы предсказания..............................312
7.5.3	
Выпуск модели путем обновления дефолтной версии  
модели.........................................................................................314
7.6	
Постпроизводственный мониторинг моделей................................316
7.6.1	
Сбор метрических данных и границы качества.....................317
7.6.2	
Собираемые метрики...............................................................317
Резюме...............................................................................................................318


Содержание
8	
Склад метаданных и артифактов............................................320
8.1	
Введение в артифакты.........................................................................321
8.2	
Метаданные в контексте глубокого обучения.................................322
8.2.1	
Распространенные категории метаданных..........................323
8.2.2	
Зачем нужно управлять метаданными?................................326
8.3	
Конструирование склада метаданных и артифактов.....................329
8.3.1	
Принципы конструирования....................................................329
8.3.2	
Общее конструкционное предложение по складу  
метаданных и артифактов.....................................................331
8.4	
Технологические решения с открытым исходным кодом.............334
8.4.1	
ML Metadata...............................................................................334
8.4.2	
MLflow.........................................................................................338
8.4.3	
MLflow в сопоставлении с MLMD.............................................341
Резюме...............................................................................................................342
9	
Оркестровка рабочего процесса...................................................343
9.1	
Введение в оркестровку рабочего процесса.....................................344
9.1.1	
Что такое рабочий процесс?...................................................345
9.1.2	
Что такое оркестровка рабочего процесса?.........................346
9.1.3	
Трудности использования оркестровки рабочих  
процессов в глубоком обучении.................................................348
9.2	
Конструирование системы оркестровки рабочих процессов........351
9.2.1	
Пользовательские сценарии.....................................................351
9.2.2	
Общая конструкция системы оркестровки...........................354
9.2.3	
Принципы конструирования системы оркестровки  
рабочих процессов......................................................................356
9.3	
Экскурсия по системам оркестровки рабочих процессов  
с открытым исходным кодом.............................................................358
9.3.1	
Airflow.........................................................................................359
9.3.2	
Argo Workflows...........................................................................363
9.3.3	
Metaflow......................................................................................368
9.3.4	
Когда использовать...................................................................373
Резюме...............................................................................................................374
10	
Путь к производству...........................................................................375
10.1	
Подготовка к продукционализации..................................................379
10.1.1	 Научные изыскания...................................................................379
10.1.2	 Прототипирование..................................................................381
10.1.3	 Ключевые выводы.......................................................................382
10.2	
Продукционализация модели.............................................................383
10.2.1	 Компонентизация исходного кода...........................................383
10.2.2	 Пакетирование исходного кода................................................385
10.2.3	 Регистрация исходного кода.....................................................386
10.2.4	 Настройка рабочего процесса тренировки............................387
10.2.5	 Генерирование модельных выводов..........................................388
10.2.6  Интеграция с продуктом........................................................389
10.3	
Стратегии развертывания моделей...................................................390


Похожие

Доступ онлайн
1 799 ₽
В корзину