codealpaca-qlora / README.md
arnavgrg's picture
Update README.md
6991149
metadata
language:
  - en
license: apache-2.0
library_name: peft
tags:
  - text-generation
widget:
  - text: >
      Below is an instruction that describes a task, paired with an input that
      provides further context. Write a response that appropriately completes
      the request.

      ### Instruction: Generate an SQL statement to add a row in the customers
      table where the columns are name, address, and city.

      ### Input: name = John, address = 123 Main Street, city = Winter Park

      ### Response:
inference:
  parameters:
    temperature: 0.1
    max_new_tokens: 1024
base_model: meta-llama/Llama-2-7b-hf

QLoRA weights using Llama-2-7b for the Code Alpaca Dataset

Fine-Tuning on Predibase

This model was fine-tuned using Predibase, the first low-code AI platform for engineers. I fine-tuned base Llama-2-7b using LoRA with 4 bit quantization on a single T4 GPU, which cost approximately $3 to train on Predibase. Try out our free Predibase trial here.

Dataset and training parameters are borrowed from: https://github.com/sahil280114/codealpaca, but all of these parameters including DeepSpeed can be directly used with Ludwig, the open-source toolkit for LLMs that Predibase is built on.

Co-trained by: Infernaught

How To Use The Model

To use these weights:

from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM

# Load base model in 4 bit
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b-hf", load_in_4bit=True)

# Wrap model with pretrained model weights
config = PeftConfig.from_pretrained("arnavgrg/codealpaca-qlora")
model = PeftModel.from_pretrained(model, "arnavgrg/codealpaca-qlora")

Prompt Template:

Below is an instruction that describes a task, paired with an input
that provides further context. Write a response that appropriately
completes the request.

### Instruction: {instruction}

### Input: {input}

### Response:

Training procedure

The following bitsandbytes quantization config was used during training:

  • load_in_8bit: False
  • load_in_4bit: True
  • llm_int8_threshold: 6.0
  • llm_int8_skip_modules: None
  • llm_int8_enable_fp32_cpu_offload: False
  • llm_int8_has_fp16_weight: False
  • bnb_4bit_quant_type: nf4
  • bnb_4bit_use_double_quant: True
  • bnb_4bit_compute_dtype: float16

Framework versions

  • PEFT 0.4.0