【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の新製品を連続発売、数千億元相当のセキュリティの新たな戦場を切り開く
今日、現代科学技術の出現と発展、そしてさまざまなインテリジェント技術の登場により、人類の宇宙旅行はよ...
導入現在、HBase を搭載した最新の製品では、HBase の読み取りおよび書き込みパフォーマンスに...
[[251877]]計算の観点から見ると、ビッグデータ分析のトレンドは流れ星のように消えることはあ...
BT プロトコルと eMule プロトコルのアルゴリズムにはいくつかの違いがあり、この 2 つを併用...
最近、浙江省安吉市の竹林で、一群の超小型知能ドローンが集団で派遣され、ジャングルの中を楽々と移動した...
2022年2月6日にarXivにアップロードされたレビュー論文「自動運転車の安全性保証、検証、認証:...
[[321744]]今日、LeetCode の問題やさまざまなアルゴリズム ルーチンを分析できる優れ...
我が国は鉱物資源が豊富な国であり、石炭、金属、その他の鉱物の生産地が非常に多く、我が国の鉱業開発は常...
Google LLC のクラウド コンピューティング部門は本日、オープンソースの人工知能モデルを共有...
みなさんこんにちは。私はシュイです。気がつけば、またこの2日間で大学入試の時期になりました。私が大学...
人工知能(AI)は人類社会を真に知的な時代へと導くことができるのでしょうか?人工知能産業は60年以上...
多くの機械学習技術は、急速に概念実証から人々が日常的に頼りにする重要なテクノロジーの基盤へと移行して...
2016年にポケモンGOが世界を席巻したときのことを覚えていますか?当時、多くの人々は、拡張現実革...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...
爆発的な人気を博している大規模モデルは、「汎用ロボットエージェント」に関する研究を再構築しています。...