Oracle Databaseで機械学習を使用する上位10の理由 (2023/07/01)

Oracle Databaseで機械学習を使用する上位10の理由 (2023/07/01)

https://blogs.oracle.com/machinelearning/post/top-10-reasons-to-use-machine-learning-in-oracle-database

投稿者: Mark Hornick | Senior Director, Data Science and Machine Learning


Oracle Machine Learningは、データサイエンティスト、MLエンジニア、データエンジニア、アプリケーション開発者向けに幅広い機械学習ツールとインタフェースをサポートしています。Oracleのコンバージド・データベースの一部として、Oracle Machine Learningは、Oracle DatabaseとOracle Autonomous Databaseですぐに利用できる多くの機能の1つで、完全なソリューションを提供するための幅広いデータ表現、ワークロード、ツールをサポートするコンバージド・データベースを提供します。ここでは、Oracle DatabaseおよびOracle Autonomous DatabaseでOracle Machine Learningを使用する10の理由を示します。



理由#1: データ移動の排除


ディスクまたはデータベースのどちらからでも、サードパーティの機械学習エンジンにデータをロードするには、コストがかかります。データをソース・システムからターゲット・システムに移動する時間、エンジン・メモリーにデータをロードする時間、およびこれらのそれぞれがスケーラビリティ(メモリー、ストレージ、帯域幅)および複雑さに及ぼす影響です。すでにOracle Databaseを使用している企業は、モデルの開発とデプロイメントのためにデータベース・エンジンに組み込まれた機械学習アルゴリズムと、データの探索と準備を使用することで、これらのコストを簡単に回避できます。



理由#2: 複雑さを軽減


個別の機械学習エンジンをモデル化に使用するには、多くの場合、これらのツールの追加のインストール、構成および管理が必要になります。個別のツールを使用した場合、たとえば、データ取得のメカニズム、ローカル・ストレージ、フォルト・トレランス、並列性、コンテナ管理、セキュリティを開発する必要性があります。「パーツの移動」が多いほど、より複雑なテスト要件とともに、エラーや障害の状況に対処するためのコードが増えます。これは、データ・アクセスや準備からモデルの構築とスコアリングまで、機械学習のライフサイクル全体にわたって適用されます。


また、結果として得られる機械学習モデルは、格納、管理および保護する必要があります。Oracle Machine Learningでは、データベース内の機械学習モデルが適切な場所に配置されます。このモデルは、ユーザー・スキーマの最上級データベース・オブジェクトとして存在します。


バッチ予測やリアルタイム予測の場合でも、Oracle Machine Learningでのスコアリングは、SQL問合せを実行するだけで簡単にできます。バッチおよびシングルトン・スコアリングの結果は、動的に使用することも、データベースに直接格納することもできます。



理由#3: データサイエンスの最上位言語のAPI


Python、R、SQLは、多くの場合、データサイエンスや機械学習に使用される最上位言語として挙げられます。Oracle Machine Learningは、これらの各言語でAPIを提供し、データベース内の機械学習アルゴリズムを使用したモデリングを可能にします。データの専門家は、SQLがデータを操作するための重要なツールであることを認識しています。Oracle Machine Learningでは、この同じ強力な言語をモデル・デプロイメントやPL/SQLを介してモデル構築に使用できます。また、PythonおよびR APIを使用すると、ユーザーは、高パフォーマンスのコンピュート・エンジンとしてデータベースを利用して、データ・フレーム・プロキシ・オブジェクトで動作する、データベース用に最適化されたPythonおよびR関数を介してデータを調査および準備できます。そのような言語をサポートすると、ユーザーはタスクに対して最も効率的な言語を選択したり、ユーザー・プリファレンスと一致させることができます。


PythonおよびRの場合、Oracle Machine Learningでは、データベース生成および制御されたエンジンを使用するユーザー定義のPythonおよびR関数を、データ・パラレルおよびタスク・パラレル・オプションとともに起動することもできます。Python、R、SQLおよびREST用のAPIが提供されています。



理由#4: コードなしのユーザー・インタフェース


だれもがコードを記述できるわけでもない。データサイエンティストやMLエンジニアなど、コーディング不要のユーザー・インターフェイスを利用することで、生産性の向上や機械学習プロセスの加速を実現できます。特定のアルゴリズムの使用にコーディングされていないか、エキスパートではないユーザー・インタフェースの場合、Oracle Machine LearningのAutoML UIおよびOracle Data Minerにあるコーディングされていないユーザー・インタフェースを使用すると、強力なデータベース内機械学習機能を利用できます。


Oracle Machine LearningのAutoML UIは、最小限のユーザー入力でモデル構築を自動化します。データ表とターゲットを「実験」と呼ばれるもので指定するだけで、ツールはそこから機械学習モデルを作成してランク付けします。さらに、OML4Py APIに基づいて、選択したMLモデルのノートブックを生成できます。さらに、データをスコアリングするためのモデルをOMLサービスにデプロイして、リアルタイムおよびストリーミング・アプリケーションと非同期バッチ・スコアリングをサポートできます。これらはすべてRESTエンドポイントを使用します。


Oracle Data Minerのユーザー・インタフェース(SQL Developer拡張機能)は、使いやすいドラッグアンドドロップ・インタフェースを介した分析ワークフローの作成をサポートし、データ準備、モデル構築、モデル評価など、多くの一般的な機械学習ステップを自動化します。



理由#5: データとモデルのガバナンス


近年すべてのデータ漏洩が報告されている中で、データ・セキュリティは経営幹部やLOB管理者の心に最重要になります。Oracle Machine Learningは、Oracle DatabaseとAutonomous Databaseの組み込みセキュリティによって暗黙的にメリットを得て脅威を軽減します。


データ・セキュリティに加えて、データベース内機械学習モデルはOracle Databaseの最上級オブジェクトです。データベースに直接作成され、データベース環境からすぐに使用できます。権限の付与と取消し、ユーザー・アクションの監査、データベース間での機械学習モデルのエクスポートとインポートによって、アクセスを制御できます。さらに、データベースは問合せ可能なモデル・リポジトリとして機能します。


他のデータベース・オブジェクトと同様に、クラウドおよび非クラウドのOracle Databaseインスタンス間でも、ユーザーはデータベース間でモデルをエクスポートおよびインポートできます。PythonおよびRでは、ネイティブ・オブジェクトを(フラット・ファイルではなく)データベースに直接格納し、セキュリティ、バックアップおよびリカバリのためにデータベース・スキーマの一部として管理できます。



理由#6: スケーラビリティとパフォーマンスのために設計されたMLアルゴリズム


Oracle Machine Learningは、マルチプロセッサ・マシンとマルチノード・クラスタを利用する並列化用に設計された、幅広い強力な機械学習アルゴリズムを提供します。Oracle Machine Learningは、Exadataのストレージ層機能のプッシュダウンを利用する最適化によって、バッチおよびリアルタイムのスコアリングを大規模にサポートします。ここでは、計算をストレージ層にプッシュすることで、SQL予測演算子がExadataプラットフォーム用に最適化されています。さらに、データベース内アルゴリズムは、最適化されたメモリー使用率のために設計されており、必要に応じてデータをメモリーに増分的に取り込み、問合せ間で共有するモデルをキャッシュします。


ユーザー定義PythonまたはR関数の場合、OML4PyおよびOML4R埋込み実行では、ユーザー定義関数の組込みデータ・パラレルおよびタスク・パラレル起動がサポートされます。これは、たとえば、オープン・ソースのscikit-learn SVMモデルを、単一のファンクション呼出しを使用して、データベース環境によって生成および制御される複数のPythonエンジン間で、並行してスコアリングに使用できることを意味します。


Oracle Autonomous Databaseでは、機械学習モデリングおよびスコアリングにエラスティック・スケーリングを利用できます。RESTエンドポイントからのモデル・デプロイメントをサポートし、Oracle Autonomous Databaseを使用したOMLサービスでは、データベース内モデルおよびサードパーティのONNXフォーマット・モデルを使用したリアルタイム・スコアリングをサポートしています。



理由#7: 自動化


自動化は、機械学習モデルの迅速な開発サイクルに対応するための鍵であり、特にプロセスが反復的で反復性が高い場合に重要です。自動化には、データの準備、個々のモデルの構築、最適なアルゴリズムの選択、モデルの自動構築とチューニング、自動機械学習と呼ばれる最適なモデルの選択、AutoMLという複数のレベルがあります。


Oracle Machine Learningは、これらの各レベルで自動化を提供します。たとえば、個々のアルゴリズムには通常、特定のデータ準備要件があります。たとえば、数値データ、正規化されたデータまたはビニングされたデータのみを受け入れるものがあります。Oracle Machine Learningでは、カテゴリ変数のワンホット・エンコーディング、数値変数のビン化または正規化など、アルゴリズム固有の自動データ準備がサポートされています。このような変換はモデルとともに格納され、スコアリング時に自動的に適用されます。これにより、MLプロセスの他の側面に重点を置くことができますが、この機能を上書きするための完全な制御が可能になります。


その他の個別のアルゴリズム自動化には、1つ以上の列をテキストとして識別できる統合テキスト・マイニングがOMLでサポートされており、機能は自動的に抽出され、モデルの構築およびスコアリングのために他の構造化データと結合されます。


パーティション・モデルは、モデル・アンサンブルの作成を自動化します。モデル・アンサンブルは、1つ以上の列で指定されるデータの各パーティション上に1つのモデルが構築されます。ただし、これらの個別のモデルを管理する必要はありません。かわりに、簡略化されたスコアリングのための単一のトップレベル・モデルが提供されます。


Oracle Machine Learningでは、OML4Py APIおよびコーディング不要のOML AutoML UIを介してAutoMLがサポートされます。明示的にモデルを構築したいデータ・サイエンティストであっても、AutoMLを使用して、複数のアルゴリズムのテストと調整されたハイパーパラメータの理解をすぐに行うことができます。専門家ではない場合、1つの問題点は、個々の機械学習アルゴリズムとそのハイパーパラメータを十分に詳細に理解して高品質のモデルを取得する必要があることです。AutoMLを使用すると、個々のアルゴリズムのハイパーパラメータの詳細を把握する必要がなくなります。


OMLのAutoML UIは、データ・サイエンティストの生産性と、データベース内の強力なアルゴリズムへの非エキスパート・ユーザー・アクセスの両方に対して、自動化された機械学習をサポートしています。機械学習プロセスの反復的な性質を排除することで、機械学習プロジェクトを加速します。



理由#8: クラウドとオンプレミス


Oracle Databaseを利用することで、クラウドとオンプレミスの両方のデータベースで同じ機械学習アルゴリズムを使用できます。ユーザーは、モデルをオンプレミスで構築してクラウドにデプロイすることも、その逆も可能です。クラウドの場合、これには、Oracle Database Cloud Service、クラウド・コンピュート上のOracle Databaseのデプロイメント、および自動運転データベース・オペレーション用のOracle Autonomous Databaseが含まれます。


オンプレミスでは、Cloud at Customer製品でも、独自のハードウェアを利用したり、最適化されたExadataプラットフォームを使用したりできます。


さらに、データベース内モデルおよびONNX形式で生成されたモデルは、OMLサービスを介してOracle Autonomous Databaseで使用できます(これらのモデルがクラウドまたはオンプレミスで生成された場合)。



理由#9: 導入が容易


機械学習モデルが有用な結果を生み出す場合でも、本番へのソリューションを得ることは、RおよびPythonエンジンを生成および管理しなくても、モデルのストレージと管理、限られた言語API、RおよびPythonベースのソリューションをデプロイできるという課題をもたらす可能性があります。Oracle Machine Learningには、これらのそれぞれに対処するためのオプションが用意されています。


OMLデータベース内機械学習モデルは、構築時にデータベース・スキーマに即時に存在し、SQL、PythonおよびRから使用できます。SQLからデータをスコアリングできることは、データベースにアクセスするアプリケーションまたはダッシュボードは、バッチでも個別でも、データを動的にスコアリングすることもできます。RESTエンドポイントを介してアクセスするために、データベース内モデルをOMLサービスにデプロイすることもできます。前述のとおり、OMLサービスは、TensorFlowやその他のライブラリで生成されたような、ONNX形式の非ネイティブ・モデルに対応します。


PythonまたはRでスクリプト化されたソリューションの場合、ユーザーは、組込みのデータ・パラレル・オプションとタスク・パラレル・オプション、SQLおよびRESTインタフェースを使用して、ユーザー定義のRおよびPython関数をOracle Databaseからデプロイできます。


ソリューション・デプロイメントの一部には、特性や統計プロパティの変更に関する監視データおよび機械学習モデルが含まれます。データ・ドリフトまたはモデルのドリフトが発生した場合は、原因を調査し、場合によっては機械学習モデルを再構築します。OMLサービスは、リキュア・スケジュールでモニタリング・ジョブをスケジュールするためのRESTエンドポイントを提供します。



理由#10: Oracle DatabaseとOracle Autonomous Databaseに含まれる


適用可能なOracle Machine Learningの機能は、Oracle Autonomous Database、Oracle Database Cloud Service、およびOracle Databaseのライセンスに追加コストなしで含まれています。


さらに、Oracle Cloud InfrastructureとOracle Autonomous Databaseは、手頃な価格と予測可能なコストで予測可能なパフォーマンスをサポートし、市場においてこれまでにない最高の価格/パフォーマンスを提供します。Oracle Cloud Infrastructureにデプロイされたワークロードでは、多くの場合、必要なコンピュート・サーバーとブロック・ストレージ・ボリュームが少なくなり、最適化されたワークロード・パフォーマンスを提供するためのコストが削減されます。Autonomous Databaseを使用すると、ユーザーは自動的にプロビジョニング、構成および管理される機械学習機能の利点を享受できます。



詳しい情報...


そこであなたはそれを持っています。機械学習のためにOracle DatabaseとOracle Autonomous Databaseを使用してOracle Machine Learningを採用する10の理由。


Oracle LiveLabsを使用すると、OMLテクノロジを使用して、Autonomous Databaseインスタンスを迅速にスピンアップし、様々なユースケースおよびシナリオを調べることができます。緑色のボタンを使用して、数分で作業できます。


Autonomous DatabaseのOMLノートブックには、SQL PythonおよびRESTインタフェース用の70を超えるテンプレート例ノートブックが含まれています。様々なOML機能の使用方法を確認し、編集可能なノートブックを作成することができます。


Webページブログ、およびドキュメントをご覧ください。その他の例は、機械学習のGithubリポジトリに含まれています。OML Office Hoursでは、OML製品のデモ、ユース・ケース、アプリケーション統合が強調された、記録されたセッションの豊富なライブラリをご覧ください。登録して、今後のセッションの通知を今すぐ受信してください。


コメント

このブログの人気の投稿

Oracle RACによるメンテナンスのためのドレインとアプリケーション・コンティニュイティの仕組み (2023/11/01)

Oracle Cloud Infrastructure Secure Desktopsを発表: デスクトップ仮想化のためのOracleのクラウドネイティブ・サービス (2023/06/28)

Oracle Cloudのデータベースをオブジェクト・ストレージにバックアップする3つの方法 (2021/12/13)