【たった5分で】AI推論環境(PAI-EAS)を構築する方法
はじめに
独自AIモデルを開発する際に、AI推論環境構築に困ったことがある人は多いかと思います。私も既存の環境に影響のない形で、本番運用に使うことができる安定した推論環境を用意するのに苦労してきました。本記事では、そんな悩みを解決できるアリババクラウドのPAI-EASというサービスをご紹介したいと思います。
PAI-EASとは
PAI-EASは、AIモデルを簡単に独立したコンピューティングリソースへデプロイできるサービスです。推論用に最適化されており、推論コストを削減しつつ安定稼働させるための様々な機能を提供しています。
機能
PAI-EASは以下の3つのレイヤーから構成されています。
1. Infrastructure
このレイヤーでは、物理的なコンピューティングリソースを提供しています。AIモデルに合わせてCPUとGPU、プリエンプティブインスタンスなどを選択することができます。
2. Container scheduling
このレイヤーでは、効率的なリソース管理のための以下のような機能を提供しています。
- Automatic scaling: ワークロードに合わせて自動的にインスタンスの数を調整することで、無駄なリソースの浪費を防ぐことができます。
- Scheduled scaling: スケジュールに合わせてインスタンスの数を調整することができます。事前にワークロードを見積もることができる場合に最適です。
- Elastic resource pool: 専有ホストが全て利用された場合に、自動的に従量課金のパブリックホストへスケールアウトすることができ、不意なリソース不足を防ぐことができます。
3. Model deployment
このレイヤーでは、効果的なモデル管理のための以下のような機能を提供しています。
- One-click stress testing: 最大負荷量を確認するためのストレステストを実施し、モニタリングデータで確認することができます。
- Canary release: カナリアデプロイをサポートしているため、トラフィックを分散しながら新規環境に移行することができます。
- Real-time monitoring: モデルをデプロイするとQPS(queries per second)やCPU使用率などをモニタリングすることができます。
- Traffic mirroring: 既存のサービスを中断することなく、現在のサービスのトラフィックの一部を別サービスに複製できます。
使用例
上記の機能により、様々なシチュエーションでPAI-EASを活用することができます。例えば、
- カスタム検索や会話型チャットボットなど、低遅延で高スループットを必要とするシナリオに適しています。既存のシステムに影響を与えることなく、既存のサービスに適したAIモデルによるリアルタイム同期推論を実現することができます。
- キューサービスを統合しているので、テキストから画像への生成やビデオ処理など、長い処理時間を必要とするシナリオに適しています。ビジネス要件に基づいた自動スケーリングを実現しつつ、ほぼリアルタイムの非同期推論を実現することができます。
デプロイ方法(コンソール)
PAI-EASはコンソールから非常に簡単に構築することができます。
-
コンソールへアクセス
https://www.alibabacloud.com/help/en/pai/user-guide/overview-2
-
PAI-EASへアクセス
-
デプロイページへアクセス
-
デプロイ種別を選択
-
デプロイ情報を入力
-
エンドポイントページへアクセス
-
エンドポイントを確認
使用方法(Python)
構築したエンドポイントを使ってAPI経由で推論を実施することができます。
import requests
resp = requests.post(url="<service_url>",
headers={"Authorization": "<token>"},
json={"data": ["hello"]})
print(resp.content)
# resp: {"data":[{"label":"POSITIVE","confidences":[{"label":"POSITIVE","confidence":0.9995185136795044}]}],"is_generating":false,"duration":0.280987024307251,"average_duration":0.280987024307251}
最後に
今回構築したPAI-EASはAPIを提供するだけなので、既存のシステムで他のクラウドサービスを使用していても、安全に組み入れることができます。簡単なステップで構築できるので、まずはPoC環境として使用してみてください!
Discussion