From f9e5ed2c1dced377af1b1d6e0feb9f9081943af1 Mon Sep 17 00:00:00 2001 From: ModelHub XC Date: Tue, 6 Oct 2026 17:32:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=EF=BC=8C=E7=94=B1ModelHub=20XC=E7=A4=BE=E5=8C=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Model: RedHatAI/Qwen2.5-VL-3B-Instruct-quantized.w4a16 Source: Original Platform --- .gitattributes | 36 +++ README.md | 575 +++++++++++++++++++++++++++++++++++++++ added_tokens.json | 24 ++ chat_template.json | 3 + config.json | 244 +++++++++++++++++ configuration.json | 1 + generation_config.json | 14 + merges.txt | 3 + model.safetensors | 3 + preprocessor_config.json | 29 ++ recipe.yaml | 12 + special_tokens_map.json | 31 +++ tokenizer.json | 3 + tokenizer_config.json | 3 + vocab.json | 3 + 15 files changed, 984 insertions(+) create mode 100644 .gitattributes create mode 100644 README.md create mode 100644 added_tokens.json create mode 100644 chat_template.json create mode 100644 config.json create mode 100644 configuration.json create mode 100644 generation_config.json create mode 100644 merges.txt create mode 100644 model.safetensors create mode 100644 preprocessor_config.json create mode 100644 recipe.yaml create mode 100644 special_tokens_map.json create mode 100644 tokenizer.json create mode 100644 tokenizer_config.json create mode 100644 vocab.json diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..52373fe --- /dev/null +++ b/.gitattributes @@ -0,0 +1,36 @@ +*.7z filter=lfs diff=lfs merge=lfs -text +*.arrow filter=lfs diff=lfs merge=lfs -text +*.bin filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.ckpt filter=lfs diff=lfs merge=lfs -text +*.ftz filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.h5 filter=lfs diff=lfs merge=lfs -text +*.joblib filter=lfs diff=lfs merge=lfs -text +*.lfs.* filter=lfs diff=lfs merge=lfs -text +*.mlmodel filter=lfs diff=lfs merge=lfs -text +*.model filter=lfs diff=lfs merge=lfs -text +*.msgpack filter=lfs diff=lfs merge=lfs -text +*.npy filter=lfs diff=lfs merge=lfs -text +*.npz filter=lfs diff=lfs merge=lfs -text +*.onnx filter=lfs diff=lfs merge=lfs -text +*.ot filter=lfs diff=lfs merge=lfs -text +*.parquet filter=lfs diff=lfs merge=lfs -text +*.pb filter=lfs diff=lfs merge=lfs -text +*.pickle filter=lfs diff=lfs merge=lfs -text +*.pkl filter=lfs diff=lfs merge=lfs -text +*.pt filter=lfs diff=lfs merge=lfs -text +*.pth filter=lfs diff=lfs merge=lfs -text +*.rar filter=lfs diff=lfs merge=lfs -text +*.safetensors filter=lfs diff=lfs merge=lfs -text +saved_model/**/* filter=lfs diff=lfs merge=lfs -text +*.tar.* filter=lfs diff=lfs merge=lfs -text +*.tar filter=lfs diff=lfs merge=lfs -text +*.tflite filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.wasm filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text +*tfevents* filter=lfs diff=lfs merge=lfs -text +tokenizer.json filter=lfs diff=lfs merge=lfs -text diff --git a/README.md b/README.md new file mode 100644 index 0000000..7a96ba6 --- /dev/null +++ b/README.md @@ -0,0 +1,575 @@ +--- +tags: +- vllm +- vision +- w4a16 +license: apache-2.0 +license_link: >- + https://huggingface.co/datasets/choosealicense/licenses/blob/main/markdown/apache-2.0.md +language: +- en +base_model: Qwen/Qwen2.5-VL-3B-Instruct +library_name: transformers +--- + +# Qwen2.5-VL-3B-Instruct-quantized-w4a16 + +## Model Overview +- **Model Architecture:** Qwen/Qwen2.5-VL-3B-Instruct + - **Input:** Vision-Text + - **Output:** Text +- **Model Optimizations:** + - **Weight quantization:** INT4 + - **Activation quantization:** FP16 +- **Release Date:** 2/24/2025 +- **Version:** 1.0 +- **Model Developers:** Neural Magic + +Quantized version of [Qwen/Qwen2.5-VL-3B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct). + +### Model Optimizations + +This model was obtained by quantizing the weights of [Qwen/Qwen2.5-VL-3B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct) to INT8 data type, ready for inference with vLLM >= 0.5.2. + +## Deployment + +### Use with vLLM + +This model can be deployed efficiently using the [vLLM](https://docs.vllm.ai/en/latest/) backend, as shown in the example below. + +```python +from vllm.assets.image import ImageAsset +from vllm import LLM, SamplingParams + +# prepare model +llm = LLM( + model="neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w4a16", + trust_remote_code=True, + max_model_len=4096, + max_num_seqs=2, +) + +# prepare inputs +question = "What is the content of this image?" +inputs = { + "prompt": f"<|user|>\n<|image_1|>\n{question}<|end|>\n<|assistant|>\n", + "multi_modal_data": { + "image": ImageAsset("cherry_blossom").pil_image.convert("RGB") + }, +} + +# generate response +print("========== SAMPLE GENERATION ==============") +outputs = llm.generate(inputs, SamplingParams(temperature=0.2, max_tokens=64)) +print(f"PROMPT : {outputs[0].prompt}") +print(f"RESPONSE: {outputs[0].outputs[0].text}") +print("==========================================") +``` + +vLLM also supports OpenAI-compatible serving. See the [documentation](https://docs.vllm.ai/en/latest/) for more details. + +## Creation + +This model was created with [llm-compressor](https://github.com/vllm-project/llm-compressor) by running the code snippet below as part a multimodal announcement blog. + +
+ Model Creation Code + +```python +import base64 +from io import BytesIO +import torch +from datasets import load_dataset +from qwen_vl_utils import process_vision_info +from transformers import AutoProcessor +from llmcompressor.modifiers.quantization import GPTQModifier +from llmcompressor.transformers import oneshot +from llmcompressor.transformers.tracing import ( + TraceableQwen2_5_VLForConditionalGeneration, +) +from compressed_tensors.quantization import QuantizationArgs, QuantizationType, QuantizationStrategy, ActivationOrdering, QuantizationScheme + +# Load model. +model_id = "Qwen/Qwen2.5-VL-3B-Instruct" + +model = TraceableQwen2_5_VLForConditionalGeneration.from_pretrained( + model_id, + device_map="auto", + torch_dtype="auto", +) +processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True) + +# Oneshot arguments +DATASET_ID = "lmms-lab/flickr30k" +DATASET_SPLIT = {"calibration": "test[:512]"} +NUM_CALIBRATION_SAMPLES = 512 +MAX_SEQUENCE_LENGTH = 2048 + +# Load dataset and preprocess. +ds = load_dataset(DATASET_ID, split=DATASET_SPLIT) +ds = ds.shuffle(seed=42) +dampening_frac=0.01 + +# Apply chat template and tokenize inputs. +def preprocess_and_tokenize(example): + # preprocess + buffered = BytesIO() + example["image"].save(buffered, format="PNG") + encoded_image = base64.b64encode(buffered.getvalue()) + encoded_image_text = encoded_image.decode("utf-8") + base64_qwen = f"data:image;base64,{encoded_image_text}" + messages = [ + { + "role": "user", + "content": [ + {"type": "image", "image": base64_qwen}, + {"type": "text", "text": "What does the image show?"}, + ], + } + ] + text = processor.apply_chat_template( + messages, tokenize=False, add_generation_prompt=True + ) + image_inputs, video_inputs = process_vision_info(messages) + + # tokenize + return processor( + text=[text], + images=image_inputs, + videos=video_inputs, + padding=False, + max_length=MAX_SEQUENCE_LENGTH, + truncation=True, + ) +ds = ds.map(preprocess_and_tokenize, remove_columns=ds["calibration"].column_names) + +# Define a oneshot data collator for multimodal inputs. +def data_collator(batch): + assert len(batch) == 1 + return {key: torch.tensor(value) for key, value in batch[0].items()} + +recipe = GPTQModifier( + targets="Linear", + config_groups={ + "config_group": QuantizationScheme( + targets=["Linear"], + weights=QuantizationArgs( + num_bits=4, + type=QuantizationType.INT, + strategy=QuantizationStrategy.GROUP, + group_size=128, + symmetric=True, + dynamic=False, + actorder=ActivationOrdering.WEIGHT, + ), + ), + }, + sequential_targets=["Qwen2_5_VLDecoderLayer"], + ignore=["lm_head", "re:visual.*"], + update_size=NUM_CALIBRATION_SAMPLES, + dampening_frac=dampening_frac +) + +SAVE_DIR=f"{model_id.split('/')[1]}-quantized.w4a16" + +# Perform oneshot +oneshot( + model=model, + tokenizer=model_id, + dataset=ds, + recipe=recipe, + max_seq_length=MAX_SEQUENCE_LENGTH, + num_calibration_samples=NUM_CALIBRATION_SAMPLES, + trust_remote_code_model=True, + data_collator=data_collator, + output_dir=SAVE_DIR +) + +``` +
+ +## Evaluation + +The model was evaluated using [mistral-evals](https://github.com/neuralmagic/mistral-evals) for vision-related tasks and using [lm_evaluation_harness](https://github.com/neuralmagic/lm-evaluation-harness) for select text-based benchmarks. The evaluations were conducted using the following commands: + +
+Evaluation Commands + +### Vision Tasks +- vqav2 +- docvqa +- mathvista +- mmmu +- chartqa + +``` +vllm serve neuralmagic/pixtral-12b-quantized.w8a8 --tensor_parallel_size 1 --max_model_len 25000 --trust_remote_code --max_num_seqs 8 --gpu_memory_utilization 0.9 --dtype float16 --limit_mm_per_prompt image=7 + +python -m eval.run eval_vllm \ + --model_name neuralmagic/pixtral-12b-quantized.w8a8 \ + --url http://0.0.0.0:8000 \ + --output_dir ~/tmp \ + --eval_name +``` + +### Text-based Tasks +#### MMLU + +``` +lm_eval \ + --model vllm \ + --model_args pretrained="",dtype=auto,add_bos_token=True,max_model_len=4096,tensor_parallel_size=,gpu_memory_utilization=0.8,enable_chunked_prefill=True,trust_remote_code=True \ + --tasks mmlu \ + --num_fewshot 5 \ + --batch_size auto \ + --output_path output_dir + +``` + +#### MGSM + +``` +lm_eval \ + --model vllm \ + --model_args pretrained="",dtype=auto,max_model_len=4096,max_gen_toks=2048,max_num_seqs=128,tensor_parallel_size=,gpu_memory_utilization=0.9 \ + --tasks mgsm_cot_native \ + --apply_chat_template \ + --num_fewshot 0 \ + --batch_size auto \ + --output_path output_dir + +``` +
+ +### Accuracy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CategoryMetricQwen/Qwen2.5-VL-3B-InstructQwen2.5-VL-3B-Instruct-quantized.W4A16Recovery (%)
VisionMMMU (val, CoT)
explicit_prompt_relaxed_correctness
44.5641.5693.28%
VQAv2 (val)
vqa_match
75.9473.5896.89
DocVQA (val)
anls
92.5391.5898.97%
ChartQA (test, CoT)
anywhere_in_answer_relaxed_correctness
81.2078.9697.24%
Mathvista (testmini, CoT)
explicit_prompt_relaxed_correctness
54.1545.7584.51%
Average Score69.2866.2995.68%
TextMGSM (CoT)43.6935.8282.00
MMLU (5-shot)65.3262.8096.14%
+ + +## Inference Performance + + +This model achieves up to 1.73x speedup in single-stream deployment and up to 3.87x speedup in multi-stream asynchronous deployment, depending on hardware and use-case scenario. +The following performance benchmarks were conducted with [vLLM](https://docs.vllm.ai/en/latest/) version 0.7.2, and [GuideLLM](https://github.com/neuralmagic/guidellm). + +
+Benchmarking Command +``` + guidellm --model neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w4a16 --target "http://localhost:8000/v1" --data-type emulated --data prompt_tokens=,generated_tokens=,images=,width=,height= --max seconds 120 --backend aiohttp_server +``` + +
+ +### Single-stream performance (measured with vLLM version 0.7.2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Document Visual Question Answering
1680W x 2240H
64/128
Visual Reasoning
640W x 480H
128/128
Image Captioning
480W x 360H
0/128
HardwareModelAverage Cost ReductionLatency (s)Queries Per DollarLatency (s)th> + Queries Per DollarLatency (s)Queries Per Dollar
A6000x1Qwen/Qwen2.5-VL-3B-Instruct3.114541.825461.72610
neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w8a81.272.617081.333401.33459
neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w4a161.572.418861.044091.04409
A100x1Qwen/Qwen2.5-VL-3B-Instruct2.29201.316031.21636
neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w8a81.092.19751.217431.11814
neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w4a161.202.010111.020151.02012
H100x1Qwen/Qwen2.5-VL-3B-Instruct1.57400.912210.91276
neuralmagic/Qwen2.5-VL-3B-Instruct-FP8-Dynamic1.061.47680.912760.81399
neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w4a161.240.912190.912700.81304
+ +**Use case profiles: Image Size (WxH) / prompt tokens / generation tokens + +**QPD: Queries per dollar, based on on-demand cost at [Lambda Labs](https://lambdalabs.com/service/gpu-cloud) (observed on 2/18/2025). + +### Multi-stream asynchronous performance (measured with vLLM version 0.7.2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Document Visual Question Answering
1680W x 2240H
64/128
Visual Reasoning
640W x 480H
128/128
Image Captioning
480W x 360H
0/128
HardwareModelAverage Cost ReductionMaximum throughput (QPS)Queries Per DollarMaximum throughput (QPS)Queries Per DollarMaximum throughput (QPS)Queries Per Dollar
A6000x1Qwen/Qwen2.5-VL-3B-Instruct0.524052.6118892.912909
neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w8a81.260.627253.4151623.917673
neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w4a161.390.625483.9174374.721223
A100x1Qwen/Qwen2.5-VL-3B-Instruct0.816633.978994.48924
neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w8a81.060.917344.284884.79548
neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w4a161.100.917754.285405.110318
H100x1Qwen/Qwen2.5-VL-3B-Instruct1.111884.346564.34676
neuralmagic/Qwen2.5-VL-3B-Instruct-FP8-Dynamic1.151.415704.346764.85220
neuralmagic/Qwen2.5-VL-3B-Instruct-quantized.w4a161.964.245984.145054.44838
+ +**Use case profiles: Image Size (WxH) / prompt tokens / generation tokens + +**QPS: Queries per second. + +**QPD: Queries per dollar, based on on-demand cost at [Lambda Labs](https://lambdalabs.com/service/gpu-cloud) (observed on 2/18/2025). \ No newline at end of file diff --git a/added_tokens.json b/added_tokens.json new file mode 100644 index 0000000..482ced4 --- /dev/null +++ b/added_tokens.json @@ -0,0 +1,24 @@ +{ + "": 151658, + "": 151657, + "<|box_end|>": 151649, + "<|box_start|>": 151648, + "<|endoftext|>": 151643, + "<|file_sep|>": 151664, + "<|fim_middle|>": 151660, + "<|fim_pad|>": 151662, + "<|fim_prefix|>": 151659, + "<|fim_suffix|>": 151661, + "<|im_end|>": 151645, + "<|im_start|>": 151644, + "<|image_pad|>": 151655, + "<|object_ref_end|>": 151647, + "<|object_ref_start|>": 151646, + "<|quad_end|>": 151651, + "<|quad_start|>": 151650, + "<|repo_name|>": 151663, + "<|video_pad|>": 151656, + "<|vision_end|>": 151653, + "<|vision_pad|>": 151654, + "<|vision_start|>": 151652 +} diff --git a/chat_template.json b/chat_template.json new file mode 100644 index 0000000..544d96d --- /dev/null +++ b/chat_template.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94174d7176c52a7192f96fc34eb2cf23c7c2059d63cdbfadca1586ba89731fb7 +size 1049 diff --git a/config.json b/config.json new file mode 100644 index 0000000..d34c4d2 --- /dev/null +++ b/config.json @@ -0,0 +1,244 @@ +{ + "_name_or_path": "Qwen/Qwen2.5-VL-3B-Instruct", + "architectures": [ + "Qwen2_5_VLForConditionalGeneration" + ], + "attention_dropout": 0.0, + "bos_token_id": 151643, + "eos_token_id": 151645, + "hidden_act": "silu", + "hidden_size": 2048, + "image_token_id": 151655, + "initializer_range": 0.02, + "intermediate_size": 11008, + "max_position_embeddings": 128000, + "max_window_layers": 70, + "model_type": "qwen2_5_vl", + "num_attention_heads": 16, + "num_hidden_layers": 36, + "num_key_value_heads": 2, + "quantization_config": { + "config_groups": { + "group_0": { + "input_activations": null, + "output_activations": null, + "targets": [ + "Linear" + ], + "weights": { + "actorder": "weight", + "block_structure": null, + "dynamic": false, + "group_size": 128, + "num_bits": 4, + "observer": "minmax", + "observer_kwargs": {}, + "strategy": "group", + "symmetric": true, + "type": "int" + } + } + }, + "format": "pack-quantized", + "global_compression_ratio": 1.3990843687790238, + "ignore": [ + "visual.blocks.0.attn.qkv", + "visual.blocks.0.attn.proj", + "visual.blocks.0.mlp.gate_proj", + "visual.blocks.0.mlp.up_proj", + "visual.blocks.0.mlp.down_proj", + "visual.blocks.1.attn.qkv", + "visual.blocks.1.attn.proj", + "visual.blocks.1.mlp.gate_proj", + "visual.blocks.1.mlp.up_proj", + "visual.blocks.1.mlp.down_proj", + "visual.blocks.2.attn.qkv", + "visual.blocks.2.attn.proj", + "visual.blocks.2.mlp.gate_proj", + "visual.blocks.2.mlp.up_proj", + "visual.blocks.2.mlp.down_proj", + "visual.blocks.3.attn.qkv", + "visual.blocks.3.attn.proj", + "visual.blocks.3.mlp.gate_proj", + "visual.blocks.3.mlp.up_proj", + "visual.blocks.3.mlp.down_proj", + "visual.blocks.4.attn.qkv", + "visual.blocks.4.attn.proj", + "visual.blocks.4.mlp.gate_proj", + "visual.blocks.4.mlp.up_proj", + "visual.blocks.4.mlp.down_proj", + "visual.blocks.5.attn.qkv", + "visual.blocks.5.attn.proj", + "visual.blocks.5.mlp.gate_proj", + "visual.blocks.5.mlp.up_proj", + "visual.blocks.5.mlp.down_proj", + "visual.blocks.6.attn.qkv", + "visual.blocks.6.attn.proj", + "visual.blocks.6.mlp.gate_proj", + "visual.blocks.6.mlp.up_proj", + "visual.blocks.6.mlp.down_proj", + "visual.blocks.7.attn.qkv", + "visual.blocks.7.attn.proj", + "visual.blocks.7.mlp.gate_proj", + "visual.blocks.7.mlp.up_proj", + "visual.blocks.7.mlp.down_proj", + "visual.blocks.8.attn.qkv", + "visual.blocks.8.attn.proj", + "visual.blocks.8.mlp.gate_proj", + "visual.blocks.8.mlp.up_proj", + "visual.blocks.8.mlp.down_proj", + "visual.blocks.9.attn.qkv", + "visual.blocks.9.attn.proj", + "visual.blocks.9.mlp.gate_proj", + "visual.blocks.9.mlp.up_proj", + "visual.blocks.9.mlp.down_proj", + "visual.blocks.10.attn.qkv", + "visual.blocks.10.attn.proj", + "visual.blocks.10.mlp.gate_proj", + "visual.blocks.10.mlp.up_proj", + "visual.blocks.10.mlp.down_proj", + "visual.blocks.11.attn.qkv", + "visual.blocks.11.attn.proj", + "visual.blocks.11.mlp.gate_proj", + "visual.blocks.11.mlp.up_proj", + "visual.blocks.11.mlp.down_proj", + "visual.blocks.12.attn.qkv", + "visual.blocks.12.attn.proj", + "visual.blocks.12.mlp.gate_proj", + "visual.blocks.12.mlp.up_proj", + "visual.blocks.12.mlp.down_proj", + "visual.blocks.13.attn.qkv", + "visual.blocks.13.attn.proj", + "visual.blocks.13.mlp.gate_proj", + "visual.blocks.13.mlp.up_proj", + "visual.blocks.13.mlp.down_proj", + "visual.blocks.14.attn.qkv", + "visual.blocks.14.attn.proj", + "visual.blocks.14.mlp.gate_proj", + "visual.blocks.14.mlp.up_proj", + "visual.blocks.14.mlp.down_proj", + "visual.blocks.15.attn.qkv", + "visual.blocks.15.attn.proj", + "visual.blocks.15.mlp.gate_proj", + "visual.blocks.15.mlp.up_proj", + "visual.blocks.15.mlp.down_proj", + "visual.blocks.16.attn.qkv", + "visual.blocks.16.attn.proj", + "visual.blocks.16.mlp.gate_proj", + "visual.blocks.16.mlp.up_proj", + "visual.blocks.16.mlp.down_proj", + "visual.blocks.17.attn.qkv", + "visual.blocks.17.attn.proj", + "visual.blocks.17.mlp.gate_proj", + "visual.blocks.17.mlp.up_proj", + "visual.blocks.17.mlp.down_proj", + "visual.blocks.18.attn.qkv", + "visual.blocks.18.attn.proj", + "visual.blocks.18.mlp.gate_proj", + "visual.blocks.18.mlp.up_proj", + "visual.blocks.18.mlp.down_proj", + "visual.blocks.19.attn.qkv", + "visual.blocks.19.attn.proj", + "visual.blocks.19.mlp.gate_proj", + "visual.blocks.19.mlp.up_proj", + "visual.blocks.19.mlp.down_proj", + "visual.blocks.20.attn.qkv", + "visual.blocks.20.attn.proj", + "visual.blocks.20.mlp.gate_proj", + "visual.blocks.20.mlp.up_proj", + "visual.blocks.20.mlp.down_proj", + "visual.blocks.21.attn.qkv", + "visual.blocks.21.attn.proj", + "visual.blocks.21.mlp.gate_proj", + "visual.blocks.21.mlp.up_proj", + "visual.blocks.21.mlp.down_proj", + "visual.blocks.22.attn.qkv", + "visual.blocks.22.attn.proj", + "visual.blocks.22.mlp.gate_proj", + "visual.blocks.22.mlp.up_proj", + "visual.blocks.22.mlp.down_proj", + "visual.blocks.23.attn.qkv", + "visual.blocks.23.attn.proj", + "visual.blocks.23.mlp.gate_proj", + "visual.blocks.23.mlp.up_proj", + "visual.blocks.23.mlp.down_proj", + "visual.blocks.24.attn.qkv", + "visual.blocks.24.attn.proj", + "visual.blocks.24.mlp.gate_proj", + "visual.blocks.24.mlp.up_proj", + "visual.blocks.24.mlp.down_proj", + "visual.blocks.25.attn.qkv", + "visual.blocks.25.attn.proj", + "visual.blocks.25.mlp.gate_proj", + "visual.blocks.25.mlp.up_proj", + "visual.blocks.25.mlp.down_proj", + "visual.blocks.26.attn.qkv", + "visual.blocks.26.attn.proj", + "visual.blocks.26.mlp.gate_proj", + "visual.blocks.26.mlp.up_proj", + "visual.blocks.26.mlp.down_proj", + "visual.blocks.27.attn.qkv", + "visual.blocks.27.attn.proj", + "visual.blocks.27.mlp.gate_proj", + "visual.blocks.27.mlp.up_proj", + "visual.blocks.27.mlp.down_proj", + "visual.blocks.28.attn.qkv", + "visual.blocks.28.attn.proj", + "visual.blocks.28.mlp.gate_proj", + "visual.blocks.28.mlp.up_proj", + "visual.blocks.28.mlp.down_proj", + "visual.blocks.29.attn.qkv", + "visual.blocks.29.attn.proj", + "visual.blocks.29.mlp.gate_proj", + "visual.blocks.29.mlp.up_proj", + "visual.blocks.29.mlp.down_proj", + "visual.blocks.30.attn.qkv", + "visual.blocks.30.attn.proj", + "visual.blocks.30.mlp.gate_proj", + "visual.blocks.30.mlp.up_proj", + "visual.blocks.30.mlp.down_proj", + "visual.blocks.31.attn.qkv", + "visual.blocks.31.attn.proj", + "visual.blocks.31.mlp.gate_proj", + "visual.blocks.31.mlp.up_proj", + "visual.blocks.31.mlp.down_proj", + "visual.merger.mlp.0", + "visual.merger.mlp.2", + "lm_head" + ], + "kv_cache_scheme": null, + "quant_method": "compressed-tensors", + "quantization_status": "compressed", + "sparsity_config": {} + }, + "rms_norm_eps": 1e-06, + "rope_scaling": { + "mrope_section": [ + 16, + 24, + 24 + ], + "rope_type": "default", + "type": "default" + }, + "rope_theta": 1000000.0, + "sliding_window": 32768, + "tie_word_embeddings": true, + "torch_dtype": "bfloat16", + "transformers_version": "4.49.0.dev0", + "use_cache": true, + "use_sliding_window": false, + "video_token_id": 151656, + "vision_config": { + "hidden_size": 1280, + "in_chans": 3, + "model_type": "qwen2_5_vl", + "out_hidden_size": 2048, + "spatial_patch_size": 14, + "tokens_per_second": 2 + }, + "vision_end_token_id": 151653, + "vision_start_token_id": 151652, + "vision_token_id": 151654, + "vocab_size": 151936 +} diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..273dbe0 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "image-to-text", "allow_remote": true} \ No newline at end of file diff --git a/generation_config.json b/generation_config.json new file mode 100644 index 0000000..e70c840 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,14 @@ +{ + "bos_token_id": 151643, + "do_sample": true, + "eos_token_id": [ + 151645, + 151643 + ], + "pad_token_id": 151643, + "repetition_penalty": 1.05, + "temperature": 0.1, + "top_k": 1, + "top_p": 0.001, + "transformers_version": "4.49.0.dev0" +} diff --git a/merges.txt b/merges.txt new file mode 100644 index 0000000..80c1a19 --- /dev/null +++ b/merges.txt @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8831e4f1a044471340f7c0a83d7bd71306a5b867e95fd870f74d0c5308a904d5 +size 1671853 diff --git a/model.safetensors b/model.safetensors new file mode 100644 index 0000000..3be2d82 --- /dev/null +++ b/model.safetensors @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1811c5fa738747144c60821401a200d4e56339d80377c0c497eb3b341d85ff23 +size 4013282536 diff --git a/preprocessor_config.json b/preprocessor_config.json new file mode 100644 index 0000000..ee08cdd --- /dev/null +++ b/preprocessor_config.json @@ -0,0 +1,29 @@ +{ + "do_convert_rgb": true, + "do_normalize": true, + "do_rescale": true, + "do_resize": true, + "image_mean": [ + 0.48145466, + 0.4578275, + 0.40821073 + ], + "image_processor_type": "Qwen2VLImageProcessor", + "image_std": [ + 0.26862954, + 0.26130258, + 0.27577711 + ], + "max_pixels": 12845056, + "merge_size": 2, + "min_pixels": 3136, + "patch_size": 14, + "processor_class": "Qwen2_5_VLProcessor", + "resample": 3, + "rescale_factor": 0.00392156862745098, + "size": { + "longest_edge": 12845056, + "shortest_edge": 3136 + }, + "temporal_patch_size": 2 +} diff --git a/recipe.yaml b/recipe.yaml new file mode 100644 index 0000000..45be3fb --- /dev/null +++ b/recipe.yaml @@ -0,0 +1,12 @@ +DEFAULT_stage: + DEFAULT_modifiers: + GPTQModifier: + sequential_targets: [Qwen2_5_VLDecoderLayer] + dampening_frac: 0.01 + config_groups: + config_group: + targets: [Linear] + weights: {num_bits: 4, type: int, symmetric: true, group_size: 128, strategy: group, + dynamic: false, actorder: weight, observer: minmax} + targets: Linear + ignore: [lm_head, 're:visual.*'] diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..ac23c0a --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,31 @@ +{ + "additional_special_tokens": [ + "<|im_start|>", + "<|im_end|>", + "<|object_ref_start|>", + "<|object_ref_end|>", + "<|box_start|>", + "<|box_end|>", + "<|quad_start|>", + "<|quad_end|>", + "<|vision_start|>", + "<|vision_end|>", + "<|vision_pad|>", + "<|image_pad|>", + "<|video_pad|>" + ], + "eos_token": { + "content": "<|im_end|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + }, + "pad_token": { + "content": "<|endoftext|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false + } +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..51ebb3b --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9c5ae00e602b8860cbd784ba82a8aa14e8feecec692e7076590d014d7b7fdafa +size 11421896 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..bb4ec6b --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c182cc5f590489eba7c5435864b0814fcd9256ef72933f8ccc142116974dbb01 +size 7300 diff --git a/vocab.json b/vocab.json new file mode 100644 index 0000000..6c49fc6 --- /dev/null +++ b/vocab.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca10d7e9fb3ed18575dd1e277a2579c16d108e32f27439684afa0e10b1440910 +size 2776833