tkeskin/mistral-7b-v0.3-code-translation
mistral-7b-v0.3-code-translation
A fine-tuned version of mistralai/Mistral-7B-Instruct-v0.3 for translating code between C++, Java, and Python.
Training
- Base model: mistralai/Mistral-7B-Instruct-v0.3
- Method: LoRA (Low-Rank Adaptation) via LLaMA-Factory
- Dataset: tkeskin/leetcode-solutions (
instructconfig) — directed C++/Java/Python translation pairs derived from LeetCode solutions - Hardware: AMD MI210 (ROCm) / NVIDIA CUDA,
flash_attn: sdpa - LoRA target: all linear layers (
lora_target: all) - Precision: bf16
Evaluation
Evaluated with an execution-based translation benchmark: each held-out evaluation-config payload from tkeskin/leetcode-solutions is a directed source→target translation whose output is compiled and run against the problem's input/output pairs. The eval split is held out from training (no leakage). Metric is pass@1 (all test cases pass), n-weighted over 3,336 payloads.
This is the largest gain in the series — the base model barely produces compilable C++/Java, and fine-tuning lifts it to near the top. pass@1 by language pair × difficulty (%):
Full methodology is in the llm-fine-tune repo (Stage 5).
Intended use
Given source code in one of C++, Java, or Python, the model generates a translation into the target language, following the same logic and structure.
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "tkeskin/mistral-7b-v0.3-code-translation"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)
messages = [
{
"role": "user",
"content": "Translate the following C++ code to Python:\n\nint add(int a, int b) { return a + b; }"
}
]
inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True)
outputs = model.generate(inputs, max_new_tokens=256)
print(tokenizer.decode(outputs[0][inputs.shape[-1]:], skip_special_tokens=True))