Model Card for SantaFixer
This is a LLM for code that is focussed on generating bug fixes using infilling.
Model Details
Model Description
- Developed by: codelion
 - Model type: GPT-2
 - Finetuned from model: bigcode/santacoder
 
How to Get Started with the Model
Use the code below to get started with the model.
# pip install -q transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
checkpoint = "lambdasec/santafixer"
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
tokenizer = AutoTokenizer.from_pretrained(checkpoint)
model = AutoModelForCausalLM.from_pretrained(checkpoint,
              trust_remote_code=True).to(device)
input_text = "<fim-prefix>def print_hello_world():\n
              <fim-suffix>\n print('Hello world!')
              <fim-middle>"
inputs = tokenizer.encode(input_text, return_tensors="pt").to(device)
outputs = model.generate(inputs)
print(tokenizer.decode(outputs[0]))
Training Details
- GPU: Tesla P100
 - Time: ~5 hrs
 
Training Data
The model was fine-tuned on the CVE single line fixes dataset
Training Procedure
Supervised Fine Tuning (SFT)
Training Hyperparameters
- optim: adafactor
 - gradient_accumulation_steps: 4
 - gradient_checkpointing: true
 - fp16: false
 
Evaluation
The model was tested with the GitHub top 1000 projects vulnerabilities dataset
- Downloads last month
 - 3
 
Datasets used to train lambdasec/santafixer
Space using lambdasec/santafixer 1
Evaluation results
- single-line infilling pass@1 on HumanEvalself-reported0.470
 - single-line infilling pass@10 on HumanEvalself-reported0.740
 - pass@1 (Java) on GH Top 1000 Projects Vulnerabilitiesself-reported0.260
 - pass@10 (Java) on GH Top 1000 Projects Vulnerabilitiesself-reported0.480
 - pass@1 (Python) on GH Top 1000 Projects Vulnerabilitiesself-reported0.310
 - pass@10 (Python) on GH Top 1000 Projects Vulnerabilitiesself-reported0.560
 - pass@1 (JavaScript) on GH Top 1000 Projects Vulnerabilitiesself-reported0.360
 - pass@10 (JavaScript) on GH Top 1000 Projects Vulnerabilitiesself-reported0.620