初始化项目,由ModelHub XC社区提供模型
Model: ree2raz/CyberSecQwen-4B-AWQ Source: Original Platform
This commit is contained in:
36
.gitattributes
vendored
Normal file
36
.gitattributes
vendored
Normal file
@@ -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
|
||||||
116
README.md
Normal file
116
README.md
Normal file
@@ -0,0 +1,116 @@
|
|||||||
|
---
|
||||||
|
license: apache-2.0
|
||||||
|
base_model: lablab-ai-amd-developer-hackathon/CyberSecQwen-4B
|
||||||
|
tags:
|
||||||
|
- qwen3
|
||||||
|
- cybersecurity
|
||||||
|
- cti
|
||||||
|
- cwe-classification
|
||||||
|
- vulnerability-analysis
|
||||||
|
- awq
|
||||||
|
- 4-bit
|
||||||
|
- quantized
|
||||||
|
library_name: transformers
|
||||||
|
pipeline_tag: text-generation
|
||||||
|
---
|
||||||
|
|
||||||
|
# CyberSecQwen-4B-AWQ
|
||||||
|
|
||||||
|
4-bit AWQ quantized version of [CyberSecQwen-4B](https://huggingface.co/lablab-ai-amd-developer-hackathon/CyberSecQwen-4B).
|
||||||
|
|
||||||
|
## Quantization
|
||||||
|
|
||||||
|
| Parameter | Value |
|
||||||
|
|---|---|
|
||||||
|
| Method | AWQ (group_size=128, zero_point=True) |
|
||||||
|
| Weight precision | 4-bit |
|
||||||
|
| Compute dtype | float16 |
|
||||||
|
| Calibration samples | 320 CTI-Bench prompts (256 RCM + 64 MCQ, chat-template formatted) |
|
||||||
|
| Quantization tool | autoawq |
|
||||||
|
| Calibration hardware | Modal A100 |
|
||||||
|
|
||||||
|
## CTI-Bench Evaluation
|
||||||
|
|
||||||
|
Evaluated under the [Foundation-Sec-8B protocol](https://arxiv.org/abs/2504.21039):
|
||||||
|
- Temperature 0.3, max_tokens 512, concurrency 32
|
||||||
|
- 5 independent trials, zero-shot (no system prompt)
|
||||||
|
- vLLM v0.20.1 with awq_marlin kernel on Modal L4 GPU
|
||||||
|
|
||||||
|
| Task | AWQ 4-bit | GGUF Q4_K_M | FP16 Reference |
|
||||||
|
|---|---|---|---|
|
||||||
|
| CTI-MCQ (2,500 items) | **0.5921** ± 0.0083 | 0.5368 ± 0.0048 | 0.5868 ± 0.0029 |
|
||||||
|
| CTI-RCM (1,000 items) | 0.5814 ± 0.0025 | **0.6254 ± 0.0063** | 0.6664 ± 0.0023 |
|
||||||
|
|
||||||
|
**Key findings:**
|
||||||
|
- **CTI-MCQ**: AWQ 4-bit matches or slightly exceeds FP16 performance (+0.5 points). Better than GGUF Q4_K_M.
|
||||||
|
- **CTI-RCM**: AWQ 4-bit degrades by 8.5 percentage points vs FP16. GGUF Q4_K_M does better on this task (-4.1 pts).
|
||||||
|
- AWQ is best for MCQ (general language), GGUF is best for RCM (task-specific classification).
|
||||||
|
|
||||||
|
## Trial results
|
||||||
|
|
||||||
|
### CTI-MCQ
|
||||||
|
| Trial | Seed | Accuracy |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | 42 | 0.6016 |
|
||||||
|
| 2 | 43 | 0.5984 |
|
||||||
|
| 3 | 44 | 0.5936 |
|
||||||
|
| 4 | 45 | 0.5780 |
|
||||||
|
| 5 | 46 | 0.5888 |
|
||||||
|
|
||||||
|
### CTI-MCQ
|
||||||
|
|
||||||
|
| Trial | Seed | Accuracy |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | 42 | 0.6016 |
|
||||||
|
| 2 | 43 | 0.5984 |
|
||||||
|
| 3 | 44 | 0.5936 |
|
||||||
|
| 4 | 45 | 0.5780 |
|
||||||
|
| 5 | 46 | 0.5888 |
|
||||||
|
|
||||||
|
### CTI-RCM
|
||||||
|
|
||||||
|
| Trial | Seed | Accuracy |
|
||||||
|
|---|---|---|
|
||||||
|
| 1 | 42 | 0.5790 |
|
||||||
|
| 2 | 43 | 0.5830 |
|
||||||
|
| 3 | 44 | 0.5790 |
|
||||||
|
| 4 | 45 | 0.5840 |
|
||||||
|
| 5 | 46 | 0.5820 |
|
||||||
|
|
||||||
|
## Quantization variants
|
||||||
|
|
||||||
|
| Variant | CTI-MCQ | CTI-RCM | Size | Engine |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| [AWQ 4-bit](https://huggingface.co/ree2raz/CyberSecQwen-4B-AWQ) | 0.5921 | 0.5814 | 2.7 GB | vLLM |
|
||||||
|
| [GGUF Q4_K_M](https://huggingface.co/ree2raz/CyberSecQwen-4B-GGUF) | 0.5368 | 0.6254 | 2.5 GB | llama.cpp |
|
||||||
|
|
||||||
|
Choose AWQ for MCQ/general chat, GGUF for vulnerability classification.
|
||||||
|
|
||||||
|
## Usage with vLLM
|
||||||
|
|
||||||
|
```bash
|
||||||
|
vllm serve ree2raz/CyberSecQwen-4B-AWQ --quantization awq_marlin --dtype float16
|
||||||
|
```
|
||||||
|
|
||||||
|
## Model Size
|
||||||
|
|
||||||
|
| Format | Size |
|
||||||
|
|---|---|
|
||||||
|
| Original FP16 | ~8 GB |
|
||||||
|
| AWQ 4-bit | ~2.7 GB |
|
||||||
|
|
||||||
|
## Citation
|
||||||
|
|
||||||
|
```bibtex
|
||||||
|
@misc{{cybersecqwen2026,
|
||||||
|
title = {{CyberSecQwen-4B: A Compact CTI Specialist Fine-Tuned from Qwen3-4B-Instruct-2507 on AMD MI300X}},
|
||||||
|
author = {{Mulia, Samuel}},
|
||||||
|
year = {{2026}},
|
||||||
|
publisher = {{Hugging Face}},
|
||||||
|
url = {{https://huggingface.co/athena129/CyberSecQwen-4B}}
|
||||||
|
}}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Evaluation Infrastructure
|
||||||
|
|
||||||
|
[GitHub repository](https://github.com/ree2raz/cyberSecQwen_4b_4bit) — Modal scripts for quantization + evaluation.
|
||||||
7
chat_template.jinja
Normal file
7
chat_template.jinja
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{%- for message in messages -%}
|
||||||
|
<|im_start|>{{ message['role'] if message['role'] != 'system' else 'user' }}
|
||||||
|
{{ message['content'] }}<|im_end|>
|
||||||
|
{% endfor -%}
|
||||||
|
{%- if add_generation_prompt -%}
|
||||||
|
<|im_start|>assistant
|
||||||
|
{% endif -%}
|
||||||
79
config.json
Normal file
79
config.json
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
"architectures": [
|
||||||
|
"Qwen3ForCausalLM"
|
||||||
|
],
|
||||||
|
"attention_bias": false,
|
||||||
|
"attention_dropout": 0.0,
|
||||||
|
"bos_token_id": 151643,
|
||||||
|
"dtype": "float16",
|
||||||
|
"eos_token_id": 151645,
|
||||||
|
"head_dim": 128,
|
||||||
|
"hidden_act": "silu",
|
||||||
|
"hidden_size": 2560,
|
||||||
|
"initializer_range": 0.02,
|
||||||
|
"intermediate_size": 9728,
|
||||||
|
"layer_types": [
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention",
|
||||||
|
"full_attention"
|
||||||
|
],
|
||||||
|
"max_position_embeddings": 262144,
|
||||||
|
"max_window_layers": 36,
|
||||||
|
"model_type": "qwen3",
|
||||||
|
"num_attention_heads": 32,
|
||||||
|
"num_hidden_layers": 36,
|
||||||
|
"num_key_value_heads": 8,
|
||||||
|
"pad_token_id": null,
|
||||||
|
"quantization_config": {
|
||||||
|
"bits": 4,
|
||||||
|
"group_size": 128,
|
||||||
|
"modules_to_not_convert": null,
|
||||||
|
"quant_method": "awq",
|
||||||
|
"version": "gemm",
|
||||||
|
"zero_point": true
|
||||||
|
},
|
||||||
|
"rms_norm_eps": 1e-06,
|
||||||
|
"rope_parameters": {
|
||||||
|
"rope_theta": 5000000,
|
||||||
|
"rope_type": "default"
|
||||||
|
},
|
||||||
|
"sliding_window": null,
|
||||||
|
"tie_word_embeddings": true,
|
||||||
|
"transformers_version": "5.8.0",
|
||||||
|
"use_cache": false,
|
||||||
|
"use_sliding_window": false,
|
||||||
|
"vocab_size": 151936
|
||||||
|
}
|
||||||
13
generation_config.json
Normal file
13
generation_config.json
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"bos_token_id": 151643,
|
||||||
|
"do_sample": true,
|
||||||
|
"eos_token_id": [
|
||||||
|
151645,
|
||||||
|
151643
|
||||||
|
],
|
||||||
|
"pad_token_id": 151643,
|
||||||
|
"temperature": 0.7,
|
||||||
|
"top_k": 20,
|
||||||
|
"top_p": 0.8,
|
||||||
|
"transformers_version": "5.8.0"
|
||||||
|
}
|
||||||
3
model.safetensors
Normal file
3
model.safetensors
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:569a1a7abff2dfd25de06769674a6e7ad4f4c8b8267f75bef52a89cb2337a3c2
|
||||||
|
size 2666027528
|
||||||
3
tokenizer.json
Normal file
3
tokenizer.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:be75606093db2094d7cd20f3c2f385c212750648bd6ea4fb2bf507a6a4c55506
|
||||||
|
size 11422650
|
||||||
30
tokenizer_config.json
Normal file
30
tokenizer_config.json
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"add_prefix_space": false,
|
||||||
|
"backend": "tokenizers",
|
||||||
|
"bos_token": null,
|
||||||
|
"clean_up_tokenization_spaces": false,
|
||||||
|
"eos_token": "<|im_end|>",
|
||||||
|
"errors": "replace",
|
||||||
|
"extra_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|>"
|
||||||
|
],
|
||||||
|
"is_local": false,
|
||||||
|
"local_files_only": false,
|
||||||
|
"model_max_length": 1010000,
|
||||||
|
"pad_token": "<|endoftext|>",
|
||||||
|
"split_special_tokens": false,
|
||||||
|
"tokenizer_class": "Qwen2Tokenizer",
|
||||||
|
"unk_token": null
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user