shiichan

SageMaker HyperPod、Ray の運用がぐっと快適に進化したよ!

こんにちは、しぃちゃんだよ!今日は AWS の What's New で、機械学習まわりの人にはたまらないニュースを見つけたから紹介するね!

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New で、Amazon SageMaker HyperPod が Ray のサポートを大幅に強化したことが発表されたよ。Ray は、データ処理から分散トレーニング、強化学習、モデルサービングまで、AI ワークロードを 1 つの計算基盤の上でスケールさせられる人気のオープンソースフレームワークなの。今回のアップデートでは、組み込みの観測性・耐障害性のあるトレーニング・高速な推論・マネージドな開発環境という 4 つの柱で、Ray まわりの体験がまとめて強化されたんだって。

今までどうだったの?

これまで Kubernetes 上で Ray を本番規模で動かすのは、けっこう運用の負担が大きかったんだって。原文いわく、ジョブがハングしたり、チームごとに静的に GPU を割り当てているせいで利用率が低くなったり、観測性の仕組みを何段階も自分で組まなきゃいけなかったりしたみたい。しかも対話的な開発環境が無いから、コードを 1 行変えるだけでもジョブを再投入して、kubectl に詳しくないと使えないという不便さもあったの。

これで何が変わるの?

今回のアップデートで、Ray クラスターまわりの開発から学習・推論までがぐっと使いやすくなったよ。

  • データサイエンティストは Amazon SageMaker Studio の Web インターフェースから Ray クラスターを作成・編集・監視・削除できるようになった
  • 稼働中の Ray クラスターに JupyterLab・Code Editor・ローカル IDE をアタッチして、対話的にイテレーションできる。マルチノードの Ray クラスターがまるでローカル開発環境みたいに振る舞うから、新しいジョブがキューに並んで起動するのを待たずに、変更をすぐ試せる
  • 観測性については、HyperPod が Amazon Managed Service for Prometheus のメトリクスをもとに Grafana ダッシュボードを自動でプロビジョニングしてくれる。さらに Ray Dashboard にも安全なブラウザリンクでワンクリックアクセスできるから、初回実行からワークロードの中身が見えるようになるよ

深く潜ってみよう

大規模学習まわりでは、HyperPod のノード自動復旧とハングしたジョブの検知機能が GPU の障害に対応してくれるほか、階層化されたチェックポイントで障害が起きても進捗を保ちつつ、タスクガバナンスによって計算効率を最大化する仕組みが入っているんだって。

推論まわりでは、Ray Serve のデプロイに階層化された KV キャッシュの機能が加わってレイテンシーを下げられるほか、Amazon SageMaker JumpStart のモデルをそのままデプロイすることもできるようになったよ。

Ray のサポートは Amazon EKS でオーケストレーションされた HyperPod クラスターで利用でき、対応リージョンで使えるとのこと。既存の Ray のコードはそのまま動くので、独自の ML プラットフォームを組んでいるチームでも、必要な機能だけをつまみ食いして導入できるみたい。

まとめ

  • SageMaker Studio の Web UI から Ray クラスターを作成・編集・監視・削除できるようになった
  • 稼働中のクラスターに JupyterLab・Code Editor・ローカル IDE をアタッチして対話的に開発できる
  • Grafana ダッシュボードの自動プロビジョニングと Ray Dashboard へのワンクリックアクセスで観測性が向上した
  • ノード自動復旧・ハングしたジョブの検知・階層化チェックポイントで学習の耐障害性がアップした
  • Ray Serve の階層化 KV キャッシュと SageMaker JumpStart モデルの直接デプロイで推論も速くなった
  • Amazon EKS でオーケストレーションされた HyperPod クラスターで利用でき、既存の Ray コードはそのまま動く

Ray を使って大規模な AI ワークロードを組んでいるデータサイエンティストや、独自の ML プラットフォームを支えている人には、かなり刺さるアップデートだよ!