機械学習アプリを「FaaS」で開発すべきこれだけの理由「サーバレス」で開発にまつわる負担を軽減

機械学習を導入する際は、幾つかのハードルを越えなければならない。その有力な手段となり得るのが「FaaS」だ。それはなぜなのか。

2020年01月21日 05時00分 公開
[Scott RobinsonTechTarget]

 さまざまな業界で競争上の優位性をもたらしている技術に「機械学習」がある。一般的に機械学習を導入する際には、大規模なインフラを使って機械学習モデルをトレーニングすることが必要になる。大勢のエンドユーザーが求める速度で、機械学習モデルのトレーニングを機能させなければならない。

 無視できない問題に「コンセプトドリフト」がある。コンセプトドリフトとは、データの多様性によって時間の経過とともに、機械学習モデルのトレーニングパフォーマンスが低下し、再トレーニングが頻繁に必要になることを意味する。この状況はバージョン管理といった問題の引き金にもなる。

 Amazon Web Services(AWS)やGoogleなどの大手クラウドベンダーは、機械学習モデルのトレーニングを支援するサービスを用意している。AWSの「Amazon SageMaker」、Googleの「AI Platform」、IBMの「Watson Machine Learning」、salesforce.com(Salesforce)の「Salesforce Einstein」、Seldon Technologiesの「Seldon Core」は、このようなサービスの代表例だ。

 機械学習のアプリケーションを従来の方法で開発する際には、幾つかの課題に直面する。そうした課題をある程度解消する手段となり得るのが「FaaS」(Function as a Service)だ。

FaaSとは何か

 FaaSは、アプリケーションサーバの存在を意識せずに開発可能なアプリケーションのアーキテクチャ「サーバレスアーキテクチャ」を実現する。FaaSの代表的なサービスに、特定のイベントをトリガーにしてコードを自動実行する「イベント駆動型コード実行サービス」がある。大手クラウドベンダー各社は既にFaaSを提供している。AWSの「AWS Lambda」、Microsoftの「Azure Functions」、Googleの「Cloud Functions」、IBMの「IBM Cloud Functions」はその例だ。

 HTTPリクエストの処理やマルチスレッドといった、アプリケーションサーバの処理に起因する悩みを抱えている企業は少なくない。FaaSの導入でこうした悩みを一掃できる。FaaSのユーザー企業は、特定のジョブの実行時に使ったリソースについてのみ利用料金を支払えばよい。このシンプルな従量課金制モデルによって、企業はより迅速なアプリケーション開発に向けて必要なリソースを投入できるようになり、開発会社は全社レベルで条件の均一化を図ることが可能になる。

機械学習×FaaSがもたらすもの

ITmedia マーケティング新着記事

news058.jpg

アドビ、Adobe Firefly機能搭載の「Adobe Express」モバイル版アプリを一般提供
アドビは、生成AI「Adobe Firefly」の機能を利用できる「Adobe Express」モバイル版アプ...

news141.jpg

2度あることは3度あった GoogleのサードパーティーCookie廃止再延期にアドテク各社がコメント
Googleは2024年末までに完了する予定だったWebブラウザ「Chrome」でのサードパーティーCo...

news148.jpg

天候と位置情報を活用 ルグランとジオロジックが新たな広告サービスを共同開発
ルグランとジオロジックが新たな「天気連動型広告」を共同開発した。ルグランが気象デー...