Netflixのデータサイエンティストチームが、「Metaflow Python」ライブラリーをオープンソース化している。このライブラリーはデータサイエンス分野におけるワークローの構築やデプロイに用いる「人間中心の機械学習(ML)インフラ」における重要なパーツだ。
大手ビデオストリーミング企業であるNetflixは脚本の分析から、制作スケジュールの最適化、顧客によるサービス解約の予測、価格設定、翻訳、同社の大規模なコンテンツ配信ネットワークの最適化に至るまで、業務のあらゆる側面でMLを活用している。
同社のブログ投稿によるとMetaflowは、ビジネスロジックをPythonのコードで表現したいが、オブジェクト階層や、パッケージ関連の問題、自らの仕事と直接関連しない不明瞭なAPIといったエンジニアリング上の問題に煩わされたくないというデータサイエンティストの生産性を向上させるために作り上げられたという。
Metaflowは、Netflixのデータサイエンティストらの考え出したプロトタイプモデルが本番環境で適切に機能するかどうかを初期の段階で見極めて、問題を解決できるようにするとともに、うまくいけばデプロイにかかる時間を短縮できるようにするという考え方から生まれたものだ。Netflixが2月に発表したところによると、Metaflowの利用によってデプロイまでの平均時間(中央値)が4カ月から7日にまで短縮されたという。
NetflixはMetaflowに特化したサイトを新たに開設し、簡潔な説明を提供している。そこには「Metaflowによって、ワークフローの設計や、大規模な実行、本番環境へのデプロイが支援される。また、すべての試行やデータが自動的にバージョン管理され、追跡できるようになっている。そして、ノートブック上で容易に結果をチェックできるようにもなっている」と記されている。
さらに同ライブラリーは、「PyTorch」や「TensorFlow」「scikit-learn」を含む、Pythonによる著名なデータサイエンスライブラリーとともに使うこともできる。
Netflixはよく知られているように、Amazon Web Services(AWS)の大手顧客だ。このためMetaflowが、「Amazon Simple Storage Service」(Amazon S3)上のあらゆるコードやデータのスナップショットを取得する機能をはじめとする、AWSのさまざまなサービスと統合されているのは驚くべき話ではない(ちなみにNetflixはAmazon S3を「データレイク」として使っている)。こうした統合機能は、ユーザーがAWSのストレージやコンピュート、MLといったサービスを用いてモデルの規模を迅速に拡大するうえで役立つはずだ。