ローカルマシンでMLトレーニングを実行してから、サーバーで定期的に実行するのはなぜですか?

著者: Roger Morrison
作成日: 28 9月 2021
更新日: 1 J 2024
Anonim
【超有益】Pythonの定期実行についてわかりやすく解説!(ローカル・リモート環境編)
ビデオ: 【超有益】Pythonの定期実行についてわかりやすく解説!(ローカル・リモート環境編)

コンテンツ

Q:

ローカルマシンで機械学習(ML)トレーニングを実行してから、サーバーで定期的に実行するのはなぜですか?


A:

機械学習プロジェクトとそのトレーニングおよびテストフェーズをどのように構成するかという問題は、MLの「ライフサイクル」をどのように進め、プログラムをトレーニング環境から本番環境に移行するかに大きく関係しています。

MLトレーニングをローカルマシンに配置し、実行をサーバーベースのシステムに移行するという上記のモデルを使用する最も簡単な理由の1つは、職務の本質的な分離の利点です。一般に、トレーニングの開始点と終了点、およびテストの開始点を明確に把握できるように、トレーニングセットを分離する必要があります。このKDNuggetsの記事では、原則について粗雑な方法で説明していますが、ローカルマシンでトレーニングセットを分離する他の理由もいくつか示しています。このモデルのもう1つの基本的な価値提案は、トレーニングとテストセットが非常に異なるアーキテクチャであるため、トレーニングとテストの共同割り当てについて混乱しないことです。

もう1つの興味深い利点は、サイバーセキュリティに関するものです。専門家は、ローカルマシンで最初のトレインプロセスを使用している場合、インターネットに接続する必要がないことを指摘しています。これにより、基本的な方法でセキュリティが拡大され、実稼働環境に到達するまでプロセスが「インキュベーション」されます。その後、適切なセキュリティをサーバーモデルに組み込む必要があります。

さらに、これらの「分離された」モデルの一部は、概念のドリフトや隠れた短所などの問題に役立つ可能性があります。テストフェーズをトレインフェーズと一致させるには、多くの適応性が必要になる場合があります。または、場合によっては、トレーニングプロセスとテストプロセスが混ざり合い、混乱が生じます。

テストフェーズをサーバーに初めて展開すると、データの適応性の問題を修正するさまざまな「ブラックボックス」モデルを容易にすることができます。場合によっては、複数のプラットフォームに変更命令を出すという冗長なプロセスが不要になります。

また、サーバー環境は明らかに、リアルタイムまたは動的なプロセスを提供します。エンジニアは、MLでの運用に最適なデータ転送およびコードモデルにアクセスする必要があります。たとえば、AWS Lambdaは、生産のマイクロ機能(またはLambdaとS3オブジェクトストレージの組み合わせ)を処理し、接続できず(サーバーなしで)不可能になる魅力的なオプションです。


これらは、開発者がテストと本番からトレーニングMLフェーズを分割する方法を検討するときに考える問題の一部です。