← Về thư mục
📄 / / profiles / r-and-d / raw_evidence / scientific-agent-skills / skills / timesfm-forecasting / references / system_requirements.md

System Requirements for TimesFM

Hardware Tiers

TimesFM can run on a variety of hardware configurations. This guide helps you choose the right setup and tune performance for your machine.

Tier 1: Minimal (CPU-Only, 4–8 GB RAM)

model.compile(timesfm.ForecastConfig(
    max_context=512,
    max_horizon=128,
    per_core_batch_size=4,
    normalize_inputs=True,
    use_continuous_quantile_head=True,
    fix_quantile_crossing=True,
))

Tier 2: Standard (CPU 16 GB or GPU 4–8 GB VRAM)

model.compile(timesfm.ForecastConfig(
    max_context=1024,
    max_horizon=256,
    per_core_batch_size=64,
    normalize_inputs=True,
    use_continuous_quantile_head=True,
    fix_quantile_crossing=True,
))

Tier 3: Production (GPU 16+ GB VRAM or Apple Silicon 32+ GB)

model.compile(timesfm.ForecastConfig(
    max_context=4096,
    max_horizon=256,
    per_core_batch_size=128,
    normalize_inputs=True,
    use_continuous_quantile_head=True,
    fix_quantile_crossing=True,
))

Tier 4: Legacy Models (v1.0/v2.0 — 500M parameters)

Memory Estimation

CPU Memory (RAM)

Approximate RAM usage during inference:

Component TimesFM 2.5 (200M) TimesFM 2.0 (500M)
Model weights ~800 MB ~2 GB
Runtime overhead ~500 MB ~1 GB
Input/output buffers ~200 MB per 1000 series ~500 MB per 1000 series
Total (small batch) ~1.5 GB ~3.5 GB
Total (large batch) ~3 GB ~6 GB

Formula: RAM ≈ model_weights + 0.5 GB + (0.2 MB × num_series × context_length / 1000)

GPU Memory (VRAM)

Component TimesFM 2.5 (200M)
Model weights ~800 MB
KV cache + activations ~200–500 MB (scales with context)
Batch buffers ~100 MB per 100 series at context=1024
Total (batch=32) ~1.2 GB
Total (batch=128) ~1.8 GB
Total (batch=256) ~2.5 GB

Disk Space

Item Size
TimesFM 2.5 safetensors ~800 MB
Hugging Face cache overhead ~200 MB
Total download ~1 GB

Model weights are downloaded once from Hugging Face Hub and cached in ~/.cache/huggingface/ (or $HF_HOME).

GPU Selection Guide

NVIDIA GPUs (CUDA)

GPU VRAM Recommended batch Notes
RTX 3060 12 GB 64 Good entry-level
RTX 3090 / 4090 24 GB 256 Excellent for production
A100 (40 GB) 40 GB 512 Cloud/HPC
A100 (80 GB) 80 GB 1024 Cloud/HPC
T4 16 GB 128 Cloud (Colab, AWS)
V100 16–32 GB 128–256 Cloud

Apple Silicon (MPS)

Chip Unified Memory Recommended batch Notes
M1 8–16 GB 16–32 Works, slower than CUDA
M1 Pro/Max 16–64 GB 32–128 Good performance
M2/M3/M4 Pro/Max 18–128 GB 64–256 Excellent

CPU Only

Works on any CPU with sufficient RAM. Expect 5–20× slower than GPU.

Python and Package Requirements

Requirement Minimum Recommended
Python 3.10 3.12+
numpy 1.26.4 latest
torch 2.0.0 latest
huggingface_hub 0.23.0 latest
safetensors 0.5.3 latest

Optional Dependencies

Package Purpose Install
jax Flax backend uv pip install jax[cuda]
flax Flax backend uv pip install flax
scikit-learn XReg covariates uv pip install scikit-learn

Operating System Compatibility

OS Status Notes
Linux (Ubuntu 20.04+) ✅ Fully supported Best performance with CUDA
macOS 13+ (Ventura) ✅ Fully supported MPS acceleration on Apple Silicon
Windows 11 + WSL2 ✅ Supported Use WSL2 for best experience
Windows (native) ⚠️ Partial PyTorch works, some edge cases

Troubleshooting

Out of Memory (OOM)

# Reduce batch size
model.compile(timesfm.ForecastConfig(
    per_core_batch_size=4,  # Start very small
    max_context=512,        # Reduce context
    ...
))

# Process in chunks
for i in range(0, len(inputs), 50):
    chunk = inputs[i:i+50]
    p, q = model.forecast(horizon=H, inputs=chunk)

Slow Inference on CPU

# Ensure matmul precision is set
import torch
torch.set_float32_matmul_precision("high")

# Use smaller context
model.compile(timesfm.ForecastConfig(
    max_context=256,  # Shorter context = faster
    ...
))

Model Download Fails

# Set a different cache directory
export HF_HOME=/path/with/more/space

# Or download manually
huggingface-cli download google/timesfm-2.5-200m-pytorch