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技術の自立を実現するために、国内のディープラーニングフレームワークは3つの大きな課題に直面している

「ディープラーニングフレームワークは人工知能技術システムの真ん中にあり、下のチップと上のアプリケーシ...

2018年世界AI大学ランキング:カーネギーメロン大学がトップ、清華大学は13位

最近、CSRankingsは2018年のコンピューターサイエンスのトップスクールのランキングを発表し...

...

RPAが企業にもたらすメリットトップ10

この記事では、RPA がビジネスの効率と生産性を向上させる 10 の方法について詳しく説明します。 ...

...

...

機械学習 | PyTorch 簡潔チュートリアル パート 2

前回の記事「PyTorch Concise Tutorial Part 1」に引き続き、多層パーセプ...

百度脳がAIの「先導役」を演じる 王海鋒:AI時代の社会の知能化を共同で推進

11月1日、Baidu Brainは2018年Baidu世界大会の初イベントとしてデビューしました。...

...

...

2021年12月のドローン業界の最新動向を3分で振り返る

[[442512]]現在、人工知能や5Gなどの技術の助けを借りて、我が国のドローン開発は急速な成長の...

学者は大喜び!MetaがPDFと数式を変換できるOCRツールをリリース

私たちが通常、論文や科学文献を読むときに目にするファイル形式は、基本的に PDF (Portable...

機械学習の12の経験則

機械学習アルゴリズムは、例から一般化することで重要なタスクを実行する方法を理解できます。これを手動プ...

...

...