---
license: cc-by-sa-4.0
datasets:
- nickrosh/Evol-Instruct-Code-80k-v1
- sahil2801/CodeAlpaca-20k
- teknium/GPTeacher-CodeInstruct
language:
- en
library_name: transformers
pipeline_tag: text-generation
tags:
- code
- llama2
---
![image of llama engineer](https://i.imgur.com/JlhW0ri.png)
# Llama-Engineer-Evol-7B
This is a version of Meta's [chat instruction-tuned Llama 2](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf) further fine-tuned on over 80,000 coding samples.
The dataset is a combination of [Evol-Instruct-Code-80k-v1](https://huggingface.co/datasets/nickrosh/Evol-Instruct-Code-80k-v1) from [nikrosh](https://huggingface.co/nickrosh), a replication of the Evol-Instruct-Code as described in the [WizardCoder](https://arxiv.org/pdf/2306.08568.pdf) paper, and [Teknium](https://huggingface.co/teknium)'s [GPTeacher](https://github.com/teknium1/GPTeacher/blob/main/Codegen/codegen-instruct.json). Special thanks to these folks for putting these datasets together.
Our fine-tuning process involved learning QLoRA weights for over 6 hours on a single A100. We merged the adapter weights into the pre-trained model.
GGML weights are available [here](https://huggingface.co/GenerativeMagic/Llama-Engineer-Evol-7b-GGML).
## Prompt Format
The reccomended model prompt is a variant of the standard Llama 2 format:
```
[INST] <>
You are a programming assistant. Always answer as helpfully as possible. Be direct in your response and get to the answer right away. Responses should be short.
<>
{your prompt}[/INST]
```
or
```
[INST] <>
You're a principal software engineer at Google. If you fail at this task, you will be fired.
<>
{your prompt}[/INST]
```
I suspect this prompt format is the reason for the majority of the increased coding capabilities as opposed to the fine-tuning itself, but YMMV.
## Evals
Currently, the evals are just off of \~vibes\~. Will look into doing a full suite of evals on future models. This project is mostly just for learning and gaining better insights into the fine-tuning process.
## Next Steps
- Prune the dataset and possibly fine-tune for longer.
- Run benchmarks.
- Provide GPTQ.