--- base_model: neuralmagic/Llama-2-7b-pruned70-retrained inference: true model_type: llama pipeline_tag: text-generation datasets: - cerebras/SlimPajama-627B - theblackcat102/evol-codealpaca-v1 tags: - sparse - code --- # Llama-2-7b-pruned70-retrained-evolcodealpaca This repo contains a [70% sparse Llama 2 7B](https://huggingface.co/neuralmagic/Llama-2-7b-pruned70-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-pruned70-retrained-evolcodealpaca") model = AutoModelForCausalLM.from_pretrained("neuralmagic/Llama-2-7b-pruned70-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-pruned70-retrained-evolcodealpaca | |------------------------------------------------|---------------|-------------|-------------------------------| | [HumanEval](https://arxiv.org/abs/2107.03374) | pass@1 | 32.03 | 36.3 | ## Model Training Details This model was obtained by gradual sparse-transfer 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. The 50% sparse foundational model was finetuned for 2 epochs and then pruned to 70% sparsity using [SparseGPT](https://arxiv.org/abs/2301.00774). Then, the model was finetuned for 1 more epoch with 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)