TL;DR — 優れた機械学習アプリケーションを構築することは、ミシュランの星を獲得した料理を作るようなものです。 整理整頓されたキッチンは重要ですが、選択肢はたくさんあります。 この記事では、プロフェッショナルなプロジェクトを実行するために役立つツールを紹介し、いくつかのアイデアや代替案を共有し、簡単なライブ アンケートを実施します (参加するとコミュニティの意見を確認できます)。
他のツールに関する議論と同様に、このリストは網羅的なものではありません。 私は最も便利で最もシンプルなツールに重点を置くようにしています。 コメント欄にフィードバックをお送りいただくか、より良い代替案があればお知らせください。 免責事項: この投稿は承認またはスポンサーによるものではありません。 私はデータ サイエンスと ML を同じ意味で使用します。 「優れた機械学習アプリケーションを構築するにはどうすればよいでしょうか?」 学校でデータ サイエンティストを目指す人、転職を考えている専門家、チーム マネージャーとのチャットでは、この質問がさまざまな形で何度も出てきます。 プロフェッショナルなデータ サイエンス プロジェクトを実現するには、さまざまな側面があります。 他の多くの人と同じように、私はキッチンでの料理の例えを使うのが好きです。つまり、材料 (データ)、レシピ (デザイン)、調理プロセス (独自のアプローチ)、そして最後に実際のキッチン (ツール) があります。 )。 そこでこの記事では、私のキッチンをご案内します。 フルスタックの機械学習アプリケーション(システムと統合したり、本番環境で人間のユーザーにサービスを提供したりするソリューション)を設計、開発、展開するための最も便利なツールを紹介します。 ML 配信の他の側面について詳しく知りたい場合は、こちらの記事をご覧ください。 圧倒的な可能性 私たちは黄金時代に生きています。 Google で「機械学習ツール」を検索したり、コンサルタントに尋ねたりすると、次のような結果になるかもしれません。 > データと AI の展望 2019、画像ソース 世の中にはたくさんのツールがあります。 可能な組み合わせは無限です。 これは混乱を招き、圧倒される可能性があります。 それで、絞り込むお手伝いをさせてください。 そうは言っても、完璧なセットアップというものは存在しません。 それはすべてあなたのニーズと制約によって決まります。 したがって、それに応じて選択し、変更してください。 私のリストは、次の順序で優先順位が付けられています(順不同です)。
警告: 私は 99% の時間を Python で過ごします。 したがって、これらのツールはネイティブ Python で適切に使用または構築できます。 RやJavaなどの他のプログラミング言語ではテストしていません。 1. 冷蔵庫:データベース PostgreSQL 拡張性と技術標準への準拠を重視した、無料のオープン ソース リレーショナル データベース管理システム (RDBMS)。 単一のマシンから、多数の同時ユーザーがいるデータ ウェアハウスや Web サービスまで、幅広いワークロードを処理できるように設計されています。 > 画像ソース 代替案: MySQL、SAS、IBM DB2、Oracle、MongoDB、Cloudera、GCP、AWS、Azure、PaperSpace 2. ワークベンチ: デプロイメントパイプラインツール パイプライン ツールは開発のスピードと品質にとって重要です。 最小限の手動処理で迅速に反復できる必要があります。 これはうまく機能する設定です。詳細については、私の 12 時間 ML チャレンジの記事を参照してください。 怠惰なデータ サイエンティストは、プロジェクトの初期段階でこれを試してみる必要があります。 > 著者の作品、12時間MLチャレンジ (1)ギットハブ Git の分散バージョン管理およびソース コード管理 (SCM) 機能に加えて、独自の機能も提供します。 バグ追跡、機能リクエスト、タスク管理、Wiki など、プロジェクトごとにアクセス制御と複数のコラボレーション機能を提供します。 代替案: DVC、BitBucket、GitLab (2) PyCharmコミュニティエディション コンピュータ プログラミング、特に Python 言語で使用される統合開発環境 (IDE)。 チェコの会社 JetBrains によって開発されました。 コード分析、グラフィカル デバッガー、統合ユニット テスター、バージョン管理システム (VCS) との統合、Django を使用した Web 開発と Anaconda を使用したデータ サイエンス開発のサポートを提供します。 代替案: Atom、Sublime (3)パイテスト このフレームワークを使用すると、小さなテストを簡単に作成できますが、アプリケーションやライブラリの複雑な機能テストをサポートするように拡張することもできます。 手動テストにかかる時間を大幅に節約できます。 コードを変更するたびに何かをテストする必要がある場合は、pytest を使用して自動化します。 代替案: ユニットテスト (4) サークルシー CircleCI は継続的インテグレーションおよびデプロイメント ツールです。 Github にコミットすると、リモート Docker を使用して自動テスト ワークフローが作成されます。 Circle CI は、PyTest によって設定されたテスト ケースに合格しないコミットを拒否します。 これにより、特に大規模なチームで作業する場合にコードの品質が保証されます。 代替案: Jenkins、Travis CI、Github Action (5) Heroku(ウェブホスティングが必要な場合のみ) 開発者がアプリケーションを完全にクラウド内で構築、実行、運用できるようにする Platform as a Service (PaaS)。 CircleCI および Github と統合して自動デプロイメントを有効にすることができます。 代替案: Google App Engine、AWS Elastic Compute Cloud、その他 (6)Streamlit(インタラクティブなUIが必要な場合のみ) Streamlit は、機械学習およびデータ サイエンス チーム向けのオープン ソース アプリケーション フレームワークです。 近年、私のお気に入りのツールの一つになりました。 このセクションのツールと他のツールを使用して、映画やシミュレーションのアプリケーションを作成する方法を確認してください。 代替案: Flask、Django、Tableau 3. iPad: 探索のためのツール ストリームリット リライト Jupyter Notebook は忘れてください。 はい、その通りです。 Jupyter は、データの探索、分析の実行、さまざまなデータとモデリング手順の試行に使用するツールです。 でも何回かは覚えていない。
本当にイライラします。 そこで私は、初期の調査と最終的なフロントエンドの両方に Streamlit を使用しました。つまり、一石二鳥です。 以下は私の典型的な画面設定です。 左側は PyCharm IDE、右側は結果の視覚化です。 ぜひお試しください。 > IDE (左) + Streamlit によるライブアップデート (右)、著者の Forgotten Algorithm からの作品 代替案: Jupyter Notebook、Anaconda の Spyder、Microsoft Excel (本当) 4. ナイフ: 機械学習フレームワーク 実際のナイフと同じように、食材や切り方に合わせて適切なナイフを選ぶ必要があります。 汎用ナイフと特殊ナイフがあります。 気をつけて。 寿司包丁は光沢がありますが、専用の包丁で寿司を骨まで切るには時間がかかります。 仕事に適したツールを選択してください。 (1) Scikit-Learn(一般的なMLユースケース) Python での一般的な機械学習の入門フレームワーク。 もう十分だ。 > Scikit-Learn のユースケース、ソース 代替案: なし、期限。 (2)PyTorch(ディープラーニングのユースケース) Torch ライブラリをベースにしたオープンソースの機械学習ライブラリ。 ディープラーニングに重点が置かれているため、主にコンピュータービジョンや自然言語処理などのアプリケーションで使用されます。 これは主にFacebookのAI研究所(FAIR)によって開発されました。 最近では、Open AI などの多くの有名な AI 研究機関が PyTorch を標準ツールとして使用しています。 代替案: Tensorflow、Keras、Fast.ai (3)AIジムの開設(強化学習のユースケース) 強化学習アルゴリズムを開発および比較するためのツールキット。 APIとビジュアル環境を提供します。 これは、コミュニティがツールを構築しているアクティブな領域です。 まだ多くのツールが詰め込まれていません。 代替案: 小規模なプログラムが多数ありますが、ジムほど整備されていません。 5. 炉:実験管理 (1)アトラス これは、データ サイエンティストが複数のスニペットを使用して実験を実行し、その結果を Web ベースのダッシュボードに表示できる無料ツールです。 > アトラスプロセス、ソース 免責事項: 私は Altas を開発した会社である Dessa で働いていました。 代替案: ML Flow、SageMaker、Comet、Weights and Biases、Data Robot、Domino (2)調査 興味深いことに、適切なツールを探すときに最も気になることは何ですか? 以下にあなたの考えをぜひお聞かせください。 これはライブ調査なので、参加後にコミュニティの意見を確認することができます。 (3)別の見方 前述したように、完璧なセットアップというものは存在しません。 それはすべてあなたのニーズと制約によって決まります。 ここでは、利用可能なツールとそれらがどのように連携するかについての別の視点を示します。 > 2019 年フルスタックディープラーニングにおけるセルゲイ・カラエフのプレゼンテーション (4)ミニチャレンジ これらのツールの使い方について詳しく知りたい場合は、取り組むプロジェクトを見つけるのが最善の方法です。 ツールを現在のプロジェクトに組み込むことも、12 時間の ML チャレンジに挑戦することもできます。 方法がわからない場合は、ここで説明したツールとプロセスを使用して、ユーザー主導の紹介アプリを作成した方法を確認してください。 皆さんが何を創り出すのか楽しみにしています。 コミュニティと共有し、Twitter で私にタグを付けてください。 気に入っていただけましたか? Medium、LinkedIn、または Twitter でフォローしてください。 また、データ サイエンティストとしてビジネス思考とコミュニケーション スキルを学びたいですか? インパクトのある機械学習に関する私のガイドをご覧ください。 |
<<: 例 | CNN と Python を使用した肺炎検出
>>: 人工知能、遺伝子編集、ノーベル賞の画期的な進歩により、80歳でも40歳に見えるようになる
チューリング賞受賞者であり、ディープラーニングの父であるジェフリー・ヒントンの次の旅が決まりました。...
人工知能の発展の波の中で、人間はロボットが自己認識を持つことに対して非常に警戒心を抱いています。結局...
数学は科学の基礎として、常に研究と革新の重要な分野となってきました。最近、プリンストン大学と他の 7...
[51CTO.comより引用] 2018年5月18日〜19日、51CTO主催のグローバルソフトウェア...
「この二つの技は同じ名前だが、技の内容は大きく異なる。一つは全真剣術の強力な技で、もう一つは玉女剣...
イーロン・マスク氏の人工知能企業xAIは最近、GroKと呼ばれる人工知能チャットボットをリリースした...
今日、人工知能技術は急速に発展し続けており、画像認識、音声認識、意味理解など多くの特定の分野で人間の...
C114ニュース、5月8日(Lesi)本日開催された「AIと光が出会うとき:インテリジェント光ネッ...
コンピューターが登場する前には、アルゴリズムがありました。コンピュータの誕生により、コンピュータの強...
庚子年の初めに、突然の疫病が中国全土に広がり、人々は突然「2003年を夢見ている」ような気分になった...