MLOps エンジニアになることに興味がありますか? MLOps エンジニアの役割について詳しくは、今すぐご覧ください。
これで、機械学習モデルが構築されました。検証データセットで期待されるパフォーマンスを達成します。このモデルを構築するためにデータ サイエンスと機械学習のスキルを適用できたことはとてもうれしかったです。ただし、モデルが Jupyter ノートブックのローカル マシン上で (まだ) 正常に動作することを認識しても、あまり役に立ちません。
ユーザーがモデルの恩恵を受け、企業が機械学習を活用するには、モデルを実稼働環境にデプロイする必要があります。ただし、機械学習モデルの導入と維持には課題がないわけではありません。開発環境では良好なパフォーマンスを発揮するモデルでも、実稼働環境では悲惨な結果を招く可能性があります。これは、データとコンセプトのドリフト、およびパフォーマンス低下を引き起こすその他の要因が原因である可能性があります。
したがって、機械学習モデルが役立つためには、モデルの構築を超える必要があることを認識してください。ここで MLOps が活躍します。今日は、MLOps と組織における MLOps エンジニアの役割について学びます。
MLOps とは何ですか?
通常、MLOps は DevOps の原則を機械学習に適用するものとして定義されています。
DevOps の実践により、開発チームと運用チーム間の部門を超えたコラボレーションが簡素化されるにつれて、ソフトウェア開発ライフ サイクル (SDLC) は良い方向に変化しました。 DevOps に携わっている人を知っている場合は、CI/CD パイプライン、自動化された CI/CD パイプライン、アプリケーション監視などについて話しているのを聞いたことがあるでしょう。
これは機械学習アプリケーションに応用できますが、機械学習システムには特有の課題がいくつかあります。機械学習 機械学習システムの構築と実行は、より複雑なプロセスです。
したがって、一般的に言えば、MLOps は、機械学習システムを構築、デプロイ、保守するための一連のベスト プラクティスと考えることができます。
これを念頭に置いて、組織内で MLOps エンジニアが何をしているのかを理解してください。
MLOps エンジニアは何をしますか?
DevOps の実践は機械学習システムに適用できます。それが MLOps である場合、それを実現するのは MLOps エンジニアの責任です。 ######それはどういう意味ですか?データ サイエンス チームがモデルを構築したら、MLOps エンジニアは次の手順でモデルを正常に実行します。
#自動化された機械学習モデルのデプロイメント
ML パイプラインのモニタリングを設定する- CI/CD パイプラインを自動化してデータ、コード、モデルの変更を処理する
- 自動モデル再トレーニングを設定する
- 必要な自動化レベルを決定する
-
-
MLOps に関連するいくつかの課題
監視の設定は、何か問題が発生したときの特定にのみ役立ちます。モデルのさまざまなバージョンのパフォーマンスに関するより詳細な情報を取得するために、MLOps エンジニアはモデルのバージョン管理と実験の追跡をよく使用します。
MLOps エンジニアが望ましい自動化レベルでモデルの再トレーニングを設定すると述べました。それに伴う課題を理解するように努めてください。
アプリケーションが運用環境にデプロイされると、運用環境のモデルで使用されるデータは、トレーニングに使用されたデータとは大きく異なる可能性があります。結果として、そのようなモデルのパフォーマンスは低下し、多くの場合、再トレーニングが必要になります。
MLOps エンジニアは、パフォーマンスの低下、データ変更の頻度、モデルの再トレーニング コストを考慮して、再トレーニングと再トレーニング プロセスの自動化にも取り組みます。
一部のスタートアップでは、MLOps エンジニアの帽子をかぶった機械学習エンジニアがいる場合があります。他の企業には、DevOps とバックエンドのエンジニアが複数の役割を担っています。
大手テクノロジー企業の MLOps は、初期段階のスタートアップの MLOps とは大きく異なる場合があります。 MLOps 自動化のレベルも組織によって異なる場合があります。
スタートアップ企業で働いており、エンドツーエンドの機械学習パイプライン (モデルのトレーニングから機械学習システムの監視と保守まで) の所有権を持っている場合、あなたはすでに MLOps エンジニアです。
MLOps エンジニアというやりがいのある役割を探索することに興奮していますか?必要なスキルをまとめます。
MLOps スキル セットとツール: 概要
MLOps エンジニアは通常、ML、DevOps、およびデータ エンジニアリングの強力なスキルを持っています。
組織における MLOps エンジニアの役割
- 機械学習スキル: プログラミング、機械学習アルゴリズムとフレームワークの実践的な知識、ドメイン知識
- ソフトウェア エンジニアリング スキル: データベースのクエリと操作、ML モデルのテスト、Git とバージョン管理、フレームワークFastAPI など
- DevOps の基礎: Docker や Kubernetes などのツールに精通している
- 実験追跡: MLflow などの実験追跡フレームワークに精通している
- データ パイプラインの構成: セットアップとPrefect や Airflow Data パイプラインなどのツールを使用した自動化
- クラウド インフラストラクチャ: AWS や GCP などのクラウド インフラストラクチャ プロバイダーや、Terraform などのコードとしてのインフラストラクチャ ツール (IaC) に精通している
MLOps について学ぶ
MLOps についてさらに詳しく知りたい場合は、始めるのに役立つリソースのリストを以下に示します。
- DataTalks.Club の MLOps Zoomcamp: DataTalks.Club の MLOps Zoomcamp は、モデルの構築から展開と監視のベスト プラクティスに至るまで、MLOps のすべてを学ぶための無料コースです。学んだことすべてをまとめたプロジェクトを構築することで学びます。
- Coursera の MLOps スペシャライゼーション: DeepLearning.AI の Machine Learning Engineering for Production (MLOps) スペシャライゼーション。この 4 コースの専攻では、実稼働グレードの機械学習システムを構築する方法を学びます。
- MLOps GitHub リポジトリ: MLOps でアップグレードするための厳選されたリポジトリのリスト。
概要
この記事では、組織における MLOps エンジニアの主な責任と主要な MLOps スキルについて紹介しました。
前述したように、MLOps を実行するすべてのエンジニアが MLOps エンジニアと呼ばれるわけではありません。また、自動化のレベルと MLOps における実際の日常作業への依存度が組織によってどのように異なるかについても説明します。
他の役割と同様、MLOps エンジニアとして成功するには、効果的なコミュニケーション、コラボレーション、戦略的な問題解決などのソフト スキルが必要です。とはいえ、MLOps エンジニアになることに挑戦したい場合は、MLOps を頑張ってください。
以上がMLOps の役割は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。