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

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

Изучаем Ray. Гибкий распределенный Python для машинного обучения
Автор: Ляо Ричард, Оукс Эдвард, Пумперла Макс
Переводчик: А. В. Логунова
Дата выхода: 2023
Издательство: Books.kz
Количество страниц: 292
Размер файла: 2,5 МБ
Тип файла: PDF
Добавил: codelibs
 Проверить на вирусы

От издательства....14

Об авторах....15

Колофон....16

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

Введение....18

Глава 1. Общий обзор фреймворка Ray....25

Что такое Ray?....26

Что привело к разработке Ray?....27

Принципы внутреннего устройства фреймворка Ray....28

Простота и абстракция....28

Гибкость и неоднородность....29

Скорость и масштабируемость....30

Три слоя: ядро, библиотеки и экосистема....30

Фреймворк распределенных вычислений....31

Комплект библиотек науки о данных....34

Инструментарий Ray AIR и рабочий процесс науки о данных....34

Обработка данных с использованием библиотеки Ray Data....36

Тренировка моделей....38

Обучение с подкреплением с помощью библиотеки Ray RLlib....38

Распределенная тренировка с помощью библиотеки Ray Train....42

Гиперпараметрическая настройка....42

Подача моделей в качестве служб....44

Растущая экосистема....46

Резюме....47

Глава 2. Начало работы с инструментарием Ray Core....49

Введение в инструментарий Ray Core....50

Первый пример использования Ray API....52

Функции и дистанционные задания Ray....54

Использование хранилища объектов с помощью put и get....55

Применение функции wait фреймворка Ray для неблокирующих вызовов....56

Оперирование зависимостями заданий....58

Из классов в акторы....59

Краткий обзор API инструментария Ray Core....62

Понимание системных компонентов фреймворка Ray....63

Планирование и исполнение работы на узле....63

Головной узел....65

Распределенное планирование и исполнение....66

Простой пример использования парадигмы MapReduce с фреймворком Ray....68

Отображение и перетасовка данных в документах....71

Редукция количеств слов....72

Резюме....74

Глава 3. Разработка первого распределенного приложения....75

Введение в обучение с подкреплением....75

Постановка простой задачи о лабиринте....77

Разработка симуляции....82

Тренировка модели обучения с подкреплением....85

Разработка распределенного приложения Ray....89

Резюмирование терминологии обучения с подкреплением....92

Резюме....94

Глава 4. Обучение с подкреплением с использованием библиотеки Ray RLlib....95

Краткий обзор библиотеки RLlib....96

Начало работы с библиотекой RLlib....97

Разработка среды в рамках библиотеки Gym....98

Работа с интерфейсом командной строки библиотеки RLlib....99

Использование Python API библиотеки RLlib....101

Тренировка алгоритмов библиотеки RLlib....101

Сохранение, загрузка и оценивание моделей библиотеки RLlib....103

Вычисление действий....104

Доступ к политике и модельным состояниям....105

Конфигурирование экспериментов с помощью библиотеки RLlib....108

Конфигурирование ресурсов....110

Конфигурирование работников розыгрыша....110

Конфигурирование сред....111

Работа со средами библиотеки RLlib....111

Общий обзор сред библиотеки RLlib....111

Работа с несколькими агентами....112

Работа с серверами политик и клиентами....117

Определение сервера....117

Определение клиента....119

Продвинутые концепции....120

Разработка продвинутой среды....120

Применение процедуры усвоения учебной программы....122

Работа с офлайновыми данными....124

Другие продвинутые темы....125

Резюме....126

Глава 5. Гиперпараметрическая оптимизация с использованием библиотеки Ray Tune....127

Настройка гиперпараметров....128

Разработка примера случайного поиска с помощью фреймворка Ray....128

В чем трудность гиперпараметрической оптимизации?....131

Введение в библиотеку Tune....132

Принцип работы библиотеки Tune....133

Алгоритмы поиска....135

Планировщики....136

Конфигурирование и выполнение библиотеки Tune....138

Детализация ресурсов....138

Функции обратного вызова и метрики....139

Контрольные точки, остановка и возобновление....141

Конкретно-прикладные и условные пространства поиска....142

Машинное обучение с помощью библиотеки Tune....143

Использование библиотеки RLlib вместе с библиотекой Tune....143

Настройка моделей Keras....144

Резюме....147

Глава 6. Обработка данных с использованием фреймворка Ray....149

Библиотека Ray Data....150

Основы библиотеки Ray Data....151

Создание набора данных Dataset....152

Чтение из хранилища и запись в него....152

Встроенные преобразования....153

Блоки и реорганизация блоков....154

Схемы и форматы данных....154

Вычисления на наборах данных Dataset....155

Конвейеры наборов данных Dataset....157

Пример: параллельная тренировка копий классификатора....159

Интеграции с внешними библиотеками....163

Разработка конвейера машинного обучения....166

Резюме....168

Глава 7. Распределенная тренировка с использованием библиотеки Ray Train....169

Основы распределенной тренировки моделей....170

Введение в библиотеку Ray Train на примере....171

Предсказание больших чаевых в поездках на нью-йоркском такси....172

Загрузкапредобработка данных и выделение признаков....173

Определение модели глубокого обучения....174

Распределенная тренировка с помощью библиотеки Ray Train....175

Распределенное пакетное генерирование модельных предсказаний....178

Подробнее о тренерах в библиотеке Ray Train....179

Миграция в библиотеку Ray Train с минимальными изменениями исходного кода....181

Горизонтальное масштабирование тренеров....182

Предобработка с помощью библиотеки Ray Train....183

Интеграция тренеров с библиотекой Ray Tune....185

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

Резюме....187

Глава 8. Онлайновое генерирование модельных предсказаний с использованием библиотеки Ray Serve....189

Ключевые характеристики онлайнового генерирования модельных предсказаний....191

Модели машинного обучения характерны своей вычислительной интенсивностью....191

Модели машинного обучения бесполезны в изоляции....192

Введение в библиотеку Ray Serve....193

Архитектурный обзор....193

Определение базовой конечной точки HTTP....195

Масштабирование и ресурсное обеспечение....197

Пакетирование запросов....199

Графы генерирования многомодельных предсказаний....200

Ключевая функциональность: привязка нескольких развертываний....201

Шаблон 1: конвейеризация....202

Шаблон 2: широковещательная трансляция....203

Шаблон 3: условная логика....203

Сквозной пример: разработка API на базе обработки естественного языка....204

Доставка содержимого и предобработка....206

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

Обработка HTTP и логика драйвера....208

Собираем все воедино....210

Резюме....212

Глава 9. Кластеры Ray....213

Создание кластера Ray в ручном режиме....214

Развертывание на Kubernetes....216

Настройка своего первого кластера KubeRay....217

Взаимодействие с кластером KubeRay....218

Выполнение программ Ray с помощью команды kubectl....219

Использование сервера подачи заявок Ray на выполнение работы....219

Клиент Ray....220

Предоставление оператора KubeRay....221

Конфигурирование оператора KubeRay....221

Конфигурирование журналирования для KubeRay....224

Использование инструмента запуска кластеров Ray....225

Конфигурирование своего кластера Ray....226

Использование CLI-инструмента запуска кластеров....226

Взаимодействие с кластером Ray....227

Работа с облачными кластерами....227

AWS....227

Использование других облачных провайдеров....228

Автомасштабирование....229

Резюме....230

Глава 10. Начало работы с инструментарием Ray AI Runtime....231

Зачем использовать инструментарий AIR?....231

Ключевые концепции инструментария AIR на примере....233

Наборы данных Dataset и предобработчики....234

Тренеры....235

Настройщики и контрольные точки....237

Пакетные предсказатели....239

Развертывания....240

Рабочие нагрузки, подходящие для инструментария AIR....243

Исполнение рабочих нагрузок AIR....246

Исполнение без отслеживания внутреннего состояния....246

Исполнение с отслеживанием внутреннего состояния....247

Исполнение составной рабочей нагрузки....247

Исполнение заданий по онлайновому генерированию модельных предсказаний....248

Управление памятью в инструментарии AIR....248

Принятая в инструментарии AIR модель сбоя....249

Автомасштабирование рабочих нагрузок AIR....250

Резюме....251

Глава 11. Экосистема фреймворка Ray и за ее пределами....252

Растущая экосистема....253

Загрузка и предобработка данных....253

Тренировка моделей....255

Подача моделей в качестве служб....259

Разработка конкретно-прикладных интеграций....262

Обзор интеграций фреймворка Ray....264

Фреймворк Ray и другие системы....264

Фреймворки распределенных вычислений на Python....265

Инструментарий Ray AIR и более широкая экосистема машинного обучения....265

Как интегрировать инструментарий AIR в свою платформу машинного обучения....268

Куда отсюда двигаться дальше?....269

Резюме....271

Тематический указатель....272

Наука о данных — сложная и быстро развивающаяся область, которая нуждается в мощных инструментах и фреймворках для управления огромными объемами данных, генерируемых каждый день. Ray – это платформа кластерных вычислений для распространения и запуска Python-кода, даже со сложными библиотеками или пакетами, на кластерах бесконечного размера. Помимо Python, также Ray предоставляет API для Java и C++. Фреймворк использует задачи (функции) и субъекты (классы), чтобы распараллеливать пользовательский код. Ray помогает реализовать параллельные и распределенные вычисления в жизненном цикле науки о данных.За последние несколько лет фреймворк распределенных вычислений Ray получал все большее предпочтение в связи со своей способностью упрощать разработку таких приложений. Ray включает в себя гибкое ядро и набор мощных библиотек, которые позволяют разработчикам легко масштабировать различные рабочие нагрузки, включая тренировку, гиперпараметрическую настройку, обуче ние с подкреплением, подачу моделей в качестве служб и пакетную обработку неструктурированных данных. Фреймворк Ray является одним из самых популярных проектов с открытым исходным кодом и используется тысячами компаний для внедрения широкого спектра вычислительных решений, от платформ машинного обуче ния до рекомендательных систем, систем обнаружения мошенничества и тренировки крупнейших моделей, в том числе ChatGPT компании Open AI.Признавая, что масштабирование является одновременно необходимостью и вызовом времени, фреймворк Ray призван упростить разработчикам распределенные вычисления. Благодаря ему распределенные вычисления стали доступными для неспециалистов и стало довольно легко масштабировать скрипты Python по нескольким узлам. Фреймворк Ray хорошо зарекомендовал себя в масштабировании вычислительно интенсивных рабочих нагрузок и рабочих нагрузок интенсивных по использованию данных, таких как предобработка данных и тренировка моделей, и он непосредственно ориентирован на рабочие нагрузки машинного обуче ния, требующие масштабирования.Издание предназначено для программистов на Python, инженеров и исследователей данных.


Похожее:

Список отзывов:

Нет отзывов к книге.