Instructions to use DDIDU/ETRI_CodeLLaMA_7B_CPP with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use DDIDU/ETRI_CodeLLaMA_7B_CPP with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="DDIDU/ETRI_CodeLLaMA_7B_CPP")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("DDIDU/ETRI_CodeLLaMA_7B_CPP") model = AutoModelForCausalLM.from_pretrained("DDIDU/ETRI_CodeLLaMA_7B_CPP") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use DDIDU/ETRI_CodeLLaMA_7B_CPP with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "DDIDU/ETRI_CodeLLaMA_7B_CPP" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DDIDU/ETRI_CodeLLaMA_7B_CPP", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/DDIDU/ETRI_CodeLLaMA_7B_CPP
- SGLang
How to use DDIDU/ETRI_CodeLLaMA_7B_CPP 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 "DDIDU/ETRI_CodeLLaMA_7B_CPP" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DDIDU/ETRI_CodeLLaMA_7B_CPP", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'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 "DDIDU/ETRI_CodeLLaMA_7B_CPP" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DDIDU/ETRI_CodeLLaMA_7B_CPP", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use DDIDU/ETRI_CodeLLaMA_7B_CPP with Docker Model Runner:
docker model run hf.co/DDIDU/ETRI_CodeLLaMA_7B_CPP
ETRI_CodeLLaMA_7B_CPP
We used LoRa to further pre-train Meta's CodeLLaMA-7B-hf model with high-quality C++ code tokens.
Furthermore, we fine-tuned on CodeM's C++ instruction data.
Model Details
This model was trained using LoRa and achieved a pass@1 of 34.3% on HumanEvalX-cpp.
ETRI_CodeLLaMA_7B_CPP is a C++ specialized model.
Dataset Details
We pre-trained CodeLLaMA-7B further using 543 GB of C++ code collected online, and fine-tuned it using CodeM's C++ instruction data. We utilized 1 x A100-80GB GPU for the training.
Requirements
pip install torch transformers accelerate
How to reproduce HumanEval-X results
We use Bigcode-evaluation-harness repo for evaluating our trained model.
bigcode-evaluation-harness
git clone https://github.com/bigcode-project/bigcode-evaluation-harness.git
Then, run main.py as follows.
accelerate launch bigcode-evaluation-harness/main.py \
--model DDIDU/ETRI_CodeLLaMA_7B_CPP \
--max_length_generation 512 \
--prompt continue \
--tasks humanevalsynthesize-cpp \
--temperature 0.2 \
--n_samples 100 \
--precision bf16 \
--do_sample True \
--batch_size 10 \
--allow_code_execution \
--save_generations \
Model use
from transformers import AutoTokenizer
import transformers
import torch
model = "DDIDU/ETRI_CodeLLaMA_7B_CPP"
tokenizer = AutoTokenizer.from_pretrained(model)
pipeline = transformers.pipeline(
"text-generation",
model=model,
torch_dtype=torch.bfloat16,
device_map="auto",
)
sequences = pipeline(
'#include <iostream>\n#include <vector>\n\nusing namespace std;\n\nvoid quickSort(int *data, int start, int end) {',
do_sample=True,
top_k=10,
temperature=0.1,
top_p=0.95,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_length=200,
)
for seq in sequences:
print(f"Result: {seq['generated_text']}")
- Downloads last month
- 482
Evaluation results
- pass@1 on humanevalsynthesize-cppself-reported34.3%
Install from pip and serve model
# Install vLLM from pip: pip install vllm# Start the vLLM server: vllm serve "DDIDU/ETRI_CodeLLaMA_7B_CPP"# Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DDIDU/ETRI_CodeLLaMA_7B_CPP", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'