|
オタクトーク 01 問題と課題 過去10年間のインターネット業界の急速な発展とハードウェア性能の継続的な向上により、ランキング関連アルゴリズムにおけるディープラーニングの時代が到来し、モデルと技術の革新が絶え間なく続いています。しかし、技術が徐々に深化していくにつれ、同じ計算能力要件におけるパフォーマンスのわずかな向上が非常に顕著になってきました。 一方、現在のマクロ経済の影響により、大規模コンピューティングパワーの需給は依然としてボトルネックに直面しています。限られたコンピューティングパワーリソースの中で、いかにして継続的により大きな価値を創造していくかは、非常に困難な課題です。 この目的のために、当社はトラフィック値とシステム状態に基づいてコンピューティング能力を適応的に割り当てる方法を常に模索しており、それによって全体的な入出力比率を継続的に改善しています。 02 現在、検索システムフローで使用されている制御方法はそれぞれ独立しています。制御オペレータの入出力はグローバルな視点を欠いており、これらのオペレータの管理、調整、制御が困難です。さらに、ほとんどの制御方法は静的な閾値設定に基づいています。しかし、システム内のリクエストは各レイヤーでステートフルな制御オペレータを通過すると考えています。理想的なカスケードシステムでは、各制御オペレータはグローバルに可視である必要があります。ビジネスシステムをグローバルな視点で考察し、コンピューティングパワーの制御と割り当ての作業をより高次元で捉える必要があります。 私たちは、ミクロレベルとマクロレベルの両方の計画に基づいて、関連する規制作業を実施してきました。 1. ミクロ:システム容量の状態を無視して、現時点でのトラフィックによって生成された値に基づいて計算能力を動的に割り当て、与えられた総計算能力の制約の下でグローバルな最適化を実現します。 2. マクロレベル:トラフィック、時間、システム障害などによるキャパシティ変動により、総計算能力の制約は常に変化します。リソースと応答時間の制約を考慮し、現在の制約下で最適な割り当て方法を計算する必要があります。これには、コアシステムステージの計算強度を動的に調整し、ピーク時の計算能力を合理的に制御することが含まれます。さらに、検索システムからのリアルタイムの状態フィードバックに基づいて、システムのセキュリティ状態が自動的に調整されます。これにより、検索システムは速度、リソース、有効性、安定性など、複数の側面にわたって適応的に調整することができます。 2.1 問題モデリング 変数の説明: i番目の交通フロー。 キューの長さやモデルの選択など、ステージ j のトラフィック i の特定の情報は、経験的に設定して実験的に検証できるアルファ、ベータ、ガンマで表すことができます。
ステージjのフローの割引係数 。 i番目のフローの値 。 目的: キューの長さやモデルの選択など、トラフィックフローの様々な段階で割引係数を調整することで、トラフィックの価値を最大化します。M個のトラフィックが以下のようにN個のステージを通過すると仮定します。 C1 コスト制約: どのステージでも、コストはそのステージのコスト以下である必要があります。 C2 時間制約: すべてのリクエスト トラフィックについて、N ステージで費やされる合計時間は、指定された時間以下である必要があります。 C3 補助制約では、どの段階のどのリクエストでも、値が 0 以上である必要があります。 リアルタイム検索システムにおいて、上記の最適化をオンラインで実行することは現実的ではなく、大きな課題となります。分析を簡素化し、システムの堅牢性を向上させるため、N個のステージをN個のサブ問題に分解します。これにより、各ステージでの監視と確実な介入が容易になり、システムの堅牢性が向上します。例えば、システムに重大な変更が発生した場合、各ステージのパラメータを動的に調整できます。問題解決を簡素化するため、制約C1とC2はさらに分割されます。 具体的には、ステージ j では、トラフィックの価値を最大化することは、上記のサブ問題として考えることができます。 予測単調に増加していますが、その影響は...の導関数は単調減少しており、割り当てられたリソースが増加するにつれて、その値はますますゆっくりと増加することを意味します。 2.2 例の説明 例: 関連性ランキング段階で柔軟な候補セットを例として使用します。 トラフィック i が i 番目のクエリに絞り込まれたと仮定すると、ステージ j は特定のフィルタリングステージを表します。URL レベルのパラメータと特徴情報を表すために、追加の次元 k が追加されます。ポジティブランキング候補セットのフィルタリングステージでは、k は複数の特徴(authority_feature、click_feature、…、correlation_feature)のスコアで表されます。 次に、前方候補セットのフィルタリング段階で i を要求する k 番目の URL の情報は次のように表すことができます。 弾性候補セットにおけるトラフィック i の割引係数は、1 から、削除された URL の数が最終的な上位 40 に出現する確率を引いた値と見なすことができます。候補セットに削除された URL がない場合、割引損失はありません。候補セットから URL が削除されても、最終的な上位 40 の再現率に影響を与えない場合、 合計値への割引影響はないと考えられます。 具体的には、i 番目のクエリの k 個の URL の特定の情報について、複数の次元からの特徴を考慮します。 で 値が0の場合は破棄、1の場合はk番目のURLを保持することを表します。ギリシャ文字は、例えばスコアが下位x%にランクインするなど、使用される閾値基準を表します。URLのすべての特徴の寄与度が分布の末尾に位置する場合、そのURLは候補セットから削除されます。 オタクトーク 03 主要技術 従来の制御手法では、上流の制御アクションと下流のフィードバックに関する情報が不足しているため、局所最適解の追求に留まっていました。しかし、検索のような階層的なカスケード型システムでは、データがチェーンの下流に流れるほど、より多くの特徴や信号が観測されます。制御アクションは静的ではなく、フローに応じて進化するべきです。私たちの革新的なアプローチは、柔軟なカスケード型制御フレームワークを用いて制御手法を組み合わせ、グローバル最適解を目指し、チェーン全体にわたるコンピューティング能力投資の費用対効果を向上させます。 具体的には、当社の弾性カスケード フレームワークは次の 4 つの部分で構成されています。 1. 制御演算子のセットが提供され、制御アクションをクエリレベル、URLレベル、機能レベルに分類します。制御演算子は同じ基本クラスを持ち、インターフェースは標準化されています。 2. コンピューティングセンターは、各種制御動作に必要なさまざまな信号をリアルタイムで計算し、流量値の判断や容量信号の取得を行います。 3. パラメータセット: コンピューティングセンターによって生成された特徴と信号はハイパーパラメータに固められ、ハイパーパラメータがモジュール内でグローバルに可視化され、指定されたプロトコルに従ってモジュール間の統一された相互作用が可能になります。 4. 制御意思決定者は、パラメータセットに基づいて各ステージの制御レベル設定を決定し、オペレータセットからオペレータを実行することを主な責任とします。各制御ステージには、制御レベルとフィードバックレベルが含まれます。制御レベルは、現在のステージで観測された特徴と信号を組み合わせて、他の下流ステージに制御レベルを提供します。フィードバックレベルは、他のステージからの制御レベルの提案と、現在のステージで観測された特徴と信号を参照して、現在のステージで実行する実際の制御レベルを決定します。このように、各制御ステージは、他のステージの実際の制御状態を確認できるだけでなく、現在のステージに対するガイダンス提案に基づいて総合的な判断を下し、最終的にチェーン全体にわたってグローバルに最適なソリューションを得ることができます。 上図に示すように、左側は弾性カスケードフレームワーク全体のコンポーネントを示し、右側は順方向ランキングフェーズでの弾性候補セットの実際の計算プロセスを示しています。さまざまな次元にわたる特徴が計算センターによって処理されて値パラメータが生成され、それを使用して意思決定者が調整され、最終的に実際の順方向ランキング計算セットが生成されます。制御フィードバックフローのカスケード適応制御システムを確立するだけでなく、グローバルな視点の弾性コンピューティングパワー割り当て制御センターも提供します。弾性コンピューティングパワーシステムは、主にクラスターのさまざまな次元指標を取得し、戦略を分析し、現在のマシン負荷状態に最適な戦略の組み合わせパラメータを定期的に実行することにより、コアとなる弾性コンピューティングパワー割り当ての決定を実現します。 現在の検索システムに基づき、インテリジェントな弾性パラメータ調整機能は、システムを以下の4つの状態(システム異常状態、ピーク負荷状態、弾性遷移状態、低負荷状態)に定義・記述します。システム状態に応じて、リソース利用率とビジネスメリットを最適化するための一連の戦略が実行されます。具体的なソリューションについては、以下の図をご覧ください。 主なプロセスは次のとおりです。 情報収集: ビジネス ログ (トラフィック PV、トラフィック カテゴリ、トラフィック品質) やマシンの状態 (CPU/MEM 使用率) などを定期的に自動的に収集します。収集された情報は、主に次の時間軸から詳細に分析されます。 1. ピーク時間帯のモジュールステータス信号。 2. 最初のn回の取得サイクルのモジュールステータス信号。 3. 前日の同時刻における過去n回の取得サイクルのモジュールのステータス信号。 4. 先週の同時刻における過去 n 回の取得サイクルのモジュールのステータス信号。 システム状態予測:様々な側面から情報を収集し、手動ルール、オンライン戦略、オフライン予測を用いて現在のシステム状態を評価します。現在のシステム状態は、異常システム状態、ピークシステム負荷状態、低システム負荷状態、過渡的システム負荷状態の4つのカテゴリに分類されます。以下に、システム状態定義ルールと状態遷移図を示します。 異常なシステム状態: システム可用性 SLA、CPU 負荷率、結果 null 率が期待を満たさないなど、システムに障害が発生しています。 システム負荷ピーク状態: システム要求数や CPU 負荷率などのシステム容量指標が指定されたしきい値を超えています。 システム負荷最低状態: システム要求数や CPU 負荷率などのシステム容量指標が指定されたしきい値を下回っています。 システム負荷遷移状態: 負荷のピークと谷間の遷移状態。 ギア決定: システムの状態に基づいて、システムのギアを抽象化してシステムの意思決定を容易にし、各ギア内で対処する必要があるシステムの問題を特定します。 1. 異常なサービス レベル: システムの品質を確保するためにサービスを迅速にダウングレードする方法。 2. ピーク負荷: システムが高負荷下でも安定して動作できるように、システムの安定性と応答時間に注意する必要があります。 3. オフピーク時:投資収益率を向上させるため、システムリソースの割り当てを最適化することを検討してください。これは、異常なシステム障害が検出された場合に行う必要があります。 4. 遷移フェーズ:システムが低負荷状態から高負荷状態へ、あるいはその逆へ遷移する際に、システム状態の急激な変化を回避するためのバッファを提供する中間状態。遷移フェーズでは戦略は調整されず、システムは比較的安定した状態に維持されます。これは、頻繁な戦略調整によるシステムの乱れを回避し、システムの安定性を確保するために行われます。 ソリューション決定の実装: 劣化層は、主にシステム異常や重大なリスクに対処します。対応する戦略には、受動的にトリガーされるトラフィックの無効化、リコールセットの削減、モデルの計算複雑度の低減などがあります。これらの対策により、システム負荷が軽減され、コアビジネスプロセスの正常な動作が確保されます。オフピーク層は、弾力性のある戦略セットに対応します。これらの戦略は、主にオフピーク時に複雑な戦略の計算を強化し、検索パフォーマンスを向上させることを目的としています。ピーク時には、受動的にトリガーされるトラフィックの削減を含むピークシェービング戦略を主に採用し、高負荷時でも安定したシステム運用を確保します。 例: ビデオ検索のエラスティック拡張トリガー: システムリソース容量が低い期間には、収集された指標データに基づいて現在のシステム容量リソースの冗長性を計算します。その後、冗長リソースに基づいてトリガー比率を計算し、弾性コンピューティングパワー決定モジュールを介してトリガー信号を発行することで、アイドルリソースを活用してトラフィックのトリガーサーフェスを拡大します。 オタクトーク 04 要約と展望 弾性カスケーディングフレームワークに基づく制御方式を用いることで、階層型システムの効率性が向上しました。ユーザーからの要求ごとにきめ細やかで差別化された制御の組み合わせが実装され、コンピューティング能力の向上において優れたパフォーマンスを実現します。 コンピューティング能力の割り当ては、アーキテクチャ研究における中核的な課題の 1 つであり、今後は次の 2 つの分野で体系的な作業が継続されます。 |