Team Ai
Modelpublic

mlabonne/codellama-2-7b

sourceHugging Faceapache-2.0updated 2y agoView on Hugging Face
5likes22downloads
Model Card

๐Ÿฆ™๐Ÿ’ป CodeLlama

๐Ÿ“ Article | ๐Ÿ’ป Colab | ๐Ÿ“„ Script

<center><img src="https://i.imgur.com/yTPNIZj.png" width="300"></center>

CodeLlama-7b is a Llama 2 version of **CodeAlpaca**.

๐Ÿ”ง Training

This model is based on the llama-2-7b-chat-hf model, fine-tuned using QLoRA on the `mlabonne/CodeLlama-2-20k` dataset. It was trained on an RTX 3090 and can be used for inference.

It was trained using this custom `finetune_llama2.py` script as follows:

bash
python finetune_llama2.py --dataset_name=mlabonne/CodeLlama-2-20k --new_model=mlabonne/codellama-2-7b --bf16=True --learning_rate=2e-5

<center><img src="https://i.imgur.com/5Qx7Kzo.png"></center>

๐Ÿ’ป Usage

python
# pip install transformers accelerate

from transformers import AutoTokenizer
import transformers
import torch

model = "mlabonne/codellama-2-7b"
prompt = "Write Python code to generate an array with all the numbers from 1 to 100"

tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = transformers.pipeline(
    "text-generation",
    model=model,
    torch_dtype=torch.float16,
    device_map="auto",
)

sequences = pipeline(
    f'<s>[INST] {prompt} [/INST]',
    do_sample=True,
    top_k=10,
    num_return_sequences=1,
    eos_token_id=tokenizer.eos_token_id,
    max_length=200,
)
for seq in sequences:
    print(f"Result: {seq['generated_text']}")

Ouput:

Here is a Python code to generate an array with all the numbers from 1 to 100:

numbers = [] for i in range(1,101): numbers.append(i)


This code generates an array with all the numbers from 1 to 100 in Python. It uses a loop that iterates over the range of numbers from 1 to 100, and for each number, it appends that number to the array 'numbers'. The variable 'numbers' is initialized to a list, and its length is set to 101 by using the range of numbers (0-99).

The following bitsandbytes quantization config was used during training:

  • โ€”loadin8bit: False
  • โ€”loadin4bit: True
  • โ€”llmint8threshold: 6.0
  • โ€”llmint8skip_modules: None
  • โ€”llmint8enablefp32cpu_offload: False
  • โ€”llmint8hasfp16weight: False
  • โ€”bnb4bitquant_type: nf4
  • โ€”bnb4bitusedoublequant: True
  • โ€”bnb4bitcompute_dtype: bfloat16

Framework versions

  • โ€”PEFT 0.5.0.dev0
  • โ€”PEFT 0.5.0.dev0

Training procedure

The following bitsandbytes quantization config was used during training:

  • โ€”loadin8bit: False
  • โ€”loadin4bit: True
  • โ€”llmint8threshold: 6.0
  • โ€”llmint8skip_modules: None
  • โ€”llmint8enablefp32cpu_offload: False
  • โ€”llmint8hasfp16weight: False
  • โ€”bnb4bitquant_type: nf4
  • โ€”bnb4bitusedoublequant: True
  • โ€”bnb4bitcompute_dtype: bfloat16