Skip to main content
🎤 Speaking at KubeCon EU 2026 Lessons Learned Orchestrating Multi-Tenant GPUs on OpenShift AI View Session
🎤 Speaking at Red Hat Summit 2026 GPUs take flight: Safety-first multi-tenant Platform Engineering with NVIDIA and OpenShift AI Learn More
AI

Fine-Tuning Small Language Models for DevOps Automation

Luca Berton 1 min read
#ai#llm#fine-tuning#devops#automation

🎯 Small Models, Big Impact

The conventional wisdom says bigger models are better. For DevOps automation, that’s wrong. A fine-tuned 7B parameter model consistently outperforms GPT-4 on domain-specific tasks like generating Ansible playbooks, Kubernetes manifests, and Terraform configurations.

Why? Because DevOps tasks are highly structured. The model doesn’t need world knowledge — it needs deep understanding of YAML syntax, API conventions, and infrastructure patterns.

Why Fine-Tune?

  • Latency: A 7B model on a single GPU responds in 200ms vs 2-3 seconds for a cloud API
  • Cost: Self-hosted inference costs pennies per request vs dollars for commercial APIs
  • Privacy: Your infrastructure code never leaves your network
  • Reliability: No API rate limits, no outages, no surprise model changes
  • Accuracy: 92%+ correctness on your specific patterns vs 75% with a general model

The Fine-Tuning Pipeline

Step 1: Collect Training Data

Your existing automation IS your training data:

import os, json

def collect_training_pairs(repo_path):
    pairs = []
    for root, dirs, files in os.walk(repo_path):
        for f in files:
            if f.endswith(('.yml', '.yaml')):
                path = os.path.join(root, f)
                with open(path) as fh:
                    content = fh.read()
                # Create instruction-response pairs
                pairs.append({
                    "instruction": f"Generate an Ansible playbook for: {extract_purpose(content)}",
                    "response": content
                })
    return pairs

Step 2: Fine-Tune with InstructLab

InstructLab on RHEL AI makes this straightforward:

# Initialize taxonomy
ilab taxonomy diff

# Add your training data
ilab data generate --taxonomy-path ./taxonomy

# Fine-tune the model
ilab model train \
  --model-path models/granite-7b-base \
  --data-path ./generated_data \
  --num-epochs 3 \
  --effective-batch-size 16

# Serve and test
ilab model serve --model-path models/granite-7b-trained
ilab model chat

Step 3: Evaluate

test_cases = [
    {"input": "Create a playbook to install nginx on RHEL 9", "expected_elements": ["dnf", "nginx", "started", "enabled"]},
    {"input": "Write a K8s deployment for a Python app with 3 replicas", "expected_elements": ["replicas: 3", "containers", "image"]},
]

accuracy = sum(
    all(elem in model.generate(tc["input"]) for elem in tc["expected_elements"])
    for tc in test_cases
) / len(test_cases)

Deployment on Kubernetes

apiVersion: apps/v1
kind: Deployment
metadata:
  name: devops-model
spec:
  replicas: 2
  template:
    spec:
      containers:
      - name: vllm
        image: vllm/vllm-openai:latest
        args: ["--model", "/models/granite-7b-devops", "--max-model-len", "8192"]
        resources:
          limits:
            nvidia.com/gpu: "1"
        volumeMounts:
        - name: model-storage
          mountPath: /models

Results From Production

After fine-tuning Granite 7B on 5,000 Ansible playbooks:

  • 93% syntactically correct playbook generation (vs 71% with GPT-4)
  • 200ms average latency (vs 2.5s with cloud API)
  • $0.002 per request (vs $0.06 with GPT-4)
  • Zero data leaving the network

Small models + domain fine-tuning = the future of DevOps automation.


Want to fine-tune models for your automation workflows? I help teams build custom AI models for infrastructure automation. Get in touch.

Share:

Luca Berton

AI & Cloud Advisor with 18+ years experience. Author of 8 technical books, creator of Ansible Pilot, and instructor at CopyPasteLearn Academy. Speaker at KubeCon EU & Red Hat Summit 2026.

Luca Berton Ansible Pilot Ansible by Example Open Empower K8s Recipes Terraform Pilot CopyPasteLearn ProteinLens TechMeOut