2020 年に最も実用的な機械学習ツールは何ですか?

2020 年に最も実用的な機械学習ツールは何ですか?

ミシュランの星付き料理を作るときと同じように、整理整頓されたキッチンを持つことは重要ですが、選択肢が多すぎて圧倒されてしまうことがあります。これは、優れた機械学習 (ML) アプリケーションを構築するときも同様です。

そこで、プロフェッショナルなプロジェクトを実施したり、アイデアや代替案を共有したり、簡単な調査を実施したりするために使用できるツールをいくつか紹介します。ツールに関する議論は決して網羅的なものではありませんが、以下はおそらく最も有用かつシンプルなものでしょう。

もちろん、他にもっと良い選択肢があれば、コメント欄で Xiaoxin にお知らせください。 (免責事項: この投稿は署名なし、スポンサーなしです。私はデータ サイエンスと機械学習という用語を同じ意味で使用しています。)

[[320536]]

よくある質問

「優れた機械学習アプリケーションを構築するにはどうすればいいでしょうか?」

データ サイエンティスト、転職を考えている専門家、チーム マネージャーと話をすると、この質問がさまざまな形で何度も出てきます。

プロフェッショナルなデータ サイエンス プロジェクトの提供には多くの側面が関係しますが、実際にはキッチンでの料理に非常に似ています。材料 (データ)、レシピ (設計)、調理プロセス (独自の方法)、そして最後に実際のキッチン (ツール) があります。

この記事では、私のキッチンを案内しながら、フルスタックの機械学習アプリケーション(システムに統合されているか、実稼働環境でユーザーにサービスを提供できるソリューション)の設計、開発、展開に最も役立つツールを紹介します。

魅力的な可能性

今が最高の時だ。 Google で「機械学習ツール」を検索したり、コンサルタントに尋ねたりすると、次のような結果が得られるかもしれません。

2019 データと人工知能のパノラマ | 出典: GIPHY

利用できるツールは非常に多く、組み合わせの可能性は無限であるため、圧倒されるだけでなく混乱することもあります。絞り込む必要があります。ただし、完璧なインストールはまだ存在せず、ユーザーのニーズと制約によって異なることに注意してください。つまり、最も適したものが最良です。

私の優先順位は次のとおりです(順不同)。

  • 無料
  • エンジニアリングは研究よりも重要
  • 簡単に習得してインストールできる
  • 仕事が終われば
  • 実証済み(アプリケーション レベルとツールの成熟度)
  • スタートアップや大企業の大規模または小規模のプロジェクトに適用

注: 私は 99% の時間を Python で過ごします。したがって、この記事で推奨されているツールは、Python と完全に互換性があるか、Python がローカルで使用可能です。 R や Java などの他のプログラミング言語ではテストしていません。

冷蔵庫: データベース

PostgreSQL

これは、拡張性と技術標準への準拠を誇る、無料のオープンソース リレーショナル データベース管理システム (RDBMS) です。単一のマシン、データ ウェアハウス、多数の同時ユーザーがいる Web サービスなど、さまざまなワークロードを処理できるように設計されています。

画像出典: medium.com

代替案: MySQL、SAS、IBM、DB2、Oracle、MongoDB、Cloudera、GCP、AWS、Azure

キッチンカウンタートップ:パイプラインツールの展開

パイプライン ツールは開発のスピードと品質にとって重要です。このツールの目的は、人間の介入を最小限に抑えて迅速に反復することです。インストールに関するチュートリアルがあります。詳細については、私の記事「12時間の機械学習チャレンジ」を参照してください。面倒な場合は、できるだけ早く試してみてください。

(https://towardsdatascience.com/build-full-stack-ml-12-hours-50c310fedd51)

私の仕事: 12時間機械学習チャレンジ

パイテスト

このアーキテクチャにより、小さなテストを簡単に作成できますが、アプリケーションやライブラリの複雑な機能テストをサポートするには拡張する必要があります。手動テストにかかる時間を大幅に節約でき、コードを変更するたびに何かをテストする必要がある場合は、Pytest による自動化が役立ちます。

代替案: Unittest

ギットハブ

Git の分散バージョン管理およびソース コード管理 (SCM) 機能を提供し、もちろん独自の機能も備えています。各プロジェクトにアクセス制御を提供し、機能リクエスト、バグ追跡、タスク管理、Wiki などの複数のコラボレーション機能を提供します。

代替案: BitBucket、GitLab、DVC

PyCharm コミュニティエディション

これは、コンピュータ プログラミング、特に Python 言語で使用される統合開発環境 (IDE) です。これはチェコの会社 JetBrains によって開発され、コード分析、グラフィカル デバッガー、統合ユニット テスター、バージョン管理システム (VCS) との統合を提供し、Django による Web 開発と Anaconda によるデータ サイエンス開発をサポートします。

代替案: Atom、Sublime

Heroku (Web ホスティングが必要な場合のみ)

[[320539]]

画像ソース: heroku.com

Platform as a Service (PaaS) を使用すると、開発者はアプリケーションを完全にクラウド内で構築、実行、運用できます。 CircleCI および Github との統合により、自動デプロイメントも可能になります。

代替案: Google App Engine、AWS Elastic Compute Cloud、その他

Streamlit(ユーザーがインタラクティブなUIを希望する場合のみ)

Streamlit は、機械学習およびデータ サイエンス チーム向けのオープン ソース アプリケーション フレームワークです。近年の私のお気に入りのツールの一つです。私の 12 時間マシン チャレンジでは、このセクションのこのツールと他のツールを使用して、映画やシミュレーション アプリケーションを作成する方法を確認できます。

代替案: Flask、Django、Tableau

サークルCi

CircleCI は継続的インテグレーションおよびデプロイメント ツールです。プロジェクトを Github にコミットすると、このツールはリモート Docker を使用して自動テスト ワークフローを作成できます。 PyTest セットアップに合格しないプロジェクトの提出は、Circle CI によって拒否されます。これによりコードの品質が保証されます。これは大規模なチームで作業する場合に特に重要です。

代替案: Travis CI、Jenkins、Github Action

iPad: 探索ツール

ストリームリット(また会いましょう~)

もう Jupyter Notebook を見逃さないでください!

Jupyter は、データの探索、分析、さまざまなデータやモデリング プロセスの実験に私が選んだツールです。しかし、私はこのイライラする状況を何度経験したか数え切れません。

  • デバッグに頭を悩ませた結果、コードを最初から実行するのを忘れていたことに気付くことがあります。Streamlit ならその問題を解決できます。
  • データ パイプラインの再実行には常に時間がかかりますが、Steamlit キャッシュによってこの問題が解決されます。
  • コードを Jupyter から実行可能ファイルに書き直したり変換したりして、再テストに時間を費やす必要はありません。Streamlit を使用すると、問題をすばやく解決できます。

したがって、初期の調査と最終的なフロントエンドの提供に Streamlit を利用するのは自然な流れでした。以下は私がよく使う画面設定です。左側に PyCharm IDE、右側に結果の視覚化が表示されます。

IDE+ Streamlit のリアルタイム更新 | 画像ソース: towarddatascience

代替案: Jupyter Notebook、Anaconda、Spyder、Microsoft Excel (本当です!)

Knife: 機械学習アーキテクチャ

汎用包丁や専用包丁など、食材や切り方に合わせて適切な包丁を選ぶ必要があります。

注意してください!寿司包丁は光沢がありますが、寿司包丁で寿司を切るのに時間がかかります。仕事に適したツールを選択してください。

Sklearn (一般的な機械学習のユースケース)

これは Python での汎用機械学習に最適なフレームワークであり、必要なものはすべて揃っています。

画像ソース: scikit-learn.org

代替案: なし。以上。

Open AI Gym (強化学習のユースケース)

これは、強化学習アルゴリズムを開発および比較するためのツールキットであり、API と視覚的な環境を提供します。多くのコミュニティがこの分野向けのツールの構築に競って取り組んでいますが、完全なインストール パッケージはまだ多くありません。

代替案: 小規模なプロジェクトは多数ありますが、そのほとんどは Gym よりも保守性が低くなります。

PyTorch (ディープラーニングのユースケース)

これは、Torch ライブラリをベースにしたオープンソースの機械学習ライブラリです。このライブラリはディープラーニングに重点を置いており、主にコンピューター ビジョンや自然言語処理などのアプリケーションで使用されます。 Torchは主にFacebookの人工知能研究所(FAIR)によって開発されました。最近では、Open AI などの多くの有名な人工知能研究機関が PyTorch を標準ツールとして使用しています。

代替案: Tensorflow、Keras、Fast.ai

炉:実験管理

アトラス

これは、データ サイエンティストがいくつかのスニペットを使用して実験を実行し、その結果を Web ベースのダッシュボードに表示できる無料ツールです。

アトラス プログラム | 画像ソース: atlas.dessa.com

(免責事項: 私は Altas を設立した会社である Dessa で働いています。)

代替案: ML Flow、Weights & Biases、Data Robot、SageMaker、Comet、Domino

別の見方

完璧なインストールというものは存在せず、すべてはあなたのニーズと制約によって決まります。次の図は、利用可能なツールとそれらがどのように連携するかについての別の考え方を示しています。

セルゲイ・カラエフのFull Stack Deep Learning 2019での講演

ミニチャレンジ

これらのツールを理解するための最良の方法は、プロジェクトを見つけて作業を開始することです。これらのツールを現在のプロジェクトに組み込むことも、12 時間の機械学習チャレンジに挑戦することもできます。

私はあなたに対して楽観的です〜

<<:  私たちは人工知能をどれほど深く誤解しているのか

>>:  中国の独立知的財産TianyuanディープラーニングエンジンとTensorFlowおよびPyTorchの比較を体験

ブログ    

推薦する

人工知能画像生成技術:わずか5年でなぜ急速な発展を遂げたのか?

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

...

...

磁気リンクがAIサークルを席巻、87GBシードが直接オープンソースの8x7B MoEモデル

「ハイエンド」オープンソースでは、最も単純なリリース方法が採用されることが多いです。昨日、Mistr...

...

...

3Wイノベーションフェスティバル:先進的な起業家のアイデアが古都西安に流入

最近、西安で3Wイノベーションフェスティバルが開催されました。西安起業・イノベーション週間の代表的な...

GPT-4 に匹敵するオープンソース モデルがリークされました。ミストラルのボスが確認: 正式版はさらに強力になる

ミストラル・ミディアムが誤って漏洩した?以前は API 経由でのみ利用可能でしたが、そのパフォーマン...

人工知能はサイバーセキュリティにとって役立つのか、それとも脅威となるのか?

企業に対するセキュリティ上の脅威は常に存在していましたが、インターネットの発展により、脅威は物理空間...

...

AI プロジェクトの 85% が失敗します。何が悪かったのでしょうか?

[[441161]]最近のガートナー社の 2 つのレポートによると、AI および機械学習プロジェク...

大きな論争の中、ニューヨーク警察はロボット犬をボストン・ダイナミクスに返却した

ニューヨーク市警察は、その「ユートピア的」技術に対する激しい批判を受け、米国企業ボストン・ダイナミク...

浙江大学のロボット魚がネイチャー誌に登場:マリアナ海溝の奥深くまで到達、画期的な進歩

人類は初めて、水深1万メートルでのソフトロボットの深海制御と深海自律遊泳実験を達成し、ロボット工学分...

...