19 ms·
Beating GPT-4 on HumanEval with a fine-tuned CodeLlama-34B
Hi HN,
We have fine-tuned CodeLlama-34B and CodeLlama-34B-Python on an internal Phind dataset that achieved 67.6% and 69.5% pass@1 on HumanEval, respectively. GPT-4 achieved 67%. To ensure result validity, we applied OpenAI's decontamination methodology to our dataset.
The CodeLlama models released yesterday demonstrate impressive performance on HumanEval.
- CodeLlama-34B achieved 48.8% pass@1 on HumanEval
- CodeLlama-34B-Python achieved 53.7% pass@1 on HumanEval
We have fine-tuned both models on a proprietary dataset of ~80k high-quality programming problems and solutions. Instead of code completion examples, this dataset features instruction-answer pairs, setting it apart structurally from HumanEval. We trained the Phind models over two epochs, for a total of ~160k examples. LoRA was not used — both models underwent a native fine-tuning. We employed DeepSpeed ZeRO 3 and Flash Attention 2 to train these models in three hours using 32 A100-80GB GPUs, with a sequence length of 4096 tokens.
Furthermore, we applied OpenAI's decontamination methodology to our dataset to ensure valid results, and found no contaminated examples.
The methodology is:
- For each evaluation example, we randomly sampled three substrings of 50 characters or used the entire example if it was fewer than 50 characters.
- A match was identified if any sampled substring was a substring of the processed training example.
For further insights on the decontamination methodology, please refer to Appendix C of OpenAI's technical report.
Presented below are the pass@1 scores we achieved with our fine-tuned models:
- Phind-CodeLlama-34B-v1 achieved 67.6% pass@1 on HumanEval
- Phind-CodeLlama-34B-Python-v1 achieved 69.5% pass@1 on HumanEval
Note on GPT-4
According to the official technical report in March, OpenAI reported a pass@1 score of 67% for GPT-4's performance on HumanEval. Since then, there have been claims reporting higher scores. However, it's essential to note that there hasn't been any concrete evidence pointing towards an enhancement in the model's coding abilities since then. It's also crucial to highlight that these elevated figures lack the rigorous contamination analysis that the official statistic underwent, making them less of a reliable comparison. As a result, we consider 67% as the pass@1 score for GPT-4.
Download
We are releasing both models on Huggingface for verifiability and to bolster the open-source community. We welcome independent verification of results.
Phind-CodeLlama-34B-v1: https://huggingface.co/Phind/Phind-CodeLlama-34B-v1 https://huggingface.co/Phind/Phind-CodeLlama-34B-v1
Phind-CodeLlama-34B-Python-v1: https://huggingface.co/Phind/Phind-CodeLlama-34B-Python-v1 https://huggingface.co/Phind/Phind-CodeLlama-34B-Python-v1
We'd love to hear your thoughts!
Best,
The Phind Team
- xpl 3y agoIs the dataset open source?
- vikp 3y agoDid you use the same pass@1 generation method as in the code llama paper (greedy decoding)? I couldn't find this in the blog post.
- rushingcreek 3y agoWe used sampling with temperature=0.1. Reproduction details can be found on the Huggingface model card: https://huggingface.co/Phind/Phind-CodeLlama-34B-v1 https://huggingface.co/Phind/Phind-CodeLlama-34B-v1
- vikp 3y agoGot it, thanks - and thanks for the model! I'd be interested in the results if anyone benchmarks without sampling. Edit: it could also be misleading to directly compare humaneval pass@1 against codellama without the same generation methodology. (possibly against GPT-4, also, but I don't know their methodology).
- ocolegro 3y agonice result! I've been looking into benchmarking models recently, it would be interesting to run your model through on the same battery of tests [https://github.com/emrgnt-cmplxty/zero-shot-replication/blob/main/README.md https://github.com/emrgnt-cmplxty/zero-shot-replication/blob...]
- lemonlym 3y agoThis is impressive, so congratulations. I also think that this is a great example of how open source can simply lead to faster and better acceleration.
- cube2222 3y agoCongrats! I've played with Phind a few times, and it's definitely one of the cooler products to come out of the LLM boom.