Downloads · 30 days
66
15% of all-time downloads
Mediocreatmybest/Phind-CodeLlama-34B-Python-v1_8bit_fp4
Phind-CodeLlama-34B-Python-v1_8bit_fp4 is a text generation model from Mediocreatmybest. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as llama2.
Quantization with bitsandbytes 8-bit / fp4 / float16 / Safetensors -Mediocre 🥱
Downloads · 30 days
66
15% of all-time downloads
All-time downloads
441
Public
Parameters
33.7B
68.6 GB on disk
Likes
0
Public
Click a slice to open those files.
.bin34.3 GB · 50%
How the weights are stored.
I833.2B · 98%
From the Hugging Face model README
Quantization with bitsandbytes
8-bit / fp4 / float16 / Safetensors
-Mediocre 🥱
We've fine-tuned CodeLlama-34B and CodeLlama-34B-Python on an internal Phind dataset that achieve 67.6% and 69.5% pass@1 on HumanEval, respectively. GPT-4 achieves 67%. We've applied OpenAI's decontamination methodology to our dataset to ensure result validity.
More details can be found on our blog post.
This model is fine-tuned from CodeLlama-34B-Python and achieves 69.5% pass@1 on HumanEval.
We fined-tuned on a proprietary dataset of ~80k high quality programming problems and solutions. This dataset consists of instruction-answer pairs instead of code completion examples, making it structurally different from HumanEval. The Phind models were trained for 2 epochs, for a total of ~160k examples shown. LoRA was not used -- both models are a native finetune. We used DeepSpeed ZeRO 3 and Flash Attention 2 to train these models in three hours on 32 A100-80GB GPUs. We used a sequence length of 4096 tokens.
Make sure to install Transformers from the main git branch:
pip install git+https://github.com/huggingface/transformers.git
Please note that this model is somewhat instruction-tuned, but not chat-tuned.
Do not try to use the Llama chat markup with this model. Instead, simply tell it what you want and add "\n: " at the end of your task.
For example:
Write me a linked list implementation: \n
To reproduce our results:
from transformers import AutoTokenizer, LlamaForCausalLM
from human_eval.data import write_jsonl, read_problems
from tqdm import tqdm
# initialize the model
model_path = "Phind/Phind-CodeLlama-34B-v1"
model = LlamaForCausalLM.from_pretrained(model_path, device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_path)
# HumanEval helper
def generate_one_completion(prompt: str):
tokenizer.pad_token = tokenizer.eos_token
inputs = tokenizer(prompt, return_tensors="pt", truncation=True, max_length=4096)
# Generate
generate_ids = model.generate(inputs.input_ids.to("cuda"), max_new_tokens=256, do_sample=True, top_p=0.75, top_k=40, temperature=0.1)
completion = tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0]
completion = completion.replace(prompt, "").split("\n\n\n")[0]
return completion
# perform HumanEval
problems = read_problems()
num_samples_per_task = 1
samples = [
dict(task_id=task_id, completion=generate_one_completion(problems[task_id]["prompt"]))
for task_id in tqdm(problems)
for _ in range(num_samples_per_task)
]
write_jsonl("samples.jsonl", samples)
# run `evaluate_functional_correctness samples.jsonl` in your HumanEval code sandbox
This model has undergone very limited testing. Additional safety testing should be performed before any real-world deployments.