目次[隠す][見せる]
- 1. MLOps とはどういう意味ですか?
- 2. データ サイエンティスト、データ エンジニア、ML エンジニアは互いにどのように異なりますか?
- 3. MLOps と ModelOps および AIOps の違いは何ですか?
- 4. MLOps のメリットを教えてください。
- 5. MLOps のコンポーネントを教えてください。
- 6. データ サイエンスの使用にはどのようなリスクがありますか?
- 7. モデルドリフトとは何ですか?
- 8. MLOps を適用する方法はいくつあると思いますか?
- 9. 静的展開と動的展開の違いは何ですか?
- 10. 知っている製品テスト手法は何ですか?
- 11. ストリーム処理とバッチ処理の違いは何ですか?
- 12. Training Serving Skew とはどういう意味ですか?
- 13. Model Registry とはどういう意味ですか?
- 14. Model Registry のメリットについて詳しく教えてください。
- 15. Champion-Challenger テクニックの仕組みについて説明できますか?
- 16. MLOps ライフサイクルのエンタープライズ レベルのアプリケーションについて説明してください。
- まとめ
企業は、人工知能 (AI) や機械学習 (ML) などの新しいテクノロジーをより頻繁に使用して、一般の人々が情報やサービスにアクセスしやすくなっています。
これらのテクノロジーは、銀行、金融、小売、製造、さらには医療など、さまざまな分野でますます使用されています。
データ サイエンティスト、機械学習エンジニア、人工知能のエンジニアは、ますます多くの企業から求められています。
可能性を知る 機械学習 ML または MLOps の分野で働きたい場合、採用担当者や採用担当者があなたに提示する可能性のある運用面接の質問は不可欠です。
この投稿では、夢の仕事を得るために努力する際に、MLOps 面接のいくつかの質問に答える方法を学ぶことができます。
1. MLOps とはどういう意味ですか?
ML モデルの運用化のトピックは、より主要な AI/DS/ML 分野内で発展途上の分野である MLOps (機械学習運用とも呼ばれます) の焦点です。
MLOps として知られるソフトウェア エンジニアリングのアプローチと文化の主な目標は、機械学習/データ サイエンス モデルの作成とその後の運用化 (Ops) を統合することです。
従来の DevOps と MLOps には一定の類似点がありますが、MLOps は従来の DevOps とは大きく異なります。
MLOps はデータに焦点を当てることで新たな複雑さのレイヤーを追加しますが、DevOps は主に、ステートフルにできないコードとソフトウェア リリースの運用化に焦点を当てています。
ML、データ、Ops の組み合わせが、MLOps の一般名 (機械学習、データ エンジニアリング、DevOps) の由来です。
2. データ サイエンティスト、データ エンジニア、ML エンジニアは互いにどのように異なりますか?
私の意見では、会社によって異なります。 データの転送と変換、およびその保存のための環境は、データ エンジニアによって構築されます。
データ サイエンティストは、科学的および統計的手法を利用してデータを分析し、現在の傾向に基づいて将来の行動を予測するなど、結論を導き出す専門家です。
ソフトウェア エンジニアは、運用を研究し、数年前に展開インフラストラクチャを管理していました。 一方、運用チームは、インフラストラクチャをコードとして使用しながら開発を研究していました。 DevOps のポジションは、これら XNUMX つの流れによって生み出されました。
MLOps は と同じカテゴリに属します データサイエンティスト そしてデータエンジニア。 データ エンジニアは、モデルのライフサイクルをサポートし、継続的なトレーニング用のパイプラインを作成するために必要なインフラストラクチャに関する知識を得ています。
データ サイエンティストは、モデルの展開とスコアリング機能の開発を目指しています。
生データをデータ サイエンス モデルに必要な入力に変換し、モデルをホストして実行し、スコア付けされたデータセットをダウンストリーム システムに出力するインフラストラクチャを利用して、ML エンジニアによって本番グレードのデータ パイプラインが構築されます。
データ エンジニアとデータ サイエンティストの両方が ML エンジニアになることができます。
3. MLOps と ModelOps および AIOps の違いは何ですか?
エンドツーエンドで構築する場合 機械学習アルゴリズムMLOps は、データ収集、データの前処理、モデルの作成、本番環境でのモデルのデプロイ、本番環境でのモデルの監視、およびモデルの定期的なアップグレードを含む DevOps アプリケーションです。
ルールベース モデルなどのアルゴリズムの実装全体を処理する際に DevOps を使用することは、ModelOps として知られています。
AI Ops は、DevOps の原則を活用して AI アプリをゼロから作成しています。
4. MLOps のメリットを教えてください。
- MLOps は MDLC (モデル開発ライフサイクル) のすべてまたはほとんどのタスク/ステップを自動化するのに役立つため、データ サイエンティストと MLOps 開発者は、トライアルをすばやく再実行して、モデルが適切にトレーニングおよび評価されていることを確認できます。 さらに許可 データとモデルのバージョン管理.
- MLOps のアイデアを実践することで、データ エンジニアとデータ サイエンティストは、育成および精選されたデータセットに無制限にアクセスできるようになり、モデルの開発が飛躍的に加速されます。
- モデルとデータセットをバージョン管理する機能のおかげで、データ サイエンティストは、現在のイテレーションが期待に応えられない場合に、パフォーマンスの優れたモデルに頼ることができます。これにより、モデルの監査証跡が大幅に強化されます。
- MLOps メソッドは DevOps に大きく依存しているため、多くの CI/CD の概念も組み込まれています。 コードの品質と信頼性.
5. MLOps のコンポーネントを教えてください。
設計: MLOps にはデザイン思考が大きく含まれます。 問題の性質から始めて、仮説、アーキテクチャ、および展開をテストします
モデル構築: モデルのテストと検証は、最適な機械学習システムをセットアップするためのデータ エンジニアリング パイプラインと実験と共に、このステップの一部です。
業務執行統括: モデルは運用の一部として実装し、継続的にチェックおよび評価する必要があります。 その後、CI/CD プロセスが監視され、オーケストレーション ツールを使用して開始されます。
6. データ サイエンスの使用にはどのようなリスクがありますか?
- このモデルを会社全体に拡大することは困難です。
- 警告なしで、モデルはシャットダウンし、機能を停止します。
- ほとんどの場合、モデルの精度は時間とともに悪化します。
- モデルは、さらに調査できない特定の観察に基づいて不正確な予測を行います。
- データ サイエンティストもモデルを維持する必要がありますが、費用がかかります。
- MLOps を使用して、これらのリスクを軽減できます。
7. モデルドリフトとは何ですか?
モデルの推論フェーズのパフォーマンス (実世界のデータを使用) がトレーニング フェーズのパフォーマンスよりも低下する場合、これはモデル ドリフトと呼ばれ、アイデア ドリフト (過去のラベル付きデータを使用) とも呼ばれます。
モデルのパフォーマンスは、トレーニング フェーズとサービング フェーズに比べて歪んでいるため、「トレーニング/サーブ スキュー」という名前が付けられています。
以下を含む多数の要因:
- データを配布する基本的な方法が変わりました。
- トレーニングは少数のカテゴリに焦点を当てていましたが、ちょうど起こったばかりの環境変化により、別の領域が追加されました.
- NLP の問題では、実世界のデータには、トレーニング データよりも不釣り合いに大量の数値トークンがあります。
- COVID-19 の流行中に収集されたデータでは、COVID 前のデータに基づいて構築されたモデルのパフォーマンスが大幅に低下すると予測されるなど、予期しない出来事。
モデルのドリフトを特定するには、モデルのパフォーマンスを継続的に監視することが常に必要です。
モデルのパフォーマンスが持続的に低下している場合、ほとんどの場合、モデルの再トレーニングが必要になります。 拒否の理由を特定し、適切な治療手順を使用する必要があります。
8. MLOps を適用する方法はいくつあると思いますか?
MLOps を実践するには、次の XNUMX つの方法があります。
MLOps レベル 0 (手動プロセス): このレベルでは、データの準備、分析、トレーニングを含むすべてのステップが手動で実行されます。 各段階は、ある段階から次の段階への移行と同様に、手動で実行する必要があります。
基本的な前提は、データ サイエンス チームが、頻繁に更新されない少数のモデルのみを管理することです。
その結果、継続的インテグレーション (CI) や継続的デプロイ (CD) はなく、コードのテストは通常、スクリプトの実行またはノートブックの実行に統合され、デプロイはマイクロサービスで行われます。 REST API.
MLOps レベル 1 (ML パイプラインの自動化): ML プロセスを自動化することで、目的はモデル (CT) を継続的にトレーニングすることです。 このようにして、継続的なモデル予測サービスの配信を実現できます。
トレーニング パイプライン全体をデプロイすることで、アクティブなパイプライン トリガーに基づく新しいデータを使用して、モデルが本番環境で自動的にトレーニングされるようになります。
MLOps レベル 2 (CI/CD パイプラインの自動化): MLOps レベルの XNUMX つ上に移動します。 本番環境でパイプラインを迅速かつ確実に更新するには、強力な自動化された CI/CD システムが必要です。
- ソース コードを作成し、CI ステージ全体で多数のテストを実行します。 パッケージ、実行可能ファイル、および成果物はステージの出力であり、後でデプロイされます。
- CI ステージによって作成された成果物は、CD ステップ中にターゲット環境にデプロイされます。 改訂されたモデルの実装を含むデプロイされたパイプラインは、ステージの出力です。
- パイプラインが実験の新しい反復を開始する前に、データ サイエンティストはデータとモデルの分析フェーズを手動で行う必要があります。
9. 静的展開と動的展開の違いは何ですか?
モデルはオフラインでトレーニングされます 静的展開. つまり、モデルを正確に XNUMX 回トレーニングしてから、しばらく使用します。 モデルがローカルでトレーニングされた後、保存されてサーバーに送信され、リアルタイムの予測を生成するために使用されます。
モデルは、インストール可能なアプリケーション ソフトウェアとして配布されます。 例として、リクエストのバッチ スコアリングを可能にするプログラム。
モデルはオンラインでトレーニングされます 動的展開. つまり、新しいデータが常にシステムに追加され、それを考慮してモデルが継続的に更新されます。
その結果、サーバーをオンデマンドで使用して予測を行うことができます。 その後、モデルは、次のような Web フレームワークを使用して、ユーザーのクエリに反応する API エンドポイントとして提供されることで使用されます。 Flask または FastAPI.
10. 知っている製品テスト手法は何ですか?
バッチテスト: トレーニング環境とは異なる設定でテストを実施することにより、モデルを検証します。 精度、RMSE などの任意の指標を使用して、データ サンプルのグループに対してバッチ テストを実行し、モデルの推論を検証します。
バッチ テストは、テスト サーバー、リモート サーバー、クラウドなど、さまざまなコンピューティング プラットフォームで実行できます。 通常、モデルはシリアル化されたファイルとして提供され、オブジェクトとして読み込まれ、テスト データから推測されます。
A / Bテスト: マーケティング キャンペーンの分析やサービス (Web サイト、モバイル アプリケーションなど) の設計によく使用されます。
会社または運用に基づいて、統計的アプローチを使用して A/B テストの結果を分析し、本番環境でどのモデルがより優れたパフォーマンスを発揮するかを判断します。 通常、A/B テストは次の方法で行われます。
- ライブ データまたはリアルタイム データは、セット A とセット B の XNUMX つのセットに分割またはセグメント化されます。
- セット A のデータは古いモデルに送信され、セット B のデータは更新されたモデルに送信されます。
- ビジネス ユース ケースまたはプロセスに応じて、いくつかの統計的アプローチを使用してモデルのパフォーマンス (精度、精度など) を評価し、新しいモデル (モデル B) が古いモデル (モデル A) より優れているかどうかを判断できます。
- 次に、統計的仮説検定を行います。帰無仮説は、新しいモデルが監視対象のビジネス指標の平均値に影響を与えないことを示しています。 対立仮説によると、新しいモデルは監視ビジネス指標の平均値を増加させます。
- 最後に、新しいモデルによって特定のビジネス KPI が大幅に改善されるかどうかを評価します。
シャドウまたはステージ テスト: モデルは、本番 (ステージング環境) で使用される前に、本番環境の複製で評価されます。
これは、リアルタイム データを使用してモデルのパフォーマンスを判断し、モデルの回復力を検証するために重要です。 実稼働パイプラインと同じデータを推測し、開発したブランチまたはテスト対象のモデルをステージング サーバーに配信することで実行されます。
唯一の欠点は、ステージング サーバー上でビジネス上の選択が行われないこと、または開発ブランチの結果としてエンド ユーザーに表示されないことです。
モデルの回復力とパフォーマンスは、適切な指標を使用したステージング環境の結果を使用して統計的に評価されます。
11. ストリーム処理とバッチ処理の違いは何ですか?
バッチとストリームの XNUMX つの処理方法を使用して、リアルタイムの予測を生成するために利用する特性を操作できます。
バッチ処理 特定のオブジェクトの以前の時点からの特徴。これを利用して、リアルタイムの予測を生成します。
- ここでは、集中的な機能計算をオフラインで行うことができ、迅速な推論のためにデータを準備できます。
- ただし、機能は、過去にあらかじめ決められていた年齢です。 予後が最近の発生に基づいている場合、これは大きな欠点になる可能性があります。 (例えば、不正取引を可能な限り早く特定する。)
特定のエンティティのほぼリアルタイムのストリーミング機能により、特定の入力セットのストリーム処理で推論が実行されます。
- ここで、モデルにリアルタイムのストリーミング機能を与えることで、より正確な予測を得ることができます。
- ただし、ストリーム処理とデータ ストリームの維持には追加のインフラストラクチャが必要です (Kafka、Kinesis など)。 (Apache Flink、Beam など)
12. Training Serving Skew とはどういう意味ですか?
サービング中のパフォーマンスとトレーニング中のパフォーマンスの不一致は、トレーニング-サービング スキューとして知られています。 このスキューは、次の要因によって引き起こされる可能性があります。
- サービス提供とトレーニングのパイプライン間でデータを処理する方法の違い。
- トレーニングからサービスへのデータのシフト。
- アルゴリズムとモデルの間のフィードバック チャネル。
13. Model Registry とはどういう意味ですか?
モデル レジストリは、モデル作成者が本番環境での使用に適したモデルを公開できる中央リポジトリです。
開発者は、他のチームや利害関係者と協力して、レジストリを使用してビジネス内のすべてのモデルの寿命を管理できます。 トレーニング済みのモデルは、データ サイエンティストがモデル レジストリにアップロードできます。
モデルが登録されると、モデルはテスト、検証、および本番環境への展開のために準備されます。 さらに、トレーニング済みのモデルはモデル レジストリに保存され、統合されたアプリケーションやサービスからすばやくアクセスできます。
モデルをテスト、評価、および本番環境にデプロイするには、 ソフトウェア開発者 レビュアーは、(評価基準に基づいて) トレーニング済みモデルの最適なバージョンをすばやく認識して選択できます。
14. Model Registry のメリットについて詳しく教えてください。
以下は、モデル レジストリがモデル ライフサイクル管理を効率化するいくつかの方法です。
- デプロイを容易にするために、トレーニング済みモデルのランタイム要件とメタデータを保存します。
- トレーニング、デプロイ、廃止されたモデルは、一元化された検索可能なリポジトリに登録、追跡、およびバージョン管理する必要があります。
- 運用モデルの継続的な配信、トレーニング、統合を可能にする自動化されたパイプラインを作成します。
- ステージング環境で新しくトレーニングされたモデル (またはチャレンジャー モデル) を、現在運用環境で動作しているモデル (チャンピオン モデル) と比較します。
15. Champion-Challenger テクニックの仕組みについて説明できますか?
チャンピオン チャレンジャー技術を使用して、本番環境でさまざまな運用上の決定をテストすることができます。 マーケティングの文脈で A/B テストについて聞いたことがあるでしょう。
たとえば、メール キャンペーンの開封率を最大化するために、XNUMX つの異なる件名を作成し、ターゲット層にランダムに配布することができます。
システムは、件名に関連する電子メールのパフォーマンス (つまり、電子メールの開封アクション) を記録します。これにより、各件名の開封率を比較して、最も効果的なものを判断できます。
この点で、Champion-Challenger は A/B テストに匹敵します。 決定ロジックを使用して各結果を評価し、さまざまな方法を試して選択する際に最も効果的なものを選択できます。
最も成功したモデルは、チャンピオンに関連付けられます。 チャンピオンの代わりに最初の実行フェーズに存在するのは、最初のチャレンジャーと一致するチャレンジャーのリストだけになりました。
チャンピオンは、さらにジョブ ステップを実行するためにシステムによって選択されます。
挑戦者は互いに対照的です。 新しいチャンピオンは、最大の結果を出した挑戦者によって決定されます。
チャンピオンとチャレンジャーの比較プロセスに含まれるタスクの詳細を以下に示します。
- ライバル機種ごとに評価。
- 最終スコアの評価。
- 評価結果を比較して、勝利のチャレンジャーを確立します。
- 新しいチャンピオンをアーカイブに追加する
16. MLOps ライフサイクルのエンタープライズ レベルのアプリケーションについて説明してください。
機械学習モデルを本番環境に導入するためには、機械学習を単なる反復実験と見なすのをやめる必要があります。 MLOps は、ソフトウェア エンジニアリングと機械学習を組み合わせたものです。
完成した結果はそのように想像する必要があります。 したがって、技術製品のコードは、テストされ、機能し、モジュール化されている必要があります。
MLOps の寿命は従来の機械学習フローに匹敵しますが、モデルは本番までプロセス内に保持される点が異なります。
その後、MLOps エンジニアはこれを監視して、本番環境でのモデルの品質が意図したものであることを確認します。
MLOps テクノロジのいくつかのユースケースを次に示します。
- Model Registries: 見た目どおりです。 大規模なチームは、モデル レジストリにバージョン モデルを保存して追跡します。 以前のバージョンに戻すこともオプションです。
- Feature Store: より大きなデータ セットを扱う場合、特定のタスク用に分析データセットとサブセットの異なるバージョンが存在する可能性があります。 フィーチャ ストアは、以前の実行または他のチームからのデータ準備作業を使用するための、最先端の洗練された方法です。
- メタデータのストア: 画像やテキスト データなどの非構造化データを正常に使用するには、制作全体でメタデータを正しく監視することが重要です。
まとめ
ほとんどの場合、面接担当者はシステムを探しているのに対し、候補者は解決策を探しているということを覚えておくことが重要です。
XNUMX つ目は技術的スキルに基づくもので、XNUMX つ目は能力を示すために採用する方法に関するものです。
MLOps 面接の質問に回答する際には、目前の問題をどのように評価して対処するつもりなのかを面接担当者がよりよく理解できるようにするために、いくつかの手順を踏む必要があります。
彼らの集中力は、正しい反応よりも間違った反応に向けられています。 ソリューションはストーリーを語り、システムはコミュニケーションに関する知識と能力を最もよく表しています。
コメントを残す