200以上の機械学習ツールを見て学んだこと

200以上の機械学習ツールを見て学んだこと

[[332582]]

ビッグデータダイジェスト制作

出典: huyenchip

編集者: フィッシャー、アンディ

機械学習の研究が減速し、皆が産業化を求めているためです。最近、MLOps、特に関連するさまざまなツールに注目が集まっています。

この記事では、チップ氏が 200 を超える機械学習関連ツールを数え、分野全体の発展と現状をレビューしています。また、機械学習開発の難しさ、特に従来のソフトウェア開発との違いについても挙げています。最後に、オープンソースがこの分野に与える影響について具体的に説明しています。

最近、機械学習分野のツールの全体像をより深く理解するために、見つけられるあらゆる AI / 機械学習ツールを徹底的に調査することにしました。プロセス全体で参照されるリソースは次のとおりです。

  • フルスタックディープラーニング
  • LF AI Foundation の展望
  • AIデータの状況
  • 各メディアが選ぶAIスタートアップ一覧
  • Twitter や LinkedIn の投稿への返信
  • 他の人(友人、見知らぬ人、ベンチャーキャピタリストを含む)が私と共有したツールのリスト

アプリケーションのみを持つ企業(機械学習を使用してビジネス分析を提供する企業など)、積極的に開発されていないツール、誰も使用していないツールを除外すると、202 個のツールが残ります。

完全なリストは次のとおりです。

https://docs.google.com/spreadsheets/d/1OV0cMh2lmXMU9bK8qv1Kk0oWdc_Odmu2K5sOULS9hHQ/edit?usp=sharing

含まれているべきだと思うのに含まれていないツールがある場合は、コメントセクションに追加してください。

免責事項:

  • このツールのリストは 2019 年 11 月に作成されたもので、現在は状況が明らかに異なります。
  • 一部のテクノロジー企業は、165 を超えるフル機能のサービスを提供する Amazon Web Services など、一覧にできないほど多くのツール スイートを提供しています。
  • 私が知らない無名のスタートアップ企業がたくさんあり、中には私が耳にする前に倒産してしまった企業もあります。

概要

機械学習の制作パイプラインは、主に次の 4 つのステップにまとめられると思います。

  • プロジェクトの作成
  • データパイプライン
  • モデリングとトレーニング
  • オンラインサービス

ツールが上記のどのプロセスに対応するかに基づいてツールを分類しました。プロジェクト作成部分は含めませんでした。そのステップでは機械学習ツールではなくプロジェクト管理ツールが必要なためです。一部のツールでは複数のステップが必要になるため、分類は必ずしも簡単ではありません。また、これらのツールの曖昧な説明も混乱を招きます。「私たちはデータ サイエンスの限界を打ち破ります」、「AI プロジェクトを現実世界のビジネス成果に変換します」、「データを空気のように自由に流します」、そして私のお気に入りの「私たちはデータ サイエンスで生き、データ サイエンスを呼吸します」。

プロセスの複数のステップをカバーするツールについては、最もよく知られている機能別に分類しました。ツールによっては、誰もが使い慣れている複数のカテゴリの機能を備えているものもあるため、すべてを「オールインワン」カテゴリにまとめました。また、モデルのトレーニングと保存のためのインフラストラクチャを提供する企業(ほとんどが「クラウド」プロバイダー)を含めるために、「インフラストラクチャ」カテゴリも追加しました。

全体的な開発履歴

このために、各ツールがリリースされた年を記録しました。オープンソース プロジェクトの場合、最初のコミット日を見て、プロジェクトがいつ公開されたかを判断します。ある企業については、Crunchbase で設立年を調べました。次に、各カテゴリのツールの数を時間の経過とともにプロットしました。

時間の経過とともに蓄積されたツールの数: 左上隅の凡例は、統合、データ パイプライン、インフラストラクチャ、モデリングとトレーニング、およびサービス提供です。

予想通り、データによれば、この分野はディープラーニングへの関心が再燃した2012年にようやく急速に発展し始めたことがわかります。

AlexNet以前(12年前)

2011 年まで、この分野はモデリングとトレーニング ツールによって支配されていました。いくつかのフレームワークは現在でも人気があり (scikit-learn など)、現在のフレームワークに影響を与えています (Theano など)。 12 年前に作成され、今日まで生き残っているツールの中には、公開されたもの (Cloudera、Datadog、Alteryx)、買収されたもの (Figure Eight)、業界で非常に人気のあるオープンソース プロジェクトになったもの (Spark、Flink、Kafka) があります。

開発期間(2012年~2015年)

機械学習コミュニティが「可能な限り多くのデータを供給する」ようになったため、機械学習はデータ駆動型の分野になりました。これは、各カテゴリで毎年発売されるツールの数を見ると特に明らかです。 2015 年には、57% (82 件中 47 件) がデータ パイプライン ツールでした。

各カテゴリで年間にリリースされるツールの数。左上隅の凡例は、統合、サービス提供、インフラストラクチャ、データ パイプライン、モデリング、およびトレーニングです。

産業化期(2016年から現在)

純粋な研究は重要ですが、研究が短期間で商業的応用につながらない限り、ほとんどの企業はその費用を負担できません。機械学習の研究、データ、既成モデルがますます利用可能になるにつれて、より多くの個人や組織が直接アプリケーションシナリオを見つけたいと思うようになり、機械学習の産業化ツールの需要が高まります。

2016 年に Google は、Google 翻訳サービスを改善するためにニューラル マシン翻訳の使用を発表しました。これは、現実世界におけるディープラーニングの最初の重要な応用例の 1 つでした。それ以来、私たちは機械学習アプリケーションをオンラインで展開するためのさまざまなツールを開発してきました。

全体的な開発状況

AI分野には多くのスタートアップが存在しますが、その多くはツール指向(他社のアプリケーション開発を支援するツールの構築)ではなく、アプリケーション指向(ビジネス分析や顧客サポートなどのアプリケーションを提供する)です。あるいは、ベンチャーキャピタルの専門用語を使うと、ほとんどのスタートアップは垂直型 AI です。 2019年のフォーブス誌の「AIスタートアップ50社」リストでは、ツール型企業はわずか7社です。

アプリは、企業に出向いて「顧客サポート業務の半分を自動化できます」と言えば売れやすいため、売り込みやすくなります。比較すると、ツールの販売には時間がかかりますが、単一の孤立したアプリケーションではなく、エコシステム全体の一部に焦点を当てているため、より大きな影響力があります。特定の種類のアプリケーションでは、複数のサプライヤーが共存できますが、エコシステムの一部では、通常、少数のツールしか存続できません。

今回、徹底的に検索した結果、AI ツールは約 200 個しか見つかりませんでした。これは、従来のソフトウェア エンジニアリング ツールの数と比較すると、まだ非常に少ない数です。たとえば、従来の Python アプリケーションをテストしたい場合、2 分以内に Google で少なくとも 20 個のツールを見つけることができます。また、機械学習モデルをテストしたい場合、そのモデルが見つからない可能性があります。

機械学習開発が直面する問題

多くの従来のソフトウェア エンジニアリング ツールを使用して、機械学習アプリケーションを開発または展開できます。しかし、機械学習アプリケーションに特有の問題も多くあるため、専門的なツールも必要になります。

従来のソフトウェア エンジニアリングでは、コードを書くことが難しい部分です。しかし、機械学習においては、コードを書くことは全体像のほんの一部にすぎません。実際のタスクに大幅な改善をもたらす新しいモデルを開発することは、困難なだけでなくコストもかかります。そのため、ほとんどの企業はモデルの開発に重点を置くのではなく、「BERT はすべてを解決する」などの既製のモデルを使用します。

機械学習の場合、一般的に、最も多くの/最良のデータを持つアプリケーションが最適です。そのため、ほとんどの企業はディープラーニングアルゴリズムの改善よりも、データ品質の向上に重点を置いています。データは急速に変化する可能性があるため、機械学習アプリケーションではより迅速な開発および展開サイクルも必要になります。多くの場合、毎晩新しいモデルを展開する必要があります。

モデルのサイズも問題です。事前トレーニング済みの大規模 BERT モデルには 340M のパラメータがあり、1.35GB のスペースを占有します。携帯電話などのモバイル端末にインストールできたとしても、推論に時間がかかりすぎるため、多くのアプリケーションシナリオでは意味がありません。たとえば、入力方法で次の文字が提案されるまでの時間が、直接入力する時間よりも長い場合、対応する自動補完モデルは無意味になります。

Git は行を 1 行ずつ比較することでバージョン管理を実行します。これは、ほとんどの従来のプログラムに適しています。ただし、データセットやモデルのバージョン管理には適していません。 Pandas はほとんどの従来のデータフレーム操作に最適ですが、GPU では実行できません。

CSV などの行ベースのデータ形式は、比較的少量のデータで動作するアプリケーションに適しています。ただし、サンプルに多くの機能が含まれており、そのサブセットのみを使用する場合は、行ベースのデータ形式では、最初にすべての機能を読み込む必要があります。 PARQUET や OCR などの列形式のファイル形式は、この状況に対処するために最適化されています。

機械学習アプリケーション開発が直面する問題の一部:

  • 監視: データ分布が変化したかどうかをどのように確認し、モデルを再トレーニングしますか? たとえば、AlexNet の Alex Krizhevsky が支援する Dessa は、20 年 2 月に Square に買収されました。
  • データのラベル付け: 新しいデータにすばやくラベルを付けたり、新しいモデル用に既存のデータにラベルを付け直す方法。例: Snorkel
  • CI/CD テスト: 変更後もモデルが期待どおりに動作することを確認するために、どのようにテストを実行しますか? 毎回収束するまで再トレーニングに何日も費やすことはできません。たとえば、Argo。
  • デプロイメント: 新しいモデルをパッケージ化してデプロイする方法、または既存のモデルを置き換える方法。例: OctoML。
  • モデル圧縮: 端末デバイスに適応するためにモデルを圧縮するにはどうすればよいでしょうか? たとえば、Xnor.ai は Allen Institute からスピンオフした、モデル圧縮に重点を置いたスタートアップ企業です。同社は2018年5月に評価額6,200万ドルで1,460万ドルを調達した。 2020年1月、Appleは約2億ドルで同社を買収し、ウェブサイトを閉鎖した。
  • 推論の最適化: モデルの推論時間を短縮するにはどうすればよいでしょうか? 複数の操作を組み合わせることによってでしょうか? モデルの精度を下げることによってでしょうか? モデルが小さいほど、推論が速くなります。例: TensorRT。
  • エッジ デバイス: 機械学習アルゴリズムをより高速かつ低コストで実行できるように特別に設計されたハードウェア。例: Coral SOM。
  • プライバシー: ユーザーのプライバシーを保護しながら、ユーザー データでモデルをトレーニングするにはどうすればよいでしょうか? プロセスを EU 一般データ保護規則に準拠させるにはどうすればよいでしょうか? 例: PySyft。

下の図では、横軸はこれらのツールが解決しようとする主な問題であり、縦軸は特定の問題を対象とするツールの数です。

データ管理、データラベル付け、データベース/クエリ、データ処理、データ生成など、データ パイプラインに大部分が集中していることがわかります。このようなツールは、統合プラットフォームへの発展を目指す可能性があります。データ処理はプロジェクトの中で最もリソースを消費する段階であるため、人々にデータをプラットフォームに投入してもらったら、そのデータを使用して事前トレーニング済みのモデルなどを作成する必要があります。

モデリングとトレーニングのためのツールのほとんどはフレームワークです。ディープラーニング フレームワークの競争は、現在ではほぼ落ち着いており、PyTorch と TensorFlow が主要な 2 つのフレームワークであり、自然言語処理 (NLP)、自然言語理解 (NLU)、マルチモーダル問題などの特定のタスク向けに、これら 2 つに基づいたより高レベルのフレームワークも存在します。分散トレーニングを実行できるフレームワークも登場しています。そして最近、Google は JAX と呼ばれる新しいフレームワークを発表しました。これは TensorFlow を嫌うすべての Google 社員から賞賛されています。

実験追跡用のスタンドアロン ツールもあり、一般的なフレームワークには独自の実験追跡機能があります。ハイパーパラメータの調整は重要なので、それに焦点を当てたツールがいくつかありますが、どれも広く受け入れられているようには見えません。ハイパーパラメータの調整のボトルネックは設定ではなく、調整プロセス中に必要な計算能力だからです。

解決すべき最も興味深い問題は、展開とサービスにあります。サービス ソリューションが不足している理由の 1 つは、研究者と製品エンジニア間のコミュニケーション不足です。 AI 研究を実施する能力を持つ企業 (通常は大企業) では、研究チームと導入チームは別々であり、2 つのチームは、製品マネージャー、プロジェクト マネージャー、プログラム マネージャーなど、名前に「p」の文字が含まれるさまざまなマネージャーを通じてのみコミュニケーションをとります。中小企業の従業員はフルスタックを見ることはできますが、差し迫った製品需要があるため、それを行う時間があまりありません。このギャップを埋めることができたスタートアップ企業はほんの一握りで、その多くは、AIツール市場のシェアを獲得する準備ができている熟練エンジニアを雇用できるだけの十分な資金を持つ有望な研究者によって設立された企業だ。

オープンソースとオープンカーネル

私が調べた 202 個のツールのうち、109 個はオープンソース ソフトウェアでした。オープンソースではないものでも、通常はオープンソース ツールが付属しています。

オープンソースの台頭にはいくつかの理由があります。理由の 1 つは、すべてのオープン ソース支持者が長年語ってきた透明性、コラボレーション、柔軟性、そしてそれが道徳規範であるように思われることです。顧客は、ソースコードを確認できないと新しいツールの使用をためらう可能性があります。そうしないと、ツールが動作しなくなると (スタートアップではよくあることですが)、悲惨なことにコードを書き直さなければならなくなります。

もちろん、オープンソース ソフトウェアは非営利かつ無料というわけではなく、そのメンテナンスには非常に時間と費用がかかります。 TensorFlow チームは 1,000 人近くいると噂されています。企業はオープンソース ツールを提供する際に、ビジネス目標を考慮する必要があります。たとえば、オープンソース ツールを使用する人が増えるほど、ツールを理解し、その技術を信頼する人が増え、その結果、有料ツールを購入したり、チームに参加したりしたいと思う人が増えます。

たとえば、Google は、誰もがクラウド サービスを利用できるように自社のツールを宣伝したいと考えています。 Nvidia は、より多くの GPU を販売できるように、cuDF (およびその前の dask) を維持しています。 Databricks は、データ分析プラットフォームを販売しながら、MLflow を無料で提供しています。つい最近、Netflix は専用の機械学習チームを結成し、Metaflow フレームワークをリリースしました。これにより、同社は機械学習の分野に参入し、優秀な人材を採用できるようになりました。 Explosion は SpaCy を無料で提供していますが、Prodigy は有料です。 HuggingFace はトランスフォーマーを無料で提供していますが、どうやって収益を得ているのかまだわかりません (ハハハ、良心的な会社ですね)。

オープンソースソフトウェアが標準となっているため、スタートアップ企業が実行可能なビジネスモデルを見つけるのは依然として困難です。なぜなら、設立される企業はどれも、既存のオープンソース ツールと競争しなければならないからです。オープンコアのビジネス モデルに従う場合、欲張りすぎる印象を与えずに、どの機能をオープン ソース バージョンに組み込み、どの機能を有料バージョンに組み込むかを決定する必要があります。あるいは、無料ユーザーに料金を支払わせる方法を考え出す必要があります。

結論は

AIバブルが崩壊するかどうかについては盛んに議論されています。今日の AI 投資の大部分は自動運転車に向けられています。完全自動運転の実用化はまだ遠いため、投資家はAI業界に完全に失望するだろうと推測する人もいます。さらに、Googleは機械学習研究者の採用を停止し、UberはAIチームの研究者の半数を解雇した。両社の決定はCOVID-19パンデミック以前に行われた。機械学習のコースを受講する人が非常に多いため、この分野は技術者で飽和状態になるという噂があります。

機械学習に取り組むのはまだ良い時期でしょうか? AI をめぐる誇大宣伝は本当であり、今は冷静になる時期だと思います。しかし、機械学習という分野がなくなるとは思いません。機械学習の研究ができる企業は減るかもしれませんが、機械学習を産業化に取り入れるためのさまざまなツールを必要とする企業は必ず存在するでしょう。

エンジニアと機械学習の専門家のどちらかを選ばなければならない場合は、エンジニアを選ぶことをお勧めします。優秀なエンジニアが機械学習の知識を習得するのは簡単ですが、機械学習の専門家が優秀なエンジニアになるのははるかに困難です。あなたがエンジニアになって機械学習コミュニティのために素晴らしいツールを構築してくれたら、私も永遠に感謝します!

関連レポート: https://huyenchip.com/2020/06/22/mlops.html

[この記事は51CTOコラムBig Data Digest、WeChatパブリックアカウント「Big Data Digest(id: BigDataDigest)」のオリジナル翻訳です]

この著者の他の記事を読むにはここをクリックしてください

<<:  ボストン・ダイナミクスのロボット犬の初開封ビデオ:53万ドルで何を買ったのか?

>>:  わずか数行のコードで最初のウェブアプリを作成

ブログ    

推薦する

機械学習を簡単にする 5 つのオープンソース Python ライブラリ

機械学習は興味深いものですが、実際に実行するのは難しく複雑です。ワークフローとパイプラインの組み立て...

...

組織の AI 戦略が失敗する 7 つの理由

[[359773]] AI テクノロジーを導入している多くの組織は、成功を収めるどころか、テクノロジ...

AI の成功のための 10 の重要な役割

あらゆる業界でますます多くの企業がビジネス プロセスを変革するために人工知能 (AI) を導入してい...

...

国内トップクラスのAIカンファレンスCPALに採択された論文の成果を公開!合計30件の口頭発表と60件のスポットライト記事

今年5月に発表され、国内の有力者である馬怡氏と沈向陽氏が主導する、まったく新しい初のAI学術会議CP...

Pytorch Lightning の 6 つのヒントを使用して、ディープラーニング パイプラインを 10 倍高速化します。

[[427508]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitA...

...

...

...

2020年以降のAIとデータのトレンド

2019 年は、データ、分析、機械学習、人工知能の市場において継続的な発展が見られた年でした。 Sa...

生涯にわたる機械学習: 持続可能な学習のパラダイム

[[207884]]序文:最近、アンサンブル学習における持続可能性に関する研究に関する非常に興味深い...

AIを活用することで大型機種の消費電力を節約できるのか? ? ?

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

私の国は、5G、人工知能、自動運転で目覚ましい成果を上げ、革新的な国の仲間入りを果たしました。

世界の潮流は力強く前進しています。科学研究​​と探究のペースを止めれば、井戸の中で空を眺め、満足して...