metadata
license: llama3.1
language:
- en
- py
library_name: transformers
tags:
- llama-3.1
- python
- code-generation
- instruction-following
- fine-tune
- alpaca
- unsloth
base_model: meta-llama/Meta-Llama-3.1-8B-Instruct
datasets:
- iamtarun/python_code_instructions_18k_alpaca
Llama-3.1-8B-Instruct-Python-Alpaca-Unsloth
This is a fine-tuned version of Meta's Llama-3.1-8B-Instruct
model, specialized for Python code generation. It was trained on the high-quality iamtarun/python_code_instructions_18k_alpaca
dataset using the Unsloth library for significantly faster training and reduced memory usage.
The result is a powerful and responsive coding assistant, designed to follow instructions and generate accurate, high-quality Python code.
## Model Details π οΈ
- Base Model:
meta-llama/Meta-Llama-3.1-8B-Instruct
- Dataset:
iamtarun/python_code_instructions_18k_alpaca
(18,000 instruction-following examples for Python) - Fine-tuning Technique: QLoRA (4-bit Quantization with LoRA adapters)
- Framework: Unsloth (for up to 2x faster training and optimized memory)
## How to Use π¨βπ»
This model is designed to be used with the Unsloth library for maximum performance, but it can also be used with the standard Hugging Face transformers
library. For the best results, always use the Llama 3 chat template.
### Using with Unsloth (Recommended)
from unsloth import FastLanguageModel
import torch
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "YOUR_USERNAME/YOUR_MODEL_NAME", # REMEMBER TO REPLACE THIS
max_seq_length = 4096,
dtype = None,
load_in_4bit = True,
)
# Prepare the model for faster inference
FastLanguageModel.for_inference(model)
messages = [
{
"role": "system",
"content": "You are a helpful Python coding assistant. Please provide a clear, concise, and correct Python code response to the user's request."
},
{
"role": "user",
"content": "Create a Python function that finds the nth Fibonacci number using recursion."
},
]
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
outputs = model.generate(
input_ids,
max_new_tokens=200,
do_sample=True,
temperature=0.6,
top_p=0.9,
eos_token_id=tokenizer.eos_token_id
)
response = outputs[0][input_ids.shape[-1]:]
print(tokenizer.decode(response, skip_special_tokens=True))