64 lines
3.0 KiB
Markdown
64 lines
3.0 KiB
Markdown
|
|
---
|
||
|
|
base_model: neuralmagic/Llama-2-7b-pruned50-retrained
|
||
|
|
inference: true
|
||
|
|
model_type: llama
|
||
|
|
pipeline_tag: text-generation
|
||
|
|
datasets:
|
||
|
|
- cerebras/SlimPajama-627B
|
||
|
|
- theblackcat102/evol-codealpaca-v1
|
||
|
|
tags:
|
||
|
|
- sparse
|
||
|
|
- code
|
||
|
|
---
|
||
|
|
|
||
|
|
# Llama-2-7b-pruned50-retrained-evolcodealpaca
|
||
|
|
|
||
|
|
This repo contains a [50% sparse Llama 2 7B](https://huggingface.co/neuralmagic/Llama-2-7b-pruned50-retrained) finetuned for code generation tasks using the [Evolved CodeAlpaca](https://huggingface.co/datasets/theblackcat102/evol-codealpaca-v1) dataset.
|
||
|
|
|
||
|
|
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 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-pruned50-retrained-evolcodealpaca")
|
||
|
|
model = AutoModelForCausalLM.from_pretrained("neuralmagic/Llama-2-7b-pruned50-retrained-evolcodealpaca", device_map="auto")
|
||
|
|
|
||
|
|
input_text = "def fibonacci(n):\n"
|
||
|
|
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.
|
||
|
|
|
||
|
|
| Benchmark | Metric | Llama-2-7b-evolcodealpaca | Llama-2-7b-pruned50-retrained-evolcodealpaca |
|
||
|
|
|------------------------------------------------|---------------|-------------|-------------------------------|
|
||
|
|
| [HumanEval](https://arxiv.org/abs/2107.03374) | pass@1 | 32.03 | 38.15 |
|
||
|
|
|
||
|
|
## Model Training Details
|
||
|
|
|
||
|
|
This model was obtained by sparse-tranfer of the sparse foundational model [Llama-2-7b-pruned50-retrained](https://huggingface.co/neuralmagic/Llama-2-7b-pruned50-retrained) on 60% of the [evolcodealpaca](https://huggingface.co/datasets/theblackcat102/evol-codealpaca-v1) dataset.
|
||
|
|
Training was perfomerd for 2 epochs and used the [SquareHead](https://arxiv.org/abs/2310.06927) knowledge distillation with [Llama-2-7b-evolcodealpaca](https://huggingface.co/neuralmagic/Llama-2-7b-evolcodealpaca) as teacher.
|
||
|
|
|
||
|
|
## 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)
|