File size: 3,364 Bytes
66f79f9
cee93b3
66f79f9
 
392f0df
66f79f9
 
 
 
 
 
f26bc8f
66f79f9
1bfaaae
66f79f9
a5dd409
 
66f79f9
 
 
 
 
 
 
 
4de54e6
66f79f9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6740a6a
 
 
 
 
 
 
66f79f9
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
---
base_model: neuralmagic/Llama-2-7b-pruned50-retrained
inference: true
model_type: llama
pipeline_tag: text-generation
datasets:
  - cerebras/SlimPajama-627B
tags:
- sparse
---

# Llama-2-7b-pruned70-retrained

This repo contains model files for a [Llama 2 7B](https://huggingface.co/meta-llama/Llama-2-7b-hf) model that has had 50% of the parameters pruned in one-shot with [SparseGPT](https://arxiv.org/abs/2301.00774), then retrained by [Cerebras](https://huggingface.co/cerebras) with 50B tokens from SlimPajama while maintaining sparsity. It was then one-shot pruned to 70% sparsity and trained for another 100B tokens.

Official model weights from [Enabling High-Sparsity Foundational Llama Models with Efficient Pretraining and Deployment](https://arxiv.org/abs/2405.03594).

**Authors**: Neural Magic, Cerebras

## Usage

Below we share some code snippets on how to get quickly started with running the model.

### Sparse Transfer

By leveraging a pre-sparsified model's structure, you can efficiently fine-tune on new data, leading to reduced hyperparameter tuning, training times, and computational costs. Learn about this process [here](https://neuralmagic.github.io/docs-v2/get-started/transfer).

### Running the model

This model has not been fine-tuned for instruction-following but may be run with the transformers library. For accelerated inference with sparsity, deploy with [nm-vllm](https://github.com/neuralmagic/nm-vllm) or [deepsparse](https://github.com/neuralmagic/deepsparse).

```python
# pip install transformers accelerate
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("neuralmagic/Llama-2-7b-pruned70-retrained")
model = AutoModelForCausalLM.from_pretrained("neuralmagic/Llama-2-7b-pruned70-retrained", device_map="auto")

input_text = "Write me a poem about Machine Learning."
input_ids = tokenizer(input_text, return_tensors="pt").to("cuda")

outputs = model.generate(**input_ids)
print(tokenizer.decode(outputs[0]))
```

## Evaluation Benchmark Results

Model evaluation metrics and results. [UPDATE]

| Benchmark                                      | Metric        | Llama-2-7b  | Llama-2-7b-pruned70-retrained |
|------------------------------------------------|---------------|-------------|-------------------------------|
| [MMLU](https://arxiv.org/abs/2009.03300)       | 5-shot        | 46.9%       | 36.5%                         |
| [HellaSwag](https://arxiv.org/abs/1905.07830)  | 0-shot        | 78.6%       | 74.1%                         |
| [WinoGrande](https://arxiv.org/abs/1907.10641) | 5-shot        | 74.0%       | 69.5%                         |
| [ARC-c](https://arxiv.org/abs/1911.01547)      | 25-shot       | 53.1%       | 45.4%                         |
| [TruthfulQA](https://arxiv.org/abs/2109.07958) | 5-shot        | 38.8%       | 36.7%                         |
| [GSM8K](https://arxiv.org/abs/2110.14168)      | 5-shot        | 14.5%       | 8.0%                          |
| [HumanEval](https://arxiv.org/abs/2107.03374)  | pass@1        | 13.4%       | 14.4%                         |

## Model Training Details

[UPDATE]

## Help

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)