jonathankleiman commited on
Commit
933eaed
·
verified ·
1 Parent(s): 1603ef3

Lev 9B: frozen weights (rounds 1-6)

Browse files
NOTICE CHANGED
@@ -1,4 +1,4 @@
1
- d3-mini (Decision 3.0)
2
  Copyright 2026 vLLM Semantic Router Team
3
 
4
- Built on Qwen/Qwen3.5-4B (Apache-2.0).
 
1
+ d3-flash (Decision 3.0)
2
  Copyright 2026 vLLM Semantic Router Team
3
 
4
+ Built on Qwen/Qwen3.5-9B (Apache-2.0).
config.json CHANGED
@@ -15,9 +15,9 @@
15
  "full_attention_interval": 4,
16
  "head_dim": 256,
17
  "hidden_act": "silu",
18
- "hidden_size": 2560,
19
  "initializer_range": 0.02,
20
- "intermediate_size": 9216,
21
  "layer_types": [
22
  "linear_attention",
23
  "linear_attention",
@@ -80,25 +80,25 @@
80
  "rope_theta": 10000000,
81
  "rope_type": "default"
82
  },
83
- "tie_word_embeddings": true,
84
  "use_cache": true,
85
  "vocab_size": 248320
86
  },
87
- "tie_word_embeddings": true,
88
  "transformers_version": "5.17.0",
89
  "video_token_id": 248057,
90
  "vision_config": {
91
  "deepstack_visual_indexes": [],
92
- "depth": 24,
93
  "hidden_act": "gelu_pytorch_tanh",
94
- "hidden_size": 1024,
95
  "in_channels": 3,
96
  "initializer_range": 0.02,
97
- "intermediate_size": 4096,
98
  "model_type": "qwen3_5_vision",
99
  "num_heads": 16,
100
  "num_position_embeddings": 2304,
101
- "out_hidden_size": 2560,
102
  "patch_size": 16,
103
  "rope_parameters": {
104
  "rope_theta": 10000.0,
 
15
  "full_attention_interval": 4,
16
  "head_dim": 256,
17
  "hidden_act": "silu",
18
+ "hidden_size": 4096,
19
  "initializer_range": 0.02,
20
+ "intermediate_size": 12288,
21
  "layer_types": [
22
  "linear_attention",
23
  "linear_attention",
 
80
  "rope_theta": 10000000,
81
  "rope_type": "default"
82
  },
83
+ "tie_word_embeddings": false,
84
  "use_cache": true,
85
  "vocab_size": 248320
86
  },
87
+ "tie_word_embeddings": false,
88
  "transformers_version": "5.17.0",
89
  "video_token_id": 248057,
90
  "vision_config": {
91
  "deepstack_visual_indexes": [],
92
+ "depth": 27,
93
  "hidden_act": "gelu_pytorch_tanh",
94
+ "hidden_size": 1152,
95
  "in_channels": 3,
96
  "initializer_range": 0.02,
97
+ "intermediate_size": 4304,
98
  "model_type": "qwen3_5_vision",
99
  "num_heads": 16,
100
  "num_position_embeddings": 2304,
101
+ "out_hidden_size": 4096,
102
  "patch_size": 16,
103
  "rope_parameters": {
104
  "rope_theta": 10000.0,
decision_config.json CHANGED
@@ -2,8 +2,8 @@
2
  "format_version": 1,
3
  "format_id": "d3-code-readout-v1",
4
  "prompt": "d3",
5
- "base_model": "Qwen/Qwen3.5-4B",
6
- "revision": "851bf6e806efd8d0a36b00ddf55e13ccb7b8cd0a",
7
  "codes": [
8
  "A",
9
  "B",
@@ -518,7 +518,7 @@
518
  12185,
519
  78382
520
  ],
521
- "temperature": 1.25,
522
  "attention_mode": "noncausal_full_attention",
523
  "pooling": "last",
524
  "max_length": null,
 
2
  "format_version": 1,
3
  "format_id": "d3-code-readout-v1",
4
  "prompt": "d3",
5
+ "base_model": "Qwen/Qwen3.5-9B",
6
+ "revision": "c202236235762e1c871ad0ccb60c8ee5ba337b9a",
7
  "codes": [
8
  "A",
9
  "B",
 
518
  12185,
519
  78382
520
  ],
521
+ "temperature": 1.6,
522
  "attention_mode": "noncausal_full_attention",
523
  "pooling": "last",
524
  "max_length": null,
model-00001-of-00002.safetensors → model-00001-of-00004.safetensors RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:60621cb8c3f90e634b98f0ffaf609159ee2c450630386f09dd5f7fd7938d7598
3
- size 4973332144
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2c322016b91b1232c0d7628560164560d06d477a3edc3362714635f0e2f5949c
3
+ size 4911663824
model-00002-of-00002.safetensors → model-00002-of-00004.safetensors RENAMED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:ab80e570e5387e617351b57585d0d9408aaa871e5e82e93d19a1ddcb4e978896
3
- size 4105283936
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:169ae981a723d83037c340e0641bda9e2160c0383433dc8d9b274e236eb74b82
3
+ size 4987839568
model-00003-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:feb85fdf87b29d88a487fe5ee056a434a76dc55e09db0252fa8e80b7e946573a
3
+ size 4954726768
model-00004-of-00004.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:37ece9f15f7e4a7cf933b4201741172af73668ad5da8f0503919dbafa3bae3fe
3
+ size 1931248816
model.safetensors.index.json CHANGED
The diff for this file is too large to render. See raw diff
 
questions.py CHANGED
@@ -201,3 +201,78 @@ QUESTIONS.update({
201
  CITATOR = ("treatment", "history", "reported", "dissent")
202
  DECISION_LEVEL = ("outcome", "decision_type", "proceeding", "area", "publication_ban", "self_represented", "separate_opinions")
203
  PASSAGE_LEVEL = ("standard_of_review", "element_finding")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
  CITATOR = ("treatment", "history", "reported", "dissent")
202
  DECISION_LEVEL = ("outcome", "decision_type", "proceeding", "area", "publication_ban", "self_represented", "separate_opinions")
203
  PASSAGE_LEVEL = ("standard_of_review", "element_finding")
204
+
205
+
206
+ # ---- Second-generation questions ----
207
+
208
+ VOICE = {
209
+ "own_reasoning": "The court cites or discusses the case in its own reasoning.",
210
+ "inside_quotation": "The case appears only inside a passage the court quotes from another source.",
211
+ "other_court_or_party": "The case appears only where the court reports another court's reasoning or a party's argument.",
212
+ "not_named": "The excerpt never actually names or cites this case.",
213
+ }
214
+ TREATMENT_GROUP = {
215
+ "positive": "The court follows the case or applies its rule.",
216
+ "neutral": "The court considers the case or merely refers to it.",
217
+ "distinguished": "The court says the case does not govern because the facts or the law differ.",
218
+ "negative": "The court questions the case, declines to follow it, overrules it, or holds it superseded by statute.",
219
+ "not_courts_own": "The case appears only in a quotation, in a party's argument or another court's reasoning, or not at all.",
220
+ "same_matter": "The case is an earlier decision in the same proceeding.",
221
+ }
222
+ GROUP_OF = {"followed": "positive", "applied": "positive", "considered": "neutral", "referred_to": "neutral",
223
+ "distinguished": "distinguished", "questioned": "negative", "not_followed": "negative", "overruled": "negative",
224
+ "superseded_by_statute": "negative", "inside_quotation": "not_courts_own", "other_court_or_party": "not_courts_own",
225
+ "not_named": "not_courts_own", "same_matter": "same_matter"}
226
+ VOICE_OF = {**{k: "own_reasoning" for k in GROUP_OF}, "inside_quotation": "inside_quotation",
227
+ "other_court_or_party": "other_court_or_party", "not_named": "not_named"}
228
+ BURDEN = {
229
+ "balance_of_probabilities": "The court applies the balance of probabilities to this issue.",
230
+ "beyond_reasonable_doubt": "The court applies proof beyond a reasonable doubt to this issue.",
231
+ "other": "The court states some other burden or standard of proof for this issue.",
232
+ "not_stated": "The excerpt states no burden or standard of proof for this issue.",
233
+ }
234
+ PROVISION = {
235
+ "interpreted": "The court states what the provision's words mean, how far it reaches, or what its purpose requires.",
236
+ "applied": "The court applies the provision to the facts without stating its meaning.",
237
+ "mentioned": "The court only refers to the provision or quotes it.",
238
+ }
239
+ PREVAILING = {
240
+ "appellant": None, "respondent": None, "applicant": None, "plaintiff": None, "defendant": None, "accused": None,
241
+ "crown": None, "split": "The result is mixed.", "other": "Another party, or unclear.",
242
+ }
243
+ COUNSEL = {
244
+ "listed": "Counsel are named.",
245
+ "unnamed_representative": "A party was represented but the representative is not named.",
246
+ "none": "The decision says a party was unrepresented and no counsel is named.",
247
+ "redacted": "Names of counsel were removed or reduced to initials.",
248
+ "not_stated": "There is no appearance information at all.",
249
+ }
250
+
251
+ QUESTIONS.update({
252
+ "voice": {"type": "choice", "instructions": "In whose voice does the cited case appear in the citing decision?", "criteria": VOICE},
253
+ "negative": {"type": "noul", "instructions": "Does the citing court itself treat the cited case negatively: question it, decline to follow it, overrule it, or hold it superseded by statute?"},
254
+ "treatment_group": {"type": "choice", "instructions": "Broadly, how does the citing decision treat the cited case? If it treats the case in more than one way, choose the most negative.", "criteria": TREATMENT_GROUP},
255
+ "burden": {"type": "choice", "instructions": "Which burden or standard of proof does the court apply to the issue stated in the excerpt?", "criteria": BURDEN},
256
+ "provision_treatment": {"type": "choice", "instructions": "How does the decision treat the statutory provision named in the excerpt?", "criteria": PROVISION},
257
+ "proposition": {"type": "noul", "instructions": "Does the court, in this paragraph, state a proposition of law that it relies on to decide?"},
258
+ "prevailing_party": {"type": "choice", "instructions": "Which party prevailed in this decision?", "criteria": PREVAILING},
259
+ "counsel_status": {"type": "choice", "instructions": "What does the decision say about who appeared for the parties?", "criteria": COUNSEL},
260
+ })
261
+ AUXILIARY = ("voice", "negative", "treatment_group")
262
+ SECOND_GENERATION = ("burden", "provision_treatment", "proposition", "prevailing_party", "counsel_status", "cited_for", "cite_fill")
263
+
264
+ # questions whose options come with the example
265
+ ITEM_INSTRUCTIONS = {
266
+ "cite_fill": "One citation was removed from the paragraph and replaced with [CITATION]. Which case was cited there?",
267
+ "cited_for": "What does the citing decision cite the case for?",
268
+ "au_treatment": "How does the citing decision treat the cited case? If it treats the case in more than one way, choose the most negative treatment.",
269
+ }
270
+
271
+
272
+ def spec_of(row):
273
+ """The question of a training or test row: a fixed one from QUESTIONS, or one the row carries itself."""
274
+ if row.get("options"):
275
+ return {"type": "choice", "instructions": row.get("instructions") or ITEM_INSTRUCTIONS[row["q"]], "criteria": dict(row["options"])}
276
+ if row.get("instructions"):
277
+ return {"type": "noul", "instructions": row["instructions"]}
278
+ return QUESTIONS[row["q"]]
readout.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:b3f46e7aded29c1282cfc51d34a8462a9289a179d29aa44c912637a183e3c678
3
- size 2611280
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c1fcd628c2891dd37d7987a9195f354950123aa461830ab0a66cda4f49739745
3
+ size 4178000