biplov/banking77-balanced-multilingual0.1.0

Banking77 · balanced (multilingual). Which banking support intent does the customer have? Fine-tuned from aac6fef/laya-multilingual-mlx.

choicemlx

Banking77 · balanced (multilingual)

A Laya decision model. It answers the questions below in one forward pass, with calibrated probabilities and no generated text. Fine-tuned from aac6fef/laya-multilingual-mlx.

Evaluation

Measured on the held-out test split of Banking77 (77 intents).

MetricBase modelThis model
Decision accuracy34.2%64.2% [60.7%–67.5%]
Calibration error (ECE)0.4620.024
Log loss5.0831.309
Brier score1.0640.465
Median latency62.2 ms
p95 latency69.9 ms
Decisions scored770770

Fine-tuning fixed 246 decisions the base model got wrong and broke 15 it got right.

Use it

pip install systemonemodels
systemone pull biplov/banking77-balanced-multilingual
import json
import laya_mlx as laya  # pip install laya-mlx, on Apple silicon
from systemone import snapshot_download

path = snapshot_download("biplov/banking77-balanced-multilingual")
agent = laya.load(str(path))
questions = json.loads((path / "questions.json").read_text())
print(agent.predict("your text here", questions)["answers"])

Questions

The questions it was trained to answer. Their wording is part of the model's input, so ask them as written.

{
  "intent": {
    "type": "choice",
    "instructions": "Which banking support intent does the customer have?",
    "criteria": [
      "Refund_not_showing_up",
      "activate_my_card",
      "age_limit",
      "apple_pay_or_google_pay",
      "atm_support",
      "automatic_top_up",
      "balance_not_updated_after_bank_transfer",
      "balance_not_updated_after_cheque_or_cash_deposit",
      "beneficiary_not_allowed",
      "cancel_transfer",
      "card_about_to_expire",
      "card_acceptance",
      "card_arrival",
      "card_delivery_estimate",
      "card_linking",
      "card_not_working",
      "card_payment_fee_charged",
      "card_payment_not_recognised",
      "card_payment_wrong_exchange_rate",
      "card_swallowed",
      "cash_withdrawal_charge",
      "cash_withdrawal_not_recognised",
      "change_pin",
      "compromised_card",
      "contactless_not_working",
      "country_support",
      "declined_card_payment",
      "declined_cash_withdrawal",
      "declined_transfer",
      "direct_debit_payment_not_recognised",
      "disposable_card_limits",
      "edit_personal_details",
      "exchange_charge",
      "exchange_rate",
      "exchange_via_app",
      "extra_charge_on_statement",
      "failed_transfer",
      "fiat_currency_support",
      "get_disposable_virtual_card",
      "get_physical_card",
      "getting_spare_card",
      "getting_virtual_card",
      "lost_or_stolen_card",
      "lost_or_stolen_phone",
      "order_physical_card",
      "passcode_forgotten",
      "pending_card_payment",
      "pending_cash_withdrawal",
      "pending_top_up",
      "pending_transfer",
      "pin_blocked",
      "receiving_money",
      "request_refund",
      "reverted_card_payment?",
      "supported_cards_and_currencies",
      "terminate_account",
      "top_up_by_bank_transfer_charge",
      "top_up_by_card_charge",
      "top_up_by_cash_or_cheque",
      "top_up_failed",
      "top_up_limits",
      "top_up_reverted",
      "topping_up_by_card",
      "transaction_charged_twice",
      "transfer_fee_charged",
      "transfer_into_account",
      "transfer_not_received_by_recipient",
      "transfer_timing",
      "unable_to_verify_identity",
      "verify_my_identity",
      "verify_source_of_funds",
      "verify_top_up",
      "virtual_card_not_working",
      "visa_or_mastercard",
      "why_verify_identity",
      "wrong_amount_of_cash_received",
      "wrong_exchange_rate_for_cash_withdrawal"
    ]
  }
}

Training

{
  "method": "lora",
  "objective": "proper",
  "epochs": 4,
  "batch_size": 8,
  "grad_accum": 2,
  "lr": 0.0002,
  "head_lr": 0.0001,
  "lora_rank": 16,
  "lora_alpha": 32,
  "lora_dropout": 0.05,
  "lora_layers": 0,
  "full_layers": 4,
  "head_dropout": 0.1,
  "weight_decay": 0.01,
  "warmup": 0.06,
  "max_grad_norm": 1.0,
  "shuffle_options": true,
  "class_weighting": "none",
  "patience": 2,
  "grad_checkpoint": "auto",
  "precision": "bfloat16",
  "seed": 13
}

Generated by systemone push from the files in this repository. Push a README.md, or edit the card on this page, to replace it.