MySQLのデータからの機械学習を容易にする
2021年8月にOracleは、HeatWaveの運用、管理を自動化することで使い勝手を改善しパフォーマンスと拡張性を向上させるMySQL Autopilotの提供を開始した。Autopilotは、機械学習技術を利用した自動プロビジョニングや自動並列ロード、自動データ配置などの機能で、HeatWaveの能力を活用したいデータベース管理者(Database Administer:DBA)の運用負荷を大きく軽減するものだった。
もともとMySQLは、さまざまWeb上のサービスや、オンラインゲームなどのバックエンドのデータ蓄積やトランザクション処理のデータベースとして利用されているケースが多い。そのような用途で使われているデータベースの管理者作業の負荷が下がれば、MySQLをトランザクションの処理だけでなく、ビッグデータ分析などでさらなるデータ活用にも取り組みやすくなるだろう。
さらにOracleは2022年3月、新たに「MySQL HeatWave ML」の提供を開始した。「AutopilotはDBA、インフラ管理者向けの機能でしたが、今度のHeatWave MLはアプリケーション開発者を支援する機能になります」と言うのは、日本オラクル アジアパシフィック&日本担当 MySQLソリューション・エンジニアリング・ディレクターの梶山隆輔氏だ。
MySQL HeatWave MLは、HeatWaveの中で機械学習技術を活用できるようにするものだ。さまざまな機会学習用のライブラリを提供することで、HeatWaveにあるデータを用いて予測などの機械学習を活用した高度な処理の仕組みを、容易に実現できるようにする。
ここ最近は提供するアプリケーションの中で、機械学習技術を活用して機能を高度化し、顧客満足度の向上を図りたいと考えることが増えている。顧客の活動データなどを用いて、機械学習技術で営業活動の次なるアクションを推奨する。そういった機能をアプリケーションなどに追加する際には、データベースに蓄積された膨大なデータからまずは学習用データを抽出して整備し、それを機械学習専用のツールなどに渡して学習することとなる。
データを学習して予測精度の高い最適なモデルを作るには、学習させるデータを調整し、アルゴリズムを適宜選択して学習するといったことを繰り返すだろう。そしてできあがったモデルをアプリケーションに組み込んで、実際にアプリケーションの中で予測機能として実装する。
このようなアプリケーションでの予測機能の開発では、データを抽出する際のアクセス権の管理や、学習を行う環境でのデータセキュリティの確保など、開発者が考慮すべきことは多い。その上でアルゴリズムは何が最適化などに時間を費やすこととなり、機械学習技術をアプリケーション開発者が使いこなすために取り組むべきことは多岐に亘る。
そのためクラウドベンダーなどは、アプリケーション開発者やデータサイエンティストが、機械学習技術を容易に活用できるようにする機能を用意しており、Oracleでは「Oracle Machine Learning AutoML」を提供している。これはOracle Autonomous Databaseに蓄積されているデータに対し、機械学習技術を容易に適用できるようにするものだ。
AutoMLは、機械学習モデルの作成において手間と時間がかかる一連の手順を自動化できる。AutoMLのノーコードのユーザー・インターフェイスで、アプリケーション開発者やデータ・サイエンティストの生産性を高め、モデル品質の向上などを専門家でなくても容易に行えるようにしているのだ。
このAutoMLの機能のMySQL版となるのが、MySQL HeatWave MLだ。「AutoMLの機能の開発には、もともとHeatWaveの開発部隊が中心的に関わっていました」と梶山氏。そのため、HeatWave用に機械学習を容易にする機能の提供がこのタイミングになったのは、むしろ遅いくらいだとも言える。
HeatWave MLでは、AutoMLで実現し実績を得てきた機能を、改めてMySQL専用にして提供している。アプリケーション開発者やデータサイエンティストは、使い慣れているPythonなどの言語を使うこともできれば、MySQLに追加された機会学習用のSQL関数を使い、データの学習や予測モデルの構築、構築したモデルについての説明の取得などまでもができるようになっている。
SQLだけで機械学習の技術を活用できることから、データベースを使ってアプリケーションを開発していたけれど機械学習技術の経験値があまりないような人にも使いやすい環境となっている。「HeatWave MLは、開発者にとっては機会学習用のSQLがちょっと増えたと言うだけでしょう」と梶山氏は言う。