この記事では、Personalizer サービスについてよく寄せられる質問とその回答を示します。
単一のリージョン内のデータ所在地
Personalizer はいつ非推奨になりますか?
2023 年 9 月 20 日以降は、新しい Personalizer リソースを作成できなくなります。 Personalizer サービスは、2026 年 10 月 1 日に廃止されます。
データは、単一リージョンのデータの保存地域を持つリージョンでどのようにレプリケートされますか?
顧客がサービス インスタンスをデプロイしたリージョンの外部で、Personalizer によって、顧客データの保存または処理が行われることはありません。
構成の問題
構成設定を変更しましたが、ループが同じ学習レベルで実行されなくなりました。 なぜでしょうか?
構成設定の中には、モデルをリセットするものがあります。 ドキュメントを読んだ後、構成の変更を慎重に計画して実行する必要があります。
API を使用して Personalizer を構成したら、エラーが発生しました。 なぜでしょうか?
単一の API 要求を使用してサービスを構成し、学習動作を変更すると、エラーが発生します。 2 つの個別の API 呼び出しを行う必要があります。まず、サービスを構成してから、学習動作を変更する必要があります。
トランザクションのエラー
サービスから HTTP 429 (要求が多すぎます) という応答が返されました。 どうすればよいですか。
Personalizer インスタンスの作成時に無料の価格レベルを選択した場合、許容される Rank 要求の数にクォータ制限が存在します。 Azure portal の Personalizer リソースの [メトリック] ペインで Rank API の API 呼び出しレートを確認し、API 呼び出しの量が選択したレベルのしきい値より多くなると予想される場合は、[価格レベル] ペインで価格レベルを調整します。
Rank API または Reward API で 5xx エラーが発生します。 どうすればよいですか。
5xx エラーは一時的な問題のはずです。 引き続き問題が発生する場合は、Azure portal で Personalizer リソースの [サポート + トラブルシューティング] セクションにある [新しいサポート リクエスト] を選んで、サポートにお問い合わせください。
学習ループ
徒弟モードで、学習ループがパーソナライズされていない (ベースライン) ポリシーと 100% 一致しません。 これをどのように修正すればよいですか?
見習いモードでの Personalizer の有効性は、アプリケーションのベースラインの 100% 近くを達成することはほとんどなく、それを超えることはありません。 ベスト プラクティスは、100% の達成を試みないことです。それでも、ユース ケースに応じて 60 から 80% の範囲で達成できるはずです。 ただし、学習パフォーマンスが遅い場合、または 60% を下回っている場合は、次の問題が発生している可能性があります。
- Rank API 呼び出しで送信された特徴量が十分ではない
- 送信された特徴にバグがある (タイムスタンプなどの集計されていない特徴データが Rank API に送信されたなど)
- ループ処理にバグがある (イベントの報酬データを Reward API に送信していないなど)
これらの問題に対処するには、ループに送信される特徴を変更するか、Rank API 呼び出しから返されるアクションの値が報酬スコアによって正確にキャプチャされるようにすることで、調整が必要になる場合があります。
学習ループで学習が効率的に、またはすばやく行われていないようです。 これをどのように修正すればよいですか?
学習ループでは、ランキング呼び出しによる優先順位の設定を効果的に行う前に、数千の報酬呼び出しが必要です。
学習ループの現在の動作に不安がある場合は、オフライン評価を実行し、修正された学習ポリシーを適用してください。
何度やっても、すべての項目がまったく同じ確率のランク結果が返されます。 Personalizer が学習していることは、どうすれば確認できますか?
Personalizer は、開始直後でモデルが "空" であるときや、Personalizer ループをリセットした時点でモデルがまだ "モデルの更新頻度" 期間内にあるとき、Rank API の結果として同じ確率を返します。
新しい更新期間が始まると、更新されたモデルの結果による確率の変化が表示されます。
学習ループによる学習は進行していますが、何も学習していないように見えます。Rank の結果の品質もあまり良くありません。 どうすればよいですか。
- そのループについて、Azure portal で 1 回の評価を完了し、適用したことを確認します。
- Reward API ですべての報酬が正常に送信され、処理されたことを確認します。
学習ループが定期的に更新され、データのスコア付けに使用されていることは、どうすればわかりますか?
モデルの最終更新時刻は、Azure portal の [モデルと学習設定] ページで確認できます。 古いタイムスタンプが表示される場合、Rank と Reward の呼び出しを送信していないことが原因と考えられます。 サービスに受信データがなければ、学習は更新されません。 学習ループの更新頻度が不十分であると感じる場合は、ループの [モデルの更新頻度] を編集できます。
オフライン評価
オフライン評価の特徴量の重要度から、数百から数千の項目を含んだ長大なリストが返されます。 なぜでしょうか?
一般に、タイムスタンプ、ユーザー ID、または、その他なんらかの粒度の細かい特徴が送信されたことが原因で発生します。
オフライン評価を作成したところ、ほとんど間を置かずに正常完了しました。 なぜですか? 結果がまったく表示されません。
オフライン評価には、その期間に Rank および Reward API に送信されたイベントからのトレーニング済みモデルとデータが使われます。 評価の開始時刻から終了時刻までの間にアプリケーションがデータを送信しなかった場合、結果なしですぐに完了します。
学習ポリシー
学習ポリシーをインポートするにはどうすればよいですか?
学習ポリシーの概念と、新しい学習ポリシーを適用する方法をご覧ください。 学習ポリシーを選択したくない場合は、オフライン評価を使用すれば、現在のイベントに基づいて、学習ポリシーを提示することができます。
Security
Personalizer でサポートされている API 認証プロトコルは何ですか?
Personalizer API で使われる Microsoft Entra ID では、さまざまな認証と同期のプロトコルがサポートされています。
ループの API キーが漏えいしました。 どうすればよいですか。
もう一方のキーを使用するようにクライアントをスワップした後で、キーを再生成することができます。 2 つのキーを使用することで、ダウンタイムを生じさせることなく、徐々にキーを伝達することができます。 セキュリティ上の理由から、定期的にこれを行うことをお勧めします。