Instructions to use sahilpwr/CodeVulnerabilityDPOModel with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use sahilpwr/CodeVulnerabilityDPOModel with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="sahilpwr/CodeVulnerabilityDPOModel") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("sahilpwr/CodeVulnerabilityDPOModel") model = AutoModelForCausalLM.from_pretrained("sahilpwr/CodeVulnerabilityDPOModel") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use sahilpwr/CodeVulnerabilityDPOModel with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "sahilpwr/CodeVulnerabilityDPOModel" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "sahilpwr/CodeVulnerabilityDPOModel", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/sahilpwr/CodeVulnerabilityDPOModel
- SGLang
How to use sahilpwr/CodeVulnerabilityDPOModel with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "sahilpwr/CodeVulnerabilityDPOModel" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "sahilpwr/CodeVulnerabilityDPOModel", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "sahilpwr/CodeVulnerabilityDPOModel" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "sahilpwr/CodeVulnerabilityDPOModel", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use sahilpwr/CodeVulnerabilityDPOModel with Docker Model Runner:
docker model run hf.co/sahilpwr/CodeVulnerabilityDPOModel
Model Card for Model ID
The existing LLaMA models are not optimized for detecting critical security vulnerabilities or inefficient memory management within code.
In contrast, CodeVulnerabilityModel has been specially trained on a curated dataset of 5,000 samples from JetBrains, enabling it to accurately identify security flaws and memory management issues in source code.
This model is further refined through Direct Preference Optimization (DPO), aligning outputs more closely with human judgment using datasets that include rejected samples for better correction. Compared to traditional PPO-based RLHF approaches, DPO fine-tuning demonstrates superior precision in reducing false positives, while also enhancing both the detection of vulnerabilities and the quality of proposed fixes.
DPO is much simpler approach to align the response with human preference compared to PPO and RLHF set up
Model Details
Model Description
This is the model card of a 🤗 transformers model that has been pushed on the Hub. This model card has been automatically generated.
- Developed by: Sahil Pawar
- Language(s) (NLP): [More Information Needed]
- License: [More Information Needed]
- Finetuned from model [optional]: [More Information Needed]
Model Sources [optional]
- Repository: [More Information Needed]
- Paper [optional]: [More Information Needed]
- Demo [optional]: [More Information Needed]
Uses
Direct Use
How to Get Started with the Model
Use the code below to get started with the model.
[More Information Needed]
Training Details
Kubernetes + Ray Distributed Training 2 A100 GPUs
Time to Train: ~2hrs
Training Data
[More Information Needed]
Training Procedure
Preprocessing [optional]
[More Information Needed]
Training Hyperparameters
- Training regime: [More Information Needed]
Evaluation
Llama 3B Base Model vs Llama 3B Fine Tuned with Direct Prefernce Optimization in Post Training
Note: I found out that BLEU and ROUGE are not ideal metrics for code evaluation since there can be multiple valid approaches to solving the same problem. This is why the overall scores appear lower for both models.
On the other hand, BERT measures semantic similarity using cosine similarity, making it a more reliable metric for accurate evaluation.
Testing Data, Factors & Metrics
Testing Data
[More Information Needed]
Metrics
[More Information Needed]
Results
[More Information Needed]
Summary
Model Architecture and Objective
[More Information Needed]
Compute Infrastructure
Ray + Kubernetes A100 GPUs
Citation [optional]
Glossary [optional]
[More Information Needed]
Model Card Contact
[More Information Needed]
- Downloads last month
- -
Model tree for sahilpwr/CodeVulnerabilityDPOModel
Base model
meta-llama/Llama-3.1-8B