トップ OSS紹介 H2O(機械学習プラットフォーム)

H2O(機械学習プラットフォーム)

NRIのOpenStandiaが提供するH2O(機械学習プラットフォーム)最新情報

H2O(機械学習プラットフォーム)情報

H2Oとは

H2O(エイチツーオー)は、線形スケーラビリティーで拡張可能な分散型インメモリー機械学習プラットフォームです。H2Oは、H2O.ai社によって開発され、オープンソースソフトウェアとして公開されています。勾配ブーストマシン、一般化線形モデル、ディープラーニングなど、最も広く使用されている統計および機械学習アルゴリズムをサポートしています。

業界をリードするAutoML(Automated Machine Learning:自動機械学習)機能があることもH2Oの大きな特徴の1つです。すべてのアルゴリズムとそのハイパーパラメーターで学習を自動的に実行して、最高スコアのモデルのリーダーボードを作成します。

図: リーダーボード
図: リーダーボード

AutoMLが可能な他のOSSとの大きな違いは、H2Oがソースコードを1行も書くことなくGUIのみですべての機械学習フローを実現できる点です。GUIを利用せず、PythonやRで実装することもできます。

H2O.ai社は他にも「Sparkling Water」というOSSを開発しており、これによりH2Oの高速でスケーラブルな機械学習アルゴリズムとSparkの機能を組み合わせることができます。

図: Sparkling Waterの概念図
図: Sparkling Waterの概念図

H2O.ai社は、商用製品のDriverless AIも2017年春にリリースしています。これは、企業向けの自動機械学習ができるソフトウェアで、特徴量エンジニアリング、モデル構築、視覚化、解釈を自動化します。他にも以下の商用製品もリリースしています。

  • Enterprise Steam: 包括的なIT制御による安全なセルフサービスの人工知能環境
  • Enterprise Puddle: プライベートクラウドでH2O製品を起動するための安全で便利な方法を提供する

H2Oのプラットフォームは、世界中で18,000を超える組織で使用されており、RとPythonの両方のコミュニティで非常に人気があります。

主な機能

H2Oは、機械学習に関する基本的な機能を備えているだけでなく、同類のソフトウェアには存在しない(または、より優れた)機能や特徴があります。公式サイトでは「Key Features of H2O」として、以下を挙げています。

主要なアルゴリズム

ランダムフォレスト、GLM、GBM、XGBoost、GLRM、Word2Vecなど、分散コンピューティングや教師ありと教師なしの両方のアプローチのためにゼロから開発されたアルゴリズムがあります。

R、Python、Flowなどからのアクセス

R、Pythonなどの既知のプログラミング言語を使用してH2Oでモデルを構築するか、H2O Flow(以下のようなコーディングを必要としないグラフィカルなノートブック・ベースのインタラクティブなユーザー・インターフェイス)を使用できます。

AutoML

AutoMLを使用すると、機械学習のワークフローを自動化できます。これには、ユーザーが指定した時間内に多くのモデルを自動的に訓練し、チューニングする機能が含まれます。Stacked Ensembleは、異なるモデルごとに自動的に訓練され、ほとんどの場合、AutoMLリーダーボードで最もパフォーマンスの高いモデルになる予測精度の高いアンサンブルモデルを生成します。

分散インメモリー処理

大量のデータセットを扱えるように、ノードとクラスター間の高速な直列化によるインメモリー処理を行うことができます。ビッグデータの分散処理は、粒度の細かい並列処理により最大100倍の速度を実現し、計算精度を低下させることなく最適な効率を実現します。

導入が簡単

H2Oを使用すると、構築したモデルをPOJO(Plain Old Java Object)やMOJO(Model ObJect, Optimized)に変換することができます。これをJavaアプリケーション内にデプロイするだけで、指定したデータセットを実行するようにスケージューリングできます。

起動も非常に簡単です。


$ wget http://h2o-release.s3.amazonaws.com/h2o/rel-zahradnik/1/h2o-3.30.0.1.zip
$ unzip h2o-3.30.0.1.zip
$ cd h2o-3.30.0.1
$ java -jar h2o.jar

類似プロダクト

H2OのようなAutoMLができるOSSの機械学習のプラットフォームは他にも多数あります。既存の機械学習ライブラリーを利用しコードを削減するPyCaret、AWSが開発したAutoGluon、Microsoft社のNNI(Neural Network Intelligence)、遺伝的プログラミングを使用して最適なパイプラインを構築するTPOTなども同等の機能を備えています。ソースコードを1行も記述することなく、GUIのみでAutoMLができるOSSは、現時点でH2O以外にはありません。

H2Oのライセンス

H2Oのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • PyCaret

    PyCaret

    パイキャレット。ythonで実装されたオープンソースの機械学習ライブラリーで、機械学習の一連の作業を自動化する「AutoML」をサポートしています。

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。