Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions examples/10_Agentic_Inference/qwen_agentic_benchmark.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: "qwen-agentic-benchmark"
version: "1.0"
type: "online"

model_params:
name: "Qwen/Qwen3.6-35B-A3B"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] Confirm the served model id. model_params.name becomes the OpenAI request model string and must match the endpoint's /v1/models id (the sibling uses the served name /model). Also double-check Qwen/Qwen3.6-35B-A3B itself — unusual vs the widely-known Qwen3-30B-A3B; confirm it's not a typo.

temperature: 1.0
top_k: 20
top_p: 0.95
repetition_penalty: 1.0
presence_penalty: 1.5

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] presence_penalty: 1.5 is aggressive for a long multi-turn agentic/thinking workload — it can suppress token reuse that structured / tool-call turns rely on, and it diverges from the locked sibling baseline (temperature / top_p / max_new_tokens only). top_k: 20 is fine for Qwen; repetition_penalty: 1.0 is a no-op. Confirm these are intended.

max_new_tokens: 8192
chat_template_kwargs:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[medium] No Qwen thinking-enable flag (Grok + Claude). This sets preserve_thinking: true but no flag that enables thinking. The sibling (Kimi) uses thinking: true (Kimi-specific); Qwen3's chat template typically uses enable_thinking: true. Without an enable flag, thinking mode depends on the server/template default and may run non-thinking while still preserving reasoning blocks. Confirm the correct key for your served Qwen template and add it under chat_template_kwargs.

preserve_thinking: true

datasets:
- name: agentic_combined
type: performance
path: /path/to/agentic_combined.jsonl
accuracy_config:
eval_method: agentic_inference_inline # required benchmark default.
agentic_inference:
enable_salt: true # do not change.
inject_tool_delay: true # do not change.
Comment on lines +22 to +24

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To ensure compliance with the benchmark invariants and to make the configuration complete, please explicitly specify num_trajectories_to_issue and stop_issuing_on_first_user_complete under agentic_inference.

    agentic_inference:
      enable_salt: true # do not change.
      inject_tool_delay: true # do not change.
      num_trajectories_to_issue: 990 # Should be integer multiple of dataset trajectory count.
      stop_issuing_on_first_user_complete: false # required benchmark default.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[medium] num_trajectories_to_issue / stop_issuing_on_first_user_complete dropped (Grok + Claude). The sibling pins num_trajectories_to_issue: 990. Omitted, it defaults to Noneone pass over the dataset (len(base_convs)), so the issued workload becomes whatever the JSONL holds rather than the intended count. stop_issuing_on_first_user_complete defaults to false (same behavior — explicitness only). Consider matching the sibling:

Suggested change
inject_tool_delay: true # do not change.
inject_tool_delay: true # do not change.
num_trajectories_to_issue: 990 # Should be integer multiple of 990.
stop_issuing_on_first_user_complete: false


settings:
runtime:
min_duration_ms: 0
max_duration_ms: 36000000

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[low] max_duration_ms: 36000000 (10h) adds a hard cap the sibling doesn't have (unset → unlimited). Agentic completion is trajectory/drain-driven; a hard cap can abort a long tail mid-drain and mark the run incomplete. Confirm it's intended and comfortably above the expected run length.


load_pattern:
type: agentic_inference
target_concurrency: 8 # Submission-specific concurrency.
Comment on lines +31 to +33

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The settings.client configuration is missing. For official agentic benchmark runs, the client settings warmup_connections: 0 and max_idle_time: 0.5 are required invariants to ensure consistent and comparable performance results.

  load_pattern:
    type: agentic_inference
    target_concurrency: 8 # Submission-specific concurrency.

  client:
    warmup_connections: 0
    max_idle_time: 0.5

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[medium] Consider adding a settings.client block (all three reviewers). The sibling kimi_agentic_benchmark.yaml pins warmup_connections: 0 / max_idle_time: 0.5. Without them this config uses the HTTPClientConfig defaults — warmup_connections: -1 (auto: pre-warms ~50% of the host's ephemeral-port budget → potentially thousands of connections to localhost:30000 before any request is issued) and max_idle_time: 4.0. For an agentic run that can mean a slow/failed startup or distorted endpoint load. Non-blocking for an example, but worth matching the sibling:

Suggested change
target_concurrency: 8 # Submission-specific concurrency.
target_concurrency: 8 # Submission-specific concurrency.
client:
warmup_connections: 0
max_idle_time: 0.5


endpoint_config:
endpoints:
- "http://localhost:30000"
api_type: openai

report_dir: logs/qwen_agentic
Loading