commit 0ff10b8145cd274b947fb0dc9f3f15a09961e5f6 Author: ModelHub XC Date: Tue Jun 2 20:08:12 2026 +0800 初始化项目,由ModelHub XC社区提供模型 Model: RedHatAI/MiniChat-2-3B-pruned2.4 Source: Original Platform diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..a6344aa --- /dev/null +++ b/.gitattributes @@ -0,0 +1,35 @@ +*.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 diff --git a/README.md b/README.md new file mode 100644 index 0000000..13d646a --- /dev/null +++ b/README.md @@ -0,0 +1,83 @@ +--- +base_model: GeneZC/MiniChat-2-3B +inference: True +model_type: Llama +tags: +- nm-vllm +- sparse +--- +## MiniChat-2-3B-pruned2.4 +This repo contains model files for [MiniChat-2-3B-pruned2.4](https://huggingface.co/GeneZC/MiniChat-2-3B) optimized for [NM-vLLM](https://github.com/neuralmagic/nm-vllm), a high-throughput serving engine for compressed LLMs. + +This model was pruned with [SparseGPT](https://arxiv.org/abs/2301.00774), using [SparseML](https://github.com/neuralmagic/sparseml). + +## Inference +Install [NM-vLLM](https://github.com/neuralmagic/nm-vllm) for fast inference and low memory-usage: +```bash +pip install nm-vllm[sparse] +``` +Run in a Python pipeline for local inference: +```python +from vllm import LLM, SamplingParams + +model = LLM("nm-testing/MiniChat-2-3B-pruned2.4", sparsity="semi_structured_sparse_w16a16") +prompt = "How to make banana bread?" +formatted_prompt = f" [|User|]\n{prompt}[|Assistant|]\n" + +sampling_params = SamplingParams(max_tokens=100,temperature=0,repetition_penalty=1.3) +outputs = model.generate(formatted_prompt, sampling_params=sampling_params) +print(outputs[0].outputs[0].text) +""" +Answer: Create a recipe for making banana bread using ingredients like flour, water and sugar. Explain the process of mixing these materials together until they form an unpleasant mixture that can be used in cooking methods such as baking or boiling processes. Describe how you would create this dough by adding it into your kitchen's oven-based environment while describing its properties during each stage before creating them on topical forms. You will also describe what + +""" +``` + +## Prompt template + +``` +### User: +{prompt} +### Assistant: + +``` + +## Sparsification +For details on how this model was sparsified, see the `recipe.yaml` in this repo and follow the instructions below. + +Install [SparseML](https://github.com/neuralmagic/sparseml): +```bash +git clone https://github.com/neuralmagic/sparseml +pip install -e "sparseml[transformers]" +``` + +Replace the recipe as you like and run this one-shot compression script to apply SparseGPT: +```python +import sparseml.transformers + +original_model_name = "GeneZC/MiniChat-2-3B" +calibration_dataset = "open_platypus" +output_directory = "output/" + +recipe = """ +test_stage: + obcq_modifiers: + SparseGPTModifier: + sparsity: 0.5 + sequential_update: true + mask_structure: '2:4' + targets: ['re:model.layers.\d*$'] +""" + +# Apply SparseGPT to the model +sparseml.transformers.oneshot( + model=original_model_name, + dataset=calibration_dataset, + recipe=recipe, + output_dir=output_directory, +) +``` + +## Slack + +For further support, and discussions on these models and AI in general, join [Neural Magic's Slack Community](https://join.slack.com/t/discuss-neuralmagic/shared_invite/zt-q1a1cnvo-YBoICSIw3L1dmQpjBeDurQ) \ No newline at end of file diff --git a/config.json b/config.json new file mode 100644 index 0000000..94d078c --- /dev/null +++ b/config.json @@ -0,0 +1,29 @@ +{ + "_name_or_path": "GeneZC/MiniChat-2-3B", + "architectures": [ + "LlamaForCausalLM" + ], + "attention_bias": false, + "bos_token_id": 1, + "eos_token_id": 2, + "hidden_act": "silu", + "hidden_size": 3072, + "initializer_range": 0.02, + "intermediate_size": 8192, + "max_position_embeddings": 4096, + "model_type": "llama", + "noisy_embedding_alpha": 5.0, + "num_attention_heads": 24, + "num_hidden_layers": 24, + "num_key_value_heads": 24, + "pad_token_id": 0, + "pretraining_tp": 1, + "rms_norm_eps": 1e-05, + "rope_scaling": null, + "rope_theta": 10000.0, + "tie_word_embeddings": false, + "torch_dtype": "float16", + "transformers_version": "1.7.0.20240130", + "use_cache": true, + "vocab_size": 49216 +} diff --git a/configuration.json b/configuration.json new file mode 100644 index 0000000..bbeeda1 --- /dev/null +++ b/configuration.json @@ -0,0 +1 @@ +{"framework": "pytorch", "task": "text-generation", "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..9e38210 --- /dev/null +++ b/generation_config.json @@ -0,0 +1,7 @@ +{ + "_from_model_config": true, + "bos_token_id": 1, + "eos_token_id": 2, + "pad_token_id": 0, + "transformers_version": "1.7.0.20240130" +} diff --git a/pytorch_model.bin b/pytorch_model.bin new file mode 100644 index 0000000..9ce06a6 --- /dev/null +++ b/pytorch_model.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:05a70051dc5f14e5e937b77f9eda362cee0673069e825b13cec0ffdfd3c04a2a +size 6040960134 diff --git a/recipe.yaml b/recipe.yaml new file mode 100644 index 0000000..9328bf4 --- /dev/null +++ b/recipe.yaml @@ -0,0 +1,10 @@ +test_stage: + obcq_modifiers: + SparseGPTModifier: + sparsity: 0.5 + block_size: 128 + sequential_update: false + quantize: false + percdamp: 0.01 + mask_structure: '2:4' + targets: ['re:model.layers.\d*$'] diff --git a/special_tokens_map.json b/special_tokens_map.json new file mode 100644 index 0000000..1e1a997 --- /dev/null +++ b/special_tokens_map.json @@ -0,0 +1,24 @@ +{ + "bos_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "eos_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + }, + "pad_token": "", + "unk_token": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false + } +} diff --git a/tokenizer.json b/tokenizer.json new file mode 100644 index 0000000..9d67f76 --- /dev/null +++ b/tokenizer.json @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:42e40ff0c0185d6811307a60a62b166a474fa2a13107eecec7c8f5e1928c7512 +size 2428428 diff --git a/tokenizer.model b/tokenizer.model new file mode 100644 index 0000000..14cb1e6 --- /dev/null +++ b/tokenizer.model @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ae87c0db2b21b0fa3fdc5e19d1f9cea94efb703cc7c6281d8718a6714b3cc2be +size 748869 diff --git a/tokenizer_config.json b/tokenizer_config.json new file mode 100644 index 0000000..21a4d23 --- /dev/null +++ b/tokenizer_config.json @@ -0,0 +1,42 @@ +{ + "add_bos_token": true, + "add_eos_token": false, + "added_tokens_decoder": { + "0": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + }, + "1": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + }, + "2": { + "content": "", + "lstrip": false, + "normalized": true, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "bos_token": "", + "clean_up_tokenization_spaces": false, + "eos_token": "", + "legacy": true, + "model_max_length": 1000000000000000019884624838656, + "pad_token": "", + "sp_model_kwargs": {}, + "spaces_between_special_tokens": false, + "tokenizer_class": "LlamaTokenizer", + "unk_token": "", + "use_default_system_prompt": true, + "use_fast": true +}