# Delentia SLM — JITNA v3 Fine-tuning Configuration # Base: Llama 3.1 8B (Apache 2.0, Thai-capable) # Method: Unsloth QLoRA (4-bit) — optimized for T4 16GB / A100 40GB model: # Unsloth 4-bit quantized base (no separate quantization step needed) base_model: "unsloth/Meta-Llama-3.1-8B-bnb-4bit" tokenizer: "unsloth/Meta-Llama-3.1-8B-bnb-4bit" max_seq_length: 4096 # covers most JITNA v3 packets + context dtype: null # auto-detect: bfloat16 on A100, float16 on T4 load_in_4bit: true lora: r: 16 # rank — balanced: 8 (fast) vs 32 (quality) lora_alpha: 32 # usually 2×r lora_dropout: 0 bias: "none" use_rslora: true # Rank-Stabilized LoRA — better convergence target_modules: - "q_proj" - "k_proj" - "v_proj" - "o_proj" - "gate_proj" - "up_proj" - "down_proj" task_type: "CAUSAL_LM" training: # Dataset dataset_path: "datasets/processed/jitna_pairs.jsonl" dataset_split: "train" validation_split: 0.05 # 5% held out for validation max_samples: null # null = use all available # Batch & gradient per_device_train_batch_size: 1 gradient_accumulation_steps: 8 # Effective batch = 1 × 8 = 8 # Learning rate learning_rate: 2.0e-4 lr_scheduler_type: "cosine" warmup_ratio: 0.05 num_train_epochs: 3 # Precision & optimizer bf16: true # set false if T4 (use fp16 instead) fp16: false optim: "adamw_8bit" weight_decay: 0.01 max_grad_norm: 0.3 # Saving output_dir: "models/checkpoints" save_strategy: "epoch" save_total_limit: 3 logging_steps: 10 # Evaluation evaluation_strategy: "epoch" load_best_model_at_end: true metric_for_best_model: "eval_loss" # Chat template — JITNA v3 intent format chat_template: | <|begin_of_text|><|start_header_id|>system<|end_header_id|> {{ system_context }}<|eot_id|> <|start_header_id|>user<|end_header_id|> {{ user_intent }}<|eot_id|> <|start_header_id|>assistant<|end_header_id|> # MLflow experiment tracking mlflow: experiment_name: "delentia-slm-jitna-v0.1" tracking_uri: "http://localhost:5000" log_model: true # Target metrics (gates for acceptance) target_metrics: jitna_compliance: 0.94 # >= 94% JITNA v3 schema compliance fdia_avg: 0.87 # avg F score >= 0.87 hallucination_rate: 0.028 # <= 2.8% factual errors