Изучаем Ray

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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

Author(s): Макс Пумперла, Эдвард Оукс, Ричард Ляо
Edition: 1
Publisher: Books.kz
Year: 2023

Language: Russian
Commentary: Publisher's PDF
Pages: 290
City: М.
Tags: Machine Learning; Natural Language Processing; Reinforcement Learning; Data Science; Python; Clusters; Hyperparameter Tuning; Kubernetes; Distributed Applications; Distributed Processing; Data Processing; Model Training; Simulations; Ray

От издательства
Об авторах
Колофон
Предисловие
Введение
Глава 1. Общий обзор фреймворка Ray
Что такое Ray?
Что привело к разработке Ray?
Принципы внутреннего устройства фреймворка Ray
Простота и абстракция
Гибкость и неоднородность
Скорость и масштабируемость
Три слоя: ядро, библиотеки и экосистема
Фреймворк распределенных вычислений
Комплект библиотек науки о данных
Инструментарий Ray AIR и рабочий процесс науки о данных
Обработка данных с использованием библиотеки Ray Data
Тренировка моделей
Обучение с подкреплением с помощью библиотеки Ray RLlib
Распределенная тренировка с помощью библиотеки Ray Train
Гиперпараметрическая настройка
Подача моделей в качестве служб
Растущая экосистема
Резюме
Глава 2. Начало работы с инструментарием Ray Core
Введение в инструментарий Ray Core
Первый пример использования Ray API
Функции и дистанционные задания Ray
Использование хранилища объектов с помощью put и get
Применение функции wait фреймворка Ray для неблокирующих вызовов
Оперирование зависимостями заданий
Из классов в акторы
Краткий обзор API инструментария Ray Core
Понимание системных компонентов фреймворка Ray
Планирование и исполнение работы на узле
Головной узел
Распределенное планирование и исполнение
Простой пример использования парадигмы MapReduce с фреймворком Ray
Отображение и перетасовка данных в документах
Редукция количеств слов
Резюме
Глава 3. Разработка первого распределенного приложения
Введение в обуче­ние с подкреплением
Постановка простой задачи о лабиринте
Разработка симуляции
Тренировка модели обуче­ния с подкреплением
Разработка распределенного приложения Ray
Резюмирование терминологии обуче­ния с подкреплением
Резюме
Глава 4. Обучение с подкреплением с использованием библиотеки Ray RLlib
Краткий обзор библиотеки RLlib
Начало работы с библиотекой RLlib
Разработка среды в рамках библиотеки Gym
Работа с интерфейсом командной строки библиотеки RLlib
Использование Python API библиотеки RLlib
Тренировка алгоритмов библиотеки RLlib
Сохранение, загрузка и оценивание моделей библиотеки RLlib
Вычисление действий
Доступ к политике и модельным состояниям
Конфигурирование экспериментов с помощью библиотеки RLlib
Конфигурирование ресурсов
Конфигурирование работников розыгрыша
Конфигурирование сред
Работа со средами библиотеки RLlib
Общий обзор сред библиотеки RLlib
Работа с несколькими агентами
Работа с серверами политик и клиентами
Определение сервера
Определение клиента
Продвинутые концепции
Разработка продвинутой среды
Применение процедуры усвоения учебной программы
Работа с офлайновыми данными
Другие продвинутые темы
Резюме
Глава 5. Гиперпараметрическая оптимизация с использованием библиотеки Ray Tune
Настройка гиперпараметров
Разработка примера случайного поиска с помощью фреймворка Ray
В чем трудность гиперпараметрической оптимизации?
Введение в библиотеку Tune
Принцип работы библиотеки Tune
Алгоритмы поиска
Планировщики
Конфигурирование и выполнение библиотеки Tune
Детализация ресурсов
Функции обратного вызова и метрики
Контрольные точки, остановка и возобновление
Конкретно-прикладные и условные пространства поиска
Машинное обуче­ние с помощью библиотеки Tune
Использование библиотеки RLlib вместе с библиотекой Tune
Настройка моделей Keras
Резюме
Глава 6. Обработка данных с использованием фреймворка Ray
Библиотека Ray Data
Основы библиотеки Ray Data
Создание набора данных Dataset
Чтение из хранилища и запись в него
Встроенные преобразования
Блоки и реорганизация блоков
Схемы и форматы данных
Вычисления на наборах данных Dataset
Конвейеры наборов данных Dataset
Пример: параллельная тренировка копий классификатора
Интеграции с внешними библиотеками
Разработка конвейера машинного обуче­ния
Резюме
Глава 7. Распределенная тренировка с использованием библиотеки Ray Train
Основы распределенной тренировки моделей
Введение в библиотеку Ray Train на примере
Предсказание больших чаевых в поездках на нью-йоркском такси
Загрузка/предобработка данных и выделение признаков
Определение модели глубокого обуче­ния
Распределенная тренировка с помощью библиотеки Ray Train
Распределенное пакетное генерирование модельных предсказаний
Подробнее о тренерах в библиотеке Ray Train
Миграция в библиотеку Ray Train с минимальными изменениями исходного кода
Горизонтальное масштабирование тренеров
Предобработка с помощью библиотеки Ray Train
Интеграция тренеров с библиотекой Ray Tune
Использование обратных вызовов для мониторинга тренировки
Резюме
Глава 8. Онлайновое генерирование модельных предсказаний с использованием библиотеки Ray Serve
Ключевые характеристики онлайнового генерирования модельных предсказаний
Модели машинного обуче­ния характерны своей вычислительной интенсивностью
Модели машинного обуче­ния бесполезны в изоляции
Введение в библиотеку Ray Serve
Архитектурный обзор
Определение базовой конечной точки HTTP
Масштабирование и ресурсное обеспечение
Пакетирование запросов
Графы генерирования многомодельных предсказаний
Ключевая функциональность: привязка нескольких развертываний
Шаблон 1: конвейеризация
Шаблон 2: широковещательная трансляция
Шаблон 3: условная логика
Сквозной пример: разработка API на базе обработки естественного языка
Доставка содержимого и предобработка
Модели обработки естественного языка
Обработка HTTP и логика драйвера
Собираем все воедино
Резюме
Глава 9. Кластеры Ray
Создание кластера Ray в ручном режиме
Развертывание на Kubernetes
Настройка своего первого кластера KubeRay
Взаимодействие с кластером KubeRay
Выполнение программ Ray с помощью команды kubectl
Использование сервера подачи заявок Ray на выполнение работы
Клиент Ray
Предоставление оператора KubeRay
Конфигурирование оператора KubeRay
Конфигурирование журналирования для KubeRay
Использование инструмента запуска кластеров Ray
Конфигурирование своего кластера Ray
Использование CLI-инструмента запуска кластеров
Взаимодействие с кластером Ray
Работа с облачными кластерами
AWS
Использование других облачных провайдеров
Автомасштабирование
Резюме
Глава 10. Начало работы с инструментарием Ray AI Runtime
Зачем использовать инструментарий AIR?
Ключевые концепции инструментария AIR на примере
Наборы данных Dataset и предобработчики
Тренеры
Настройщики и контрольные точки
Пакетные предсказатели
Развертывания
Рабочие нагрузки, подходящие для инструментария AIR
Исполнение рабочих нагрузок AIR
Исполнение без отслеживания внутреннего состояния
Исполнение с отслеживанием внутреннего состояния
Исполнение составной рабочей нагрузки
Исполнение заданий по онлайновому генерированию модельных предсказаний
Управление памятью в инструментарии AIR
Принятая в инструментарии AIR модель сбоя
Автомасштабирование рабочих нагрузок AIR
Резюме
Глава 11. Экосистема фреймворка Ray и за ее пределами
Растущая экосистема
Загрузка и предобработка данных
Тренировка моделей
Подача моделей в качестве служб
Разработка конкретно-прикладных интеграций
Обзор интеграций фреймворка Ray
Фреймворк Ray и другие системы
Фреймворки распределенных вычислений на Python
Инструментарий Ray AIR и более широкая экосистема машинного обучения
Как интегрировать инструментарий AIR в свою платформу машинного обучения
Куда отсюда двигаться дальше?
Резюме
Тематический указатель