初始化项目,由ModelHub XC社区提供模型
Model: RedHatAI/TinyLlama-1.1B-Chat-v1.0-pruned2.4 Source: Original Platform
This commit is contained in:
35
.gitattributes
vendored
Normal file
35
.gitattributes
vendored
Normal file
@@ -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
|
||||||
96
README.md
Normal file
96
README.md
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
---
|
||||||
|
base_model: TinyLlama/TinyLlama-1.1B-Chat-v1.0
|
||||||
|
inference: true
|
||||||
|
model_type: Llama
|
||||||
|
hardware_tag:
|
||||||
|
- Intel Xeon
|
||||||
|
license: apache-2.0
|
||||||
|
license_name: apache-2.0
|
||||||
|
license_link: >-
|
||||||
|
https://choosealicense.com/licenses/apache-2.0/
|
||||||
|
name: RedHatAI/TinyLlama-1.1B-Chat-v1.0-pruned2.4
|
||||||
|
description: >-
|
||||||
|
Pruned TinyLlama model.
|
||||||
|
readme: >-
|
||||||
|
https://huggingface.co/RedHatAI/TinyLlama-1.1B-Chat-v1.0-pruned2.4/blob/main/README.md
|
||||||
|
tags:
|
||||||
|
- nm-vllm
|
||||||
|
- sparse
|
||||||
|
---
|
||||||
|
## TinyLlama-1.1B-Chat-v1.0-pruned2.4
|
||||||
|
This repo contains model files for [TinyLlama-1.1B-Chat-v1.0](https://huggingface.co/TinyLlama/TinyLlama-1.1B-Chat-v1.0) 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/TinyLlama-1.1B-Chat-v1.0-pruned2.4", sparsity="semi_structured_sparse_w16a16")
|
||||||
|
prompt = "How to make banana bread?"
|
||||||
|
formatted_prompt = f"<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>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)
|
||||||
|
"""
|
||||||
|
Banana bread is a delicious dessert that is made with bananas. Here is how to make banana bread:
|
||||||
|
|
||||||
|
1. Firstly, you need to cut bananas into small pieces.
|
||||||
|
2. Then, you need to slice the bananas into small pieces
|
||||||
|
"""
|
||||||
|
```
|
||||||
|
|
||||||
|
## Prompt template
|
||||||
|
|
||||||
|
```
|
||||||
|
<|im_start|>user
|
||||||
|
{prompt}<|im_end|>
|
||||||
|
<|im_start|>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 = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"
|
||||||
|
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)
|
||||||
27
config.json
Normal file
27
config.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"_name_or_path": "TinyLlama/TinyLlama-1.1B-Chat-v1.0",
|
||||||
|
"architectures": [
|
||||||
|
"LlamaForCausalLM"
|
||||||
|
],
|
||||||
|
"attention_bias": false,
|
||||||
|
"bos_token_id": 1,
|
||||||
|
"eos_token_id": 2,
|
||||||
|
"hidden_act": "silu",
|
||||||
|
"hidden_size": 2048,
|
||||||
|
"initializer_range": 0.02,
|
||||||
|
"intermediate_size": 5632,
|
||||||
|
"max_position_embeddings": 2048,
|
||||||
|
"model_type": "llama",
|
||||||
|
"num_attention_heads": 32,
|
||||||
|
"num_hidden_layers": 22,
|
||||||
|
"num_key_value_heads": 4,
|
||||||
|
"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": 32000
|
||||||
|
}
|
||||||
1
configuration.json
Normal file
1
configuration.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"framework": "pytorch", "task": "text-generation", "allow_remote": true}
|
||||||
7
generation_config.json
Normal file
7
generation_config.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"bos_token_id": 1,
|
||||||
|
"eos_token_id": 2,
|
||||||
|
"max_length": 2048,
|
||||||
|
"pad_token_id": 0,
|
||||||
|
"transformers_version": "1.7.0.20240130"
|
||||||
|
}
|
||||||
3
pytorch_model.bin
Normal file
3
pytorch_model.bin
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:713193f5316dfd143409c67532d10d8674100aa1082229273ddb2574525306e4
|
||||||
|
size 2200164718
|
||||||
10
recipe.yaml
Normal file
10
recipe.yaml
Normal file
@@ -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*$']
|
||||||
30
special_tokens_map.json
Normal file
30
special_tokens_map.json
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{
|
||||||
|
"bos_token": {
|
||||||
|
"content": "<s>",
|
||||||
|
"lstrip": false,
|
||||||
|
"normalized": false,
|
||||||
|
"rstrip": false,
|
||||||
|
"single_word": false
|
||||||
|
},
|
||||||
|
"eos_token": {
|
||||||
|
"content": "</s>",
|
||||||
|
"lstrip": false,
|
||||||
|
"normalized": false,
|
||||||
|
"rstrip": false,
|
||||||
|
"single_word": false
|
||||||
|
},
|
||||||
|
"pad_token": {
|
||||||
|
"content": "</s>",
|
||||||
|
"lstrip": false,
|
||||||
|
"normalized": false,
|
||||||
|
"rstrip": false,
|
||||||
|
"single_word": false
|
||||||
|
},
|
||||||
|
"unk_token": {
|
||||||
|
"content": "<unk>",
|
||||||
|
"lstrip": false,
|
||||||
|
"normalized": false,
|
||||||
|
"rstrip": false,
|
||||||
|
"single_word": false
|
||||||
|
}
|
||||||
|
}
|
||||||
3
tokenizer.json
Normal file
3
tokenizer.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4b16520bbfede7dc208605369b0e6e08bfdaecbbc0f9ec709eccecbcef37f5b3
|
||||||
|
size 1843031
|
||||||
3
tokenizer_config.json
Normal file
3
tokenizer_config.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:7b41ba7d0eb91e77914ca3dafde559ea3e19878769b7e68409e89bed5222e77a
|
||||||
|
size 1289
|
||||||
Reference in New Issue
Block a user