ChronoAgent-3B-Effective

Model Description

ChronoAgent-3B-Effective is a custom multi-domain time-series forecasting agent.

It is designed to forecast not only weather, but also electricity, traffic, finance, news-driven events, and Polymarket-style probability series.

The model uses a custom architecture inspired by modern time-series foundation models such as Google TimesFM and PatchTST-style patching, combined with a Universal Transformer recursive block.

Architecture

  • Patch-based time-series encoder
  • Event/news text conditioner
  • Domain embedding
  • Universal Transformer recursive block
  • Multi-Head Latent Attention, MLA
  • DeepSeek-style Mixture of Experts, MoE
  • SwiGLU feed-forward layers
  • RMSNorm
  • Gradient checkpointing for memory efficiency

Parameter Scale

  • Physical parameters: ~113.7M
  • Universal passes: 18
  • Effective reasoning depth: ~2.05B

This is not a physical 3B model. It is a memory-efficient recursive transformer with approximately 3B-equivalent effective compute depth when configured with enough passes.

Forecasting Modes

The model can be conditioned on different domains:

  • weather
  • electricity
  • traffic
  • exchange rate / finance
  • news/event-driven series
  • Polymarket-style probability series
  • world-model / chain-of-thought event context

Input Format

The model receives:

  1. Multivariate numeric history
  2. Optional event/news text
  3. Domain ID

It outputs the next horizon values for the target channel.

Training Data

The model was trained using streamed data from:

  • thuml/Time-Series-Library, especially the weather configuration
  • event/news text from public web corpora
  • synthetic world-model/event-conditioned series
  • optional local Polymarket-style CSV files when available

Example Forecast

Forecast

How to Use

Because this is a custom architecture, you must define the model classes before loading the weights.

1. Download files

from huggingface_hub import hf_hub_download

repo_id = "antontuzovAI/ChronoAgent-3B-Effective"

config_path = hf_hub_download(repo_id=repo_id, filename="config.json")
weights_path = hf_hub_download(repo_id=repo_id, filename="model_weights.pth")

2. Load config

import json

with open(config_path, "r") as f:
    CONFIG = json.load(f)

3. Define architecture

Copy the architecture classes from the training script:

  • RMSNorm
  • SwiGLU
  • MultiHeadLatentAttention
  • DeepSeekMoE
  • UniversalBlock
  • PatchTimeEncoder
  • EventTextEncoder
  • ChronoAgent3BEffective

4. Load model

import torch

model = ChronoAgent3BEffective(CONFIG)
model.load_state_dict(torch.load(weights_path, map_location="cpu", weights_only=True))
model.eval()

5. Forecast

import numpy as np

lookback = CONFIG["lookback"]
max_features = CONFIG["max_features"]

# history shape: (lookback, max_features)
history = np.random.randn(lookback, max_features).astype(np.float32)

mu = history.mean(axis=0)
sigma = history.std(axis=0) + 1e-5

x_norm = (history - mu) / sigma
x = torch.tensor(x_norm, dtype=torch.float32).unsqueeze(0)

# event text must be hashed into IDs using the same hash_text_to_ids function
# domain_id example: tslib = 1
domain_id = torch.tensor([1], dtype=torch.long)

with torch.no_grad():
    pred_norm = model(x, event_ids, event_mask, domain_id)

pred_real = pred_norm.numpy()[0] * sigma[0] + mu[0]
print(pred_real)

Limitations

  • This is an experimental research/demo model.
  • It is not a production financial forecasting system.
  • Polymarket-style forecasting requires clean historical probability series.
  • The event text encoder is lightweight and hashed, not a full language tokenizer.

Intended Use

This model is intended for:

  • educational experiments
  • time-series research
  • agent-style forecasting prototypes
  • weather/electricity/traffic/news-conditioned prediction demos
Downloads last month
12
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support