kronos-mlx-small / README.md
gxcsoccer's picture
Initial MLX-native Kronos-small weights
3131042 verified
metadata
license: mit
library_name: kronos-mlx
pipeline_tag: time-series-forecasting
tags:
  - mlx
  - apple-silicon
  - finance
  - kronos
  - time-series
base_model: NeoQuasar/Kronos-small

Kronos-small (MLX)

Apple MLX port of NeoQuasar/Kronos-small — a 24.7M-parameter foundation model for financial K-line (candlestick) forecasting (AAAI 2026).

The architecture and weights are unchanged from the upstream PyTorch checkpoint. The only difference is that PyTorch-only buffer tensors (*.rotary.inv_freq, tokenizer.bsq.basis, tokenizer.bsq.group_codebook, …) have been pruned because the kronos-mlx package recomputes them from scratch in __init__.

Usage

pip install kronos-mlx
from kronos_mlx import Kronos, KronosTokenizer, KronosPredictor

tokenizer = KronosTokenizer.from_pretrained("gxcsoccer/kronos-mlx-tokenizer-base")
model     = Kronos.from_pretrained("gxcsoccer/kronos-mlx-small")

predictor = KronosPredictor(model, tokenizer, max_context=512)

pred_df = predictor.predict(
    df=x_df,
    x_timestamp=x_timestamp,
    y_timestamp=y_timestamp,
    pred_len=120,
)

For 8-bit weight quantization (~70% memory reduction on Linear layers, modest quality loss):

model = Kronos.from_pretrained("gxcsoccer/kronos-mlx-small", bits=8)

Numerical parity

Bit-exact integer paths and float divergence within ~5e-5 (max) of the upstream PyTorch reference under identical inputs. See the parity test suite for the validation methodology.

Original