ray-project/ray

Ray — это вычислительный движок для ИИ, состоящий из распределенного рантайма и набора библиотек для ускорения ML-нагрузок.

Инструменты⭐ 43 881Pythonпоследний релиз: ray-2.58.0
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

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

Зачем нужен

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

Что можно реализовать

  • Распределенное обучение моделей (Distributed Training) с использованием библиотеки Ray Train
  • Масштабируемый поиск гиперпараметров (Hyperparameter Tuning) через Ray Tune
  • Обучение с подкреплением (Reinforcement Learning) с помощью Ray RLlib
  • Развертывание и обслуживание ML-моделей (Serving) через Ray Serve
  • Обработка больших объемов данных для ML (Scalable Datasets) с помощью Ray Data

Ключевые возможности

  • Единая архитектура: ядро (Core) для распределенных вычислений и набор библиотек для конкретных ML-задач
  • Ключевые абстракции: Tasks (без состояния), Actors (с состоянием) и Objects (неизменяемые значения)
  • Встроенные инструменты мониторинга (Ray Dashboard) и отладки (Ray Distributed Debugger)
  • Кроссплатформенность: работает на любых машинах, в облаках и Kubernetes
  • Простая установка через pip install ray

👤 Кому подойдёт: Data Scientists, ML-инженеры и разработчики, работающие с Python и нуждающиеся в масштабировании вычислений

Релизы

ray-2.58.0major
🕐 29 дн назад · релиз на GitHub ↗

Ray 2.58: LLM-роутинг с KV-кэшем, sandboxing через gVisor, поддержка TPU и Delta Lake, исправление RCE.

  • Added: Ray Serve LLM: завершена реализация маршрутизации с учетом KV-кэша и токенов, ин-процесс токенизация и поддержка CPU-кэша.
  • Added: Ray Core: включено отключение задач от горячего пути GCS через экспорту событий в dashboard head.
  • Added: Ray Data: добавлена интеграция с Delta Lake, новый бэкенд shuffle v2 и экспериментальный Ray Sandbox на базе gVisor.
  • Added: TPU: поддержка TorchTPU, планировщик SubslicePlacementGroup для gang scheduling и учет ресурсов TPU7x.
  • Fixed: Исправлена критическая уязвимость RCE в read_lance и при работе с вложенными pickle-объектами.
  • Deprecated: Устарели методы ray_remote_args_fn и Dataset.zip.
ray-2.57.0major
🕐 1 мес назад · релиз на GitHub ↗

Ray 2.57.0: Hash Shuffle V2, HAProxy в PyPI, KV-кэш роутинг в Serve и RocksDB для GCS.

  • Added: Включен DataSourceV2 по умолчанию: новый Hash Shuffle V2 на базе stateless-операторов с вытеснением в объектное хранилище.
  • Added: Ray Serve: HAProxy вынесен в отдельный пакет ray-haproxy и добавлена поддержка gRPC для прямого ингресса.
  • Added: Экспериментальная маршрутизация запросов LLM в Ray Serve с учетом состояния KV-кэша реплик.
  • Added: Ray Core: встроенный бэкенд RocksDB для отказоустойчивости GCS, больше не требуется внешний Redis.
  • Added: Ray Data: добавлена поддержка Zarr, LeRobot v3, GPU для агрегаций и абстракция Unity Catalog.
ray-2.56.1patch
🕐 2 мес назад · релиз на GitHub ↗

Исправлены критические ошибки Ray Data и Serve, добавлена поддержка Protobuf 7 и раннее обнаружение нехватки памяти.

  • Fixed: Устранены регрессии в Ray Data: краши при конвертации в pandas, переполнение int64 и ошибки с пустыми тензорными колонками.
  • Fixed: Ray Serve теперь совместим с Protobuf 7 и исправлено зависание маршрутизации при прямом потоке LLM.
  • Added: В Ray Core добавлено раннее обнаружение давления памяти: монитор логирует ошибки при превышении системного лимита.
  • Fixed: В Ray RLlib обновлен пример ONNX с MobileNet v1 на v3 и исправлены ошибки экспорта.
ray-2.56.0major
🕐 2 мес назад · релиз на GitHub ↗

Ray 2.56.0: улучшена стабильность Ray Data, переархитектурирован Ray Serve для LLM и добавлена поддержка GPU-доменов в Core.

  • Added: Ray Serve: переархитектурирована обработка LLM-запросов и добавлены новые политики маршрутизации (ConsistentHashRouter, CapacityQueueRouter).
  • Added: Ray Core: добавлена поддержка GPU-domain-aware placement groups и первоначальная поддержка in-place ресайза подов в Kubernetes.
  • Added: Ray Data: реализована поддержка нескольких датасетов в кластере, автоматический выбор размера батча и distributed upsert для Iceberg.
  • Fixed: Ray Data: улучшена стабильность iter_batches, снижено спиллинг в object-store и предотвращены OOM-ошибки через настройку логической памяти.
  • Added: Ray Data: добавлен публичный API Dataset.mix(), поддержка predicate pushdown для Lance и асинхронный бэкенд obstore.