llama-3-docker-ft

LoRA fine-tune of meta-llama/Meta-Llama-3-8B-Instruct that translates natural-language requests into Docker CLI commands. Merged adapter weights (base + LoRA), not an adapter-only checkpoint.

This is a learning-lab artifact (source notebook and writeup), not a production model. Treat it as a first fine-tuning exercise, not a benchmarked release.

Model Details

  • Base model: meta-llama/Meta-Llama-3-8B-Instruct, loaded in 8-bit (BitsAndBytesConfig(load_in_8bit=True))
  • Fine-tuning method: LoRA (peft), r=16, lora_alpha=32, dropout 0.05, targeting q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj (41.9M trainable params, 0.52% of 8.07B total)
  • Merged: LoRA adapter merged into the base weights before push (merge_and_unload())
  • License: inherits the Llama 3 Community License from the base model

Training Data

MattCoddity/dockerNLcommands, an instruction/input/output dataset pairing natural-language requests with the corresponding Docker CLI command. Split 80/20 train/validation (seed 42).

Training Procedure

transformers.Trainer + TrainingArguments: batch size 2, gradient accumulation 4 (effective batch size 8), paged_adamw_8bit, learning rate 2e-4, 2 epochs (484 steps), fp16, warmup steps 5, weight decay 0.01.

Results

Metric Value
Train loss (last logged step) 0.307
Train loss (run average) 0.461
Eval loss 0.341
Train runtime ~2738s (single A100 80GB)

Uses

Intended use: translating short, single-turn natural-language instructions about containers/images into a Docker CLI command. Example:

```python import transformers import torch

pipeline = transformers.pipeline( "text-generation", model="thefabdev/llama-3-docker-ft", model_kwargs={"torch_dtype": torch.bfloat16}, device_map="auto", )

messages = [ {"role": "system", "content": "You are a helpful assistant. Translate this sentence in docker command"}, {"role": "user", "content": "Display the information of the last 4 containers."}, ]

result = pipeline(messages, max_new_tokens=256, temperature=0.25, top_p=1, repetition_penalty=1.2) print(result[0]["generated_text"][-1]["content"])

docker ps --last 4

```

Out of scope: general-purpose assistant use, multi-turn conversation, any command generation where correctness/safety of the resulting shell command isn't independently verified before execution. Generated commands are not validated for safety and should not be run against production systems without review.

Limitations

  • Fine-tuned on a single small, narrow dataset (Docker CLI only), will not generalize to other CLIs or general instruction-following.
  • Trained for 2 epochs on ~800 examples; not evaluated against a held-out benchmark beyond the validation split loss above.
  • No safety/red-teaming evaluation has been performed on this model.
Downloads last month
21
Safetensors
Model size
8B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for thefabdev/llama-3-docker-ft

Adapter
(1217)
this model

Dataset used to train thefabdev/llama-3-docker-ft