Move 17 library crates into crates/, CLI binary into bin/fxt, consolidate 10 test crates into testing/, split config crate from deployment config files. Root directory reduced from 38+ to ~17 directories. All Cargo.toml paths and build.rs proto refs updated. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
50 lines
2.0 KiB
Markdown
50 lines
2.0 KiB
Markdown
# ml
|
|
|
|
Machine learning models for Foxhunt.
|
|
|
|
## Models
|
|
|
|
- **DQN (Rainbow)** -- Deep Q-Network with prioritized experience replay, dueling heads, noisy nets, double Q-learning
|
|
- **PPO** -- Proximal Policy Optimization with GAE, LSTM policies, clip-higher option
|
|
- **TFT** -- Temporal Fusion Transformer for multi-horizon time series forecasting
|
|
- **Mamba2** -- State space model for efficient sequence prediction
|
|
- **Liquid Networks** -- Biologically inspired neural networks for non-stationary data
|
|
- **TLOB** -- Transformer-based Limit Order Book analysis
|
|
- **Flash Attention** -- Optimized attention implementation
|
|
|
|
## Training
|
|
|
|
Two paths per model:
|
|
|
|
1. **Standalone trainer** -- direct training loop (e.g., `DQN::train`, `PpoTrainer`)
|
|
2. **UnifiedTrainable adapter** -- wraps models for the hyperopt pipeline (e.g., `DQNTrainableAdapter`, `UnifiedTrainablePPO`)
|
|
|
|
## Inference
|
|
|
|
`InferenceAdapterBridge` connects models to the ensemble coordinator in `adaptive-strategy`. Each model exposes an `InferenceAdapter` trait for prediction.
|
|
|
|
## Backend
|
|
|
|
- **Candle v0.9.1** -- `VarMap`, `AdamW`, `loss.backward()`, `GradStore`, `opt.step(&grads)`
|
|
- **CUDA required for training** -- tested on RTX 3050 Ti 4GB, max batch size 230
|
|
- **CPU inference** supported
|
|
|
|
## Hyperopt
|
|
|
|
`ArgminOptimizer` (Particle Swarm Optimization) with per-model adapters:
|
|
DQN, PPO, ContinuousPPO, TFT, Mamba2. Uses `ParameterSpace` trait for continuous parameter mapping.
|
|
|
|
## ModelType Enum
|
|
|
|
15 variants: `CompactDQN`, `DistilledMicroNet`, `DQN`, `RainbowDQN`, `MAMBA`, `TFT`, `TGGN`, `LNN`, `TLOB`, `PPO`, `Transformer`, `Mamba`, `LiquidNet`, `TGNN`, `Ensemble`.
|
|
|
|
## Key Modules
|
|
|
|
`dqn`, `ppo`, `tft`, `mamba`, `liquid`, `tlob`, `flash_attention`, `ensemble`, `evaluation`, `inference`, `trainers`, `hyperopt`, `checkpoint`, `preprocessing`, `data_loaders`, `features`, `model_factory`, `training_pipeline`, `regime_detection`, `stress_testing`, `validation`, `bridge`, `common`, `metrics`.
|
|
|
|
## Testing
|
|
|
|
```bash
|
|
SQLX_OFFLINE=true cargo test -p ml --lib # ~2009 tests
|
|
```
|