iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0
AI & Data

MLOps/LLMOps - 從零開始系列 第 21

Day21 - Ray Dashboard

  • 分享至 

  • xImage
  •  

Ray 提供了一個 Dashboard 來監控 Ray 的狀態,包含了 Ray 的 Cluster 狀態、Task 狀態、Actor 狀態、Resource 使用狀態、Error 狀態等等,可以透過瀏覽器來查看。

安裝 Ray Dashboard

透過 pip install -U ray[default],就會包括 Ray Dashboard component。然後呼叫 ray.init() 就可以看到 Dashboard 的網址。

```python
import ray
context = ray.init()
print("Dashboard URL: http://{}".format(context.dashboard_url))
```

如果是 Remote Ray Cluster,因為 Dashboard 在 head node 但是 port 通常不會直接開放,可以參考 這份文件 設定。

另外前一段提到,安裝 Ray cluster 的選項是 ray[default],在 production 環境,會根據不同情境裝對應的 Ray component,可以參考 這份文件

舉例來說,Machine learning applications 的話

pip install -U "ray[data,train,tune,serve]"

# For reinforcement learning support, install RLlib instead.
# pip install -U "ray[rllib]"

另外的選項建議點到 Advanced 查看。

Ray Dashboard Views

  • 分析、監控、視覺化邏輯或實體元件的狀態和資源使用率指標:Metrics view, Cluster view
  • 監控 Job 和 Task 的進度和狀態:Jobs view
  • 尋找失敗的 Task 和 Actor 的 logs 和 error messages:Jobs view, Logs view
  • 分析 Task 和 Actor 的 CPU 和記憶體使用率:Metrics view, Cluster view
  • 監控 Serve application:Serve view

Job View

Job 是使用 Ray API 的 Ray 工作負載,例如 ray.init()。建議使用 Ray Job API 來提交 Job 到 Cluster。

Job Profiling

點擊 Stack TraceCPU Flame Graph 可以分析 Ray Job。可以參考 這份文件

Task and Actor breakdown

Task 和 Actor 的狀態,可以透過 Jobs view 來查看。預設 Tasks 和 Actors 會依照狀態分類,例如 pending, running, finished 等等。分類規則如下:

  • 所有的 Task 和 Actor 都會被分類在一起,可以透過展開對應的 row 來查看。
  • Task 會依照 name 屬性分類,例如 task.options(name="<name_here>").remote()
  • Child Task (nested Task) 會在 parent Task 的 row 下面。
  • Actor 會依照 class name 分類。
  • Child Actor (Actor 內部建立的 Actor) 會在 parent Actor 的 row 下面。
  • Actor Task (Actor 內部的 remote method) 會在對應的 Actor 下面。

Cluster View

這部份蠻直覺,就是 Ray Cluster 狀態。

Serve View

Ray Serve 是一個用來部署機器學習模型的 framework,可以參考 這份文件。Serve View 可以監控 Serve application 的狀態。

實務面來看,也可能與現有的 Grafana, Prometheus 整合,可以參考這份文件 Integrating with Prometheus and Grafana

Actor View

Actor View 可以看到 Actor 的 logs 和 Actor 是由哪個 Job 建立的。
官方文件有提到 Actor View 可以看到最多 1000 個已經結束的 Actor 的資訊,可以透過設定環境變數 RAY_DASHBOARD_MAX_ACTORS_TO_CACHE 來調整。

Metrics View

Metrics View 可以看到 Ray Cluster 的資源使用狀態,例如 CPU, memory, network 等等。可以參考 這份文件

可能的應用如下:

  • Task, Actor, Placement Groups 的狀態
  • 邏輯資源使用狀態
  • 硬體資源使用狀態
  • Autoscaler 狀態

Logs View

Driver logs

如果使用 Job API 來提交 Job,那麼 Job logs 就會在 Dashboard 上面。Log file 的格式是 job-driver-<job_submission_id>.log

Task and Actor Logs (Worker logs)

就是 Task 和 Actor 的 stdout and stderr logs。Log file 的格式是 worker-<worker_id>.log

Reference:


上一篇
Day20 - Ray Cluster 安裝之二: Ray Cluster 安裝 (single-node) 與測試
下一篇
Day22 - Ray Cluster Management 操作
系列文
MLOps/LLMOps - 從零開始30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言