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の比較を体験

ブログ    
ブログ    
ブログ    

推薦する

光害を拒否し、AIがスマートシティの交通安全構築を推進

「ある瞬間、目の前のすべてがぼやけて、前方の道路状況がまったく見えませんでした。とても危険でした!」...

AI が「インターネット セレブ」メタバースと出会うと、どのような変化が起こるでしょうか?

2021年に世界を爆発的に盛り上げたメタバースは、2022年に入っても冷める気配がなく、今も多くの...

今後のAIの5大発展トレンドとは?2024年は「意味のある人工知能時代」の到来を告げる

生成型人工知能の出現により、人間と人工知能の距離は徐々に縮まっています。これまで関連技術にあまり注意...

孫正義氏:今後 30 年の人工知能と IoT(詳細記事)

[[264296]]これは非常に興味深いスピーチです。これはMWCでソフトバンクの孫正義氏が行った...

...

...

新たな方向性! DeepMindは知的生物の出現を促進する人工生命フレームワークを提案

最近、DeepMind の研究者たちは、知的生物の出現を促進するように設計された人工生命フレームワー...

データ汚染:次の大きな脅威

人工知能 (AI) と機械学習 (ML) を使用したセキュリティ ソフトウェアを標的としたデータ ポ...

モノのインターネット業界は一時的な流行に過ぎないのでしょうか、それとも産業史上の重要な節目となるのでしょうか?

人類の長い発展の過程において、生産性を向上させることができる発明や方法は、人々の記憶に残ります。産業...

「AI医薬品製造」の新時代が到来!人工知能がより良い抗がん剤の組み合わせを予測

[[355967]]人工知能は新興の破壊的技術として、科学技術革命と産業変革によって蓄積された膨大な...

...

C# アルゴリズムで実装された文字列反転の簡単な分析

C# を使用して文字列反転アルゴリズムを実装することに関する面接の質問を見てみましょう。文字列反転の...

人工知能について知っておくべきことすべて

人工知能は今日最も話題になっている技術の一つです。しかし、それは正確には何でしょうか?なぜ気にする必...

自動運転L2が登場、運転はもっと楽になるのか?

現在、人間による自動運転シリーズの進捗状況はどうなっていますか? 最終エピソードが完成するまでにどれ...