CoolFace
Modelpublic

saadywdfsdfd/ernie-4.5-lora-fwd-sedan-triage

sourceHugging Faceupdated 9mo agoView on Hugging Face
1likes8downloads
Model Card

ernie-4.5-lora-fwd-sedan-triage

A LoRA adapter fine-tuned on ERNIE-4.5-21B-A3B-PT for fast, shop-style triage of common drivability issues in front wheel drive sedans, with emphasis on high-mileage idle and vibration symptoms.

This adapter is intended to shift behavior away from long generic checklists and toward concise, actionable first checks.

Training Scale

  • —Trainable parameters: ~355 million
  • —Percentage of base model trained: ~1.6% of 21B parameters
  • —Method: LoRA (PEFT) via Unsloth
  • —Interpretation: equivalent to training a mid-sized standalone model embedded inside ERNIE-4.5

Compute Notes

  • —Hardware: Single NVIDIA A100 GPU
  • —Training duration: ~10 hours end-to-end
  • —Training setup optimized for memory efficiency using 4-bit base model loading and Unsloth gradient offloading

Quick Summary

  • —Base model: unsloth/ERNIE-4.5-21B-A3B-PT
  • —Method: LoRA fine-tune (PEFT) using Unsloth + TRL SFTTrainer
  • —Domain: FWD sedan diagnostics triage (idle roughness, vibration, load-related shaking)
  • —Output style: Short, practical, shop-oriented answers

Model Details

What This Model Is

This repository contains a LoRA adapter (not full base weights). You must load the base model and then apply this adapter for inference.

Developed By

  • —Author: Saad (HF user: saadywdfsdfd)

Model Type

  • —Causal language model adapter (PEFT LoRA)

Language

  • —English

License

This adapter inherits the license and usage restrictions of the base model. Please review the base model card: unsloth/ERNIE-4.5-21B-A3B-PT.

Intended Use

Direct Use

Quick triage for FWD sedan complaints such as:

  • —Rough idle
  • —Idle vibration
  • —Shaking that worsens with AC load
  • —Mileage-weighted prioritization

Produces a short "most likely causes + first checks" answer in 2 to 5 sentences.

Out-of-Scope Use

  • —Not a substitute for a certified mechanic
  • —Not for safety-critical decisions (brakes, steering, airbags) without real diagnostics
  • —Not intended to provide guaranteed diagnosis, repair instructions, torque specs, or service manual guidance

Risks and Limitations

  • —May be overconfident on ambiguous symptoms if the prompt asks for a single cause
  • —Performance depends on prompt framing and how closely the scenario matches training distribution
  • —Real vehicles vary by make, model year, maintenance history, and region
  • —Always verify with basic diagnostics (OBD scan, visual inspection, simple tests)

How to Use

Installation

bash
pip install unsloth peft transformers trl bitsandbytes accelerate

Inference Example (Base + Adapter)

python
import torch
from unsloth import FastLanguageModel, get_chat_template
from peft import PeftModel

BASE_MODEL  = "unsloth/ERNIE-4.5-21B-A3B-PT"
ADAPTER_ID  = "saadywdfsdfd/ernie-4.5-lora-fwd-sedan-triage"

# Load base
model, tokenizer = FastLanguageModel.from_pretrained(
    BASE_MODEL,
    max_seq_length = 2048,
    dtype = torch.bfloat16,
    load_in_4bit = True,
)

# Apply ChatML template (matches training)
tokenizer = get_chat_template(tokenizer, chat_template="chatml")

# Load adapter
model = PeftModel.from_pretrained(model, ADAPTER_ID)

# Inference mode
FastLanguageModel.for_inference(model)

messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Car shakes only when AC is on at idle. 145k miles. Most likely cause? Give 2 to 3 sentences."},
]

prompt = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
)

inputs = tokenizer(prompt, return_tensors="pt").to(model.device)

with torch.no_grad():
    output = model.generate(
        **inputs,
        max_new_tokens=200,
        temperature=0.7,
        top_p=0.9,
        do_sample=True,
    )

print(tokenizer.decode(output[0], skip_special_tokens=True))

Prompting Tips (to Show the Fine-tune Strength)

This adapter performs best when you ask for:

  • —"Busy shop" style answers
  • —Short triage
  • —Top 1 to 2 likely causes
  • —First checks

Example prompts:

  • —"Give the most likely cause in 2 sentences."
  • —"Rank the top 2 checks."
  • —"Answer yes or no, then one sentence why."

Training Details

Training Data

1,000 ChatML formatted samples focused on FWD sedan triage scenarios

Emphasis on:

  • —High mileage patterns
  • —Idle roughness
  • —Vibration that changes under load (AC on, idle vs drive)
  • —Practical, shop-style responses

Training Procedure

  • —Trainer: TRL SFTTrainer
  • —Template: ChatML via Unsloth get_chat_template(..., chat_template="chatml")
  • —Precision: bf16
  • —Quantization: Base model loaded in 4-bit to reduce VRAM

Hyperparameters

  • —max_seq_length: 2048
  • —per_device_train_batch_size: 1
  • —gradient_accumulation_steps: 8 (effective batch size 8)
  • —num_train_epochs: 3
  • —learning_rate: 2e-4
  • —warmup_ratio: 0.03
  • —lr_scheduler_type: cosine
  • —optim: adamw_8bit
  • —weight_decay: 0.01
  • —max_grad_norm: 1.0
  • —bf16: true

Trainable Parameters

~355,090,432 trainable parameters (about 1.6% of the 21B base model)

Training Steps and Runtime

  • —Total steps: 375
  • —Epochs: 3
  • —Hardware: Single GPU training (Unsloth offloading enabled)

Evaluation

Qualitative Evaluation Approach

This project is evaluated by prompt-to-prompt comparison against the base model, focusing on:

  • —Conciseness and shop realism
  • —Mileage and symptom weighted prioritization
  • —Usefulness of first checks over generic long lists

Suggested Comparison Prompts

  • —"Busy mechanic: give the most likely cause in 2 sentences."
  • —"Rank the top 2 things to inspect first."
  • —"Should engine mounts be inspected first? Yes or no, one sentence."

Citation

If you use this adapter, please cite the base ERNIE-4.5 model and this repository.

Contact

Hugging Face: saadywdfsdfd