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新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

AIは人間の脳を模倣しています! 2021年のトップ10の会議論文: 脳は「教師なし」でも学習する

神経科学は人工知能の「超進化」の鍵となるのか?ディープラーニングやディープニューラルネットワークが流...

最も強力な AI 搭載スマートフォンに関する神の視点: iPhone X

世界中で人気のiPhone Xがついに登場。バージョン番号を埋めるためだけに名付けられたiPhone...

...

EU諸国の4分の1がAIによるサイバーセキュリティ管理を望んでいる

予想外かもしれませんが、消費者のかなりの部分は、サイバーセキュリティを生身のサイバーセキュリティ専門...

アルゴリズムの練習: 数独の基本解法

数独は紙とペンを使って遊ぶ論理ゲームです。プレイヤーは、9×9 のボード上の既知の数字に基づいて残り...

...

Pangu-Agentの5つのイノベーション

大規模言語モデル (LLM) の開発と応用により、人工知能の分野で LLM ベースの自律エージェント...

...

...

SQL Serverは最短経路検索アルゴリズムを実装しています

これは去年の質問です。今日メールを整理していたら偶然見つけました。とても興味深いと思ったので書き留め...

人工知能のシンギュラリティに関する考察: 超知能 AI の倫理的問題は無視できない

ロボットの電源を切ったり、人工知能アルゴリズムをオフにしたりするのは悲しいですか? まだそうではあり...

自動運転のベテラン、UberのためにGoogleの機密文書14,000件を盗んだとして訴えられる

[[275279]]アンソニー・レヴァンドウスキーはシリコンバレーのスターエンジニアです。自動運転技...

音声認識:市場の見通しは有望だが、コア技術にはまだブレークスルーが必要

人工知能製品が私たちの生活の中でますます普及するにつれて、テクノロジーの発展は社会の関心の焦点となっ...

自動運転のジレンマと選択

ここ数年、自動運転車に対する熱狂が高まっています。これは確かに合理的です。自動運転車は、燃費の向上、...