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

Изучаем Ray. Гибкие распределенные вычисления на Python в машинном обучении

Покупка
Новинка
Артикул: 856515.01.99
Доступ онлайн
1 399 ₽
В корзину
В книге излагаются основы работы с фреймворком распределенных вычислений с открытым исходным кодом Ray, который упрощает процесс масштабирования вычислительно интенсивных рабочих нагрузок на Python. Читатель научится применять фреймворк Ray локально и разворачивать вычислительные кластеры Ray, создавать распределенные приложения с помощью ядра фреймворка — Ray Core, управлять распределенным обучением с помощью библиотеки Ray Train. Издание предназначено для программистов на Python, инженеров и исследователей данных.
Пумперла, М. Изучаем Ray. Гибкие распределенные вычисления на Python в машинном обучении : практическое руководство / М. Пумперла, Э. Оукс Э, Р. Ляо ; пер. с англ. А. В. Логунова. – Москва : Books.kz, 2023. - 292 с. – ISBN 978-6-01083-430-9. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2205122 (дата обращения: 08.04.2025). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Макс Пумперла, Эдвард Оукс и Ричард Ляо
Изучаем Ray


Max Pumperla, Edward Oakes, and Richard Liaw
Learning Ray 
Flexible Distributed Python 
for Machine Learning
Beijing · Boston · Farnham · Sebastopol · Tokyo


Макс Пумперла, Эдвард Оукс и Ричард Ляо
Изучаем Ray
Гибкие распределенные вычисления 
на Python в машинном обучении


УДК	 004.043
П88 32.973.22
П88
Пумперла М., Оукс Э., Ляо Р.
П88 	 Изучаем Ray / пер. с англ. А. В. Логунова. – М.: Books.kz, 2023. – 290 с.: ил. 
ISBN 978-6-01083-430-9
В книге излагаются основы работы с фреймворком распределенных вычислений с открытым исходным кодом Ray, который упрощает процесс масштабирования вычислительно интенсивных рабочих нагрузок на Python. Читатель 
научится применять фреймворк Ray локально и разворачивать вычислительные 
кластеры Ray, создавать распределенные приложения с помощью ядра фреймворка – Ray Core, управлять распределенным обучением с помощью библиотеки 
Ray Train.
Издание предназначено для программистов на Python, инженеров и исследователей данных.
УДК  004.043
ББК  32.973.22
Copyright © 2023 Max Pumperla and O’Reilly Media, Inc. All rights reserved.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения 
владельцев авторских прав.
ISBN 978-1-098-12061-0 (англ.) 	
©  2023 Max Pumperla and O’Reilly 
Media, Inc. 
ISBN 978-6-01083-430-9 (казах.) 	
©  Перевод, оформление, издание,  
Books.kz, 2023


Посвящается Альме


Содержание
От издательства.....................................................................................................12
Об авторах...............................................................................................................13
Колофон....................................................................................................................14
Предисловие...........................................................................................................15
Введение...................................................................................................................16
Глава 1. Общий обзор фреймворка Ray....................................................23
Что такое Ray?..............................................................................................................24
Что привело к разработке Ray?.............................................................................25
Принципы внутреннего устройства фреймворка Ray......................................26
Простота и абстракция......................................................................................26
Гибкость и неоднородность..............................................................................27
Скорость и масштабируемость.........................................................................28
Три слоя: ядро, библиотеки и экосистема..........................................................28
Фреймворк распределенных вычислений..............................................................29
Комплект библиотек науки о данных......................................................................32
Инструментарий Ray AIR и рабочий процесс науки о данных........................32
Обработка данных с использованием библиотеки Ray Data............................34
Тренировка моделей..............................................................................................36
Обучение с подкреплением с помощью библиотеки Ray RLlib...................36
Распределенная тренировка с помощью библиотеки Ray Train.................40
Гиперпараметрическая настройка.......................................................................40
Подача моделей в качестве служб........................................................................42
Растущая экосистема..................................................................................................44
Резюме..........................................................................................................................45
Глава 2. Начало работы с инструментарием Ray Core.......................47
Введение в инструментарий Ray Core.....................................................................48
Первый пример использования Ray API.............................................................50
Функции и дистанционные задания Ray........................................................52
Использование хранилища объектов с помощью put и get.........................53


Содержание    7
Применение функции wait фреймворка Ray для неблокирующих  
вызовов................................................................................................................54
Оперирование зависимостями заданий.........................................................56
Из классов в акторы...........................................................................................57
Краткий обзор API инструментария Ray Core....................................................60
Понимание системных компонентов фреймворка Ray........................................61
Планирование и исполнение работы на узле.....................................................61
Головной узел..........................................................................................................63
Распределенное планирование и исполнение...................................................64
Простой пример использования парадигмы MapReduce с фреймворком  
Ray.................................................................................................................................66
Отображение и перетасовка данных в документах..........................................69
Редукция количеств слов.......................................................................................70
Резюме..........................................................................................................................72
Глава 3. Разработка первого распределенного приложения........73
Введение в обуче-ние с подкреплением...................................................................73
Постановка простой задачи о лабиринте................................................................75
Разработка симуляции...............................................................................................80
Тренировка модели обуче-ния с подкреплением...................................................83
Разработка распределенного приложения Ray......................................................87
Резюмирование терминологии обуче-ния с подкреплением...............................90
Резюме..........................................................................................................................92
Глава 4. Обучение с подкреплением с использованием 
библиотеки Ray RLlib.........................................................................................93
Краткий обзор библиотеки RLlib..............................................................................94
Начало работы с библиотекой RLlib.........................................................................95
Разработка среды в рамках библиотеки Gym.....................................................96
Работа с интерфейсом командной строки библиотеки RLlib...............................97
Использование Python API библиотеки RLlib.....................................................99
Тренировка алгоритмов библиотеки RLlib.....................................................99
Сохранение, загрузка и оценивание моделей библиотеки RLlib..............101
Вычисление действий......................................................................................102
Доступ к политике и модельным состояниям.............................................103
Конфигурирование экспериментов с помощью библиотеки RLlib...................106
Конфигурирование ресурсов..............................................................................108
Конфигурирование работников розыгрыша....................................................108
Конфигурирование сред......................................................................................109
Работа со средами библиотеки RLlib......................................................................109
Общий обзор сред библиотеки RLlib.................................................................109
Работа с несколькими агентами.........................................................................110
Работа с серверами политик и клиентами........................................................115


8    Содержание
Определение сервера.......................................................................................115
Определение клиента......................................................................................117
Продвинутые концепции.........................................................................................118
Разработка продвинутой среды.........................................................................118
Применение процедуры усвоения учебной программы................................120
Работа с офлайновыми данными.......................................................................122
Другие продвинутые темы..................................................................................123
Резюме........................................................................................................................124
Глава 5. Гиперпараметрическая оптимизация  
с использованием библиотеки Ray Tune................................................125
Настройка гиперпараметров...................................................................................126
Разработка примера случайного поиска с помощью фреймворка Ray........126
В чем трудность гиперпараметрической оптимизации?...............................129
Введение в библиотеку Tune...................................................................................130
Принцип работы библиотеки Tune....................................................................131
Алгоритмы поиска...........................................................................................133
Планировщики..................................................................................................134
Конфигурирование и выполнение библиотеки Tune......................................136
Детализация ресурсов......................................................................................136
Функции обратного вызова и метрики.........................................................137
Контрольные точки, остановка и возобновление.......................................139
Конкретно-прикладные и условные пространства поиска.......................140
Машинное обуче-ние с помощью библиотеки Tune.............................................141
Использование библиотеки RLlib вместе с библиотекой Tune......................141
Настройка моделей Keras.....................................................................................142
Резюме........................................................................................................................145
Глава 6. Обработка данных с использованием  
фреймворка Ray.................................................................................................147
Библиотека Ray Data.................................................................................................148
Основы библиотеки Ray Data..............................................................................149
Создание набора данных Dataset...................................................................150
Чтение из хранилища и запись в него..........................................................150
Встроенные преобразования..........................................................................151
Блоки и реорганизация блоков......................................................................152
Схемы и форматы данных..............................................................................152
Вычисления на наборах данных Dataset...........................................................153
Конвейеры наборов данных Dataset..................................................................155
Пример: параллельная тренировка копий классификатора..........................157
Интеграции с внешними библиотеками...............................................................161
Разработка конвейера машинного обуче-ния.......................................................164
Резюме........................................................................................................................166


Содержание    9
Глава 7. Распределенная тренировка с использованием 
библиотеки Ray Train........................................................................................167
Основы распределенной тренировки моделей....................................................168
Введение в библиотеку Ray Train на примере......................................................169
Предсказание больших чаевых в поездках на нью-йоркском такси............170
Загрузка/предобработка данных и выделение признаков.............................171
Определение модели глубокого обуче-ния........................................................172
Распределенная тренировка с помощью библиотеки Ray Train...................173
Распределенное пакетное генерирование модельных предсказаний.........176
Подробнее о тренерах в библиотеке Ray Train.....................................................177
Миграция в библиотеку Ray Train с минимальными изменениями 
исходного кода......................................................................................................179
Горизонтальное масштабирование тренеров..................................................180
Предобработка с помощью библиотеки Ray Train...........................................181
Интеграция тренеров с библиотекой Ray Tune................................................183
Использование обратных вызовов для мониторинга тренировки...............185
Резюме........................................................................................................................185
Глава 8. Онлайновое генерирование модельных  
предсказаний  с использованием библиотеки Ray Serve...............187
Ключевые характеристики онлайнового генерирования модельных 
предсказаний.............................................................................................................189
Модели машинного обуче-ния характерны своей вычислительной 
интенсивностью....................................................................................................189
Модели машинного обуче-ния бесполезны в изоляции..................................190
Введение в библиотеку Ray Serve...........................................................................191
Архитектурный обзор..........................................................................................191
Определение базовой конечной точки HTTP...................................................193
Масштабирование и ресурсное обеспечение...................................................195
Пакетирование запросов.....................................................................................197
Графы генерирования многомодельных предсказаний.................................198
Ключевая функциональность: привязка нескольких  
развертываний..................................................................................................199
Шаблон 1: конвейеризация.............................................................................200
Шаблон 2: широковещательная трансляция................................................201
Шаблон 3: условная логика.............................................................................201
Сквозной пример: разработка API на базе обработки естественного  
языка...........................................................................................................................202
Доставка содержимого и предобработка..........................................................204
Модели обработки естественного языка...........................................................204
Обработка HTTP и логика драйвера...................................................................206
Собираем все воедино..........................................................................................208
Резюме........................................................................................................................210


10    Содержание
Глава 9. Кластеры Ray......................................................................................211
Создание кластера Ray в ручном режиме.............................................................212
Развертывание на Kubernetes.............................................................................214
Настройка своего первого кластера KubeRay...................................................215
Взаимодействие с кластером KubeRay..............................................................216
Выполнение программ Ray с помощью команды kubectl..........................217
Использование сервера подачи заявок Ray на выполнение работы........217
Клиент Ray.........................................................................................................218
Предоставление оператора KubeRay.................................................................219
Конфигурирование оператора KubeRay............................................................219
Конфигурирование журналирования для KubeRay.........................................222
Использование инструмента запуска кластеров Ray..........................................223
Конфигурирование своего кластера Ray...........................................................224
Использование CLI-инструмента запуска кластеров......................................224
Взаимодействие с кластером Ray.......................................................................225
Работа с облачными кластерами............................................................................225
AWS.........................................................................................................................225
Использование других облачных провайдеров...............................................226
Автомасштабирование.............................................................................................227
Резюме........................................................................................................................228
Глава 10. Начало работы с инструментарием Ray AI Runtime....229
Зачем использовать инструментарий AIR?..........................................................229
Ключевые концепции инструментария AIR на примере....................................231
Наборы данных Dataset и предобработчики....................................................232
Тренеры..................................................................................................................233
Настройщики и контрольные точки..................................................................235
Пакетные предсказатели.....................................................................................237
Развертывания......................................................................................................238
Рабочие нагрузки, подходящие для инструментария AIR..................................241
Исполнение рабочих нагрузок AIR....................................................................244
Исполнение без отслеживания внутреннего состояния.............................244
Исполнение с отслеживанием внутреннего состояния..............................245
Исполнение составной рабочей нагрузки....................................................245
Исполнение заданий по онлайновому генерированию модельных 
предсказаний....................................................................................................246
Управление памятью в инструментарии AIR...................................................246
Принятая в инструментарии AIR модель сбоя.................................................247
Автомасштабирование рабочих нагрузок AIR.................................................248
Резюме........................................................................................................................249
Глава 11. Экосистема фреймворка Ray и за ее пределами..........250
Растущая экосистема................................................................................................251
Загрузка и предобработка данных.....................................................................251


Похожие

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