MySQL HeatWave MLで機械学習モデルの学習を25倍高速化 (2022/08/29)
MySQL HeatWave MLで機械学習モデルの学習を25倍高速化 (2022/08/29)
https://blogs.oracle.com/mysql/post/train-your-machine-learning-models-faster-with-mysql-heatwave-ml
投稿者: Salil Pradhan | Principal Product Manager
ML技術の急速な普及、爆発的なデータの増加、データサイエンスの専門家の不足により、業界では、速いペースで開発・展開されるモデルのライフサイクルに対応するため、ますます厳しい要求に直面するようになりました。様々なアプリケーション、デバイス、センサーなどから生成されるデータの量と速度の増加、およびリアルタイムの意思決定の必要性により、これらのデータを使用して構築される機械学習モデルの頻繁な変更が必要になっています。学習データと推論データの間のドリフトを管理するために、精度の高いモデルを生成し、変化するデータに対して常に最新の状態に保つ必要があります。このような迅速なモデル開発サイクルには、手動で生成したモデルに近い予測値を正確に生成するための、効率的で自動化されたMLパイプラインが必要です。
与えられたデータセットに適したモデルを特定するためには、最適なアルゴリズム、最適な行と特徴のセット、最適なアルゴリズムのハイパーパラメータを選択する必要があります。潜在的な組み合わせは何百、何千とあります。 従来のソリューションでは、様々なパイプラインの設定パラメータを最適化し、パラメータ間の依存関係を効果的に把握することでこの問題に対処してきました。このアプローチは反復的である傾向があり、多数のパイプラインの順列を評価する必要があるため時間がかかり、反復的なパイプラインは非現実的なものとなっています。
MySQL HeatWave ML の学習時間は、Redshift ML などの競合製品に比べ、平均で 25 倍の速さです。一部のデータセットでは、Redshift MLより数百倍も高速になります。MySQL HeatWave MLは、Redshift MLと比較して、クラスタサイズが大きくなっても、より良くスケールします。また、HeatWaveのML機能は、データベース内に組み込むことで実現されています。このアプローチをとることで、データをデータベースから抽出することなく、内部に留まり、データやモデルを移動することなく、学習、推論、説明の活動を行うことができます。MySQL HeatWaveをご利用のお客様は、HeatWave MLのご利用は無料です。
MySQL HeatWave MLは、どのようにしてこの高速なモデル学習性能を実現しているのでしょうか? Oracle Labsの長年の研究に基づき、MySQL HeatWave MLは、正確なモデルを提供するだけでなく、より短いランタイムで、サーバ間で並列化するように設計された、新しい反復不要の機械学習パイプラインを提示します。様々なパイプラインの設定を繰り返す必要性を排除することで、これらの目的を達成します。MySQL HeatWave MLはフィードフォワードアプローチを実装しており、各パイプラインステージでは、最終モデルを構築する前に、候補となるパイプライン構成のパフォーマンスを予測できるメタリアードプロキシモデルに基づいて判断を下します。
MySQL HeatWave MLは、以下のような革新的な技術により、優れたモデル学習性能と精度を実現しています。
技術革新
プロキシモデル
プロキシモデルは、一般に公開されているデータセットを用いて開発されます。このプロキシモデルは、様々なデータセットやハイパーパラメータに対する各アルゴリズムの振る舞いを観察し、メタラーニングを活用して作成されます。1つのMLアルゴリズムにつき1つのプロキシモデルが、これまでに見たことのないようなデータに対しても予測可能なように生成されます。プロキシモデルは、MLパイプラインのすべてのステージで使用される性能予測因子であり、MLパイプラインをイテレーションフリー化することができます。
反復不要のオプティマイザ
アルゴリズムの選択、適応的なデータ削減、ハイパーパラメータの最適化からなるMLパイプラインの反復不要なシーケンスは、この種のものとしては初めてのものです。各パイプラインステージの最適化結果は最終的なものであり、下流ステージにのみ影響を与えます。
Adaptive Data Reduction
データセットの代表的なサンプルを、行と特徴の両方の次元に沿って選択し、選択したアルゴリズムに最適化します。適応的データ削減は、モデルの予測性能への影響を最小限に抑えながら、ハイパーパラメータ最適化を高速化します。
HyperGD
異なるハイパーパラメータの次元をまたいで非同期最適化を並列に実行する、高度に並列な勾配ベースのハイパーパラメータ・オプティマイザです。
パイプラインステージ
図 1: Oracle MySQL HeatWave ML の非反復パイプライン
MySQL HeatWave MLパイプラインは、図1に示すようにあらかじめ定義されたステージのセットで構成されています。これらのステージでは、高速かつ高精度なモデルを生成するためにプロキシモデルが使用されます。
データ前処理
欠損値のインピュテーション、ラベルエンコーディング、正規化など、一般的に利用される前処理を実装しています。
アルゴリズム選択
このステージでは、与えられたデータセットに最適なアルゴリズムを決定するアルゴリズム選択を行います。アルゴリズムの選択は、パイプライン全体の性能に極めて重要です。
MySQL HeatWave ML は、データセットに最適なアルゴリズムを選択するために、プロキシモデルに依存します。プロキシモデルは、特定のアルゴリズムが対象データセットでどの程度の性能を発揮するかを示す指標として機能します。その高い予測性は、通常、非反復的なパイプラインに関連するスコアの低下を軽減するのに役立ちます。
パイプラインでのアルゴリズム選択は、パイプラインが与えられたデータセットで全てのアルゴリズムを試す網羅的アルゴリズム選択と比較して、ランタイムで〜4.5倍のアドバンテージがあります。
アダプティブサンプリング
このステージではAdaptive Data Reductionを使用し、データセットの行数を減らし、モデル性能を損なうことなく特徴のサブセットを選択することを目的としています。このステージで提供される不均衡を考慮したサンプリングは、後続のステージをスピードアップさせます。行のサンプリングと特徴の選択は両方とも、サンプルとサブセットをスコアリングするためのプロキシモデルに依存しています。
行サンプリング - 目標は、モデルの品質を犠牲にすることなく、後続のパイプラインステージで使用するためのデータセットの最小サンプルサイズを見つけることです。
特徴選択 - 特徴選択の目的は、元のデータセットを代表するデータセットの特徴のサブセットを見つけ、無関係な特徴を削除することです。
Adaptive Data Reductionは、パイプラインの平均実行時間を8.73%以上短縮し、平均1.80%のスコア向上を実現します。このスコア向上と高速化は、3mセルを超える大規模データセットでより顕著に現れ、35.98%の高速化と3.65%のスコア向上が実現しました。
ハイパーパラメータの最適化
これはパイプラインの最終ステージで、選択したアルゴリズムのハイパーパラメータを微調整することを目的としています。この段階は、機械学習パイプラインの中で最もコストのかかる段階となる傾向があります。
典型的なハイパーパラメータ・オプティマイザは、ハイパーパラメータのバッチを選択して評価し、すべての評価が完了するのを待ってから、現在のバッチの結果に基づいて次のバッチのハイパーパラメータの値を選択します。これらの各評価はトライアルと呼ばれ、各トライアルはデータセットとハイパーパラメータの選択に応じて任意に長くかかります。
HyperGDは高度に並列かつ非同期なアルゴリズムで、与えられたハイパーパラメータの探索中の試行と、他のハイパーパラメータにわたる試行を並列化します。この高度な並列性は、新しい試行を開始する際に、完了したすべての試行から最適なハイパーパラメータを非同期に収集し使用することによって達成されます。さらに、モデル評価のバッチからすべての結果が完了するのを待つ必要はない。この2つの最適化は、HyperGDの新しい勾配ベースの探索空間削減(GrSSR)により可能になりました。
テストスコアは、HyperGDによりプロキシモデルよりも平均で5.8%向上しています。
まとめると、MySQL HeatWave MLは、高速で正確な機械学習パイプラインを提供します。MySQL HeatWave MLのモデルトレーニングは、Redshift MLと比較して平均25倍高速です。MySQL HeatWave MLパイプラインの速度と精度は、Proxy Models、Interaction-free optimizer、Adaptive Data Reduction、HyperGDといった革新的な技術によって達成されています。
参考文献

コメント
コメントを投稿