← Models and prediction modes

Purpose and workload fit

Calls an external time-series model over HTTP. Configure it in Model management, then choose the module prediction mode. A failed request fails that candidate while other eligible methods continue.

History and runtime requirements

The platform needs at least 30 points; the service may impose additional context limits. finetune_min_points controls tuning submission, not the forecasting minimum.

Inputs must be regularly sampled, gap-free, and finite. Outputs retain the metric unit, such as CPU cores, memory bytes, or requests per second. The sample interval determines the duration of a step. Minimum history permits execution; it does not establish forecast quality.

This method does not use covariates; target metrics are forecast separately.

Parameter reference

On narrow screens, swipe the parameter table horizontally to read all columns.

Parameter / typeDefault / range / unitMeaning and use
endpoint
string
Required; no default
No additional range
HTTP(S) service base URL, without a trailing slash. Required before enabling the service.
protocol
string
"finetune"
finetune / unitshub_chronos / unitshub_timesfm
finetune supports tuning; unitshub_chronos and unitshub_timesfm are prediction-only protocols.
api_key_env
string
""
No additional range
Name of the platform process environment variable containing the Bearer token; never put the token itself here.
timeout_seconds
int
30
≥ 1; ≤ 600; s
Timeout for one prediction request, in seconds.
service_quantile
float
0
≥ 0; ≤ 0.99
Zero uses the service mean; 0.5–0.99 requests a service quantile, evaluated with pinball loss and coverage.
finetune_interval_hours
int
0
≥ 0; ≤ 720; h
Hours between tuning submissions; zero disables tuning. Only the finetune protocol supports nonzero values.
finetune_mode
string
"full"
full / lora
full tunes all parameters; lora needs service-side LoRA support and fails if unavailable.
finetune_steps
int
30
≥ 1; ≤ 2000; steps
Training steps per tuning job; larger values increase cost and can overfit.
finetune_learning_rate
float
1e-05
≥ 1e-08; ≤ 0.01
Tuning learning rate; full tuning normally starts with a small value such as 1e-5.
finetune_batch_size
int
16
≥ 1; ≤ 256
Training windows per tuning step.
finetune_context_length
int
256
≥ 16; ≤ 8192; steps
Recent context steps per tuning window.
finetune_min_points
int
200
≥ 60; ≤ 100000; points
Minimum series observations before a tuning job is submitted.

Configuration example

Edit parameters in Model management. This is a parameter object, not a complete config.yaml. Seasonal examples assume five-minute sampling; adjust for your actual interval. Omitted optional values use the defaults above.

JSON
{
  "endpoint": "http://chronos:8000",
  "protocol": "finetune",
  "timeout_seconds": 30,
  "service_quantile": 0,
  "finetune_interval_hours": 0
}

Tuning and tradeoffs

Use the following as a starting point for background tuning. Deploy a compatible service first and replace the example endpoint. The 24-hour tuning interval is an example, not the platform default.

JSON
{
  "endpoint": "http://chronos:8000",
  "protocol": "finetune",
  "timeout_seconds": 30,
  "finetune_interval_hours": 24,
  "finetune_mode": "full",
  "finetune_steps": 30,
  "finetune_learning_rate": 0.00001,
  "finetune_batch_size": 16,
  "finetune_context_length": 256,
  "finetune_min_points": 200
}

The finetune protocol supports background tuning. unitshub_chronos and unitshub_timesfm are prediction-only and require a zero tuning interval. Store credentials in the platform environment and set only the variable name in api_key_env. Backtests and replay use pretrained models; assess tuned models through arriving actuals.

Shared parameters: shifts and quantiles

Parameter / typeDefault / range / unitMeaning and use
reset_on_change
bool
false
No additional range
Use history after a detected level shift, preserving enough points for the underlying method.
change_threshold
float
8
≥ 3; ≤ 50
Minimum shift relative to robust noise; used only with reset_on_change.
change_min_shift
float
0.2
≥ 0; ≤ 5
Minimum relative level shift; 0.2 means 20%. Used only with reset_on_change.
quantile_level
float
0
≥ 0; ≤ 0.99
Zero disables conformal calibration; otherwise must be above 0.5 and at most 0.99. Calibrates an upper forecast using earlier forecast errors.
calibration_windows
int
8
≥ 3; ≤ 50
Historical windows for conformal calibration; more windows add forecast calls and history requirements.

quantile_level uses a 0–1 scale; percentile uses 1–100. Calibration runs extra historical forecasts. Check history and runtime budgets before increasing windows; coverage is an evaluation target, not a guarantee.

Use in a module

  1. Save parameters and check history, sample interval, and horizon.
  2. Enable module prediction. Fixed mode runs the selected method; dynamic mode uses centrally enabled methods.
  3. Run rolling backtests and earn version promotion before adoption. Re-run backtests after changes affecting model identity.
  4. Review error, peak underestimation, runtime, and adoption reasons in Observe or Recommend before separately authorizing admission and replica actions.

For insufficient history, invalid settings, timeouts, or invalid output, inspect run reasons. Without eligible forecasts, the module follows its schedules, fallback, and protection rules.

Backtesting and evaluation · Recommendations and look-ahead