ysong21 commited on
Commit
aa46295
·
verified ·
1 Parent(s): 5799f80

Upload merged FP8_DYNAMIC checkpoint + model card

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip 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
 
 
33
  *.zip 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
README.md ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: google/gemma-3-27b-it
3
+ library_name: vllm
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - gemma
7
+ - gemma3
8
+ - text-rewrite
9
+ - fp8
10
+ - quantized
11
+ - compressed-tensors
12
+ - vllm
13
+ license: gemma
14
+ ---
15
+
16
+ # Entropy v1 FP8 (Gemma 3 27B IT)
17
+
18
+ Entropy v1 FP8 is a **merged + FP8-quantized** checkpoint based on `google/gemma-3-27b-it`, fine-tuned to rewrite AI-polished text into more human-sounding prose while preserving meaning.
19
+
20
+ This repo is intended for **efficient inference in vLLM** without runtime LoRA.
21
+
22
+ ## What It Does
23
+
24
+ Given an AI-sounding passage, the model rewrites it to be:
25
+
26
+ - More human and textured (less generic "professional polish")
27
+ - More varied in rhythm/word choice
28
+ - Meaning-preserving (style change, not content change)
29
+
30
+ ## Prompt Trigger (Recommended)
31
+
32
+ This is the pattern used in our fine-tuning data. Keep the passage after a newline.
33
+
34
+ ```text
35
+ Polish this AI passage to feel more human:
36
+ {passage}
37
+ ```
38
+
39
+ Short variants that usually work similarly:
40
+
41
+ - `Rephrase this AI passage to feel more human:\n{passage}`
42
+ - `Convert this AI passage into a more human-sounding version:\n{passage}`
43
+
44
+ ## How To Run (vLLM)
45
+
46
+ ### 1) Start an OpenAI-compatible server
47
+
48
+ ```bash
49
+ vllm serve ysong21/entropy-v1-fp8 \
50
+ --served-model-name entropy-v1-fp8 \
51
+ --host 0.0.0.0 \
52
+ --port 8000 \
53
+ --dtype bfloat16 \
54
+ --max-model-len 8192
55
+ ```
56
+
57
+ Notes:
58
+
59
+ - This checkpoint is already quantized (compressed-tensors FP8_DYNAMIC). You do not need to pass `--quantization fp8`.
60
+ - FP8 execution is hardware-dependent; see "Quantization" below.
61
+
62
+ ### 2) Send a request
63
+
64
+ ```bash
65
+ curl http://127.0.0.1:8000/v1/chat/completions \
66
+ -H 'Content-Type: application/json' \
67
+ -H 'Authorization: Bearer sk-noop' \
68
+ -d '{
69
+ "model": "entropy-v1-fp8",
70
+ "messages": [
71
+ {
72
+ "role": "user",
73
+ "content": "Polish this AI passage to feel more human:\n" \
74
+ "This is a highly polished paragraph that sounds generic and overly smooth..."
75
+ }
76
+ ],
77
+ "temperature": 0.7,
78
+ "top_p": 0.95,
79
+ "max_tokens": 512
80
+ }'
81
+ ```
82
+
83
+ ## Validation Benchmark (70 Gutenberg Examples)
84
+
85
+ We evaluate by computing the **conditional negative log-likelihood** of the target (human) rewrite given the prompt, and report **character-normalized bits_per_char**:
86
+
87
+ - Let `NLL` be the sum of token NLL over the target rewrite (teacher-forced).
88
+ - Let `C` be the number of characters in the target rewrite.
89
+ - `bits_per_char = (NLL / C) / ln(2)`.
90
+
91
+ This char-normalization makes the score more comparable across models/tokenizers than token-based perplexity.
92
+
93
+ Lower is better.
94
+
95
+ ### Results
96
+
97
+ Baseline for relative improvement: `N8Programs/Unslopper-30B-A3B-bf16`.
98
+
99
+ | System | bits_per_char (↓) | Relative vs Unslopper (↓) |
100
+ |---|---:|---:|
101
+ | **Entropy v1 FP8 (this repo)** | **0.35994** | **+4.07%** |
102
+ | N8Programs/Unslopper-30B-A3B-bf16 | 0.37522 | +0.00% |
103
+ | Base google/gemma-3-27b-it | 0.99565 | -165.35% |
104
+
105
+ Interpretation:
106
+
107
+ - Entropy v1 FP8 achieves the best bits_per_char on this 70-example Gutenberg validation study.
108
+
109
+ ## Quantization (Merged FP8_DYNAMIC)
110
+
111
+ This checkpoint is produced in two steps:
112
+
113
+ 1. **Merge**: a PEFT LoRA adapter is merged into the base Gemma 3 27B IT weights (no runtime LoRA).
114
+ 2. **Quantize**: we apply **FP8_DYNAMIC (W8A8)** quantization with `llm-compressor`:
115
+
116
+ - Targets: all `Linear` layers in the language model
117
+ - Weights: FP8, static per-channel scaling
118
+ - Activations: FP8, dynamic per-token scaling
119
+ - Ignored: `lm_head` and the Gemma 3 vision tower (left in BF16)
120
+
121
+ The model is saved in a vLLM-loadable **compressed-tensors** format.
122
+
123
+ Hardware notes (vLLM):
124
+
125
+ - Hopper/Ada/Blackwell-class NVIDIA GPUs can execute FP8 efficiently.
126
+ - Other GPUs may fall back to less optimized modes.
127
+
128
+ ## Throughput (vLLM)
129
+
130
+ Measured on a single NVIDIA RTX PRO 6000 Blackwell 96GB using `vllm/vllm-openai:v0.11.2` with random prompts:
131
+
132
+ - Input length: 512 tokens
133
+ - Output length: 256 tokens
134
+
135
+ | max_concurrency | output tok/s | total tok/s |
136
+ |---:|---:|---:|
137
+ | 1 | 25.87 | 77.51 |
138
+ | 20 | 412.60 | 1236.20 |
139
+
140
+ ## Limitations / Misuse
141
+
142
+ - Trained primarily on literary/public-domain style passages; performance may vary on technical/legal writing.
143
+ - Like other "humanizer" models, it can be misused for deceptive purposes. Use responsibly and follow applicable policies and disclosure norms.
144
+
145
+ ## Citation
146
+
147
+ If you use this model in research, please cite:
148
+
149
+ ```bibtex
150
+ @misc{entropy_v1_fp8,
151
+ title = {Entropy v1 FP8 (Gemma 3 27B IT)},
152
+ author = {ysong21},
153
+ year = {2026},
154
+ note = {Merged + FP8_DYNAMIC quantized checkpoint for AI-to-human rewriting.}
155
+ }
156
+ ```
added_tokens.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ {
2
+ "<image_soft_token>": 262144
3
+ }
chat_template.jinja ADDED
@@ -0,0 +1,47 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {{ bos_token }}
2
+ {%- if messages[0]['role'] == 'system' -%}
3
+ {%- if messages[0]['content'] is string -%}
4
+ {%- set first_user_prefix = messages[0]['content'] + '
5
+
6
+ ' -%}
7
+ {%- else -%}
8
+ {%- set first_user_prefix = messages[0]['content'][0]['text'] + '
9
+
10
+ ' -%}
11
+ {%- endif -%}
12
+ {%- set loop_messages = messages[1:] -%}
13
+ {%- else -%}
14
+ {%- set first_user_prefix = "" -%}
15
+ {%- set loop_messages = messages -%}
16
+ {%- endif -%}
17
+ {%- for message in loop_messages -%}
18
+ {%- if (message['role'] == 'user') != (loop.index0 % 2 == 0) -%}
19
+ {{ raise_exception("Conversation roles must alternate user/assistant/user/assistant/...") }}
20
+ {%- endif -%}
21
+ {%- if (message['role'] == 'assistant') -%}
22
+ {%- set role = "model" -%}
23
+ {%- else -%}
24
+ {%- set role = message['role'] -%}
25
+ {%- endif -%}
26
+ {{ '<start_of_turn>' + role + '
27
+ ' + (first_user_prefix if loop.first else "") }}
28
+ {%- if message['content'] is string -%}
29
+ {{ message['content'] | trim }}
30
+ {%- elif message['content'] is iterable -%}
31
+ {%- for item in message['content'] -%}
32
+ {%- if item['type'] == 'image' -%}
33
+ {{ '<start_of_image>' }}
34
+ {%- elif item['type'] == 'text' -%}
35
+ {{ item['text'] | trim }}
36
+ {%- endif -%}
37
+ {%- endfor -%}
38
+ {%- else -%}
39
+ {{ raise_exception("Invalid content type") }}
40
+ {%- endif -%}
41
+ {{ '<end_of_turn>
42
+ ' }}
43
+ {%- endfor -%}
44
+ {%- if add_generation_prompt -%}
45
+ {{'<start_of_turn>model
46
+ '}}
47
+ {%- endif -%}
config.json ADDED
@@ -0,0 +1,334 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "Gemma3ForConditionalGeneration"
4
+ ],
5
+ "boi_token_index": 255999,
6
+ "dtype": "bfloat16",
7
+ "eoi_token_index": 256000,
8
+ "eos_token_id": [
9
+ 1,
10
+ 106
11
+ ],
12
+ "image_token_index": 262144,
13
+ "initializer_range": 0.02,
14
+ "mm_tokens_per_image": 256,
15
+ "model_type": "gemma3",
16
+ "quantization_config": {
17
+ "config_groups": {
18
+ "group_0": {
19
+ "format": "float-quantized",
20
+ "input_activations": {
21
+ "actorder": null,
22
+ "block_structure": null,
23
+ "dynamic": true,
24
+ "group_size": null,
25
+ "num_bits": 8,
26
+ "observer": null,
27
+ "observer_kwargs": {},
28
+ "strategy": "token",
29
+ "symmetric": true,
30
+ "type": "float"
31
+ },
32
+ "output_activations": null,
33
+ "targets": [
34
+ "Linear"
35
+ ],
36
+ "weights": {
37
+ "actorder": null,
38
+ "block_structure": null,
39
+ "dynamic": false,
40
+ "group_size": null,
41
+ "num_bits": 8,
42
+ "observer": "minmax",
43
+ "observer_kwargs": {},
44
+ "strategy": "channel",
45
+ "symmetric": true,
46
+ "type": "float"
47
+ }
48
+ }
49
+ },
50
+ "format": "float-quantized",
51
+ "global_compression_ratio": null,
52
+ "ignore": [
53
+ "model.vision_tower.vision_model.encoder.layers.0.self_attn.k_proj",
54
+ "model.vision_tower.vision_model.encoder.layers.0.self_attn.v_proj",
55
+ "model.vision_tower.vision_model.encoder.layers.0.self_attn.q_proj",
56
+ "model.vision_tower.vision_model.encoder.layers.0.self_attn.out_proj",
57
+ "model.vision_tower.vision_model.encoder.layers.0.mlp.fc1",
58
+ "model.vision_tower.vision_model.encoder.layers.0.mlp.fc2",
59
+ "model.vision_tower.vision_model.encoder.layers.1.self_attn.k_proj",
60
+ "model.vision_tower.vision_model.encoder.layers.1.self_attn.v_proj",
61
+ "model.vision_tower.vision_model.encoder.layers.1.self_attn.q_proj",
62
+ "model.vision_tower.vision_model.encoder.layers.1.self_attn.out_proj",
63
+ "model.vision_tower.vision_model.encoder.layers.1.mlp.fc1",
64
+ "model.vision_tower.vision_model.encoder.layers.1.mlp.fc2",
65
+ "model.vision_tower.vision_model.encoder.layers.2.self_attn.k_proj",
66
+ "model.vision_tower.vision_model.encoder.layers.2.self_attn.v_proj",
67
+ "model.vision_tower.vision_model.encoder.layers.2.self_attn.q_proj",
68
+ "model.vision_tower.vision_model.encoder.layers.2.self_attn.out_proj",
69
+ "model.vision_tower.vision_model.encoder.layers.2.mlp.fc1",
70
+ "model.vision_tower.vision_model.encoder.layers.2.mlp.fc2",
71
+ "model.vision_tower.vision_model.encoder.layers.3.self_attn.k_proj",
72
+ "model.vision_tower.vision_model.encoder.layers.3.self_attn.v_proj",
73
+ "model.vision_tower.vision_model.encoder.layers.3.self_attn.q_proj",
74
+ "model.vision_tower.vision_model.encoder.layers.3.self_attn.out_proj",
75
+ "model.vision_tower.vision_model.encoder.layers.3.mlp.fc1",
76
+ "model.vision_tower.vision_model.encoder.layers.3.mlp.fc2",
77
+ "model.vision_tower.vision_model.encoder.layers.4.self_attn.k_proj",
78
+ "model.vision_tower.vision_model.encoder.layers.4.self_attn.v_proj",
79
+ "model.vision_tower.vision_model.encoder.layers.4.self_attn.q_proj",
80
+ "model.vision_tower.vision_model.encoder.layers.4.self_attn.out_proj",
81
+ "model.vision_tower.vision_model.encoder.layers.4.mlp.fc1",
82
+ "model.vision_tower.vision_model.encoder.layers.4.mlp.fc2",
83
+ "model.vision_tower.vision_model.encoder.layers.5.self_attn.k_proj",
84
+ "model.vision_tower.vision_model.encoder.layers.5.self_attn.v_proj",
85
+ "model.vision_tower.vision_model.encoder.layers.5.self_attn.q_proj",
86
+ "model.vision_tower.vision_model.encoder.layers.5.self_attn.out_proj",
87
+ "model.vision_tower.vision_model.encoder.layers.5.mlp.fc1",
88
+ "model.vision_tower.vision_model.encoder.layers.5.mlp.fc2",
89
+ "model.vision_tower.vision_model.encoder.layers.6.self_attn.k_proj",
90
+ "model.vision_tower.vision_model.encoder.layers.6.self_attn.v_proj",
91
+ "model.vision_tower.vision_model.encoder.layers.6.self_attn.q_proj",
92
+ "model.vision_tower.vision_model.encoder.layers.6.self_attn.out_proj",
93
+ "model.vision_tower.vision_model.encoder.layers.6.mlp.fc1",
94
+ "model.vision_tower.vision_model.encoder.layers.6.mlp.fc2",
95
+ "model.vision_tower.vision_model.encoder.layers.7.self_attn.k_proj",
96
+ "model.vision_tower.vision_model.encoder.layers.7.self_attn.v_proj",
97
+ "model.vision_tower.vision_model.encoder.layers.7.self_attn.q_proj",
98
+ "model.vision_tower.vision_model.encoder.layers.7.self_attn.out_proj",
99
+ "model.vision_tower.vision_model.encoder.layers.7.mlp.fc1",
100
+ "model.vision_tower.vision_model.encoder.layers.7.mlp.fc2",
101
+ "model.vision_tower.vision_model.encoder.layers.8.self_attn.k_proj",
102
+ "model.vision_tower.vision_model.encoder.layers.8.self_attn.v_proj",
103
+ "model.vision_tower.vision_model.encoder.layers.8.self_attn.q_proj",
104
+ "model.vision_tower.vision_model.encoder.layers.8.self_attn.out_proj",
105
+ "model.vision_tower.vision_model.encoder.layers.8.mlp.fc1",
106
+ "model.vision_tower.vision_model.encoder.layers.8.mlp.fc2",
107
+ "model.vision_tower.vision_model.encoder.layers.9.self_attn.k_proj",
108
+ "model.vision_tower.vision_model.encoder.layers.9.self_attn.v_proj",
109
+ "model.vision_tower.vision_model.encoder.layers.9.self_attn.q_proj",
110
+ "model.vision_tower.vision_model.encoder.layers.9.self_attn.out_proj",
111
+ "model.vision_tower.vision_model.encoder.layers.9.mlp.fc1",
112
+ "model.vision_tower.vision_model.encoder.layers.9.mlp.fc2",
113
+ "model.vision_tower.vision_model.encoder.layers.10.self_attn.k_proj",
114
+ "model.vision_tower.vision_model.encoder.layers.10.self_attn.v_proj",
115
+ "model.vision_tower.vision_model.encoder.layers.10.self_attn.q_proj",
116
+ "model.vision_tower.vision_model.encoder.layers.10.self_attn.out_proj",
117
+ "model.vision_tower.vision_model.encoder.layers.10.mlp.fc1",
118
+ "model.vision_tower.vision_model.encoder.layers.10.mlp.fc2",
119
+ "model.vision_tower.vision_model.encoder.layers.11.self_attn.k_proj",
120
+ "model.vision_tower.vision_model.encoder.layers.11.self_attn.v_proj",
121
+ "model.vision_tower.vision_model.encoder.layers.11.self_attn.q_proj",
122
+ "model.vision_tower.vision_model.encoder.layers.11.self_attn.out_proj",
123
+ "model.vision_tower.vision_model.encoder.layers.11.mlp.fc1",
124
+ "model.vision_tower.vision_model.encoder.layers.11.mlp.fc2",
125
+ "model.vision_tower.vision_model.encoder.layers.12.self_attn.k_proj",
126
+ "model.vision_tower.vision_model.encoder.layers.12.self_attn.v_proj",
127
+ "model.vision_tower.vision_model.encoder.layers.12.self_attn.q_proj",
128
+ "model.vision_tower.vision_model.encoder.layers.12.self_attn.out_proj",
129
+ "model.vision_tower.vision_model.encoder.layers.12.mlp.fc1",
130
+ "model.vision_tower.vision_model.encoder.layers.12.mlp.fc2",
131
+ "model.vision_tower.vision_model.encoder.layers.13.self_attn.k_proj",
132
+ "model.vision_tower.vision_model.encoder.layers.13.self_attn.v_proj",
133
+ "model.vision_tower.vision_model.encoder.layers.13.self_attn.q_proj",
134
+ "model.vision_tower.vision_model.encoder.layers.13.self_attn.out_proj",
135
+ "model.vision_tower.vision_model.encoder.layers.13.mlp.fc1",
136
+ "model.vision_tower.vision_model.encoder.layers.13.mlp.fc2",
137
+ "model.vision_tower.vision_model.encoder.layers.14.self_attn.k_proj",
138
+ "model.vision_tower.vision_model.encoder.layers.14.self_attn.v_proj",
139
+ "model.vision_tower.vision_model.encoder.layers.14.self_attn.q_proj",
140
+ "model.vision_tower.vision_model.encoder.layers.14.self_attn.out_proj",
141
+ "model.vision_tower.vision_model.encoder.layers.14.mlp.fc1",
142
+ "model.vision_tower.vision_model.encoder.layers.14.mlp.fc2",
143
+ "model.vision_tower.vision_model.encoder.layers.15.self_attn.k_proj",
144
+ "model.vision_tower.vision_model.encoder.layers.15.self_attn.v_proj",
145
+ "model.vision_tower.vision_model.encoder.layers.15.self_attn.q_proj",
146
+ "model.vision_tower.vision_model.encoder.layers.15.self_attn.out_proj",
147
+ "model.vision_tower.vision_model.encoder.layers.15.mlp.fc1",
148
+ "model.vision_tower.vision_model.encoder.layers.15.mlp.fc2",
149
+ "model.vision_tower.vision_model.encoder.layers.16.self_attn.k_proj",
150
+ "model.vision_tower.vision_model.encoder.layers.16.self_attn.v_proj",
151
+ "model.vision_tower.vision_model.encoder.layers.16.self_attn.q_proj",
152
+ "model.vision_tower.vision_model.encoder.layers.16.self_attn.out_proj",
153
+ "model.vision_tower.vision_model.encoder.layers.16.mlp.fc1",
154
+ "model.vision_tower.vision_model.encoder.layers.16.mlp.fc2",
155
+ "model.vision_tower.vision_model.encoder.layers.17.self_attn.k_proj",
156
+ "model.vision_tower.vision_model.encoder.layers.17.self_attn.v_proj",
157
+ "model.vision_tower.vision_model.encoder.layers.17.self_attn.q_proj",
158
+ "model.vision_tower.vision_model.encoder.layers.17.self_attn.out_proj",
159
+ "model.vision_tower.vision_model.encoder.layers.17.mlp.fc1",
160
+ "model.vision_tower.vision_model.encoder.layers.17.mlp.fc2",
161
+ "model.vision_tower.vision_model.encoder.layers.18.self_attn.k_proj",
162
+ "model.vision_tower.vision_model.encoder.layers.18.self_attn.v_proj",
163
+ "model.vision_tower.vision_model.encoder.layers.18.self_attn.q_proj",
164
+ "model.vision_tower.vision_model.encoder.layers.18.self_attn.out_proj",
165
+ "model.vision_tower.vision_model.encoder.layers.18.mlp.fc1",
166
+ "model.vision_tower.vision_model.encoder.layers.18.mlp.fc2",
167
+ "model.vision_tower.vision_model.encoder.layers.19.self_attn.k_proj",
168
+ "model.vision_tower.vision_model.encoder.layers.19.self_attn.v_proj",
169
+ "model.vision_tower.vision_model.encoder.layers.19.self_attn.q_proj",
170
+ "model.vision_tower.vision_model.encoder.layers.19.self_attn.out_proj",
171
+ "model.vision_tower.vision_model.encoder.layers.19.mlp.fc1",
172
+ "model.vision_tower.vision_model.encoder.layers.19.mlp.fc2",
173
+ "model.vision_tower.vision_model.encoder.layers.20.self_attn.k_proj",
174
+ "model.vision_tower.vision_model.encoder.layers.20.self_attn.v_proj",
175
+ "model.vision_tower.vision_model.encoder.layers.20.self_attn.q_proj",
176
+ "model.vision_tower.vision_model.encoder.layers.20.self_attn.out_proj",
177
+ "model.vision_tower.vision_model.encoder.layers.20.mlp.fc1",
178
+ "model.vision_tower.vision_model.encoder.layers.20.mlp.fc2",
179
+ "model.vision_tower.vision_model.encoder.layers.21.self_attn.k_proj",
180
+ "model.vision_tower.vision_model.encoder.layers.21.self_attn.v_proj",
181
+ "model.vision_tower.vision_model.encoder.layers.21.self_attn.q_proj",
182
+ "model.vision_tower.vision_model.encoder.layers.21.self_attn.out_proj",
183
+ "model.vision_tower.vision_model.encoder.layers.21.mlp.fc1",
184
+ "model.vision_tower.vision_model.encoder.layers.21.mlp.fc2",
185
+ "model.vision_tower.vision_model.encoder.layers.22.self_attn.k_proj",
186
+ "model.vision_tower.vision_model.encoder.layers.22.self_attn.v_proj",
187
+ "model.vision_tower.vision_model.encoder.layers.22.self_attn.q_proj",
188
+ "model.vision_tower.vision_model.encoder.layers.22.self_attn.out_proj",
189
+ "model.vision_tower.vision_model.encoder.layers.22.mlp.fc1",
190
+ "model.vision_tower.vision_model.encoder.layers.22.mlp.fc2",
191
+ "model.vision_tower.vision_model.encoder.layers.23.self_attn.k_proj",
192
+ "model.vision_tower.vision_model.encoder.layers.23.self_attn.v_proj",
193
+ "model.vision_tower.vision_model.encoder.layers.23.self_attn.q_proj",
194
+ "model.vision_tower.vision_model.encoder.layers.23.self_attn.out_proj",
195
+ "model.vision_tower.vision_model.encoder.layers.23.mlp.fc1",
196
+ "model.vision_tower.vision_model.encoder.layers.23.mlp.fc2",
197
+ "model.vision_tower.vision_model.encoder.layers.24.self_attn.k_proj",
198
+ "model.vision_tower.vision_model.encoder.layers.24.self_attn.v_proj",
199
+ "model.vision_tower.vision_model.encoder.layers.24.self_attn.q_proj",
200
+ "model.vision_tower.vision_model.encoder.layers.24.self_attn.out_proj",
201
+ "model.vision_tower.vision_model.encoder.layers.24.mlp.fc1",
202
+ "model.vision_tower.vision_model.encoder.layers.24.mlp.fc2",
203
+ "model.vision_tower.vision_model.encoder.layers.25.self_attn.k_proj",
204
+ "model.vision_tower.vision_model.encoder.layers.25.self_attn.v_proj",
205
+ "model.vision_tower.vision_model.encoder.layers.25.self_attn.q_proj",
206
+ "model.vision_tower.vision_model.encoder.layers.25.self_attn.out_proj",
207
+ "model.vision_tower.vision_model.encoder.layers.25.mlp.fc1",
208
+ "model.vision_tower.vision_model.encoder.layers.25.mlp.fc2",
209
+ "model.vision_tower.vision_model.encoder.layers.26.self_attn.k_proj",
210
+ "model.vision_tower.vision_model.encoder.layers.26.self_attn.v_proj",
211
+ "model.vision_tower.vision_model.encoder.layers.26.self_attn.q_proj",
212
+ "model.vision_tower.vision_model.encoder.layers.26.self_attn.out_proj",
213
+ "model.vision_tower.vision_model.encoder.layers.26.mlp.fc1",
214
+ "model.vision_tower.vision_model.encoder.layers.26.mlp.fc2",
215
+ "lm_head"
216
+ ],
217
+ "kv_cache_scheme": null,
218
+ "quant_method": "compressed-tensors",
219
+ "quantization_status": "compressed",
220
+ "sparsity_config": {},
221
+ "transform_config": {},
222
+ "version": "0.13.0"
223
+ },
224
+ "text_config": {
225
+ "_sliding_window_pattern": 6,
226
+ "attention_bias": false,
227
+ "attention_dropout": 0.0,
228
+ "attn_logit_softcapping": null,
229
+ "dtype": "bfloat16",
230
+ "final_logit_softcapping": null,
231
+ "head_dim": 128,
232
+ "hidden_activation": "gelu_pytorch_tanh",
233
+ "hidden_size": 5376,
234
+ "initializer_range": 0.02,
235
+ "intermediate_size": 21504,
236
+ "layer_types": [
237
+ "sliding_attention",
238
+ "sliding_attention",
239
+ "sliding_attention",
240
+ "sliding_attention",
241
+ "sliding_attention",
242
+ "full_attention",
243
+ "sliding_attention",
244
+ "sliding_attention",
245
+ "sliding_attention",
246
+ "sliding_attention",
247
+ "sliding_attention",
248
+ "full_attention",
249
+ "sliding_attention",
250
+ "sliding_attention",
251
+ "sliding_attention",
252
+ "sliding_attention",
253
+ "sliding_attention",
254
+ "full_attention",
255
+ "sliding_attention",
256
+ "sliding_attention",
257
+ "sliding_attention",
258
+ "sliding_attention",
259
+ "sliding_attention",
260
+ "full_attention",
261
+ "sliding_attention",
262
+ "sliding_attention",
263
+ "sliding_attention",
264
+ "sliding_attention",
265
+ "sliding_attention",
266
+ "full_attention",
267
+ "sliding_attention",
268
+ "sliding_attention",
269
+ "sliding_attention",
270
+ "sliding_attention",
271
+ "sliding_attention",
272
+ "full_attention",
273
+ "sliding_attention",
274
+ "sliding_attention",
275
+ "sliding_attention",
276
+ "sliding_attention",
277
+ "sliding_attention",
278
+ "full_attention",
279
+ "sliding_attention",
280
+ "sliding_attention",
281
+ "sliding_attention",
282
+ "sliding_attention",
283
+ "sliding_attention",
284
+ "full_attention",
285
+ "sliding_attention",
286
+ "sliding_attention",
287
+ "sliding_attention",
288
+ "sliding_attention",
289
+ "sliding_attention",
290
+ "full_attention",
291
+ "sliding_attention",
292
+ "sliding_attention",
293
+ "sliding_attention",
294
+ "sliding_attention",
295
+ "sliding_attention",
296
+ "full_attention",
297
+ "sliding_attention",
298
+ "sliding_attention"
299
+ ],
300
+ "max_position_embeddings": 131072,
301
+ "model_type": "gemma3_text",
302
+ "num_attention_heads": 32,
303
+ "num_hidden_layers": 62,
304
+ "num_key_value_heads": 16,
305
+ "query_pre_attn_scalar": 168,
306
+ "rms_norm_eps": 1e-06,
307
+ "rope_local_base_freq": 10000.0,
308
+ "rope_scaling": {
309
+ "factor": 8.0,
310
+ "rope_type": "linear"
311
+ },
312
+ "rope_theta": 1000000.0,
313
+ "sliding_window": 1024,
314
+ "use_bidirectional_attention": false,
315
+ "use_cache": true,
316
+ "vocab_size": 262208
317
+ },
318
+ "transformers_version": "4.57.3",
319
+ "vision_config": {
320
+ "attention_dropout": 0.0,
321
+ "dtype": "bfloat16",
322
+ "hidden_act": "gelu_pytorch_tanh",
323
+ "hidden_size": 1152,
324
+ "image_size": 896,
325
+ "intermediate_size": 4304,
326
+ "layer_norm_eps": 1e-06,
327
+ "model_type": "siglip_vision_model",
328
+ "num_attention_heads": 16,
329
+ "num_channels": 3,
330
+ "num_hidden_layers": 27,
331
+ "patch_size": 14,
332
+ "vision_use_head": false
333
+ }
334
+ }
entropy_manifest.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "base_model": "google/gemma-3-27b-it",
3
+ "adapter": "ysong21/entropy-v1-lora",
4
+ "quantization": "FP8_DYNAMIC",
5
+ "dtype_pre_quant": "bfloat16",
6
+ "ignore": [
7
+ "lm_head",
8
+ "re:^model\\.vision_tower\\."
9
+ ],
10
+ "model_class": "auto",
11
+ "saved_processor": true,
12
+ "output_dir": "/mnt/data_nvme/models/entropy-v1-fp8-dynamic-vllm"
13
+ }
generation_config.json ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "bos_token_id": 2,
3
+ "cache_implementation": "hybrid",
4
+ "do_sample": true,
5
+ "eos_token_id": [
6
+ 1,
7
+ 106
8
+ ],
9
+ "pad_token_id": 0,
10
+ "top_k": 64,
11
+ "top_p": 0.95,
12
+ "transformers_version": "4.57.3"
13
+ }
model-00001-of-00003.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c36349e72bdd1fa4055a8e0d75af600116fb2caf83bdb81e5ea45682baaebc2e
3
+ size 9927234488
model-00002-of-00003.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:63f6abecf87e134ac10f9df7ee6694570c115960f98921eb44ec95d0ed608a48
3
+ size 9913123656
model-00003-of-00003.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:918f6b8481e673a3213003b48a9a58c1b7a31593939d23debad0c685d674c2a8
3
+ size 9433998440
model.safetensors.index.json ADDED
The diff for this file is too large to render. See raw diff
 
preprocessor_config.json ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "do_convert_rgb": null,
3
+ "do_normalize": true,
4
+ "do_pan_and_scan": null,
5
+ "do_rescale": true,
6
+ "do_resize": true,
7
+ "image_mean": [
8
+ 0.5,
9
+ 0.5,
10
+ 0.5
11
+ ],
12
+ "image_processor_type": "Gemma3ImageProcessor",
13
+ "image_seq_length": 256,
14
+ "image_std": [
15
+ 0.5,
16
+ 0.5,
17
+ 0.5
18
+ ],
19
+ "pan_and_scan_max_num_crops": null,
20
+ "pan_and_scan_min_crop_size": null,
21
+ "pan_and_scan_min_ratio_to_activate": null,
22
+ "processor_class": "Gemma3Processor",
23
+ "resample": 2,
24
+ "rescale_factor": 0.00392156862745098,
25
+ "size": {
26
+ "height": 896,
27
+ "width": 896
28
+ }
29
+ }
processor_config.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "image_seq_length": 256,
3
+ "processor_class": "Gemma3Processor"
4
+ }
recipe.yaml ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ default_stage:
2
+ default_modifiers:
3
+ QuantizationModifier:
4
+ targets: [Linear]
5
+ ignore: [lm_head, 're:^model\.vision_tower\.']
6
+ scheme: FP8_DYNAMIC
special_tokens_map.json ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "boi_token": "<start_of_image>",
3
+ "bos_token": {
4
+ "content": "<bos>",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false
9
+ },
10
+ "eoi_token": "<end_of_image>",
11
+ "eos_token": {
12
+ "content": "<eos>",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false
17
+ },
18
+ "image_token": "<image_soft_token>",
19
+ "pad_token": {
20
+ "content": "<pad>",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false
25
+ },
26
+ "unk_token": {
27
+ "content": "<unk>",
28
+ "lstrip": false,
29
+ "normalized": false,
30
+ "rstrip": false,
31
+ "single_word": false
32
+ }
33
+ }
tokenizer.json ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4667f2089529e8e7657cfb6d1c19910ae71ff5f28aa7ab2ff2763330affad795
3
+ size 33384568
tokenizer.model ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1299c11d7cf632ef3b4e11937501358ada021bbdf7c47638d13c0ee982f2e79c
3
+ size 4689074
tokenizer_config.json ADDED
The diff for this file is too large to render. See raw diff