Repository navigation
Add a caller-managed Gimbal-27B server adapter - #65
Open
Superwheat wants to merge 1 commit into
Open
Superwheat wants to merge 1 commit into
Superwheat wants to merge 1 commit into
Conversation
The gimbal adapter evaluates Superwheat/Gimbal-27B through the released gimbal_serve vLLM helper at POST /v1/systemone, without starting or configuring the server. - Send Noul as an explicit two-option Choice over the authored true/false definitions, since the native Noul type takes no outcome definitions. - Send states other than strings or objects, and JSON scalar values, as their JSON text. - Chunk cases above the server's 64-question limit with the same state. - Read unrounded raw_probabilities from a --full-precision server and keep server overflow rejections as unretried failures. - Accept gimbal constructor kwargs through --adapter-kwargs. - Document setup, transport and input limits in OPEN_MODELS.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem and resulting behavior
Superwheat/Gimbal-27B is a typed decision model served by its
own released helper (
helper/gimbal_serve, vLLM pooling runner) atPOST /v1/systemone. The sharedllama-cppadapter does not fit that server: the server's native Noul type rejects outcome definitions, arequest holds at most 64 questions, and the full-precision probabilities are only in
raw_probabilities.This PR adds
--adapter gimbal, a client for a running server that never starts, stops or configures it:declared order, and mapped back to
false/true(noul_transport: explicit-choice-v1).declared option IDs; structured instructions and descriptions keep their JSON values.
each question independently (premise = that question's instructions plus the state, one hypothesis per
candidate), so no question's candidates are split.
raw_probabilitiesfrom--full-precision, validatedwithout renormalization. A server without
--full-precisionis a visible failure.--max-tokenslimit (HTTP 400) and kept as an unretriedfailure; transient statuses and transport errors get a bounded retry. Response bodies are never recorded.
--adapter-kwargs:base_url,served_model,timeout,case_batch_size(1..32),retries(0..5) andruntime_settings(recorded metadata only).OPEN_MODELS.mdgains a Gimbal-27B section with the server command, transport rules and the input limit(the longest english-v1 branch is 14,713 tokens with the model's tokenizer, so
--max-tokens 16384coversthe scope).
evaluator/README.mdlinks it.Validation
tests/test_gimbal.py(39 synthetic tests withhttpx.MockTransport): transport of all three tasks withnontrivial option order, structured values and authored Noul definitions; numeric Score level order;
JSON-text transport of array and scalar values; chunking of a 65-question case; malformed responses
(missing full-precision maps, wrong keys, sums, booleans, tasks, IDs, usage, non-object payloads); model
drift; inputs rejected before any call (over 256 options, over 10 levels, images, Box, duplicate IDs);
unretried 400/413 without echoing bodies; bounded retries for 5xx and transport errors; batch alignment
with individual failures; invalid settings; CLI kwargs passing and rejection of foreign kwargs.
uv run tox(py311, lint, type): 725 passed, 7 skipped;ruff check .andty checkpass.gimbal_serveat the pinned checkpoint, its realrequest schema, serialization, tokenizer and calibration, with a fake scorer in place of the GPU): all 137
english-v1benchmarks at dataset revision10bcb8c6916b98b966cc1f03aab1781a7c354b4ccompleted with zerofailed decisions and validated; 18,702 requests, 169,395 branches.
smoke-v1 --limit 2, then the fullscope on one B200).
Related result submission
Dataset PR for Gimbal-27B
english-v1: https://huggingface.co/datasets/hotchpotch/s1mb-result/discussions/114Language scopes and training exposure
English (
english-v1) only. This PR changes code and documentation only; the result PR'smetadata.jsoncarries the training-exposure declarations.