Skip to main content
大規模なデータセットで評価を実行する際のパフォーマンスを向上させるには、次の 2 つの method を併用してください。

フラッシュ

大規模なデータセットで評価を実行すると、データセットがバックグラウンドスレッドでアップロードされている間、プログラムの終了時に長い待ち時間が発生することがあります。これは通常、バックグラウンドでのクリーンアップが完了する前に、メインスレッドの実行が終了した場合に起こります。client.flush() を呼び出すと、すべてのバックグラウンドタスクがメインスレッドで強制的に処理されるため、メインスレッドの実行中に並列処理を確実に進められます。これは、データがサーバーにアップロードされる前にユーザーコードの実行が完了してしまう場合に、パフォーマンスの向上につながることがあります。 例:
client = weave.init("fast-upload")

# ... 評価のセットアップ
result = evaluation.Evaluate(dataset_id="my_dataset_id")

client.flush()

クライアントの並列性を上げる

クライアントの並列性は環境に応じて自動的に決まりますが、次の環境変数を使って手動で設定することもできます。
  • WEAVE_CLIENT_PARALLELISM: 並列処理に使用できるスレッド数です。この値を増やすと、並列処理に使用できるスレッド数も増え、データセットのアップロードのようなバックグラウンドタスクのパフォーマンスが向上する可能性があります。
これは、weave.init()settings 引数を使ってプログラムから設定することもできます。
client = weave.init("fast-upload", settings={"client_parallelism": 100})

パフォーマンス 評価