ray-project/ray
Ray is an AI compute engine. Ray consists of a core distributed runtime and a set of AI Libraries for accelerating ML workloads.
What it solves
Ray 旨在解決擴展 Python 和 AI 應用程式的問題。它允許開發者在無需更改基礎設施或重寫代碼的情況下,從單節點開發環境(例如筆記型電腦)遷移到大規模叢集。
How it works
Ray 提供了一個核心的分散式執行環境,具有三個關鍵抽象概念:
- Tasks: Stateless functions 於叢集上執行。
- Actors: Stateful worker processes 於叢集上執行。
- Objects: 不可變的值,可在叢集上進行存取。
它還包含了一套專用的 AI 函式庫,以簡化機器學習運算,包括用於數據處理、分散式訓練、超參數調優和強化學習的函式庫。
Who it’s for
它是為 Python 開發者和 AI 研究人員設計的,這些人需要高效能地運行對運算量要求極高的 ML 工作負載,且這些工作負載已超出了其本地機器。
Highlights
- Unified Framework: Python 應用程式可從筆記型電腦無縫地擴展到叢集。
- AI Libraries: 包含用於 Data, Train, Distributed Training, Tune (Hyperparameter Tuning), RLlib (Reinforcement Learning), 和 Serve (Model Serving) 的專用工具。
- Flexible Deployment: 可在任何機器、叢集、雲端供應商或 Kubernetes 上運行。
- Observability: 包含用於監控的內建 Dashboard 和用於故障排除的 Ray Distributed Debugger。