InferenceServiceリソース
単一のマニフェストでモデルのデプロイを宣言します。
「InferenceServiceリソース」はCoddyKit上の無料MLOps Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMLOps Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 MLOps Academyコースには全4レッスンが含まれています。
KServeの紹介
KServeは、トレーニング済みモデルをKubernetes上の本番エンドポイントに変換します。必要な内容を記述するだけで、サービング、スケーリング、ルーティングを処理してくれます。KServeがサービング層になります。🚀
すべてを統括する1つのリソース
DeploymentやServiceを手作業で直接記述する代わりに、1つのカスタムリソースを作成します。InferenceServiceが、サービング設定全体を定義する唯一のオブジェクトです。
YAMLだけで定義できる
小さなYAMLマニフェストでInferenceServiceを宣言し、kubectlで適用します。KServeはそのmanifestを読み取り、必要な構成をすべて下位に作成します。
apiVersion: serving.kserve.io/v1beta1
kind: InferenceService
metadata:
name: sklearn-irispredictorブロック
仕様の中心となるのがpredictorです。モデルをどのように読み込み、実行するかを指定します。モデルと、それをサービングするランタイムをKServeに伝えます。
spec:
predictor:
model:
modelFormat:
name: sklearn
storageUri: gs://kfserving-examples/models/sklearn/1.0/modelモデルの保存場所
storageUriは、GCSやS3バケットなど、KServeがモデルを取得する場所を指定します。KServeは起動時にモデルをサービングコンテナへダウンロードします。
モデル形式でランタイムが決まる
sklearnやpytorchなどのmodelFormatフィールドを指定すると、KServeが一致するサービングランタイムを自動的に選択します。一般的なフレームワークであれば、カスタムサーバーコードは必要ありません。
他のリソースと同じように適用する
通常のkubectlコマンドでマニフェストをクラスターに適用します。KServeは新しいオブジェクトを検出し、実行中のサービスになるよう調整を開始します。kubectl applyがその処理を開始します。
kubectl apply -f sklearn-iris.yamlReadyになるまで確認する
適用後は、サービスのステータスがREADYになるまで確認します。モデルの読み込みが完了し、トラフィックを受け付けると、READY列がTrueに変わります。
kubectl get inferenceservice sklearn-irisURLが提供される
ReadyになったInferenceServiceは、予測用の安定したURLを公開します。クライアントはそこにリクエストを送り、KServeが内部でモデルへルーティングします。
予測を送信する
そのURLのpredictパスに、入力をJSONとしてPOSTします。KServeがモデルに転送し、レスポンスボディでpredictionを返します。
curl -X POST $URL/v1/models/sklearn-iris:predict \
-d '{"instances": [[5.1, 3.5, 1.4, 0.2]]}'TransformerとExplainerも使える
仕様にはpredictorだけでなく、前処理と後処理を行うtransformerや、洞察を提供するexplainerも追加できます。いずれも任意で、自動的に連結されます。
クイックチェック
KServeでモデルをサービングしたい場合、どの単一オブジェクトを宣言しますか?
まとめ
InferenceServiceがKServeの単一の宣言的リソースであることを学びました。storageUriと形式を指定したpredictorを設定して適用すると、Ready状態の予測URLを取得できます。よくできました!🎉
よくある質問
「InferenceServiceリソース」レッスンは無料ですか?
はい。「InferenceServiceリソース」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、MLOps Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 MLOps Academyコースには全4レッスンが含まれています。
「InferenceServiceリソース」で何を学びますか?
単一のマニフェストでモデルのデプロイを宣言します。 ブラウザで直接実行するハンズオンコードでMLOps Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
MLOps Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのMLOps Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「InferenceServiceリソース」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このMLOps Academyレッスンでコードを書いて実行できますか?
はい。すべてのMLOps Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- InferenceServiceリソース
- ゼロまでスケールして戻す
- カスタムPredictorを書く
- KServeとSeldon Core