ミシュランの星付き料理を作るときと同じように、整理整頓されたキッチンを持つことは重要ですが、選択肢が多すぎて圧倒されてしまうことがあります。これは、優れた機械学習 (ML) アプリケーションを構築するときも同様です。 そこで、プロフェッショナルなプロジェクトを実施したり、アイデアや代替案を共有したり、簡単な調査を実施したりするために使用できるツールをいくつか紹介します。ツールに関する議論は決して網羅的なものではありませんが、以下はおそらく最も有用かつシンプルなものでしょう。 もちろん、他にもっと良い選択肢があれば、コメント欄で Xiaoxin にお知らせください。 (免責事項: この投稿は署名なし、スポンサーなしです。私はデータ サイエンスと機械学習という用語を同じ意味で使用しています。)
よくある質問 「優れた機械学習アプリケーションを構築するにはどうすればいいでしょうか?」 データ サイエンティスト、転職を考えている専門家、チーム マネージャーと話をすると、この質問がさまざまな形で何度も出てきます。 プロフェッショナルなデータ サイエンス プロジェクトの提供には多くの側面が関係しますが、実際にはキッチンでの料理に非常に似ています。材料 (データ)、レシピ (設計)、調理プロセス (独自の方法)、そして最後に実際のキッチン (ツール) があります。 この記事では、私のキッチンを案内しながら、フルスタックの機械学習アプリケーション(システムに統合されているか、実稼働環境でユーザーにサービスを提供できるソリューション)の設計、開発、展開に最も役立つツールを紹介します。 魅力的な可能性 今が最高の時だ。 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 ホスティングが必要な場合のみ)
画像ソース: 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 を利用するのは自然な流れでした。以下は私がよく使う画面設定です。左側に 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の比較を体験
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
「ハイエンド」オープンソースでは、最も単純なリリース方法が採用されることが多いです。昨日、Mistr...
最近、西安で3Wイノベーションフェスティバルが開催されました。西安起業・イノベーション週間の代表的な...
ミストラル・ミディアムが誤って漏洩した?以前は API 経由でのみ利用可能でしたが、そのパフォーマン...
企業に対するセキュリティ上の脅威は常に存在していましたが、インターネットの発展により、脅威は物理空間...
「この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より転載を許可さ...
[[441161]]最近のガートナー社の 2 つのレポートによると、AI および機械学習プロジェク...
ニューヨーク市警察は、その「ユートピア的」技術に対する激しい批判を受け、米国企業ボストン・ダイナミク...
人類は初めて、水深1万メートルでのソフトロボットの深海制御と深海自律遊泳実験を達成し、ロボット工学分...