クラウドコンピューティングのディープラーニングプラットフォームを構築し実践する唯一の方法

クラウドコンピューティングのディープラーニングプラットフォームを構築し実践する唯一の方法

クラウド ディープラーニング プラットフォームの定義 クラウド ディープラーニングとは何ですか?機械学習の発展に伴い、スタンドアロンの機械学習タスクではリソースの分離が不十分であったり、動的にスケーリングできないなどの問題が発生するため、クラウド コンピューティング ベースのインフラストラクチャ サービスが必要になります。クラウド機械学習プラットフォームは新しい概念ではありません。 Google、Microsoft、Amazon などにもそれぞれ対応するサービスがあります。ここにいくつかの典型的な例を挙げます。

[[204002]]

1 つ目は、Google Cloud の最下層でホストされている Google Cloud Machine Learning Engine です。上位層は、トレーニング、予測、モデル サービスなどの機械学習アプリケーションの抽象化をカプセル化し、上位層で Google の公式 TensorFlow オープンソース フレームワークをサポートします。

Amazon はまた、AWS の Iaas アーキテクチャをベースとし、Iaas 上で 2 つの異なるサービスを提供する Amzon 機械学習プラットフォームも立ち上げました。MXNet などのフレームワークを実行できる EC2 仮想マシン サービスと、画像、音声、自然言語処理用のさまざまな SaaS API です。

さらに、Microsoft は、独自のスケーラブルで拡張可能な Microsoft Azure クラウド サービスに基づいた Azure Machine Learning Studio サービスを提供しています。上位層では、ドラッグ アンド ドロップで使いやすい Studio ツールが提供され、Microsoft の公式 CNTK やその他のフレームワークがサポートされます。さらに、Microsoft にはさまざまな認識サービス、画像処理、その他の SaaS API もあります。これらのサービスはすべて、スケーラブルなクラウド インフラストラクチャ プラットフォーム上で実行されます。


関連メーカーコンテンツ

畳み込みニューラルネットワークに基づく携帯電話での文書検出の実装 アリババグループの1000億レベル店舗システムアーキテクチャのプラットフォーム技術実践 Ctripの第4世代ソフトロードアーキテクチャ SLB実践 BaiduのPBレベルデータウェアハウスの道路解釈 Paloオープンソースアーキテクチャ 関連スポンサー

国内外の100名以上の技術専門家とともに、2017年の将来を予測する注目の技術を探る

上記はすべて、業界では比較的成熟したクラウド ディープラーニング プラットフォームです。しかし、実際のエンタープライズ環境では、なぜクラウド マシン ラーニング サービスを実装する必要があるのでしょうか?

まず第一に、外国のインフラは必ずしも国内企業が直接利用できるわけではない。 TensorFlow をローカルにのみインストールした場合、ベアメタル上でのみトレーニングを実行できます。デフォルトでは、ローカルでのリソースの分離はありません。 2 つのトレーニング タスクを同時に実行する場合は、リソース競合の問題を自分で解決する必要があります。リソースの分離がないため、リソースの共有は不可能です。マルチノード コンピューティング クラスター リソースがある場合でも、タスクが競合しないように手動で合意する必要があり、リソース共有によってもたらされる利便性を十分に活用することはできません。さらに、オープンソースの機械学習フレームワークには、クラスターレベルのオーケストレーション機能がありません。たとえば、分散 TensorFlow を使用する場合は、複数のサーバー上でプロセスを手動で開始する必要があります。自動フェイルオーバーとスケーリングはありません。そのため、多くの企業がすでに機械学習ビジネスを展開していますが、クラウド機械学習プラットフォームが不足しているため、導入、管理、クラスターのスケジュール設定などに依然として問題を抱えています。

では、クラウド マシン ラーニング プラットフォームをどのように実装すればよいのでしょうか?

当社は階層化されたクラウドディープラーニングサービスを持っています。最初のレイヤーはプラットフォームレイヤーで、Google Cloud、Azure、AWS などの IaaS レイヤーに似ています。企業は、コンテナ オーケストレーション ツール Kubernetes や仮想マシン管理ツール OpenStack などのオープン ソース ソリューションも使用できます。このレイヤーでは、トレーニング、予測、モデルの起動、モデルの反復と更新などの機械学習関連の機能もサポートする必要があります。機械学習レイヤーでこれらの機能を抽象化し、対応する API インターフェースを実装します。最上位層はモデル アプリケーション層であり、TensorFlow、MXNet などのオープンソースの機械学習ライブラリをベースにすることができます。

クラウド マシン ラーニング全体は、モデル開発、モデル トレーニング、モデル サービスなどの機能を含むスケーラブルなクラウド サービス上で実行され、完全なマシン ラーニング ワークフローを形成します。しかし、これは閉じたループではありません。実際には、オンライン機械学習モデルは時間に敏感であることがわかりました。たとえば、ニュース推奨モデルでは、ホットニュースのサンプル機能をタイムリーに更新する必要があります。このとき、クローズドループを開き、オンライン予測結果をオフライントレーニングタスクに追加する必要があります。その後、オンライン学習やモデルのアップグレードを通じて、完全な機械学習のクローズドループを実現できます。これらはスタンドアロンの機械学習プラットフォームでは実現できません。

クラウド ディープラーニング プラットフォームの構築には、主に次のコンポーネントが含まれます。まず、クライアントがアクセスする API サービス。サービスプロバイダーとして、標準の RESTful API サービスを提供する必要があります。バックエンドは、Kubernetes クラスター、OpenStack クラスター、さらには独自に開発したリソース管理システムに接続できます。クライアントが API サービスを要求した後、プラットフォームは機械学習タスクのパラメータを解析し、Kubernetes または OpenStack を通じてタスクを作成し、実際に計算を実行するバックエンドのクラスター リソースにタスクをスケジュールする必要があります。トレーニング タスクの場合は、TensorFlow または MXNet ランタイム環境がプリインストールされているトレーニング タスク コンテナを起動できます。これらの抽象化レイヤーを通じて、スタンドアロンの TensorFlow トレーニング タスクを Kubernetes によって管理されるコンピューティング クラスターに送信して実行できます。モデルのトレーニングが完了すると、システムはモデルに対応するファイルをエクスポートし、最終的にクラウド ディープラーニング プラットフォームの API サービスをリクエストすることで Kubernetes が理解できるリソース構成リクエストに変換し、クラスター内で TensorFlow Serving などのサービスを開始できます。さらに、Google Cloud-ML の最新 API に予測機能が追加されました。予測を行うときは、オンライン サービスとオフラインの予測タスクの両方を開始できます。プラットフォームでは、推論を実行し、予測結果を保存するために、対応する予測コンテナを作成するだけで済みます。このシンプルなカプセル化により、Google Cloud-ML に似たインフラストラクチャを実装できます。

アーキテクチャは階層化され抽象化されており、実装に必要なのは 3 つのステップだけです。

最初のステップは Docker イメージを作成することです。次の Dockerfile の例は、TensorFlow プロジェクトから抽出されたものです。実行可能な Docker イメージが公式から提供されています。カスタマイズされた起動スクリプトを追加することで、開発環境、モデルのトレーニング、モデルのサービングなどの機能を実装できます。

2 番目のステップは、標準 API サービスを実装することです。以下は Python 実装の例です。ユーザーはトレーニング タスクを開始するためのリクエストを送信します。サーバーは、リクエストのパラメータとコンテンツを解析し、Kubernetes などのバックエンド クラスターにタスクを送信できます。

3 番目のステップは、Kubernetes に必要なファイル形式を生成することです。分散 TensorFlow タスクを Kubernetes クラスターに送信して実行するための実装である次の JSON ファイルも GitHub にあります。

3 つの簡単な構成で、機械学習タスクをローカルからクラウドに移行するプロセスを完了し、クラウド機械学習サービスを実現できます。前述したように、クラウド ディープラーニング プラットフォームでは、リソースの分離とリソースの共有をサポートする必要があります。これはどのように達成されるのでしょうか?実際、Kubernetes 自体にもこの抽象化が備わっています。ユーザーはリクエスト時に必要な CPU、メモリ、さらには GPU リソースを宣言し、cgroup や名前空間などのコンテナ テクノロジを通じてリソースの分離を実現できます。一方、kube-scheduler はリソースのスケジューリングやリソースの共有などの機能を実装します。開発者は、自社開発またはパブリッククラウドのクラウド機械学習プラットフォームを実装することで、トレーニングタスクの送信やモデルサービスの作成などを簡単に行うことができます。しかし、実際の機械学習のシナリオでは、コンピューティング リソースの分離とスケジュールを解決するだけでは十分ではありません。また、データ処理、特徴量エンジニアリングなどの問題を統合する方法についても再考する必要があります。

クラウド ディープラーニング プラットフォームを再定義する TensorFlow は、ディープラーニングに使用できる数値計算ライブラリです。 TensorFlow をベースに、MLP、CNN、RNN などの機械学習モデルを実装できます。しかし、Spark はもう必要ないということでしょうか?それらの関係は何ですか?

実稼働環境では、TensorFlow が既存のビッグデータ処理ツールを完全に置き換えるわけではないことがわかりました。データ分析と特徴量エンジニアリングには Spark を使用する必要があり、構造化データを保存およびクエリするにはデータ ウェアハウスなどのサービスも必要です。 TensorFlow は優れたディープラーニング フレームワークですが、実際のシナリオでは、ユーザーは PowerGraph によって処理されるいくつかのグラフ関係機能を入力として必要としますが、これは単一のフレームワークでは解決できません。 Azure ML Studio を使用すると、ユーザーのモデリング プロセスの整理、データのクリーンアップ、機能の抽出、トレーニング済みモデルの起動、モデル効果の推定などを行うことができますが、これらはすべて TensorFlow には欠けています。

先ほど、Google と同様の分散型、高可用性、クラスター オーケストレーション コンピューティング プラットフォームを実現できる Cloud Machine Learning を紹介しました。しかし、MapReduce、ストリーム処理、グラフ コンピューティングなどのビッグ データ処理フレームワークも使用する必要があるため、これだけでは十分ではありません。 TensorFlow は、モデルトレーニングのための機械学習プロセス全体の一部にすぎません。 CPU と GPU を管理およびスケジュールするには、Kubernetes が必要になる場合もあります。機械学習ビジネスを完結させたいのであれば、Google Cloud-MLやAWSのサービスをただ提供するだけではなく、TensorFlow、Spark、Hadoop、Hive、Kubernetesなどのフレームワークの原理と応用を習得する必要があります。これが、クラウド マシン ラーニングを再定義したい理由です。

客観的に見ると、私たちには多くの知識が必要ですが、主観的に見ると、私たちは何を望んでいるのでしょうか?私たちは、単なる機械学習フレームワークや一般的なコンピューティング プラットフォームではなく、データ処理からモデルのトレーニング、モデルの起動まで、完全なクローズド ループ サービスを実現したいと考えています。コードを書かずに特徴抽出ができるようになることを期待しています。機械学習のワークフローを実装するためのコードを記述しなくても簡単に記述できるようになることを願っています。さまざまな異機種コンピューティング リソースをサポートできる、非常に柔軟なインフラストラクチャが必要です。プラットフォームがスケーラブルであり、自動フェイルオーバーとスケーリングを実現できることを期待しています。前述のGoogle、Microsoft、Amazonが開発したクラウド機械学習プラットフォームに加え、さまざまなレベルのユーザーの利用ニーズを満たすために、IaaS、PaaS、SaaSなど複数の次元からの利用インターフェースも提供する必要があります。一方、これは、あらゆるドメインの専門家が簡単に使用できる、敷居の低い製品サービスである必要があります。

後ほど、クラウド機械学習プラットフォームを実際のシナリオで変革する方法を紹介し、Fourth Paradigm が提供する、敷居が低く、分散型で、可用性の高い Prophet 機械学習プラットフォームを紹介します。

クラウド ディープラーニングにおける Fourth Paradigm の実践経験 Fourth Paradigm の Prophet Platform は、クラウドをベースとしたフルプロセスの機械学習製品です。ユーザーはWeb経由でProphet Platformにログインし、モデル研究や推定サービス機能を利用することができ、ドラッグアンドドロップで機械学習のワークフローを記述することができます。

使用手順は以下のとおりです。最初のステップはデータの前処理です。ユーザーは Spark コードを記述する必要はなく、オペレーターと呼ばれるアイコンをドラッグするだけで、データクリーニングなどのデータ前処理タスクを送信できます。データ分割演算子をドラッグすると、データ セットをトレーニング セットとテスト セットの 2 つの部分に分割し、そのうちの 1 つの部分を特徴抽出用に左側に残すことができます。一般的に、特徴抽出は Spark や Mapreduce などのオープンソース ツールを使用して行うこともできますが、これには一定のプログラミング スキルとエンジニアリング能力が必要です。特徴抽出構成またはスクリプトを定義することで、ユーザーはコードを記述せずに元のデータセットの特徴エンジニアリングを実装できます。そして、独自に開発した高次元ロジスティック回帰、高次元 GBDT などのモデルトレーニング演算子を接続したり、TensorFlow や MXNet などのオープンソースフレームワークに基づいて実装されたアルゴリズムを接続したりすることができます。最後に、モデルトレーニングによってモデルファイルを取得した後、分割されたテストセットを使用してモデル予測が実行されます。一般的なモデル評価演算子は、AUC、ROC、Logloss などの指標を視覚化するためにも使用できます。

Prophet プラットフォームでは、ユーザーはフローチャートを作成するだけでデータ処理やモデルトレーニングなどの機能を実装でき、実際のシナリオで機械学習のビジネス上の問題を真に解決できます。 Prophet プラットフォームの最新バージョンでは、非常に高い効率で特徴エンジニアリング構成スクリプトを生成したり、独自に開発された LR および GBDT アルゴリズムの最適なパラメータを取得したりするなどの AutoML 機能が提供されています。これらの機能により、効果的なモデリング ソリューションを取得するための反復的な作業が大幅に削減されるほか、データ サイエンティストがデータの予備的な理解を得るのにも効果的に役立ちます。シナリオによっては、専門家によるモデリングで達成される結果と同等、あるいはそれを超える結果を達成することも可能です。

現在、Prophet プラットフォームは主に以下のターゲット シナリオを解決します。

  1. データの導入を簡素化します。このプラットフォームでは、分散ストレージを使用するためにデータを必要とせず、トレーニング サンプル データを RDBMS などの SQL データベースから直接インポートすることもできます。
  2. データ分割を簡素化します。ユーザーは Spark コードを記述する必要はなく、データ分割後のストレージ パスを提供するだけで済みます。また、割合による分割とルールによる分割の 2 つのモードもサポートされています。
  3. 特徴抽出を簡素化するために、プラットフォームは連続特徴と離散特徴の抽出と組み合わせをサポートしています。連続的なフィーチャの場合、自動マルチバケット化アルゴリズムをサポートします。また、一般的な特徴抽出方法をまとめ、スクリプトや構成にカプセル化します。ユーザーは、特定のロジックを自分でコーディングして実装する必要はなく、対応する構成を理解するだけで済みます。このプラットフォームは、既存の機能構成に基づいて機能の組み合わせを自動的に拡張し、モデルの効果を向上させることもできます。
  4. モデルトレーニングを簡素化するために、プラットフォームはオープンソースの機械学習アルゴリズムと、Fourth Paradigm が独自に開発した超高次元 LR アルゴリズムの実装をサポートできます。この LR アルゴリズムは、数十億または数百億の特徴次元を持つ高速分散トレーニング問題を解決するためにパラメーター サーバーを実装します。学習率、正則化パラメータなどを自動的に調整できます。さらに、このプラットフォームは、線形フラクタル分類器などの拡張アルゴリズムも提供しており、人間の介入なしに数値的特徴をより効果的に活用できます。
  5. モデル評価を簡素化し、モデル推定結果を取得した後、モデルの ROC、Logloss、KS などの指標を計算できます。さまざまなモデルの指標を計算する方法は似ています。ユーザーは実装コードを繰り返し記述する必要がなく、演算子をドラッグ アンド ドロップすることで直接呼び出すことができます。上記の問題はすべて Prophet プラットフォームによって解決されます。
  6. モデルの起動を簡素化します。一般的な高次元 LR/GBDT モデルは、ワンクリックでオンライン サービス インスタンスとして公開できます。これにより、モデルの展開と運用および保守が簡素化されるだけでなく、オンライン インスタンスにはほとんどの機能エンジニアリング ロジックも含まれるため、機能処理ロジックのオンライン バージョンを再度手動で開発する必要がなくなります。

現在、Prophet プラットフォームは、銀行、金融、インターネットなどのさまざまな業界で成功裏に適用されています。 「Prophet Platform」に基づく不正防止モデルは、銀行が疑わしい取引を数ミリ秒で特定するのに役立ちます。同時に、ニュース、ビデオ、オーディオなどのコンテンツ推奨シナリオにおいても、「Prophet Platform」は主要なビジネス指標を大幅に改善することに成功しました。さらに、企業が機械学習を活用して業務効率を向上させることを可能にする一方で、より意義深いのは、「Prophet Platform」が機械学習の利用の敷居を大幅に下げることです。

機械学習ビジネス全体のための人工知能プラットフォームとして、Prophet はデータ処理、モデルトレーニングからモデルの起動、フィードバック更新までのシステムのクローズドループをカプセル化します。ユーザーは強力なプログラミングおよびエンジニアリング能力を必要としなくなりました。ドメイン専門家とビジネス担当者は、プッシュアンドプル方式を通じてモデリングと起動を実行できるため、企業はデータ収集からビジネス価値の向上まで、最終目標を迅速に達成できます。

特許取得済みのアルゴリズムの継続的な更新と、よりリアルタイムで効率的な極限エンジニアリングの最適化により、Future Prophet プラットフォームは人工知能の産業応用の敷居をさらに下げ、より多くの企業が人工知能サービスを享受できるように支援します。

<<:  調査結果:クラウド顧客の半数がマルチクラウドアーキテクチャを構築中

>>:  ファーウェイは、世界で初めてクラウドネイティブコンピューティング財団(CNCF)認定のKubernetesサービスプロバイダーの1つになりました。

推薦する

SEO専門家からSEOスキルを学ぶ2:Guopingのコントロール可能なSEO

みなさんこんにちは。Smelling the Roseです。最近、SEOを勉強しています。どこで学ぶ...

SEOランキングサイトからウェブサイトSEO運用方法を真似する

最近、第3回中国SEOランキングリストが公開され、中国で最もSEOパフォーマンスに優れた上位100の...

ブランドマーケティング: 「What’s Peppa Pig?」がなぜ人気なのか?

「ペッパピッグタトゥー、社会人への拍手」が時代遅れの古いジョークになると、このイギリスの赤い豚は、映...

マーケティングホットスポット洞察レポート!

今日は、モバイル インターネット マーケティングの収益化への道の革新的な探求について皆さんにお話しし...

検索エンジンにとって最も重要な5つの要素

検索エンジン最適化を行う際に考慮すべき要素は多数あります。以下の要素は通常、すべての検索エンジンで考...

2023 年に知っておくべき 10 大新技術とトレンド

テクノロジーはますます進歩し、私たちの生活はこれまで以上に便利になるでしょう。日を追うごとに、テクノ...

Baiduが内部ページを含めるには、3つの前提条件を満たす必要があります。

最近、初心者のウェブマスターが、なぜBaiduに内部ページが含まれていないのかといつも不満を言ってい...

クラウドに移行する企業の懸念事項は何ですか?経営者が直面しなければならない7つの大きな問題

ご存知のとおり、企業がクラウドに移行すると多くのメリットがあります。効率性の向上とコスト削減という2...

タオバオSEOは検索マーケティング業界から注目を集めている

報告書によると、2012年にタオバオの店舗総数は500万を超えた。タオバオ店舗の総数が増加するにつれ...

360 と Baidu の検索ボリュームの違いを確認するために 360 Index がリリースされました

最近、360はひっそりと360 Indexをリリースしました。その全体的なレイアウトと機能はBaid...

アップルの欠点のある美しさから欠点への変貌: 脱雇用化のカモフラージュは消え去った

天使と悪魔の間で、アップルは人間になることを決意した。 (TechWeb写真)編集者注/冗談で、世の...

5G時代の通信事業者にとっての新たな武器:エッジコンピューティングとネットワークスライシング

中国の5G建設が本格化している。工業情報化部のデータによると、中国では毎週1万以上の5G基地局が追加...

BandwagonHostとは?BandwagonHost VPSの紹介

初心者の中には、友人から BandwagonHost について聞いた人もいるかもしれません。Band...

コンテンツキーワードレイアウトがランキングに与える影響の分析

みなさんこんにちは。私は徐子宇です。ウェブサイトはユーザー中心なので、ウェブサイトの最適化の過程でよ...

Didi の成長の秘密: 最も効果的なチャネルと成長方法を見つけるには?

この記事の著者は、 Didiと Uxin で勤務し、多数の成長事業を担当してきました。製品の成長ロジ...