Submission of the initial version of IQuest-Q1

#1
.gitattributes CHANGED
@@ -34,3 +34,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  tokenizer.json filter=lfs diff=lfs merge=lfs -text
 
 
 
 
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  tokenizer.json filter=lfs diff=lfs merge=lfs -text
37
+ assets/IQuest-Q1_Performance.png filter=lfs diff=lfs merge=lfs -text
38
+ assets/IQuest-Q1-Post-Training-Pipeline.png filter=lfs diff=lfs merge=lfs -text
39
+ assets/IQuest-Q1-Training-Pipeline.png filter=lfs diff=lfs merge=lfs -text
LICENSE ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Modified MIT License
2
+
3
+ Software Copyright© 2026 IQuest Research
4
+
5
+ Our only modification is that, if the Software (or any derivative works
6
+ thereof) is used for any of your commercial products or services, you shall
7
+ prominently display "IQuest" on the user interface of such product or
8
+ service.
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in all
17
+ copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
README.md ADDED
@@ -0,0 +1,303 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <h1 align="center">IQuest-Q1</h1>
2
+
3
+ <p align="center">Developed by <strong>IQuest</strong></p>
4
+
5
+ <p align="center">
6
+ <a href="https://github.com/IQuestLab/IQuest-Q1"><img src="https://img.shields.io/badge/GitHub-IQuest--Q1-181717?style=flat-square&amp;logo=github&amp;logoColor=white" alt="GitHub: IQuest-Q1"></a>
7
+ <a href="https://huggingface.co/IQuestLab/IQuest-Q1"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-IQuest--Q1-ffc107?color=ffc107&logoColor=white" alt="Hugging Face: IQuest-Q1"></a>
8
+ </p>
9
+
10
+ <p align="center">
11
+ <a href="#model-introduction">Introduction</a> ·
12
+ <a href="#performance">Performance</a> ·
13
+ <a href="#quick-start">Quick Start</a> ·
14
+ <a href="#deployment">Deployment</a> ·
15
+ <a href="#limitations">Limitations</a> ·
16
+ <a href="#contact-us">Contact Us</a>
17
+ </p>
18
+
19
+ ---
20
+
21
+ ## Introduction
22
+
23
+ **IQuest-Q1** is a Mixture-of-Experts (MoE) model developed by **IQuest** for agentic coding, reasoning, and multi-step tool use. It comprises approximately **320B total parameters**, with an estimated **15B parameters activated per token**.
24
+
25
+
26
+
27
+ <p align="center">
28
+ <img src="assets/IQuest-Q1-Training-Pipeline.png" width="100%">
29
+ <br>
30
+ <em>Training pipeline of IQuest-Q1.</em>
31
+ </p>
32
+
33
+ <p align="center">
34
+ <img src="assets/IQuest-Q1-Post-Training-Pipeline.png" width="100%">
35
+ <br>
36
+ <em>IQuest-Q1 Post-Training Pipeline.</em>
37
+ </p>
38
+
39
+ ### Model Specifications
40
+
41
+ | Property | IQuest-Q1 |
42
+ | :--- | :--- |
43
+ | Total Parameters | 320B |
44
+ | Activated Parameters | 15B |
45
+ | Transformer layers | 88 |
46
+ | Hidden dimension | 3,072 |
47
+ | Attention Heads (Q/KV) | 48/8 |
48
+ | Head Dimension | 128 |
49
+ | Hybrid Attention Pattern | 3 SWA + 1 FA |
50
+ | Sliding Window Size | 4,096 |
51
+ | Partial RoPE Dimensions | 32 |
52
+ | Experts (Total/Activated) | 256/8 |
53
+ | MTP Layers | 2 Independent (Training) / 1 Recursive x8 (Inference) |
54
+ | MTP Sliding Window Size | 512 (Inference) |
55
+ | Context length | 524,288 |
56
+
57
+ ## Performance
58
+
59
+
60
+ <p align="center">
61
+ <img src="assets/IQuest-Q1_Performance.png" width="100%">
62
+ <br>
63
+ <em>IQuest-Q1 performance across benchmarks. DeepSeek-V4-Flash/Pro refer to the official 0731/0813 releases, respectively. Humanity's Last Exam is reported without tools. IQuest-CLIBench is our in-house benchmark for CLI user experience.</em>
64
+ </p>
65
+
66
+ ### Benchmark Notes
67
+
68
+ For reproducibility, we recommend using a temperature of 1.0, top-p of 0.95, and top-k of 20, with Claude Code `2.1.140` or Codex `0.142` as the respective harness.
69
+
70
+ For each model, we report the publicly reported score; otherwise, we evaluate the model using the corresponding benchmark setup:
71
+ (1) Harness: For agentic coding tasks, we use mini-SWE-agent for DeepSWE v1.1, and Claude Code for other tasks. For Agents' Last Exam, we evaluate our model using Claude Code `2.1.258`. Because our models currently do not have multimodal capability, we replace multimodal content inputs in the agent conversation with placeholders during tokenization. (2) Runtime: We set six-hour limits for CyberGym, eight hours for Terminal-Bench 2.1.
72
+
73
+
74
+
75
+
76
+ ## Quick Start
77
+
78
+ Start a server as described in [Deployment](#deployment), install the client with `pip install openai`, and then call the OpenAI-compatible API:
79
+
80
+ ```python
81
+ from openai import OpenAI
82
+
83
+ client = OpenAI(base_url="http://127.0.0.1:8000/v1", api_key="sk-iquest")
84
+ response = client.chat.completions.create(
85
+ model="IQuest-Q1",
86
+ messages=[
87
+ {"role": "user", "content": "Hello! Can you briefly introduce yourself?"},
88
+ ],
89
+ temperature=1.0,
90
+ top_p=0.95,
91
+ )
92
+ print(response.choices[0].message.content)
93
+ ```
94
+
95
+ ## Deployment
96
+
97
+ For production deployment, we recommend using [SGLang](https://github.com/sgl-project/sglang) or [vLLM](https://github.com/vllm-project/vllm).
98
+
99
+ ### SGLang
100
+
101
+ Use our prebuilt image [iquestlabworkspace/sglang-iquest-q1:cu130](https://hub.docker.com/repository/docker/iquestlabworkspace/sglang-iquest-q1/tags/cu130/):
102
+
103
+ ```bash
104
+ docker pull iquestlabworkspace/sglang-iquest-q1:cu130
105
+
106
+ # without MTP
107
+ MODEL_ROOT="$(hf download IQuestLab/IQuest-Q1 --quiet)" && \
108
+ python -u -m sglang.launch_server \
109
+ --model-path "$MODEL_ROOT" \
110
+ --served-model-name IQuest-Q1 \
111
+ --tp-size 8 \
112
+ --dtype bfloat16 \
113
+ --attention-backend fa3 \
114
+ --mem-fraction-static 0.85 \
115
+ --disable-prefill-cuda-graph \
116
+ --enable-metrics \
117
+ --tool-call-parser iquest_q1 \
118
+ --reasoning-parser iquest_q1 \
119
+ --enable-torch-compile \
120
+ --load-format fastsafetensors \
121
+ --speculative-use-rejection-sampling
122
+
123
+ # with recursive MTP
124
+ MODEL_ROOT="$(hf download IQuestLab/IQuest-Q1 --quiet)" && \
125
+ python -u -m sglang.launch_server \
126
+ --model-path "$MODEL_ROOT" \
127
+ --served-model-name IQuest-Q1 \
128
+ --tp-size 8 \
129
+ --dtype bfloat16 \
130
+ --attention-backend fa3 \
131
+ --mem-fraction-static 0.85 \
132
+ --disable-prefill-cuda-graph \
133
+ --enable-metrics \
134
+ --tool-call-parser iquest_q1 \
135
+ --reasoning-parser iquest_q1 \
136
+ --speculative-algorithm EAGLE \
137
+ --speculative-num-steps 5 \
138
+ --speculative-eagle-topk 1 \
139
+ --speculative-num-draft-tokens 6 \
140
+ --speculative-draft-model-path "$MODEL_ROOT/mtp" \
141
+ --enable-torch-compile \
142
+ --load-format fastsafetensors \
143
+ --speculative-use-rejection-sampling \
144
+ --speculative-draft-attention-backend fa3
145
+ ```
146
+
147
+ ### vLLM
148
+
149
+ Use our image [iquestlabworkspace/vllm-iquest-q1:cu130](https://hub.docker.com/repository/docker/iquestlabworkspace/vllm-iquest-q1/tags/cu130):
150
+
151
+ ```bash
152
+ docker pull iquestlabworkspace/vllm-iquest-q1:cu130
153
+
154
+ # without MTP
155
+ MODEL_ROOT="$(hf download IQuestLab/IQuest-Q1 --quiet)" && \
156
+ vllm serve "$MODEL_ROOT" \
157
+ --served-model-name IQuest-Q1 \
158
+ --tensor-parallel-size 8 \
159
+ --reasoning-parser iquest_q1 \
160
+ --enable-auto-tool-choice \
161
+ --tool-call-parser iquest_q1
162
+
163
+ # with recursive MTP
164
+ MODEL_ROOT="$(hf download IQuestLab/IQuest-Q1 --quiet)" && \
165
+ vllm serve "$MODEL_ROOT" \
166
+ --served-model-name IQuest-Q1 \
167
+ --tensor-parallel-size 8 \
168
+ --reasoning-parser iquest_q1 \
169
+ --enable-auto-tool-choice \
170
+ --tool-call-parser iquest_q1 \
171
+ --enable-prefix-caching \
172
+ --speculative-config '{
173
+ "method": "eagle",
174
+ "model": "'"$MODEL_ROOT"'/mtp",
175
+ "num_speculative_tokens": 5,
176
+ "draft_sample_method": "probabilistic",
177
+ "rejection_sample_method": "standard",
178
+ "enforce_eager": false
179
+ }'
180
+ ```
181
+
182
+ ### Tool Use and Agent Integration
183
+
184
+ Use a gateway that supports tool calling via **Anthropic Messages** for `Claude Code` and **OpenAI Responses** for `Codex`.
185
+
186
+ #### Claude Code
187
+
188
+ We recommend version `2.1.140` and the IQuest-Q1[1m] client-side setting does not change 512K context limit.
189
+
190
+ ```bash
191
+ export ANTHROPIC_MODEL="IQuest-Q1[1m]"
192
+ export ANTHROPIC_DEFAULT_SONNET_MODEL="IQuest-Q1[1m]"
193
+ export ANTHROPIC_DEFAULT_OPUS_MODEL="IQuest-Q1[1m]"
194
+ export ANTHROPIC_DEFAULT_HAIKU_MODEL="IQuest-Q1[1m]"
195
+ export CLAUDE_CODE_SUBAGENT_MODEL="IQuest-Q1[1m]"
196
+ export CLAUDE_CODE_MAX_OUTPUT_TOKENS="131072"
197
+ export CLAUDE_AUTOCOMPACT_PCT_OVERRIDE="80"
198
+ export CLAUDE_CODE_AUTO_COMPACT_WINDOW="524288"
199
+ export API_TIMEOUT_MS="3000000"
200
+ export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC="1"
201
+ export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS="1"
202
+ export ANTHROPIC_BASE_URL="http://example-iquest-q1-link"
203
+ export ANTHROPIC_AUTH_TOKEN="sk-iquest-q1"
204
+ claude --model IQuest-Q1
205
+ ```
206
+
207
+ #### Codex CLI
208
+
209
+ We recommend version `0.142.0`.
210
+
211
+ ```
212
+ export OPENAI_API_KEY="sk-iquest-q1"
213
+ export MODEL_ID="IQuest-Q1"
214
+ # Add /v1 if required by your gateway's Responses endpoint.
215
+ export BASE_URL="http://example-iquest-q1-link"
216
+
217
+ (
218
+ set -eu
219
+ CONFIG_DIR="${HOME}/.codex"
220
+ mkdir -p -- "$CONFIG_DIR"
221
+ CONFIG_DIR="$(cd -- "$CONFIG_DIR" && pwd -P)"
222
+ # Back up existing files before replacing them.
223
+ BACKUP_SUFFIX="$(date +%Y%m%d-%H%M%S)-$$"
224
+ for FILE in config.toml model_catalog.json; do
225
+ if [ -f "$CONFIG_DIR/$FILE" ]; then
226
+ cp -p -- "$CONFIG_DIR/$FILE" "$CONFIG_DIR/$FILE.bak.$BACKUP_SUFFIX"
227
+ fi
228
+ done
229
+ # This configuration disables approval prompts and sandboxing.
230
+ cat > "$CONFIG_DIR/config.toml" <<EOF
231
+ model = "$MODEL_ID"
232
+ model_provider = "iquest"
233
+ approval_policy = "never"
234
+ sandbox_mode = "danger-full-access"
235
+ web_search = "disabled"
236
+ model_reasoning_summary = "detailed"
237
+ model_supports_reasoning_summaries = true
238
+ model_context_window = 524288
239
+ model_auto_compact_token_limit = 419430
240
+ model_auto_compact_token_limit_scope = "total"
241
+ tool_output_token_limit = 32768
242
+ model_catalog_json = "$CONFIG_DIR/model_catalog.json"
243
+ [model_providers.iquest]
244
+ name = "iquest"
245
+ base_url = "${BASE_URL%/}"
246
+ wire_api = "responses"
247
+ env_key = "OPENAI_API_KEY"
248
+ supports_websockets = false
249
+ request_max_retries = 20
250
+ stream_max_retries = 20
251
+ stream_idle_timeout_ms = 600000
252
+ [model_providers.iquest.http_headers]
253
+ max-output-tokens = "131072"
254
+ EOF
255
+ # The gateway must support the reasoning options and max-output-tokens header.
256
+ cat > "$CONFIG_DIR/model_catalog.json" <<EOF
257
+ {
258
+ "models": [
259
+ {
260
+ "slug": "$MODEL_ID",
261
+ "display_name": "$MODEL_ID",
262
+ "description": "IQuest-Q1 served through an API gateway.",
263
+ "context_window": 524288,
264
+ "input_modalities": ["text"],
265
+ "base_instructions": "",
266
+ "supported_reasoning_levels": [],
267
+ "supports_reasoning_summaries": true,
268
+ "supports_parallel_tool_calls": false,
269
+ "shell_type": "default",
270
+ "tool_mode": "default",
271
+ "truncation_policy": {
272
+ "mode": "tokens",
273
+ "limit": 10000
274
+ },
275
+ "visibility": "list",
276
+ "supported_in_api": true,
277
+ "priority": 1,
278
+ "support_verbosity": false,
279
+ "experimental_supported_tools": []
280
+ }
281
+ ]
282
+ }
283
+ EOF
284
+ codex --model "$MODEL_ID"
285
+ )
286
+ ```
287
+
288
+ ## Limitations
289
+
290
+ - **Text-only input.** This checkpoint has no native image, audio, or video input capability.
291
+ - **Output reliability.** Generated explanations and code can be incorrect. Review code changes and verify them with task-appropriate tests.
292
+ - **Tool integration.** Tool calls use the IQuest-specific format in the chat template. Structured tool execution and reasoning extraction require compatible serving parsers and an agent harness.
293
+ - **Challenges in Real-World CLI Tasks.** Real-world CLI tasks often require iterative debugging and verification. IQuest-Q1 may overlook constraints, repeat failed attempts, or leave issues unresolved, necessitating human oversight.
294
+ - **Ongoing development.** IQuest-Q1 remains at an early stage, with substantial limitations in its capabilities and reliability. Much work remains, and we still have a long way to go.
295
+
296
+
297
+ ## Contact Us
298
+
299
+ For technical questions, feedback, or collaboration inquiries, please email us at [research@iquestlab.com](mailto:research@iquestlab.com).
300
+
301
+ ---
302
+
303
+ <p align="center"><strong>IQuest</strong></p>
assets/IQuest-Q1-Post-Training-Pipeline.png ADDED

Git LFS Details

  • SHA256: 8e58a48dc212e9c4f4b1ed8ab86ffb9d17f3e69e50ab1cbbde1584f65741f616
  • Pointer size: 131 Bytes
  • Size of remote file: 384 kB
assets/IQuest-Q1-Training-Pipeline.png ADDED

Git LFS Details

  • SHA256: 425d64a2b20e342a8b6bc4dd67d2a4cd18f5b5dc6a97e777d3dfdf32be7c7ec1
  • Pointer size: 131 Bytes
  • Size of remote file: 357 kB
assets/IQuest-Q1_Performance.png ADDED

Git LFS Details

  • SHA256: 628b7bfb82fb5434c29672e549cc9fbd4ac6c0e76d8d233e4ed6fc4760823f66
  • Pointer size: 132 Bytes
  • Size of remote file: 3.01 MB