11

私は予測分析に大きな焦点を当ててビッグデータについていくつかのことを学び始めています。そのために、実装したいケーススタディがあります。

5秒ごとにポーリングされるサーバーヘルス情報のデータセットがあります。取得したデータを表示したいのですが、もっと重要なのは、以前に構築した機械学習モデルを実行して結果を表示したいことです(サーバーがクラッシュすることを警告します)。

機械学習モデルは機械学習スペシャリストによって構築されるため、完全に範囲外です。私の仕事は、機械学習モデルを、モデルを実行して結果を素敵なダッシュボードに表示するプラットフォームに統合することです。

私の問題は、このシステムの「全体像」アーキテクチャです。すべての要素がすでに存在していることがわかりますが(cloudera + mahout)、すべてのニーズに対応するシンプルな統合ソリューションが不足しており、最先端の技術がいくつかのカスタムソフトウェアを実行しています...

それで、誰かがこのような本番システム(予測分析でデータを表示する)に光を当てることができますか?このためのリファレンスアーキテクチャ?チュートリアル/ドキュメント?


ノート:

  1. 私はいくつかの関連技術を調査しました:cloudera / hadoop、pentaho、mahout、weka。たとえば、Pentahoはビッグデータを保存し、そのデータに対してアドホックなWeka分析を実行できることを知っています。clouderaとImpalaを使用すると、データスペシャリストがアドホッククエリを実行してデータを分析することもできますが、それは私の目標ではありません。システムでMLモデルを実行し、取得したデータと一緒に結果を素敵なダッシュボードに表示したいと思います。そして、私はカスタムビルドの代わりにこの使用法をすでに許可しているプラ​​ットフォームを探しています。

  2. 機械学習がうまく統合されているように見えるPentahoに焦点を当てていますが、私が読んだすべてのチュートリアルは、リアルタイムではなく「アドホック」ML分析に関するものでした。そのテーマに関するチュートリアルは歓迎されます。

  3. オープンソースまたは商用ソリューション(試用版付き)を気にしません

  4. 詳細によっては、これはビッグデータではないかもしれません。より「従来の」ソリューションも歓迎されます。

  5. また、ここでのリアルタイムは広義の用語です。MLモデルのパフォーマンスが良好であれば、5秒ごとに実行するだけで十分です。

  6. MLモデルは静的です(リアルタイムで更新したり、動作を変更したりすることはありません)

  7. 私の焦点は全体像、つまり予測分析の汎用プラットフォームを備えたビッグデータにあるため、私の例ではカスタマイズされたアプリケーションを探していません。

4

3 に答える 3

8

(私は Mahout の作成者であり、リアルタイムとスケールの両方に焦点を当てて、Mahout の一部の ML の製品化を商品化しています: Myrrix。それがまさにあなたが探しているものかどうかはわかりませんが、あなたがここで提起した問題のいくつかに対処しているようです. 別の参照点として役立つかもしれません.)

リアルタイムと大規模の間の緊張関係を強調しました。これらは同じものではありません。コンピューティング環境としての Hadoop は拡張性に優れていますが、リアルタイムでは何もできません。Mahout の一部が構築され、Hadoop と同様に、その形式の ML も構築されます。Weka と Mahout の他の部分は、多かれ少なかれリアルタイムで処理されるように設計されていますが、その後、スケーリングが課題となっています。

両方をうまく行う ML システムには、必然的に 2 つのレイヤーがあります。スケーラブルなオフライン モデル構築と、リアルタイムのオンライン サービスと更新です。これは、たとえば、推奨者の場合、私見です。http://myrrix.com/design/

でも、モデル構築に関しては問題ありませんよね?誰かが静的モデルを構築するつもりですか? もしそうなら、それはそれをはるかに簡単にします。モデルをリアルタイムで更新することは便利ですが、複雑です。必要がない場合は、静的モデルから予測を生成しているだけで、通常は高速です。

ML に興味がある場合、または独自の ML モデルに基づいて何かを実行している場合、Pentaho は関係ないと思います。

5 秒ごとに 1 つのクエリは難しくありません。これは、マシンごとに 5 秒ごとに 1 つのクエリですか、それとも何かですか?

私のアドバイスは、モデルに対するクエリに応答できるサーバーを単純に作成することです。Tomcat などの古い HTTP サーバー コンテナーを再利用するだけです。HDFS や NoSQL DB などのバッキング ストアから公開されている最新のモデルを読み込むことができます。通信する必要がないように見えるため、サーバーの N インスタンスを簡単に作成できます。

そこにある唯一のカスタム コードは、ML モデルをラップするために必要なものです。独自のモデルを構築したり、動的に更新したりする必要がない場合、これは非常に単純な問題です。もしそうなら - より難しい質問ですが、それでも設計することは可能です。

于 2012-12-06T17:01:14.010 に答える
0

Apache Samza、S4、または Storm の組み合わせを使用してリアルタイムのデータ ストリーム分析を行い、選択した機械学習アルゴリズムの並列化および分散バージョンを注入して、独自の構成を行うことができます。しかし、大規模な並列機械学習アルゴリズムは挑戦的な取り組みであり、活発な研究が行われている分野です。最近、いくつかの進歩がありました。Yahoo! をチェックしてみてください。Labs SAMOAVowpal Wabbit

于 2013-10-31T15:22:57.607 に答える
-3

ニューレリックのようなもの?

統計

  • New Relic はサービスとしてのアプリケーション パフォーマンス管理 (APM) です
  • 世界中で監視されている 175,000 以上のアプリ プロセス
  • 10,000 人以上の顧客
  • 毎日収集される 200 億以上のアプリケーション メトリック
  • 毎週収集される 17 億以上の Web ページ指標
  • 各「タイムスライス」メトリックは約 250 バイトです
  • 毎秒 10 万回のタイムスライス レコードが挿入される
  • 毎日 70 億行の新しいデータ

建築

  • プラットホーム

    • ウェブ UI

      • ルビー・オン・レール
      • nginx
      • Linux
      • 2 @ 12 コア Intel Nehalem CPU、48Gb RAM
    • データ コレクターと Web ビーコン サービス

      • ジャワ
      • Jetty のサーブレット
      • アプリ メトリクス コレクター: 1 分あたり 180,000 以上のリクエスト、3 ミリ秒で応答
      • Web メトリクス ビーコン サービス: 1 分あたり 20 万以上のリクエスト、0.15 ミリ秒で応答
      • Percona ビルドを使用して分割された MySQL
      • Linux
      • 9 @ 24 コア Intel Nehalem、48GB RAM、SAS 接続 RAID 5
      • ベアメタル (仮想化なし)

ボーナス

詳細: http://highscalability.com/blog/2011/7/18/new-relic-architecture-collecting-20-billion-metrics-a-day.html

于 2012-12-06T16:19:28.987 に答える