本誌では、Amazon Web Services(AWS)の年次イベント「AWS re:Invent 2019」の模様をお伝えしているが、CEOのAndy Jassy氏は基調講演において、統合開発環境「SageMaker Studio」など、機械学習に関する新サービスを6つ発表した。

○成長を続ける機械学習関連のAWSサービス

Amazon Web Services(AWS)はさまざまなサービスを提供しているが、最近は、機械学習機能関連のサービスの利用が著しく成長している。機械学習を利用するシステムにおいては、TensorFlow、PyTorch、MXNetなどのフレームワークがよく使われているが、AWSが提供するサービスはこれらフレームワークとの統合が進んでおり、必要なフレームワークを無理なく利用できるようになっている。機械学習機能を利用するシステムでは、複数のフレームワークを利用することが多い。AWSの提供するサービスはそうした利用に対してもシームレースに対応している。

成長を続ける機械学習関係のAWSサービス

TensorFlow、PyTorch、MXNetなど主要なフレームワークに対応

機械学習機能を利用するためのAWSサービスと言えば、機械学習のフルマネージドサービス「Amazon SageMaker」を外すことはできない。今回、Amazon SageMakerに関して次の6つの新しいサービスが発表された。

Amazon SageMaker Studio

Amazon SageMaker Notebooks

Amazon SageMeker Experiments

Amazon SageMaker Debugger

Amazon SageMaker Autopilot

Amazon SageMaker Model Monitor

6つの新サービスが追加されたAmazon SageMaker

上記の新サービスのうち、特に注目しておきたいのは統合開発環境「Amazon SageMaker Studio」だ。ほかの新サービスはAmazon SageMaker Studioから利用できる機能であり、ユーザーが最初に認識するのはAmazon SageMaker Studioということになる。

○統合開発環境「Amazon SageMaker Studio」の特徴とは

Amazon SageMaker Studioは機械学習機能を開発するための統合開発環境だが、AWSが機械学習に特化した統合開発環境としては初のサービスとなる。

AWS re:Invent 2019で発表されたAmazon SageMaker Studio

Amazon SageMaker Studioの主な特徴は次のとおり。

Webベースの統合開発環境

完全に機械学習に特化した開発環境

単一のインタフェースからビルド、学習、チューニング、デプロイなどの操作が可能

ノートブック、データセット、コード、設定などにアクセス可能

機械学習を利用したプロジェクトのすべてを管理可能

ノートブックや結果を効率よく議論可能

Amazon SageMaker Studioの主な特徴

Amazon SageMaker Studioを利用すると、それだけで機械学習に必要になるすべての環境が自動的に用意される。同様の作業を自前で行おうとすると、さまざまな煩雑な作業を手動でこなさなければならない。Amazon SageMaker Studioによって開発環境のセットアップにかかる手間が大幅に削減されるほか、他の開発者とのコラボレーションもより簡単になる。

Amazon SageMaker Studioで注目しておきたいのは、Amazon SageMaker Studioが先駆的な存在というわけではない、ということだ。似たような開発環境はすでに他のベンダーから提供されている。Webベースで動作するため、Webブラウザから利用することができ、プロジェクトを作成する段階で自動的にインスタンスの作成やサーバのセットアップも完了する。選択したプランの範囲内で性能もスケールする。開発者にとって、ありがたい開発環境ということになる。

つまり、こうしたWebベースの開発環境はAWSが進める特別なものではなく、業界の次の一手として一般的に普及がはじまりつつあるという点に注目する必要がある。Webベースでの開発が一般的になれば、開発者が明示的にクラウドサービスを利用するというスタイルが日常化することにつながる。こうした開発スタイルが定着するかどうかは、今後の開発者の反応次第ということになるが、AWSを含めてこうした方向に開発環境がシフトしつつある点には着目しておくとよいだろう。

Webベース開発環境は概ね他の開発者と連携する機能、他のWebサービスとコラボレーションする機能が統合されていることが多い。現在、そうした作業は統合開発環境ではなく、他のアプリケーションを併用することで実現されることが多いが、Webベースの統合開発環境はそうした機能が統合されていることが多い。

逆に、Webベース統合開発環境の懸念は、当然だが、ネットワークに障害が発生すれば使えなくなることであり、利用するにあたってサブスクリプションによる支払いが必要になるということだ。

すべて手元のノートPCに開発環境を持っておきたいと考える開発者は少なくない。しかし、デプロイが簡単ですぐに本番サービスを開始できるWebベースの統合開発環境の利便性も魅力的だ。今後、開発環境がどのように変化していくかを見守る必要があるが、こうした動向が活発になっていることには留意する必要があるだろう。