モデルサービングとは

モデルサービングとは、学習し終えたAIモデルを本番環境に置き、アプリからデータを送ると予測の結果が返ってくる状態にして動かし続ける工程です。多くは決まった窓口(API)として公開され、その呼び出し先のURLに入力を投げると答えが返ってきます。

英語表記:Model serving

「作ったモデル」と「使えるサービス」の間を埋める

モデルは学習が終わっただけでは、社内のファイルとして眠っているのと同じです。実際に新しいデータを当てはめて答えを出すことを推論(inference)と呼びますが、その推論をいつ要求が来ても受け付けられる状態で稼働させるのがモデルサービングです。たとえば写真を送ると車種を返すアプリなら、写真を受け取って結果を返すURLがその窓口にあたります。利用が増えれば自動でリソースを増やし、減れば戻す(オートスケール)といった運用も、ここに含まれます。

即答型と一括型、2つの届け方

届け方は大きく2種類です。①オンライン=リクエストごとにその場で素早く返す方式で、チャットや審査の判定のように待たせたくない用途に向きます。②バッチ=大量のデータをまとめて一括処理する方式で、夜間にまとめて需要を予測するような用途に向く。速さ重視か、量重視かで使い分けるわけです。

経営から見れば「コストが発生し続ける場所」

AIへの投資が売上や効率につながるのは、研究段階ではなく本番で動いてからです。同時に、サービングはサーバーが常に動き続ける=費用が継続的に発生する場所でもあります。学習は一度きりの先行投資に近い一方、サービングは使われるほど積み上がるランニングコスト。そのため、後述の推論最適化やコスト管理が運用の要になります。クラウド各社がこの工程をまるごと請け負うマネージドサービスを提供しているのも、ここが手間とコストの集中点だからでしょう。

Topic予測を「配膳」することだけを担う専用サーバーがある

AIの世界では、モデルを作る道具配る道具が分かれています。リクエストを受けて推論結果を返すことだけを専門に担う「推論サーバー」という専用ソフトがあり、NVIDIAのTritonなどが知られています。料理を作る厨房とは別に、できた皿を客席へ運ぶ配膳係がいるようなもの。速く・安定して届けること自体が、独立した専門領域になっているわけです。

モデルサービングに関するよくある質問

モデルサービングはMLOpsとどう関係しますか?
MLOps(AIの開発から運用までを通して管理する考え方)の中核となる工程の一つです。育てたモデルを本番で安定して動かし続ける部分を、サービングが受け持ちます。
オンラインとバッチ、どちらの届け方を選べばよいですか?
即答が必要ならオンライン、まとめて処理すればよいならバッチが向きます。チャットや審査判定はオンライン、夜間の需要予測などはバッチが目安です。
一度公開すれば、あとは手がかからないのですか?
そうとは限りません。利用が増減すればリソースの調整が要り、時間とともに予測の精度が落ちることもあるため、監視と作り直しが続く前提で考えるのが安全です。

あわせて読みたい記事