機械学習で生じる問題を解決するPythonライブラリ「MLflow」:オープンソースツールがまた一つ
機械学習のパラメーターやモデルの管理、APIの提供などができるPythonライブラリがオープンソースで公開された。Databricksの「MLflow」が解決する機械学習の問題とは?
2018年6月に開催された「Spark Summit」で、Databricksは「MLflow」という新たなプロジェクトを発表した。Databricksはオープンソースの「Apache Spark」によるクラウドベースのビッグデータ処理に重点を置く企業で、同社のMLflowは機械学習(ML)のためのPythonライブラリだ。
同社のチーフテクノロジストを務めるマテイ・ザハリア氏によると、同氏が率いるチームは、MLに関してよく耳にする問題に対処するアプローチを構築したという。
MLの典型的な課題
データの準備からモデルのトレーニングまで、MLのライフサイクルの「フェーズ」には多種多様なツールがある。
「各フェーズでチームがツールを1つ選ぶ従来のソフトウェア開発とは異なり、MLでは結果が改善するかどうかを確認するため、利用可能な全てのツール(アルゴリズムなど)を試してみる。そのため、MLの開発者は多くのライブラリを運用できるようにする必要がある」とザハリア氏はブログに記している。
同氏は次のようにも書いている。「MLアルゴリズムには構成可能なパラメーターが多数存在する。そのため、モデルを作成するためにテストしたパラメーター(コード、データ)をそれぞれ追跡するのは難しい」
ザハリア氏の説明によれば、細部まで追跡しなければ、再度機能させる際に同じコードを利用するのが難しくなることが多いという。こうした再現手順は明らかにデバッグも難しくする。
「(また)MLは導入も難しい。多数の導入ツールや(RESTサービス、バッチインタフェース、モバイルアプリなど)MLを実行する環境によって、モデルを運用に移すのが困難になる可能性がある。任意のライブラリから任意のツールにモデルを移行する標準の方法はない。そのため、新しく導入するたび、新しいリスクが生まれる」(ザハリア氏)
最終的に行き着く先は、大手ベンダーが作成する内部MLプラットフォームになる。こうしたプラットフォームはこれらの難題に何らかの対応を行っている。だが、こうしたプラットフォームを利用すると、独自のテクノロジーインフラに縛られることになるため、対象範囲が制限される。
DatabricksのMLflow
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Copyright © ITmedia, Inc. All Rights Reserved.