【51CTO.com クイック翻訳】 データ サイエンティストとして、私たちは時々自分たちの仕事を忘れてしまいます。私たちは主に開発者であり、次に研究者であり、そして最終的には数学者になるかもしれません。私たちの第一の責任は、バグのないソリューションを迅速に開発することです。 モデルを構築できるからといって、私たちが神であるわけではなく、くだらないコードを書く自由が与えられるわけでもありません。 最初から、私は多くの間違いを犯してきましたが、機械学習エンジニアリングで最も一般的なスキルは何だと思うかを明らかにしたいと思いました。これは現在業界で最も不足しているスキルでもあると思います。 私は彼らをソフトウェアを理解していないデータ サイエンティストと呼んでいます。なぜなら、彼らの多くはコンピューター サイエンスの正式なトレーニングを受けたエンジニアではないからです。それが私です。 優秀なデータ サイエンティストと優秀な機械学習エンジニアを雇わなければならない場合、私は後者を採用します。 1. 抽象クラスの書き方を学びます。 抽象クラスの記述を開始すると、コード ベースをはるかにクリーンにできる方法がわかります。同じメソッドとメソッド名が適用されます。多くの人が同じプロジェクトに取り組む場合、各人が異なるアプローチを取り始めます。これは深刻な混乱を引き起こすでしょう。
2. トップシードを獲得する。 実験の再現性は重要であり、種は敵です。種を大切にしてください。そうしないと、トレーニング/テスト データの分割が異なり、ニューラル ネットワークの重みの初期化も異なります。これにより、一貫性のない結果が生じる可能性があります。
3. 数行から始めます。 データが非常に大きく、プログラミングの後期段階(データのクリーニングやモデリングなど)にある場合は、毎回膨大なデータをロードしないように nrows を使用します。実際に全体を実行せずにコードをテストしたいだけの場合は、このトリックを使用します。 このトリックは、ローカル PC の構成がデータ サイズを処理するのに十分ではないが、Jupyter/VS code/Atom でローカル開発を行う場合に役立ちます。
4. 失敗を覚悟する(成熟した開発者の証)。 後で問題が発生する可能性があるため、データ内の NA を常に確認してください。現在のデータに NA が含まれていない場合でも、将来の再トレーニング サイクルで NA が表示されなくなるわけではありません。とにかく確認してください。
5. 処理の進行状況を表示します。 大量のデータを処理しているとき、どれくらいの時間がかかるか、またプロセスのどこにいるのかがわかれば、間違いなく安心できます。 方法 1 — tqdm
方法 2 — fastprogress
6. パンダは遅くなることがあります。 pandas を使用したことがあるなら、特に groupby 操作を実行するときに、それがどれほど遅くなることがあるかご存知でしょう。処理速度を上げるための「素晴らしい」解決策を見つけるために頭を悩ます必要はありません。コードを 1 行変更して modin を使用するだけです。
7. 関数の時間を計ります。 すべての機能が同じように作成されるわけではありません。 すべてのコードが正常であっても、素晴らしいコードを書いたことを意味するわけではありません。いくつかのソフト エラーは実際にコードの実行速度を低下させるため、そのエラーを見つける必要があります。このデコレータを使用して関数の時間を計測します。
8. クラウドにお金をかけないでください。 クラウド リソースを無駄にするエンジニアを好む人はいません。 一部のテストは数時間かかる場合があります。実験を追跡することは困難であり、クラウド インスタンスは使用されなくなるとシャットダウンされます。私自身もこの間違いを犯したことがありますし、インスタンスを何日も実行したままにしている人も見てきました。 実行の最後に関数を呼び出すだけで、問題は発生しません。 ただし、このアプローチを実装するには、メイン コードを try と use except でラップします。そうすることで、エラーが発生した場合にサーバーが実行を継続できない状態になります。はい、私もこの状況に対処したことがあります。 責任を持って二酸化炭素の排出をやめたほうがいいでしょう。
9. レポートを作成して保存します。 モデリングの特定の段階を過ぎると、すべての貴重な情報はエラーとメトリックの分析からのみ得られるようになります。自分自身と上司のために、適切にフォーマットされたレポートを作成して保存するようにしてください。 結局のところ、経営陣はレポートを読むのが大好きですよね?
10. 優れた API を作成します。 悪い結末を持つコードはすべて悪いです。 データのクリーニングとモデリングをうまく行っても、最終的には大きな混乱が生じることがあります。経験から、多くの人が適切な API、ドキュメント、サーバー構成の書き方を知らないことがわかりました。 以下は、負荷がそれほど高くない (例: 1000/分) 一般的な機械学習およびディープラーニングの展開に適したアプローチです。 Fastapi + uvicornの組み合わせを見てみましょう
4 つのワーカーを使用してデプロイするには、次のコマンドを実行します。負荷テストを通じてワーカーの数を最適化します。
原題: Python 開発者のための 10 の有用な機械学習プラクティス、著者: Pratik Bhavsar [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください] |
<<: 都市の気質を改善し、住みやすい環境を守る。AIはガバナンスの閉ループを開く
>>: ファーウェイマシンビジョンが16の新製品を連続発売、数千億元相当のセキュリティの新たな戦場を切り開く
AI ツールの導入はほとんどの組織がセキュリティを確保できるよりも速いペースで進んでいるため、シャド...
エッジ コンピューティングは、最も話題になっているテクノロジ トレンドの 1 つになりました。こうし...
1. はじめに広告主は通常、ユーザー タグに基づいて広告のターゲット ユーザーを定義します。たとえば...
人工知能によってもたらされる将来の教育の変革と発展は、新たな機会を生み出すだけでなく、より大きな課題...
ここ2日間、アメリカ人女性歌手テイラー・スウィフトが中国語を話す短い動画が、さまざまなソーシャルプラ...
なぜ機械学習が必要なのでしょうか?機械学習は、人間が直接プログラムできない複雑な問題を解決できるため...
今年11月17日、OpenAIのCEOサム・アルトマン氏は主任科学者イリヤ・スツケヴァー氏によるクー...
シーン説明: 昨年 8 月に Microsoft がリリースした「Que Shen AI」Suphx...
この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...
最近、世間を騒がせた360 Appランキング操作事件とその背後にある闇産業チェーンの出現により、Ap...
[[336217]]多くの新製品と同様に、自動運転に対する人々の態度は、過度の信頼から過少な信頼まで...
人工知能 (AI) はまだ初期段階ですが、AI は急速に企業が自らを守るための重要な手段になりつつあ...
医療人工知能支援システムの構築加速に関する提案中国人民政治協商会議第12期全国委員会委員 郭光昌【提...
いくつかの指標によれば、生成的敵対的ネットワーク (GAN) の研究は過去 2 年間で大きな進歩を遂...