От издательства 12
Об авторах 13
Колофон 14
Предисловие 15
Введение 16
Глава 1. Общий обзор фреймворка Ray 23
Глава 2. Начало работы с инструментарием Ray Core 47
Глава 3. Разработка первого распределенного приложения 73
Глава 4. Обучение с подкреплением с использованием библиотеки Ray RLlib 93
Глава 5. Гиперпараметрическая оптимизация с использованием библиотеки Ray Tune 125
Глава 6. Обработка данных с использованием фреймворка Ray 147
Глава 7. Распределенная тренировка с использованием библиотеки Ray Train 167
Глава 8. Онлайновое генерирование модельных предсказаний с использованием библиотеки Ray Serve 187
Глава 9. Кластеры Ray 211
Глава 10. Начало работы с инструментарием Ray AI Runtime 229
Глава 11. Экосистема фреймворка Ray и за ее пределами 250
Тематический указатель 270
Наука о данных — сложная и быстро развивающаяся область, которая нуждается в мощных инструментах и фреймворках для управления огромными объемами данных, генерируемых каждый день. Ray – это платформа кластерных вычислений для распространения и запуска Python-кода, даже со сложными библиотеками или пакетами, на кластерах бесконечного размера. Помимо Python, также Ray предоставляет API для Java и C++. Фреймворк использует задачи (функции) и субъекты (классы), чтобы распараллеливать пользовательский код. Ray помогает реализовать параллельные и распределенные вычисления в жизненном цикле науки о данных.
За последние несколько лет фреймворк распределенных вычислений Ray получал все большее предпочтение в связи со своей способностью упрощать разработку таких приложений. Ray включает в себя гибкое ядро и набор мощных библиотек, которые позволяют разработчикам легко масштабировать различные рабочие нагрузки, включая тренировку, гиперпараметрическую настройку, обуче ние с подкреплением, подачу моделей в качестве служб и пакетную обработку неструктурированных данных. Фреймворк Ray является одним из самых популярных проектов с открытым исходным кодом и используется тысячами компаний для внедрения широкого спектра вычислительных решений, от платформ машинного обуче ния до рекомендательных систем, систем обнаружения мошенничества и тренировки крупнейших моделей, в том числе ChatGPT компании Open AI.
Признавая, что масштабирование является одновременно необходимостью и вызовом времени, фреймворк Ray призван упростить разработчикам распределенные вычисления. Благодаря ему распределенные вычисления стали доступными для неспециалистов и стало довольно легко масштабировать скрипты Python по нескольким узлам. Фреймворк Ray хорошо зарекомендовал себя в масштабировании вычислительно интенсивных рабочих нагрузок и рабочих нагрузок интенсивных по использованию данных, таких как предобработка данных и тренировка моделей, и он непосредственно ориентирован на рабочие нагрузки машинного обуче ния, требующие масштабирования.
Издание предназначено для программистов на Python, инженеров и исследователей данных.