HeatWave AutoMLによるデータベース内機械学習

Michael Chen |コンテンツ・ストラテジスト| 2024年10月15日

データベース内機械学習とは、機械学習アルゴリズムと技術をデータベース管理システムに統合することです。データ・セットの選択、アルゴリズムのトレーニング、モデルの評価など、すべてのプロセスがデータベース内にとどまります。データベース内機械学習を使用すると、組織はデータベース内で複雑な分析タスクを直接実行できるため、システム間でデータを移動する必要がなくなります。これにより、データのインポート/エクスポート・プロセスに関連するレイテンシ、データの整合性およびセキュリティ上の懸念がなくなります。

突然多くの顧客離れを経験している企業を考えてみましょう。機械学習(ML)アルゴリズムは、どの顧客が競合他社に勝つ可能性が高いかを予測し、パーソナライズされたマーケティング・キャンペーンを提案し、それらの購入者のエンゲージメントを再構築する方法に関するその他の推奨を行う場合があります。頻繁に購入するアイテムの過剰在庫がある可能性があります。特別なプロモーションを提供することで、在庫を移動し、顧客を幸せにすることができます。機械学習がデータベース内で直接利用できる場合、これらの提案を最新のデータでより迅速に生成できます。会社は迅速に動くことができます。また、データを外部のMLエンジンに移動する必要がないため、顧客情報の公開に関する懸念がなくなります。

データベース内機械学習とは

データベース内機械学習により、機械学習アルゴリズムがデータベースに直接組み込まれ、異なるシステム間でデータを前後に移動する必要がなくなります。従来、機械学習では、データをデータベースから抽出し、別のML分析プラットフォームまたはツールで処理する必要がありました。これは、特に大規模なデータ・セットを処理する場合に、時間がかかり、リソースを大量に消費する場合があります。

データベース内機械学習では、機械学習アルゴリズムがデータベース環境でネイティブに実行される間、データは維持されます。MLアルゴリズムをデータベースに埋め込む主な利点は、より迅速かつ効率的な分析です。

簡単に言えば、データを移動するとすべてが遅くなります。

データベース内機械学習は、AIモデルのトレーニングなどに必要な大規模なデータ・セットに特に役立ちます。データベース内機械学習を使用すると、データベース環境では、プラットフォームにネイティブなコーディング、モデルの構築およびテストのためのツールが使用されます。これにより、わずか数回のクリックで、データベース内のすべてのテーブルをデータ集約型プロジェクトに使用できます。

また、データベース内機械学習は、トレーニング中でも導入中でも、インフラストラクチャの一貫性を提供します。つまり、ITチームは、モデル使用の次の段階をサポートするために、関連するメンテナンスやQA作業は言うまでもなく、新しい本番対応インフラストラクチャの作成から解放されます。

主なポイント

  • データベース内機械学習を使用すると、組織はデータベース環境内で機械学習モデルをコーディング、構築、テストおよびデプロイできます。
  • データベース内に留まることで、機械学習プロセスはより効率的に移行します。
  • データベース内機械学習で構築されたモデルは、環境内で使用可能な機能に依存するため、スタンドアロン・ツールで構築されたモデルよりも複雑でないことがよくあります。

データベース内機械学習の説明

インデータベース機械学習は、使い慣れたデータベース・システムやツールで作業するため、シームレスなエクスペリエンスです。同様に、アナリストは既存のデータベースと使い慣れたクエリ言語を使用して、追加のソフトウェアやハードウェア投資を必要とせずに高度な分析を実行できます。データベース内でデータを直接分析することで、組織は最新のデータに関する貴重なインサイトを発見し、よりタイムリーなデータドリブンな意思決定を行うことができます。

データベース内機械学習がないと、ML分析をデータに適用しようとする企業は、抽出/変換/ロード(ETL)または抽出/ロード/変換(ELT)プロセスを実行し、データを外部システムにシフトする必要があります。この従来のモデルでは、データ・サイエンティストは手動によるインポート/エクスポート操作を実行したり、APIを介してシステムを統合したりできます。いずれの場合も、機械学習機能用のデータ・セットを準備するには複数の追加ステップが必要であり、これらの追加ステップによって潜在的な問題への扉が開かれます。次に例を示します。

  • 重複データ・エラー
  • データ破損エラー
  • セキュリティ上の欠陥
  • 過剰なリソースとコンピュートの使用量と関連コスト
  • 統合互換性の問題
  • フォーマット互換性の問題

データベース内の機械学習は、エクスポート/インポートのステップをスキップし、MLタスクをデータ自体と同じ環境に保ちます。互換性を確保するために再構築または再フォーマットを行う必要はありません。また、データベース内にとどまることで、その間を扱うことができるシステムを維持する必要もなくなります。

データベース内機械学習の重要性

機械学習タスク、特にAIモデル・トレーニングに多様なデータ・ソースを使用する場合、大規模なハードルが存在します。代表的なユースケースは以下の通りです。

  • モデル・トレーニング制約。多くのデータ・セットが大きすぎてETL/ELT処理を常に実行できないため、データ・チームは通常、モデルのトレーニングにデータのサブセットのみを使用します。これにより、モデルが「現実世界」で遭遇するシナリオのすべてを網羅したデータでトレーニングされていない場合、制限が生じます。
  • データ・ソースの複雑さ。データ・ソースは、工場内のリアルタイムのInternet of Things (IoT)センサー、長い履歴と多数のフィールドを持つ顧客データベース、巨大なセキュリティ・ログ・ファイルなど、多種多様です。単一の統一された簡素化された形式がないため、機械学習などのより複雑な機能だけでなく、ビジネス・インテリジェンス・システムなどのアプリケーションにも問題が生じます。

データベース内機械学習は、データ量と多様性が急速かつ継続的に増加していることから、現在、データチームにとって重要な技術となっています。簡単に言えば、データ集約型のタスクは今後ますます困難になるでしょう。そのため、データベース内の機械学習をワークフローに統合することが、これまで以上に重要になっています。

データベース内機械学習の仕組み

最も基本的なデータベース内機械学習は、標準的な機械学習と同様に機能します。主な違いは、抽出から変換/クリーニングまで、システム間でデータを移動するために必要なすべてのステップが単に削除されることです。ただし、データベース環境内で作業する性質上、いくつかの制限および要件があります。

幅広い調査では、データベース内の機械学習がどのように機能するかについて説明します。

1. データは分析データベースにロードされ、前処理されます。

すべてはデータベースへの初期ロードから始まりますが、データベース内機械学習の目的上、1つの注意点が残ります。データベースでは機能をサポートする必要があります。具体的には、データベース内機械学習で可能な最大限の効率化を実現するために、コードをデータの近くに保持する必要があります。

2. 機械学習アルゴリズムの最適化

機械学習アルゴリズムがデータベース内かサードパーティ・プラットフォームかに関係なく、必要な最適化プロセスを実行する必要があります。つまり、モデルのトレーニング、結果の評価、および必要に応じてファインチューニングを行います。データベース内機械学習の最大の違いは、これらのステップは、データの格納場所とは別のシステムではなく、データベース内で実行されることです。これにより、モデル最適化タスクを実行するために、複数の異なるシステムおよびデータ・ストア間でデータを移動する必要がなくなります。

3. データ・サイエンティストが専門APIを使用して機械学習をトレーニング

従来の機械学習では、データをデータベースからデータレイクなどのリポジトリに移動して、モデルをトレーニングし、結果を評価し、個々のアルゴリズムやパラメータを微調整するなどの改善を実行する必要があります。これらのステップでは、コンピュート・リソースが使用され、インフラストラクチャの重みが下がります。データベース・ネイティブAPIは、モデルが開発環境からテスト環境、本番環境に移行する場合でも、これらのタスクを処理できます。

4. 予測的インサイトを業務システム上で直接、中断なく実行

データベース内機械学習を使用すると、MLモデルのリビジョンは、開発環境、テスト環境、本番環境など、単に表をバージョニングすることによって、他のデータベースに伝播できます。絞込みは即時に統合されるため、追加のステップやボグダウンしたコンピュート・リソースを中断することなく、機能を実行できます。

5. 結果がリアルタイムで返され、精度が向上

MLモデルを使用してインサイトをデータベース内で直接生成すると、ETL/ELTレイテンシとデータの整合性に関する追加のステップや懸念なしに、ほぼリアルタイムのインサイトが得られます。

他の方法と比較したデータベース内機械学習の利点

データベース内機械学習は、当然、プロセスを短縮し、組織のハードウェア・ニーズを軽減し、多くのメリットを生み出します。このアプローチには独自の制限がありますが、一般的なメリットは次のとおりです。

アナリティクス処理の高速化

システム間でデータを移動することは、少なくとも面倒です。最悪の場合、業務を遅らせながら、エラー、レイテンシおよびセキュリティ・リスクが発生する可能性があります。分析タスクをデータベース内に保持することで、エクスポート、データ変換、ロードなど、ELT/ETLに関連する余分なハードルがなくなります。これにより、分析プロセス全体ができるだけ迅速に動くようになります。

所有コストの削減

大規模なデータセットをシフトする必要がなくなると、ストレージと専門家の労力が節約され、レイテンシも削減されます。結局のところ、時は金なりです。さらに、効率の向上により、ハードウェアおよびソフトウェアの問題のトラブルシューティングに費やす時間が短縮され、コストが2次的に削減されます。

拡張性の向上

スケーラビリティは多くの場合、リソースに依存します。プロセスに必要なコスト、人員、CPUが増えるほど、オンデマンドでのスケーリングが困難になります。データ移動プロセスを削除すると、エクスポートやフォーマット変換などのステップを完了するために必要な余分な計算能力がなくなります。データベース内にデータを保持することで、互換性の問題に対処する必要性が減り、コンピューティングの効率が向上するため、需要を満たす柔軟性が大幅に向上し、スケーリングが容易になります。

パフォーマンスと正確性の向上

ELT/ETLプロセスは、ネットワーク内の重複データのプライマリ・ソースです。重複は、破損したデータを残してエクスポートを中断するハードウェアの問題や、偶発的な編集や削除につながるデータ変換ツールの問題など、多くのソースから生じる可能性があります。ELT/ETLプロセスの各ステップでは、データ・セットの品質と精度を損なうリスクが開き、プロセスの効率も低下します。

デプロイメントとメンテナンスの自動化

データベース内の機械学習は、データを1箇所に保持します。これにより、データを移動する必要がなくなり、エクスポート/インポートおよび入出力が削減されます。その結果、他のシステムに依存することなく、ネイティブ環境でプロセスを実行できます。これにより、デプロイメント、監査、メンテナンス・チェックなどの様々なタスクの自動化ツールと機能が解放されます。ユーザーは、発生する可能性のある互換性や統合の問題を気にすることなく、これらの機能のメリットを得ることができます。

データベース内機械学習ツールおよびサービス

データベース内機械学習ツールには、さまざまなサービスと機能が用意されています。多くの場合、これらのツールは、統合機能のサブセットとして、またはベンダーの機械学習プラットフォームへの組込み接続として、データベース・ベンダーがスタンドアロン機能として提供できるものと似ています。たとえば、Oracle Databaseは、システムからシステムにデータを移動する必要性をなくすための機械学習機能を環境内に提供しています。この場合、Oracle Databaseは、SQL、R、Python、REST、自動機械学習(AutoML)およびコードなしインタフェースなどのOracle Machine Learningツールと、使用可能な様々なアルゴリズムを使用して、探索、準備およびモデリングを提供します。

Oracle Machine Learningダッシュボードのスクリーンショット

データベース内の機械学習の欠点

魅力的な利点がありますが、データベース内機械学習はデータベース環境の特徴と機能に大きく依存しています。これにより、将来の移行や、MLモデルが環境のネイティブ機能を超えたものを必要とする場合に、問題が発生する可能性があります。

データベース内機械学習の最も一般的な欠点と制限は次のとおりです。

モデルのデプロイが困難

すべてがプロジェクトの機械学習のニーズと目標に沿っている場合、テストから導入まで、実際には簡単なステップです。ただし、これらのモデルは、組織のデータベース内ツールの特定の機能に基づいています。プロジェクトがより複雑なものに発展したり、移行が必要になったりするとどうなりますか。データベース内のツールを使用すると、当面の ML ワークロードを高速かつ効率的に実行できますが、将来は不透明であるため、長期的な目標が現在の機能と整合しているかどうかを検証する必要があります。

限定モデルの複雑さ

データベース内機械学習は、サポートされているデータベース・アプリケーションでのみ機能し、APIの限定的なセットを提供できます。これは、データベース内の機械学習システムの機能が成長するにつれて変化していますが、原則として、スタンドアロンのツールは、より多くのパワーと機能を提供し、企業がこれらの機能を利用できるように利用できる豊富な専門家を提供します。

データ透明性の欠如

データベース内機械学習の最大の強みは、その最大の欠点にもつながります。データをデータベース環境内に保持することで、ETL/ELT ステップが省略されます。しかし、それは監査やデータクレンジングの機会も失われることを意味します。

制限の計算

多くの場合、データベースは機械学習ツールと同じコンピュート・リソースを共有しません。特に、高パフォーマンス・コンピューティングを必要とする大規模または非常に複雑なモデルの場合です。そのため、データベース内の機械学習モデルの範囲には多くの場合、上限があります。組織の設定はそれぞれ異なります。同様に、各プロジェクトのニーズは異なります。これは、初期計画段階で考慮すべきトレードオフです。

HeatWave AutoMLによるデータベース内機械学習の開始

HeatWaveは、トランザクションやレイクハウス規模の分析のための自動化された統合的かつセキュアな生成AIとMLを1つのクラウド・サービスで提供します。HeatWave AutoMLには、ユーザーがHeatWave内でMLモデルを構築、トレーニング、および説明するために必要なすべてが含まれているので、追加コストは不要です。HeatWaveにデータベース内MLがある場合、お客様はデータを別のMLサービスに移動する必要はありません。MySQL内部とオブジェクト・ストアの両方に保存されたデータに対して、トレーニング、推論、説明が簡単かつセキュアに適用できます。HeatWave は、Oracle Cloud Infrastructure、Amazon Web Services、および Microsoft Azure で利用可能です。

開始するには、データベースがデータベース内のMLを提供していることを確認する必要があります。これは、MLの力を完全に活用しようとしている組織にとって画期的な変更になる可能性があります。MLアルゴリズムをデータにもたらすことで、意思決定者はより迅速かつ効率的な分析を行うことができます。

データとAI : CIOを成功に導くためのガイド

AIモデルには、LLMからシンプルなMLモデルまで、さまざまなサイズと複雑さのレベルがあります。それらに共通するものは何でしょうか?データの必要性です。AI 対応データインフラストラクチャの 4 つのコンポーネントをご紹介します。

データベース内機械学習に関するよくある質問

インデータベースMLを効果的に使用するにはどうすればよいですか?

データベース内機械学習は、企業がデータベース内機能をサポートするデータベースを採用している場合にのみ機能します。そのデータベースのコンピュート・リソースの基盤は、データベースと機械学習モデルのサイズと範囲とともに考慮する必要があります。

データベース内MLにはどのようなメリットがありますか?

データベース内機械学習により、システム間でデータを抽出および移動する必要がなくなります。これにより、効率性の面で利点の自然なセットが作成され、場合によっては、ETL/ELTの外部ツールに依存する必要がなくなるため、プロセス時間を数週間から数日に短縮できます。また、全体像の観点から、これにより、所有コストが削減され、リソース使用量の削減によってスケーラビリティと運用効率が向上します。

データベース内MLの使用時に考慮すべき問題は何ですか?

プロジェクトにデータベース内機械学習を使用することを決定する前に、チームは次の要因を考慮する必要があります。

  • プロジェクトはどのくらい速く動かなければなりませんか?
  • モデルはどれくらい複雑ですか?
  • 専門家はモデルまたはデータにアクセスする必要がありますか?もしそうなら、どんなツールを好むのでしょうか。
  • スタンドアロンの機械学習ツールと比較して、データベースに使用できるコンピュート・リソースのタイプは何ですか。

これらの質問は、データベース内機械学習の長所と短所を明確にし、プロジェクトごとに検討する必要があります。

インデータベースMLの将来のトレンドは何ですか?

プロバイダーは、データベース内の機械学習機能を継続的に改善および拡張しており、これにより、いくつかのトレンドが台頭してきています。データベース内機械学習をサポートするツールやプラットフォームが増えるにつれ、データ・サイエンティストはより複雑なモデルを構築して導入できるようになります。また、このモデルは、機械学習ツールを使用および推進しているユーザーに限定されるのではなく、統合プラットフォーム上に存在するため、透明性が向上します。また、機能の強化により、大規模なデータ・セットが使いやすくなり、トレーニング、テストおよびデプロイメントが高速化されます。