このレッスンは日本語に自動翻訳されたもので、まだ人によるチェックを受けていません。表現に違和感がある場合は、英語の原文が正となります。
コーディングラウンドを完了しました。次に、面接官はテーブル上でホワイトボード マーカーをスライドさせ、「5,000 万人のユーザー向けのレコメンデーション システムを設計してください」と言います。手のひらが湿ってしまうのは、ML を知らないからではなく、システム全体について 声に出して考える 練習をしたことがないからです。このレッスンでは、自由回答型の質問を構造化された会話に変える、繰り返し可能なフレームワークを提供します。
従来のソフトウェア システム設計は、データ フロー、ストレージ、およびスケーラビリティに重点を置いています。 ML システム設計は、さらなる次元を追加します。モデルは生きたコンポーネントであり、時間の経過とともに劣化し、データの品質に依存し、継続的な評価が必要になります。
面接官は完璧なアーキテクチャ図を求めているわけではありません。彼らは、次のことができることを知りたいと考えています。
候補者が犯す最大の間違いは、モデルの選択に直行することです。面接官は一貫して、問題の枠組みとデータに関するディスカッションが候補者を差別化する場所であると報告しています。
このフレームワークを、あらゆる設計上の質問に対する骨格として使用してください。すべてのステップに同じ時間を費やす必要はありません(質問に基づいて調整します)が、それぞれのステップに触れることは成熟の合図です。
まずは目標を明確にすることから始めましょう。質問してください: ビジネスにとって成功とはどのようなものですか?
ビジネス指標を ML に適した目標に早期にマッピングします。たとえば、「ユーザー エンゲージメントを向上させる」は、「各アイテムのクリック確率を予測し、スコアでランク付けする」と言い換えることができます。
データの出所、収集方法、予想される問題について話し合います。
抽出する特徴について説明します。それらを論理的にグループ化します。
|機能グループ |例 | |---|---| |ユーザー機能 |年齢バケット、在職期間、過去のクリック率 | |アイテムの特徴 |カテゴリ、価格帯、人気スコア | |コンテキスト機能 |時刻、デバイスの種類、場所 | |インタラクション機能 |ユーザー×アイテムの共起、セッション深度 |
今、そして今だけですが、モデルについて議論します。自分の選択を正当化します:
サインイン してディスカッションに参加
トレーニングと検証の方法について説明します。
ビジネス目標に合致する指標を選択してください。ランキングには Precision@K、バイナリ分類には AUC-ROC、順序付きリストには NDCG。
モデルがユーザーにどのように届くかについて話し合います。
データのドリフト、予測分布の変化、A/B テストによるオンライン指標など、リリース後に注目する内容について説明します。
不正行為検出システムを設計していると想像してください。この企業は「すべての詐欺を捕まえる」と言っています。 100% の再現率が危険な目標であるのはなぜですか? 許容可能なトレードオフについてどのように会話を組み立てますか?
ML システム設計の面接で、設計のプロンプトが与えられたら、最初に何をすべきでしょうか?
面接官は、経験の深さを明らかにするため、トレードオフの議論を好みます。 よく出るトレードオフは次のとおりです。
|トレードオフ |左を好む場合 |適切な場合 | |---|---|---| |レイテンシと精度 | ユーザー向けリアルタイム処理 (検索) | バッチのオフライン処理 (メール推薦) | |単純なモデルと複雑なモデル | 小規模データで解釈性が必要 | 大規模データで精度が重要 | | バッチ提供とリアルタイム提供 |予測はすぐには変わりません。予測は最新のコンテキストを反映する必要があります。 |構築 vs 購入 | 事業の中核的な差別化要因 |コモディティ機能 (OCR など) |
「[利点] が得られる オプション A を選択することもできますが、欠点は [コスト] です。あるいは、オプション B [利点] を選択することもできますが、[コスト] が発生します。[問題による特定の制約] を考慮すると、オプション A に傾くでしょう。なぜなら...」
Netflix は、そのレコメンデーション システムにより、解約率が減少し、年間 10 億ドル以上を節約できると見積もっています。その 1 つの ML システムの価値は、一部の小国の GDP を超えます。
プロンプト: 「ソーシャル メディア プラットフォーム用のコンテンツ モデレーション システムを設計します。」
レコメンデーション システムでは、ハイブリッド サービス アプローチ (バッチ候補生成 + リアルタイム ランキング) が一般的なのはなぜですか?
最適な ML システム設計の答えは、講義ではなく会話のように感じられます。面接官に確認するために一時停止し、明確な質問をし、面接官が別の方向に誘導した場合には、進んで方向転換するようにしてください。