SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2023 セッションレポート(AD)

機械学習システムの技術的負債を防ぐ! Alibaba CloudでMLOpsを実現するためのサービスとポイント

【10-B-5】クラウドではじめるMLOps(機械学習オペレーション):Alibaba Cloud 製品を活用した機械学習の全ライフサイクルにおけるプロセスの自動化および標準化

  • このエントリーをはてなブックマークに追加

 Alibaba Cloud(アリババクラウド)は、多種多様な電子商取引サービスを提供しているアリババグループ全体のクラウドインフラを一手に担うクラウドベンダーだ。世界最大級のショッピングイベントと言われている中国の「11月11日 独身の日」では数兆円規模の取引が行われていながら、サービスを問題なく提供できるほど可用性には定評がある。今回は機械学習の概要からAlibaba Cloudで機械学習を運用する手法まで、アリババクラウド・ジャパンサービス株式会社 シニアソリューションアーキテクト 泉浩宣氏が解説する。

  • このエントリーをはてなブックマークに追加

グローバルのIaaSシェアでは3位のAlibaba Cloud

 ガートナーが2022年に発表した、2021年の世界のIaaSシェアは1位がAWS、2位がMicrosoft、そして3位がAlibaba(Alibaba Cloud)、4位がGoogle。Alibaba Cloudは中国では(当然だが)トップに君臨し、アジア太平洋地域でも上位を守り通している。日本では目立たないものの、中国だけではなくグローバルおよびアジア地域で圧倒的な地位を占めるクラウドベンダーだ。

 Alibaba Cloudは中国だけではなく、グローバルにデータセンターを展開している。世界で28地域に、86のデータセンターを構えている。他の大手クラウドベンダーと比べると、アジア地域が特に充実しているのが特徴だ。また、日本を含む国際市場向けにはシンガポールを拠点にビジネスを展開している。

アリババクラウド・ジャパンサービス株式会社 シニアソリューションアーキテクト 泉浩宣氏
アリババクラウド・ジャパンサービス株式会社 シニアソリューションアーキテクト 泉浩宣氏

 日本では、Alibaba Cloudは2022年12月に3カ所目のデータセンターを東京圏で開設した。さまざまな国際的なセキュリティ認証も取得済みで、日本の個人情報保護に関する認証のJIS Q15001も取得済み。また金融情報システムセンター(FISC)の安全対策基準への準拠、内閣サイバーセキュリティセンターの政府機関等の情報セキュリティ対策のための統一基準群(NISC統一基準群)への準拠もあり、日本国内の重要な安全基準にも対応している。

 冒頭に示したグローバルのシェアからも分かるように、サービスのラインナップも充実している。IaaS系サービスだけではなく、データベース、ビッグデータ、AIや機械学習などのプロダクトもあり、またセキュリティ製品も充実している。

業界トップクラスの製品ラインナップ
業界トップクラスの製品ラインナップ

機械学習システムは技術的負債が課題に

 今回のテーマは機械学習や深層学習インフラストラクチャの運用(MLOps)のための機械学習パイプラインとなる。まずは基本的なところから確認していこう。

 厳密にはMLOpsの定義は各社ごとに異なるものの、ここではWikipediaの表記「MLOpsとは、ディープラーニングなどの機械学習のライフサイクルを管理するための、データサイエンティスト、エンジニア、保守運用担当者のコラボレーションおよびコミュニケーションに関する実践手法」を採用していく。泉氏は「あくまでもコンセプト。DevOpsと組み合わせて、機械学習のプロセスを回していくという発想」と説明する。

 なお似たような用語に「AIOps」もある。泉氏は「これはAIをITの運用プロセスに生かしていこうというものなので、本質的には機械学習そのものの運用とはあまり関係がない」とくぎを刺す。

 もともと機械学習自体は数十年前に開発されていた。近年急速に実用化が進んでいる背景には、ツール群が発展し、利用しやすい環境が整ってきたためと言える。かつては最小限のライブラリしかなかったところ、今ではPyTorch、Scikit-learn、TensorFlowなど充実している。周辺にはHadoopなどのデータストア、Apache SparkやApache Flinkなどビッグデータ分析フレームワーク、JenkinsなどDevOps周辺を支えるツール群、DockerやKubernetesのようなコンテナやオーケストレーション技術もある。

 さらに各種のグローバル展開するクラウドインフラが発展し、そこで拡張性や、ほぼ無制限のようなデータ容量といったメリットを享受できるようになっている。そうした背景のなか「Alibaba Cloudも担い手の1つになっています」と泉氏は言う。Alibaba Cloudでは機械学習で使える各種サービスを提供している(詳しくは後述)。

 ただしMLOpsで避けて通れないのが機械学習の技術的負債だ。泉氏は機械学習に関する国際会議(NIPS:Neural Information Processing Systems)で提出された論文「Hidden Technical Debt in Machine Learning Systems」を挙げた。

 実は機械学習開発そのものの負荷はそう大きくない。しかし機械学習を実践していくにあたり、設定、データの収集、データの検証、マシンリソース管理、プロセス管理、監視など周辺には多くの負荷がある。機械学習では学習を継続していくことも重要になるため、MLOpsのようなコンセプトを実践していかないと負担だらけになってしまい、結果的には機械学習のプロセスが停滞し、陳腐化してしまうということが起こりかねない。

機械学習の技術的負債
機械学習の技術的負債

 そのため機械学習においては、機械学習以外の開発コストや負荷、役割分担、環境間の再現性の確保、処理リソースの確保、開発からデプロイまでのリードタイムなどをクリアしていくなどワークフローや体制を整えていく必要がある。

 機械学習を実践していくなら、機械学習は継続的な取り組みが必要だと認識しておくべきだろう。アルゴリズムを開発し、モデルを構築したら終わりではない。データをフィードしてトレーニングを重ね、予測と推論ができるサービスとしてデプロイできるような形にする。そして品質や性能を検証して、本番環境にリリースする。ここでも終わりではない。モデルを陳腐化させないためには、フィードバックループを繰り返していく必要があるのだ。

MLOpsワークフロー
MLOpsワークフロー

Alibaba CloudならMLOpsをこう実現できる

 こうしたMLOpsのワークフローをクラウドで実践していくことを考えると、そのクラウドには次のような要件が求められるのではないだろうか。まず長時間稼働できること。機械学習は処理にどのくらいかかるのか把握しにくい。分単位で終わることもあれば、数時間かかることもある。その点、プロセス可視化も重要となる。データサイエンティストからインフラの専門家など、MLOpsではさまざまな専門家が寄り集まるため、共通認識を持つためにもプロセスの可視化や状態監視はとても重要になる。

 また機械学習だとDevOpsほど流れは一方通行でスムーズではなく、「ここは進めてみよう」「いや戻してやりなおそう」と関係者で協議して模索することもあるため、イベント損失なし、ステップの再テスト、状態の永続性なども必要になる。加えてクラウドとしての高可用性、低遅延、拡張性、コスト効率、低保守運用コストなども当然求められる。

 MLOpsは幅広いものなので、例えばAmazonならSageMaker、Microsoft AzureならAzure Machine LearningやAzure Databricks、Google CloudならVertex AIなど、各種製品やサービスが実在する。Alibaba CloudにもAI/機械学習製品はあるものの、泉氏によると、さまざまなユースケースに対応するには「まだ帯に短したすきに長し」なので、おすすめは「サーバーレス製品をうまく組み合わせること。もしかしたら手間がかかるが、柔軟かつコストも自由にコントロールできるシステムができます」と言う。

 Alibaba CloudにあるMLOpsで有効なサービスには、サーバーレス関数を実行する「Function Compute(FC)」(AWSならLambda)、これらのサーバーレス関数を連携して動かすワークフローには「Serverless Workflow(FnF)」が有効だ。

 コンテナ関係ではKubernetesベースのコンテナサービス「Alibaba Cloud Container Service for Kubernetes(ACK)」、企業向けのセキュリティ機能も備えたコンテナレジストリ「Alibaba Cloud Container Registry(ACR)」がある。オブジェクトストレージは「Object Storage Service(OSS)」(AWSならAmazon S3)がある。泉氏は「費用対効果の高いストレージ基盤」と言う。

 実際にこれらのサービスを駆使したMLOpsソリューションがある。最初はAlibaba Cloudの技術ブログに「Serverless Machine Learning Pipeline in Production」として紹介され、GitHub上でもawesome-fnf/machine-learning-pipelineプロジェクトとして公開されている。これをベースに最新のクラウド環境に合わせ発展させたものをここから紹介する。

 アーキテクチャは下図の通り。コードを更新後にアルゴリズムやパラメーターを調整してからコンテナレジストリにコミットすると、このコンテナイメージでビルドする。それがトリガーとなり、サーバーレス関数のFCが実行され、機械学習のパイプラインに移る。

ソリューション
ソリューション

 パイプラインでモデルのトレーニングやデプロイに進むと、廉価に使える関数が動いてKubernetesのAPIサーバー経由でジョブが実行される。トレーニングしたものはクラウドストレージに蓄積され、ここからデプロイされる。こうした形で反復的な機械学習のプロセスが可能となり、テストまで自動的に進む。最後に人間が結果を見て「OK」と信任を与えると、本番環境にデプロイされる。

 泉氏は「このようにサーバーレスのサービスを組み合わせると、高可用性、低遅延、無制限の拡張性を得ることができます。Alibaba Cloud環境ですと、コストを抑え、運用効率も良く、可視化に優れています。またAlibaba Cloudには、企業レベルのデータモデリングサービスのためのプラットフォームとなるMachine Learning Platform for AI(PAI)もありますので、これと組み合わせるのも面白いと思います」と話す。こうしたものをベースにすれば、Alibaba CloudでMLOpsの環境を構築するのも現実味を帯びてきそうだ。

Alibaba Cloud 無料トライアル!

 以下のページからの申し込みで、Alibaba Cloudの50以上の無料オファー($1700〜$8500相当)を提供します。

 コンピューティング、ネットワーク、データベース、ストレージ、セキュリティ、エンタープライズアプリケーション、分析、AI、開発サービス等が無料で体験できます。

 詳しくはAlibaba Cloud公式サイト 「無料トライアル」をご覧ください。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

提供:アリババクラウド・ジャパンサービス株式会社

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17520 2023/04/27 12:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング