テクニカルガイド

分散型 AI 用の Ray

Ray は、Python と AI のワークロードをラップトップから数千台のマシンのクラスターに簡単に拡張できるオープンソース フレームワークです。

このガイドを聴くAIによるナレーション · ~2 min

このページでは2分の読書
  1. 概要
  2. ディープダイブ
  3. 現実世界の実装
  4. 分散型 AI における Ray の未来
  5. 実践する
  6. 探検を続けましょう
  7. よくある質問

概要

これが重要なのは、それぞれのコードを書き直すことなく、トレーニング、チューニング、データ処理、提供を分散するためのシンプルで統合された方法を提供するためです。

ディープダイブ

Ray の中心的なアイデアは、最小限の変更で通常の Python 関数とクラスを分散ユニットに変えることです。リモート「タスク」としてマークされた関数は、クラスター内のすべてのワーカーで非同期に実行されます。リモート「アクター」としてマークされたクラスは、ワーカー上で動作するステートフル サービスになります。 Ray は軽量の Future (オブジェクト参照) を返し、スケジューリング、共有オブジェクト ストアを介したデータ移動、およびフォールト トレランスを処理します。このコアに加えて、分散モデル トレーニング用の Ray Train、ハイパーパラメータ検索用の Ray Tune、ストリーミング データ パイプライン用の Ray Data、強化学習用の RLlib、およびスケーラブルなモデル サービング用の Ray Serve という専用ライブラリが置かれています。これにより、1 つのクラスターで ML ワークフロー全体をエンドツーエンドで処理できるようになります。

現実世界の実装

Ray Tune を実行して、GPU クラスター全体で何百ものハイパーパラメータの組み合わせを並行して検索し、最適なモデル構成を見つけます。

Ray Train を使用して、最小限のコード変更で深層学習モデルのトレーニングを多くの GPU およびノードに分散します。

Ray Data を使用してバッチ推論パイプラインを構築し、クラスター全体のモデルを介してストリーミングすることで数百万のレコードをスコアリングします。

Ray Serve を使用して単一の自動スケーリング エンドポイントの背後に複数のモデルをデプロイして、変動する運用トラフィックを処理する

分散型 AI における Ray の未来

Ray は大規模 AI のバックボーンとなっており、特に大規模な言語モデルのトレーニングとサービスに使用されています。 LLM 固有のサービング (vLLM を使用した Ray Serve)、​​異種 GPU スケジューリング、KubeRay を介したデータ レイクおよび Kubernetes とのより緊密な統合、およびスパイクの生成ワークロード向けの自動スケーリングの向上が期待されます。モデルが成長するにつれて、マルチノード トレーニング、RLHF パイプライン、数千のアクセラレータにわたるバッチ推論の調整における Ray の役割は拡大する可能性があります。

実践する

なぜそれが重要なのか

  • 費用と予算. アーキテクチャの決定により、パフォーマンスと運用コストが何年にもわたって推進されます。
  • より明確な判決. 技術教育は、チームが最新のスタックだけでなく、適切なスタックを選択するのに役立ちます。
  • 品質管理. より良いエンジニアリングの選択により、本番環境での信頼性に関するインシデントが減少します。

気をつけてください

  • 1 つのベンチマークを最適化すると、より広範なシステムの弱点が隠れる可能性があります。
  • インフラストラクチャとメンテナンスのコストは過小評価されがちです。
  • システムが複雑になるにつれて、セキュリティと可観測性のギャップが拡大する可能性があります。

次のステップ

  1. 実装前にレイテンシ、品質、コストの目標を定義します。
  2. 現実的な負荷とデータ条件でのベンチマーク。
  3. エラー、ドリフト、ユーザーへの影響を計測器で監視します。
  4. スケーリングの前に、ロールバックとインシデント対応のパスを準備します。

探検を続けましょう

無料ニュースレター

毎日のAIブリーフィングを受け取る

毎週平日の朝に英語で書かれた3つの検証済みAIストーリー。無料で永続的、広告なし。

毎週平日に1通のメール。ワンクリックで購読解除。住所を販売または共有しません。

自分自身をテストしてください

Take the Ray for Distributed AI quiz

すべての回答に即時フィードバック、合格後は検証可能なID付きの共有可能な証明書を取得。

クイズを開始する

無料AI教育をサポート。AI Understandingは501(c)(3)の非営利団体です — 広告なし、課金壁なし、常に。 寄付をする

よくある質問

分散型 AI の Ray とは何ですか?

Ray は、Python と AI のワークロードをラップトップから数千台のマシンのクラスターに簡単に拡張できるオープンソース フレームワークです。これが重要なのは、それぞれのコードを書き直すことなく、トレーニング、チューニング、データ処理、提供を分散するためのシンプルで統合された方法を提供するためです。

レイは主にどのような問題を解決しますか?

Ray は、ワークロードの種類ごとにコードを書き直すことなく、多くのマシンに計算を分散するための統合された簡単な方法を提供します。

Ray では、「タスク」と「アクター」の違いは何ですか?

タスクは並行して実行されるステートレスなリモート関数ですが、アクターはロードされたモデルのように状態を保持する長期間存続するオブジェクトです。

リモート タスクを起動すると、Ray はすぐに何を返しますか?

Ray は軽量の Future をすぐに返すため、作業は非同期で実行されます。必要に応じて、ray.get() を呼び出して実際の結果を取得します。

分散ハイパーパラメータ検索用に設計された Ray ライブラリはどれですか?

Ray Tune は、クラスター全体で多くのハイパーパラメータ トライアルを並行して実行することに特化しています。

Which object type do Ray’s docs explicitly say can be read from same-node object-store memory without a copy?

Ray documents zero-copy reads for NumPy arrays stored in the object store when workers on the same node access them. Other values may require deserialization, and data requested across nodes must be transferred.