機械学習研究開発プラットフォームの選択

機械学習研究開発プラットフォームの選択

機械学習は現在隆盛を極めていますが、機械学習を学習・研究し、実稼働環境で活用したい場合には、プラットフォーム、開発言語、機械学習ライブラリの選択を慎重に検討する必要があります。以下は、機械学習に関する私自身の経験に基づいた、参考のための提案です。

[[188142]]

まず、プラットフォームの選択に関する最初の質問は、それを実稼働環境、つまり特定の製品で使用するのか、それとも研究や学習のためだけに使用するのかということです。

1. 本番環境での機械学習プラットフォームの構築

プラットフォームを本番環境で使用する場合は、製品のために分析する必要があるデータの量を見積もる必要があります。データ量が多い場合は、ビッグデータ プラットフォームを選択する必要があります。それ以外の場合は、スタンドアロン プラットフォームだけが必要です。

1.1 本番環境での機械学習ビッグデータプラットフォームの構築

実稼働環境で最も主流のビッグデータ プラットフォームは Spark プラットフォームであり、これに YARN や Mesos などの補助的な分散データ処理コンテナーが加わります。オンライン データをリアルタイムで収集する必要がある場合は、Kafka を追加します。つまり、一般的なビッグデータ処理プラットフォームは、Spark + YARN(Mesos)+ Kafkaを統合したものです。私が現在取り組んでいる製品プロジェクトはすべてSpark + YARN + Kafkaに基づいています。現時点では、このプラットフォームの選択が基本的に主流の方向です。

もちろん、これほど多くのオープンソースソフトウェアを統合するのは面倒だし、落とし穴も多いはずだという人もいるでしょう。Spark + YARN + Kafka のようなビッグデータプラットフォーム機能を組み込めるユニバーサルプラットフォームはないでしょうか。私の知る限りでは、CDAP (http://cdap.io) が比較的うまくいっています。 Spark、YARN、Kafka、およびいくつかの主流のオープンソースデータ処理ソフトウェアを統合します。開発者は、そこにカプセル化された API レイヤーで二次開発を行うだけで済みます。これは良いアイデアであるはずですが、まだ商業的に成功した事例がないため、アーキテクチャを選択する際に CDAP は考慮しませんでした。

したがって、Spark + YARN + Kafka に基づくビッグデータ プラットフォームは依然として最適です。 Spark MLlib の機械学習アルゴリズムは豊富ではなく、使いやすいものでもありません。そのため、製品に MLlib で利用できないアルゴリズムが必要な場合は、オープンソースの実装を自分で探す必要があります。

1.2 実稼働環境での機械学習のためのスタンドアロンマシンデータプラットフォームの構築

本番環境のデータが大きくない場合、ビッグデータ プラットフォームはやや過剰設計のように思えます。現時点では、選択肢はもっとあります。 ***、これはまだ Spark プラットフォームですが、分散コンテナ YARN と分散データ配信ルーティング Kafka は不要になりました。なぜ Spark か? 拡張性を考慮する必要があるからです。現在のデータ量が少ないからといって、将来的にもデータ量が少なくなるというわけではありません。これは、私が参加したいくつかの小規模なデータ分析プロジェクトに Spark を選んだ理由でもあります。もちろん、もう 1 つの理由は、Spark が Python、Java、Scala、R を同時にサポートしていることだと思います。これにより、多くのプログラマーにとって参加のハードルが下がります。私が参加したSparkプロジェクトでは、開発言語は主にJavaとScalaでした。速度上の理由から Python は選択されず、システムの残りの部分は Java で記述されています。

2 番目のオプションは、numpy、scipy、pandas、MatplotLib などを含む、scikit-learn に基づく一連の Python ツールです。その特徴は豊富なクラスライブラリ、特に機械学習ライブラリの scikit-learn はあらゆる武器を持っているとも言えるでしょう。さらに、プログラムをインタラクティブに記述できるため、プロトタイプを迅速に開発することが容易になります。私は実現可能性分析段階にある 2 つのプロジェクトに関わっており、どちらのプロジェクトでも scikit-learn を使用して顧客向けのプロトタイプとデモを作成しています。

したがって、本番環境のスタンドアロンの機械学習データ プラットフォームの場合、製品開発には Spark が最適な選択肢であり、迅速なプロトタイピングと検証には scikit-learn ファミリーが適しています。

2. 研究環境における機械学習プラットフォームの構築

単に調査をするだけなら選択肢はたくさんあり、主流は 3 つあります。

  • 1 つ目は学習用の Spark MLlib に基づいています。メリットは、学習した内容をシームレスに本番環境に移行できることですが、デメリットも明らかです。Spark には多くの機能があり、単一のマシンで実行するとメモリを大量に消費し、比較的遅くなります。また、MLlib クラス ライブラリは豊富ではなく、多くのアルゴリズムではクラス ライブラリを自分で探す必要があります。同僚からのフィードバックによると、かなり難しいとのことなので、Spark MLlib をベースに機械学習を学ぶのは個人的には良い選択ではないと思います。
  • 2 つ目は、前述の numpy、scipy、pandas、MatplotLib などを含む、scikit-learn に基づく一連の Python ツールを使用して学習することです。クラスライブラリが豊富でAPIが強力であるため、データ分析に集中できるのがメリットです。また、例題も豊富なので、学習も難しくありません。もちろん、欠点もあります。つまり、これらすべての Python ライブラリを使いこなせるようになるには、ある程度の時間がかかります。 個人的にはこの方法をお勧めします。同僚の間では、学習とコミュニケーションに scikit-learn を使用するのも主流です。
  • 3 つ目のタイプは、機械学習に R ベースのプラットフォーム (Spark R を除く) を使用するもので、主なプラットフォームは R studio です。 R は比較的古い言語であるため、データ処理や機械学習用の API が豊富に用意されており、特にデータアナリストだった人には馴染み深いものとなっています。しかし、R は比較的閉鎖的な言語であり、そのコミュニティは Python に比べてはるかに活動的ではありません。さらに、プログラマーにとって、R の構文は使いにくいものです。数年前までは、機械学習においては R が Python よりも優れていると一般的に考えられていましたが、現在では Python は R を大きく引き離しています。したがって、R 言語にすでに精通していない限り、機械学習の学習に R を使用することはお勧めできません。ちなみに、ここで R を差別するつもりはありません。

つまり、機械学習を勉強したいが、特別な R のバックグラウンドがない場合は、scikit-learn が最適な選択肢です。もちろん、機械学習アルゴリズムを自分で少しずつ実装するのが好きで、クラスライブラリを直接呼び出すのは好きではないと言う人もいるでしょう。これは良くないのでしょうか? もちろん、これは間違いなく非常に良いことであり、さまざまなアルゴリズムの理解を深めるのに非常に役立ちます。ただ、これはかなり時間がかかります。私のように時間があまりない場合は、API を直接呼び出してデータを調べる方が簡単です。

<<:  AGVロボットマルチエージェント経路探索の4つの主要な研究方向

>>:  Python 機械学習の実践: クレジットカード詐欺検出

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

5分でAdam最適化アルゴリズムを素早くマスター

[[389202]]勾配降下法は、目的関数の負の勾配に従って関数の最小値を見つける最適化アルゴリズム...

人工知能やロボットが新たなスターとなった分野はどこでしょうか?

[[252297]] 8月15日から19日まで、世界ロボット会議が北京市宜荘で成功裏に終了しました...

強いAIと弱いAIの議論:人工知能の意識に関する興味深い理論

[[344692]]最近、私のお気に入りの新進思想家の一人と高性能 AI と低性能 AI について議...

AIを新たな段階へ導くYLearn因果学習オープンソースプロジェクトがリリース

2022年7月12日、九張雲済DataCanvas社は、もう一つの画期的なオープンソース技術成果であ...

...

汎用人工知能までどれくらい遠いのでしょうか?

汎用人工知能はどのくらい遠いのでしょうか? どのくらいの速さで進歩しているのでしょうか? 現在、人間...

犯罪を予測する人工知能(AI)の倫理的・法的危機

あなたが通りを歩いていると、突然パトカーが止まり、数人の警官が飛び降りてきて、あなたの腕をつかみ、逮...

...

AIとITの自動化の6つのレベル

IT サービスの自動化の時代に入りつつあります。しかし、IT 業界では、自動車業界が評価されるのと同...

WOT + ヒーローズ ギャザリング、2018 年に技術者が見逃せないお祭り

現在、デジタル変革の潮流に直面し、ビッグデータ、クラウドコンピューティング、ブロックチェーン、Dev...

中国の機械工、黄永剛氏のチームの新しい研究:脳への光遺伝学インプラントがマウスを一瞬でゲイの友達に変える

研究者らはマウスの頭蓋骨に神経インプラントを埋め込み、インプラントを作動させるとマウスはすぐに交流し...

...

Meta はヘッドマウントディスプレイを使用して全身のモーショントラッキングを実現します。脚の情報なしで正確な姿勢推定

ヘッドセットにより、Meta は新たな命を吹き込まれます! SIGGRAPH 2023 カンファレン...

深センの無人バスの試験走行がWeChatモーメンツで話題に!

この日が来ることは誰もが知っていた!しかし、こんなに早く来るとは誰も予想していませんでした! 201...

RAG 上級スキル - ウィンドウ コンテキスト取得の実装方法

この記事では、RAG (Retrieval-Augmented Generation) モデルの検索...