Rey язык программирования: Курс «Принципы реактивного программирования» на coursera.org / Хабр

Курс «Принципы реактивного программирования» на coursera.org / Хабр

Я хочу рассказать о современной дисциплине программирования, отвечающей растущим требованиям масштабируемости, отказоустойчивости и быстрого отклика, и незаменимой как в многоядерных средах, так и в облачных вычислениях, а также представить вам открытый онлайн-курс по ней, который начнётся всего через несколько дней.

Если вы ничего не слышали про реактивное программирование, всё в порядке. (Хотя в этом случае вы пропустили несколько хабрапостов: Haskell, Rx for Javascript, Bacon.js, Meteor JS.) Это стремительно развивающаяся дисциплина, в которой скомбинированы параллелизм (concurrency) c ориентированностью на события и асинхроностью. Реактивность присуща любому веб-сервису и распределенной системе, и служит ядром во многих выскопроизводительных системах с большой степенью параллелизма. Если коротко, то авторы курса предлагают рассматривать реактивное программирование как естественное расширение функционального программирования (с функциями высших порядков) на параллельные системы с распределенным состоянием, координируемые и оркестрируемые асинхронными потоками данных, которыми обмениваются активные субъекты, или акторы.

Более понятными словами это описывается в Реактивном манифесте, его полный перевод опубликован на хабре. Как рассказывает википедия, термин реактивное программирование существует довольно давно и имеет практические применения, но новый толчок к развитию и распространению он получил совсем недавно, благодаря усилиям авторов Реактивного манифеста — инициативной группе из Typesafe Inc. Typesafe известна в среде функционального программирования как компания, основанная авторами прекрасного языка Scala и революционной параллельной платформы Akka. Сейчас они позиционируют свою компанию как создателя первой в мире реактивной платформы, предназначенной для разработки нового поколения. Их платформа позволяет быстро разрабатывать сложные пользовательские интерфейсы и предоставляет новый уровень абстракции над параллельными вычислениями и многопоточностью, уменьшая присущие им риски благодаря гарантированно предсказуемому масштабированию. Она реализует на практике идеи Реактивного манифеста и позволяет разработчику осмыслять и создавать приложения, отвечающие современным запросам.

Вы можете познакомиться с этой платформой и реактивным программированием, приняв участие в массовом открытом онлайн-курсе сайта coursera.org «Принципы реактивного программирования». Этот курс является продолжением курса Мартина Одерски «Принципы функционального программирования на Скала», который набрал более 100 000 участников и продемонстрировал одну из самых высоких в мире степень успешного прохождения массового открытого онлайн курса его участниками. Вместе с создателем языка Скала новый курс читают Эрик Мейер, разработавший среду Rx для реактивного программирования под .NET, и Роланд Кун, ведущий команду разработки Akka в Typesafe в настоящее время. Курс раскрывает ключевые элементы реактивного программирования и показывает, как они применяются для конструирования событийно-ориентированных систем, обладающих масштабируемостью и отказоустойчивостью. Учебный материал иллюстрируется короткими программами и сопровождается набором заданий, каждое из которых — это программный проект, в случае успешного выполнения заданий участники получают сертификаты. Курс продолжается 7 недель и начинается в этот понедельник, 4 ноября. Подробный план курса доступен на его странице на сайте coursera.org (а также в самом конце моей заметки): www.coursera.org/course/reactive.

Для тех, кто не хочет ходить по ссылкам, предлагаю сжатое изложение базовых концепций Реактивного манифеста. Оно должно ответить на вопрос что же такое реактивное программирование. Авторы манифеста отмечают разительные перемены в требованиях к приложениям за последние годы. Сегодня приложения разворачиваются в любом окружении от мобильных устройств до облачных кластеров с тысячами многоядерных процессоров. Эти окружения предъявляют новые требования к программному обеспечению и технологиям. В архитектурах предыдущего поколения акцент делался на управляемые сервера и контейнеры, а масштабирование достигалось за счет дополнительного дорогостоящего оборудования, проприетарных решений и параллельных вычислений через многопоточность. Сейчас развивается новая архитектура, в которой можно выделить четыре важнейшие черты, всё более преобладающие как в пользовательских, так и в корпоративных промышленных окружениях. Системы с такой архитектурой: событийно-ориентированы (Event-driven), масштабируемы (Scalable), отказоустойчивы (Resilient) и обладают быстрым откликом, т.е. отзывчивы (Responsive). Это обеспечивает комфортное взаимодействие с пользователем, дающее ощущение реального времени и поддерживаемое самовосстанавливающимся масштабируемым прикладным стеком, готовым к развертыванию в многоядерных и облачных окружениях. Каждая из четырех характеристик реактивной архитектуры применяется ко всему технологическому стеку, что отличает их от звеньев в многоуровневых архитектурах. Рассмотрим их немного подробней.

Событийно-ориентированные приложения предполагают асинхронные коммуникации компонент и реализуют их слабую связанность (loosely coupled design): отправитель и получатель сообщения не нуждаются в сведениях ни друг о друге, ни о способе передачи сообщения, что позволяет им сконцентрироваться на содержании коммуникаций. Кроме того, что слабосвязанные компоненты значительно улучшают сопровождаемость, расширяемость и эволюционирование системы, асинхронность и неблокирующий характер их взаимодействия позволяют также освободить значительную часть ресурсов, снизить время оклика и обеспечить большую пропускную способность по сравнению с традиционными приложениями. Именно благодаря событийно-ориентированной природе возможны остальные черты реактивной архитектуры.

Масштабируемость в контексте реактивного программирования — это реакция системы на изменение нагрузки, т.е. эластичность, достигаемая возможностью добавления или освобождения вычислительных узлов по мере необходимости. Благодаря низкой связанности, асинхронному обмену сообщениями и независимости от размещения компонент (location transparency), способ развертывания и топология приложения становятся решением времени развертывания и предметом конфигурации и адаптивных алгоритмов, реагирующих на нагрузку. Таким образом, вычислительная сеть становится частью приложения, изначально имеющего явную распределенную природу.

Отказоустойчивость реактивной архитектуры тоже становится частью дизайна, и это значительно отличает ее от традиционных подходов к обеспечению непрерывной доступности системы путем резервирования серверов и перехвата управления при отказе. Устойчивость такой системы достигается ее способностью корректно реагировать на сбои отдельных компонент, изолировать эти сбои, сохраняя их контекст в виде вызвавших их сообщений, и передавать эти сообщения другому компоненту, способному принять решения о том, как следует обрабатывать ошибку. Такой подход позволяет сохранить чистой бизнес-логику приложения, отделив от нее логику обработки сбоев, которая формулируется в явном декларативном виде для регистрации, изолирования, и обработки сбоев средствами самой системы. Для построения таких самовосстанавливающихся систем компоненты упорядочиваются иерархически, и проблема эскалируется до того уровня, который способен ее решить.

И наконец отзывчивость — это способность системы реагировать на пользовательское воздействие независимо от нагрузки и сбоев, такие приложения вовлекают пользователя во взаимодействие, создают ощущение тесной связи с системой и достаточной оснащенности для выполнения текущих задач. Отзывчивость актуальна не только в системах реального времени, но и необходима для широкого круга приложений. Более того, система, неспособная к быстрому отклику даже в момент сбоя, не может считаться отказоустойчивой. Отзывчивость достигается применением наблюдаемых моделей (observable models), потоков событий (event streams) и клиентов с состоянием (stateful clients). Наблюдаемые модели генерируют события при изменении своего состояния и обеспечивают взаимодействие реального времени между пользователями и системами, а потоки событий предоставляют абстракцию, на которой построено это взаимодействие путем неблокирующих асинхронных трансформаций и коммуникаций.

Таким образом, реактивные приложения представляют собой сбалансированный подход к решению широкого спектра задач современной разработки ПО. Построенные на событийно-ориентированном основании, они предоставляют средства, необходимые для гарантий масштабируемости и отказоустойчивости и поддерживают полнофункциональное отзывчивое пользовательское взаимодействие. Авторы ожидают, что всё большее число систем будет придерживаться принципов реактивного манифеста.

В довесок привожу план курса без перевода. Просто на случай, если вы дочитали до этого места, и вам все еще интересно.

Week 1: Review of Principles of Functional Programming: substitution model, for-expressions and how they relate to monads. Introduces a new implementation of for-expressions: random value generators. Shows how this can be used in randomized testing and gives an overview of ScalaCheck, a tool which implements this idea.

Week 2: Functional programming and mutable state. What makes an object mutable? How this impacts the substitution model. Extended example: Digital circuit simulation

Week 3: Futures. Introduces futures as another monad, with for-expressions as concrete syntax. Shows how futures can be composed to avoid thread blocking. Discusses cross-thread error handling.

Week 4: Reactive stream processing.  Generalizing futures to reactive computations over streams. Stream operators.

Week 5: Actors. Introduces the Actor Model, actors as encapsulated units of consistency, asynchronous message passing, discusses different message delivery semantics (at most once, at least once, exactly once) and eventual consistency.

Week 6: Supervision. Introduces reification of failure, hierarchical failure handling, the Error Kernel pattern, lifecycle monitoring, discusses transient and persistent state.

Week 7: Conversation Patterns. Discusses the management of conversational state between actors and patterns for flow control, routing of messages to pools of actors for resilience or load balancing, acknowledgement of reception to achieve reliable delivery.

желтый и белый кот смайлики, Scratch Cat Компьютерное программирование Язык программирования Computer Science, rey mysterio, животные, кошка png

желтый и белый кот смайлики, Scratch Cat Компьютерное программирование Язык программирования Computer Science, rey mysterio, животные, кошка png

теги

  • животные,
  • кошка,
  • как млекопитающее,
  • carnivoran,
  • компьютер,
  • компьютерная программа,
  • морда,
  • спорт,
  • маленький До среднего размера Кошки,
  • усы,
  • линия,
  • thymio,
  • coderdojo,
  • компьютерное программное обеспечение,
  • нуля,
  • Рей Мистерио,
  • программист,
  • обучение,
  • компьютерное программирование,
  • язык программирования,
  • Компьютерная наука,
  • png,
  • прозрачный png,
  • без фона,
  • бесплатная загрузка

Скачать PNG ( 182. 72KB )

Размер изображения

1200x1200px

Размер файла

182.72KB

MIME тип

Image/png

изменить размер PNG

ширина(px)

высота(px)

Некоммерческое использование, DMCA Contact Us

  • Scratch Sprite Компьютерное программирование Язык программирования Computer Science, sprite, studio, cat Like Mammal png
    600x600px
    185.11KB

  • Cat Scratch Tynker Компьютерное программирование, Cat, белый, кошка png
    1000x1106px
    117.05KB

  • Cat Scratch Компьютерное программирование Язык программирования, Cat, животные, кошка png
    1000x1000px
    284.38KB

  • org/ImageObject»>

    Логотип C ++, Язык программирования C ++ Компьютерные иконки Компьютерное программирование Исходный код, программирование, разное, шаблон png
    1600x1600px
    25.3KB

  • C логотип, C ++ Язык программирования Icon, буква C, синий, логотип png
    1600x1600px
    26.87KB

  • желтый кот, Scratch Logo Компьютерное программирование Компьютерное программное обеспечение, другие, разное, млекопитающее png
    973x731px
    262.7KB

  • Язык программирования Python Компьютерное программирование, другие, разное, текст png
    650x650px
    33.72KB

  • C # logo, C # язык программирования Computer Icons Компьютерное программирование, программирование, разное, синий png
    1600x1600px
    23. 13KB

  • Язык программирования Компьютерное программирование Java, programacion, текст, компьютер png
    1000x500px
    252.62KB

  • Котенок Котенок Мультик, скунс, млекопитающее, животные png
    6593x8051px
    1.41MB

  • GitHub Pages Logo Репозиторий Fork, Github, млекопитающее, кошка Like Mammal png
    512x512px
    13.35KB

  • сине-белый логотип C, язык программирования C Компьютерное программирование Компьютерные иконки, программист, синий, угол png
    1600x1600px
    25.76KB

  • Черная кошка, иллюстрация, Черная кошка, котенок, мультфильм, млекопитающее, животные png
    739x1000px
    277. 59KB

  • серебряный полосатый кот, котенок вискеры Cat Food Cat Person, котенок, млекопитающее, животные png
    760x380px
    154.4KB

  • Go Язык программирования Программирование, Программирование, язык программирования, Разное, другие png
    500x500px
    20.58KB

  • Язык программирования Python Компьютерное программирование Исходный код, Компьютер, синий, текст png
    602x449px
    32.16KB

  • Гималайский кот, тайский кот сиамский кот балийский кот Бирман Рагдолл, кот, млекопитающее, животные png
    803x1417px
    1.19MB

  • иллюстрация коричневой кошки, бенгальская кошка британская короткошерстная Ragdoll турецкий ангорский котенок, кошка, как млекопитающее png
    579x653px
    436. 74KB

  • многоцветный потоковый шаблон, компьютерное программирование веб-разработка компьютерные иконки исходный код компьютерное программное обеспечение, кодирование, текст, компьютер png
    1067x1067px
    24.19KB

  • Кот Силуэт, Кот, млекопитающее, животные png
    800x800px
    27.21KB

  • бурый медведь, Paper Party Baby shower, мишка, млекопитающее, животные png
    1317x1600px
    268.15KB

  • Разработка программного обеспечения Компьютерное программное обеспечение Компьютерное программирование Программист, место жительства, электроника, компьютер png
    846x839px
    101.92KB

  • Программист Программное обеспечение для программирования, Программирование с, компьютер, компьютерная программа png
    1200x946px
    180. 97KB

  • Мальчик, использующий компьютерное искусство, Программист Компьютерное программирование, бакалавр, Разное, мебель png
    846x969px
    478.91KB

  • Тигр, тигр, млекопитающее, животные png
    512x512px
    92.53KB

  • коричневый лев, лев, детское сафари с, млекопитающее, кошка png
    900x780px
    126.88KB

  • Компьютерное программирование Программист Компьютерное программное обеспечение Техническая поддержка Язык программирования, Компьютер, компьютерная сеть, угол png
    1000x1000px
    296.02KB

  • черно-белая кошка иллюстрация, Ragdoll сибирская кошка бирманский кот котенок мультфильм, черный котенок мультфильм, млекопитающее, кошка png
    4500x8000px
    2. 58MB

  • Cat Dog Pet, Удивленный кот, иллюстрация трех кошек, нарисованный, животные png
    846x545px
    1.07MB

  • Язык программирования C ++ Компьютерное программирование, программирование, разное, синий png
    1075x1024px
    183.75KB

  • Том Кот Том и Джерри Кот, млекопитающее, животные png
    935x854px
    359.38KB

  • Собака-кошка отношения Силуэт, Кот, млекопитающее, животные png
    800x800px
    14.27KB

  • Python Programming language Компьютерное программирование, язык, угол, текст png
    1000x1000px
    79.97KB

  • org/ImageObject»>

    Усы Черная кошка Котенок Стикер, Кот, млекопитающее, животные png
    500x500px
    20.83KB

  • Британская короткошерстная Ragdoll Chartreux Kitten Dog, Кошка, два оранжево-серых полосатых котенка, млекопитающее, кошка Like Mammal png
    2000x1663px
    3.29MB

  • Мультипликационный мультфильм лев, лев, лев, млекопитающее, животные png
    1090x1090px
    201.02KB

  • короткошерстный коричневый кот, кот Манчкин скоттиш фолд котенок, котенок, животные, кошка png
    600x800px
    407.91KB

  • Кот Котенок Силуэт, Кот, млекопитающее, кошка png
    733x487px
    38.83KB

  • Король Лев Симба Янг, Симба Нала Скар Плутон Муфаса, симба, млекопитающее, кошка png
    823x982px
    592. 55KB

  • Cat Scratch Компьютерное программирование Язык программирования, нуля, игра, животные png
    2000x1524px
    700.49KB

  • Черная кошка силуэт Свадебный торт топпер, силуэты животных, млекопитающее, животные png
    2400x2400px
    30.54KB

  • Кот сварливый, Кот, лицо, животные png
    746x746px
    174.07KB

  • Исходный код Компьютерное программирование Веб-разработка, цифровая разработка, компьютер, другие png
    3121x2217px
    362.14KB

  • ниндзя иллюстрация, компьютерное программирование язык программирования программист логотип, введение, разное, компьютер png
    512x512px
    45. 35KB

  • человек, сидящий на кресле-качалке с помощью компьютера на столе, электроника, компьютер png
    800x609px
    91.49KB

  • Язык программирования C ++ Programmer Компьютерное программирование, программирование, текст, компьютер png
    1920x1669px
    323.44KB

  • черно-белый щенок французского бульдога, коричневая морская свинка и коричневая кошка, другие, животные png
    5000x5000px
    4.56MB

  • Pokemon Meowth, Усы Meowth Покемон GO Ash Ketchum, Pokemon Go, млекопитающее, кошка png
    832x960px
    192.23KB

  • белая собака, Dog Puppy Cartoon, собаки, white, cat Like Mammal png
    1024x1437px
    219. 21KB

  • коричневая кошка, Keeping Cats Mouse Dog Kitten, кошки, млекопитающее, животные png
    665x630px
    486.21KB

Простое создание и масштабирование рабочих нагрузок Python ML

Глубокое обучение

Ускорьте рабочие нагрузки PyTorch и Tensorflow с помощью более ресурсоэффективной и гибкой распределенной среды выполнения на базе Ray.

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

Ускорьте поиск гиперпараметров с помощью Ray Tune. Найдите лучшую модель и сократите затраты на обучение, используя новейшие алгоритмы оптимизации.

Модель на 9 порций0004

Разверните свои модели машинного обучения в масштабе с помощью Ray Serve, платформы обслуживания моделей, ориентированной на Python и не зависящей от фреймворка.

Обучение с подкреплением

Масштабирование обучения с подкреплением (RL) с помощью RLlib, независимой от фреймворка библиотеки RL, которая поставляется с более чем 30 передовыми алгоритмами RL, включая A3C, DQN и PPO.

Общие приложения Python

С легкостью создавайте масштабируемые распределенные системы на Python с помощью простых компонуемых примитивов в Ray Core.

Обработка данных

Масштабируйте загрузку, запись, преобразование и преобразование данных в Python с помощью наборов данных Ray.

Powered by Ray

Компании всех размеров и направлений решают самые сложные задачи с помощью Ray. Механизмы рекомендаций, восстановление экосистемы, крупномасштабные исследования Земли, автоматизированный мониторинг трафика, летающие лодки — вот лишь некоторые из многих вариантов использования, которые инженеры, ученые и исследователи, такие как вы, решают с помощью Рэя.

Dendra Systems

Используя машинное обучение на крупномасштабных аэрофотоснимках, Dendra Systems может выполнять свою миссию по восстановлению экосистемы в масштабе — примерно в 150 раз быстрее и в 10 раз дешевле, чем ручные процессы. Посмотрите, как Ray Tune помогает им в их миссии.

Посмотреть видео

Uber

Компания Uber консолидировала и оптимизировала свои сквозные рабочие процессы глубокого обучения, используя Ray в качестве распределенной серверной части для своей платформы машинного обучения. Гибкость, расширяемость и низкие затраты на обслуживание сделали Ray явным победителем среди альтернатив.

Прочитать блог

Ant Group

Ant Group использует Ray в качестве основы распределенных вычислений для своего Fusion Engine для эффективного масштабирования различных бизнес-приложений от управления рисками до маркетинга роста.

Посмотреть видео

Wildlife Studios

Wildlife Studios, одна из крупнейших в мире компаний, занимающихся мобильными играми, предлагает внутриигровые предложения в 3 раза быстрее, одновременно сокращая затраты на инфраструктуру на 95 % благодаря Ray Serve.

Посмотреть видео

Dendra Systems

Используя машинное обучение на крупномасштабных аэрофотоснимках, Dendra Systems может выполнять свою миссию по восстановлению и реабилитации экосистем в масштабе — примерно в 150 раз быстрее и в 10 раз дешевле, чем ручные процессы. Посмотрите, как Ray Tune помогает им в их миссии.

Посмотреть видео

Uber

Компания Uber консолидировала и оптимизировала свои сквозные рабочие процессы глубокого обучения, используя Ray в качестве распределенной серверной части для своей платформы машинного обучения. Гибкость, расширяемость и низкие затраты на обслуживание сделали Ray явным победителем среди альтернатив.

Прочитать блог

Ant Group

Ant Group использует Ray в качестве основы распределенных вычислений для своего Fusion Engine для эффективного масштабирования различных бизнес-приложений от управления рисками до маркетинга роста.

Посмотреть видео

Wildlife Studios

Wildlife Studios, одна из крупнейших в мире компаний, занимающихся мобильными играми, предлагает внутриигровые предложения в 3 раза быстрее, одновременно сокращая затраты на инфраструктуру на 95 % благодаря Ray Serve.

Посмотреть видео

Dendra Systems

Используя машинное обучение на крупномасштабных аэрофотоснимках, Dendra Systems может выполнять свою миссию по восстановлению и реабилитации экосистем в масштабе — примерно в 150 раз быстрее и в 10 раз дешевле, чем ручные процессы. Посмотрите, как Ray Tune помогает им в их миссии.

Посмотреть видео

Посмотреть все истории успеха Ray здесь

O’Reilly Learning Ray Book

Получите бесплатную копию первых глав Learning Ray, первой и единственной всесторонней книги о Ray и ее экосистеме, авторами которой являются участники Команда инженеров Рэя

Получите бесплатную копию

Усильте свое путешествие по Ray с помощью Anyscale

Anyscale — это управляемое облачное предложение от создателей проекта Ray для создания, запуска и управления рабочей нагрузкой Ray. Если вы или ваша организация предпочитаете скорость и удобство управляемого сервиса самоуправляемым кластерам и инфраструктуре, в которой они живут, это может быть для вас.

Узнайте больше о Anyscale

Обзор — Ray 2.4.0

Содержание

Ray — это унифицированная платформа с открытым исходным кодом для масштабирования приложений AI и Python, таких как машинное обучение. Он предоставляет вычислительный уровень для параллельной обработки, поэтому вам не нужно быть экспертом по распределенным системам. Ray сводит к минимуму сложность запуска ваших распределенных индивидуальных и сквозных рабочих процессов машинного обучения с помощью следующих компонентов:

  • Масштабируемые библиотеки для общих задач машинного обучения, таких как предварительная обработка данных, распределенное обучение, настройка гиперпараметров, обучение с подкреплением и обслуживание моделей.

  • Примитивы распределенных вычислений Pythonic для распараллеливания и масштабирования приложений Python.

  • Интеграции и утилиты для интеграции и развертывания кластера Ray с существующими инструментами и инфраструктурой, такими как Kubernetes, AWS, GCP и Azure.

Для специалистов по обработке и анализу данных и специалистов по машинному обучению Ray позволяет масштабировать рабочие места, не требуя знаний инфраструктуры:

  • Легко распараллеливайте и распределяйте рабочие нагрузки между несколькими узлами и графическими процессорами.

  • Быстрая настройка и доступ к облачным вычислительным ресурсам.

  • Используйте экосистему машинного обучения с собственными и расширяемыми интеграциями.

Для инженеров распределенных систем Ray автоматически обрабатывает ключевые процессы:

  • Оркестрация — управление различными компонентами распределенной системы.

  • Планирование – Координация времени и места выполнения задач.

  • Отказоустойчивость — обеспечение выполнения задач независимо от неизбежных точек отказа.

  • Автоматическое масштабирование — настройка количества ресурсов, выделенных для динамического спроса.

Что можно делать с Рэем

Вот некоторые распространенные рабочие нагрузки машинного обучения, которые отдельные лица, организации и компании используют Ray для создания своих приложений ИИ:

  • Пакетный анализ ЦП и ГП

  • Параллельное обучение

  • Модель, обслуживающая

  • Распределенное обучение больших моделей

  • Параллельные эксперименты по настройке гиперпараметров

  • Обучение с подкреплением

  • Платформа ML

Лучевой каркас

Стек библиотек Ray — единый набор инструментов для рабочих нагрузок машинного обучения.

Унифицированная вычислительная среда Ray состоит из трех уровней:

  1. Среда выполнения Ray AI — Python, набор библиотек для предметной области с открытым исходным кодом, которые предоставляют инженерам машинного обучения, специалистам по данным и исследователям масштабируемый и унифицированный набор инструментов для приложений машинного обучения.

  2. Ray Core — библиотека распределенных вычислений общего назначения Python с открытым исходным кодом, которая позволяет инженерам машинного обучения и разработчикам Python масштабировать приложения Python и ускорять рабочие нагрузки машинного обучения.

  3. Кластер Ray — набор рабочих узлов, подключенных к общему головному узлу Ray. Кластеры Ray могут быть фиксированного размера или могут автоматически увеличиваться и уменьшаться в соответствии с ресурсами, запрашиваемыми приложениями, работающими в кластере.

Создание приложений машинного обучения с помощью набора библиотек для распределенных
обработка данных,
обучение модели,
тюнинг,
обучение с подкреплением,
модельное обслуживание,
и более.

Создавайте и запускайте распределенные приложения с помощью простого и гибкого API.
Распараллеливайте один машинный код с небольшими или нулевыми изменениями кода.

Развертывание рабочих нагрузок на AWS, GCP, Azure или
в помещении.
Используйте диспетчеры кластеров Ray для запуска Ray на существующих
Кубернетес,
ПРЯЖА,
или Слёрм-кластеры.

Каждая из пяти собственных библиотек Ray AIR распространяет определенную задачу машинного обучения:

  • Данные: Масштабируемая, независимая от платформы загрузка и преобразование данных при обучении, настройке и прогнозировании.

  • Train: Распределенное многоузловое и многоядерное обучение моделей с отказоустойчивостью, которое интегрируется с популярными обучающими библиотеками.

  • Настройка: Масштабируемая настройка гиперпараметров для оптимизации производительности модели.