2020年01月21日 05時00分 公開
特集/連載

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

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

[Scott Robinson,TechTarget]

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

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

 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 マーケティング新着記事

news153.jpg

「広告をきっかけにアプリをダウンロード」 回答者の46%――Criteo調査
コロナ禍におけるアプリユーザー動向調査レポート。日本のモバイルアプリユーザーはコン...

news088.jpg

「ウェビナー疲れ」 参加経験者の約7割――ファストマーケティング調べ
ウェビナーに参加する目的や参加頻度など、ウェビナー参加者の最新動向に関する調査です。

news070.jpg

現金主義からキャッシュレス利用へのシフト 理由の一つに「衛生」も――クロス・マーケティング調査
キャッシュレス利用が顕著に増加。金額によって支払い方法の使い分けが定着しつつあるよ...