YAML Metadata Warning: empty or missing yaml metadata in repo card (https://huggingface.co/docs/hub/model-cards#model-card-metadata)

Model Details

Model Name: Fine-Tuned BART for Customer Support Resolution Generation

Base Model: facebook/bart-base

Dataset: bitext/Bitext-customer-support-llm-chatbot-training-dataset

Training Device: CUDA (GPU)


Dataset Information

Dataset Structure: DatasetDict({ train: Dataset({ features: ['input_text', 'target_text'], num_rows: 24184 }) validation: Dataset({ features: ['input_text', 'target_text'], num_rows: 2688 }) })

Available Splits:

  • Train: 24,184 examples
  • Validation: 2,688 examples

Feature Representation:

  • input_text: Customer issue text (e.g., "Customer: How do I cancel my order?")
  • target_text: Resolution text (e.g., "Log into the portal and cancel it there.")

Training Details

Training Process:

  • Fine-tuned for 3 epochs
  • Loss reduced progressively across epochs

Hyperparameters:

  • Epochs: 3
  • Learning Rate: 2e-5
  • Batch Size: 8
  • Weight Decay: 0.01
  • Mixed Precision: FP16

Performance Metrics:

  • Final Training Loss: ~0.0140
  • Final Validation Loss: ~0.0121

Inference Example

import torch
from transformers import BartForConditionalGeneration, BartTokenizer

def load_model(model_path):
    tokenizer = BartTokenizer.from_pretrained(model_path)
    model = BartForConditionalGeneration.from_pretrained(model_path).half()  # FP16
    model.eval()
    return model, tokenizer

def generate_resolution(issue, model, tokenizer, device="cuda"):
    input_text = f"Customer: {issue}"
    inputs = tokenizer(
        input_text,
        max_length=512,
        padding="max_length",
        truncation=True,
        return_tensors="pt"
    ).to(device)
    outputs = model.generate(
        inputs["input_ids"],
        max_length=128,
        num_beams=4,
        early_stopping=True
    )
    return tokenizer.decode(outputs[0], skip_special_tokens=True)

# Example usage
if __name__ == "__main__":
    model_path = "your-username/bart-resolution-summarizer-fp16"  # Replace with your HF repo
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    model, tokenizer = load_model(model_path)
    model.to(device)

    issue = "How do I cancel my order?"
    resolution = generate_resolution(issue, model, tokenizer, device)
    print(f"Issue: {issue}")
    print(f"Resolution: {resolution}")
Expected Output:


Issue: How do I cancel my order?
Resolution: Log into the portal and cancel it there.

Limitations

Model may struggle with issues requiring specific resolutions not well-represented in the training data (e.g., time-related queries like "When can I call support?"). Resolution extraction relied on heuristics, potentially missing nuanced answers in verbose responses.

Future Improvements

Refine resolution extraction with more advanced NLP techniques or manual curation. Fine-tune on additional customer support datasets for broader coverage.

Downloads last month
2
Safetensors
Model size
139M params
Tensor type
FP16
·
Inference Providers NEW
This model is not currently available via any of the supported Inference Providers.
The model cannot be deployed to the HF Inference API: The model has no library tag.