Repository navigation
Conversation
…cursive-language-model calls on Qwen3.8-27B-FP8 A recursive language model (RLM) drives a model through many short calls: each fits 32K tokens, and a trace needs about 20 of them, mostly sequential within the trace. The shipped RTX PRO 6000 profiles run one request at a time, so many traces queue behind each other. rtx-pro-6000-32k-thinking-bounded-rlm is the rtx-pro-6000-256k launch without speculation plus the strict-thinking adapter and qwen3 reasoning parser with a hard 4,096-token thinking bound, a 32,768-token window, up to 64 running requests (decode CUDA graphs to 64) and a 1,048,576-token admission budget. Sampling is the model card's thinking recipe. Its -no-spec twin is identical. Measured on one RTX PRO 6000 with replayed RLM requests: 2.97 GPU-minutes per trace at 8 requests in flight, 1.32 at 32 and 1.19 at 64; a real run of 100 traces, 32 at a time, used 1.27.
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Summary
Adds
rtx-pro-6000-32k-thinking-bounded-rlm(and its identical-no-specgrammar twin) toQwen/Qwen3.8-27B-FP8: a lane for recursive-language-model (RLM) workloads, where a driver model makes many short calls and many traces run at once.The shipped
rtx-pro-6000-256kprofiles run one request at a time (--max-running-requests 1, decode graphs to 1). An RLM call never needs the 256K window, and a single trace keeps only about one request in flight, so a GPU only gets busy when many traces share it.What the profile is
The
rtx-pro-6000-256k-no-speclaunch with these changes, and nothing else:rtx-pro-6000-256k-no-specmax_seq_length--max-running-requests/--cuda-graph-max-bs-decodekv_budget_tokens(SIE admission)SGLangCuda13AdapterSGLangStrictThinkingAdapter,reasoning_parser: qwen3,enable_thinking: trueSGLANG_MAX_THINK_TOKENS: "4096"max_output_tokensh100-256k-thinkingMeasurements
One RTX PRO 6000 serving this configuration through
sie-server(v0.11.0 image), with requests replayed from RLM runs on agent-trace failure attribution: about 20 requests per trace, 9K prompt and 2.4K completion tokens on average. Each level was measured over a 10-minute window after a 2-minute warm-up.The 8-in-flight point was taken with the same settings capped at 8 running requests. A real run of 100 traces, 32 at a time on one GPU, used 1.27 GPU-minutes per trace, with no timeouts or rejected requests; its answers matched two earlier runs at 8 per GPU within run-to-run variation.
Not measured individually: the larger admission budget (it made no difference at 32 in flight), and prefill chunk size or an FP8 KV cache, which stay at the RTX defaults.
Tests
test_qwen38_generation_profiles.py: the profile set; a new test that pins the profile as the RTX no-spec launch plus exactly the changes above; grammar requests stay on the lane.test_generation_mode_profiles.py: the new pair is listed with Qwen3.8's thinking profiles.mise run test -- packages/sie_server/tests/config(1,738 passed), plustest_remote_profile_window.py,test_config_delta_rejection.py,processors/test_grammar_prewarm.pyandtest_model_yaml_filenames.py;mise run lintandmise run typecheckpass.Summary by CodeRabbit