Skip to main content
このページでは、Serverless Inference が 429 のレート制限エラーを返す理由と、許可された同時実行制限内でリクエストを成功させるための対処方法について説明します。 レート制限エラー (429) は、同時実行制限を超えると発生します。 エラー: “Concurrency limit reached for requests” 解決方法: このエラーを解消するには、次のいずれかを実行してください。
  • 並列リクエスト数を減らします。
  • リクエストの間に待機時間を設けます。
  • 指数バックオフを実装します。
注: レート制限は W&B のプロジェクトごとに適用されます。

レート制限を回避するためのベストプラクティス

次のプラクティスは、アプリケーションが同時実行制限内に収まり、制限に達した場合でも適切に回復できるようにするのに役立ちます。
  • 指数バックオフを用いた再試行ロジックを実装する: バックオフにより再試行の間隔が空くため、一時的な 429 応答が次の試行前に解消されます。
    import time
    
    def retry_with_backoff(func, max_retries=3):
        for i in range(max_retries):
            try:
                return func()
            except Exception as e:
                if "429" in str(e) and i < max_retries - 1:
                    time.sleep(2 ** i)
                else:
                    raise
    
  • 並列リクエストの代わりにバッチ処理を使用する。
  • W&B Billing ページで使用状況を確認する。

デフォルトの支出上限

アカウントには、Inference の全体的な使用量を制限するデフォルトの支出上限もあります:
  • Pro アカウント: $6,000/月
  • Enterprise アカウント: $700,000/年
制限を変更するには、営業担当者またはサポートまでお問い合わせください。
Inference