be0e1468daf5b2d02dc54a24f962c79bf756eae4
- parallel_eval.py: ProcessPoolExecutor-based episode runner. Each worker gets its own CWM + planner instance. Zero shared state = embarrassingly parallel. Deterministic: same seed → same result. - PolicyEvaluator.evaluate_candidate: new workers parameter (0=sequential, >1=parallel). Backward compatible: default workers=0. - 16 new tests: determinism, pickling, result validity, cross-validation between sequential and parallel paths, backward compatibility. - README: training performance table with speedup measurements. Speedup results (3 assets × 30 scenarios = 90 scenarios): Sequential: 3.3s per eval (1.0x) 2 workers: 1.3s per eval (2.6x) 4 workers: 0.6s per eval (5.9x) 8 workers: 0.4s per eval (9.1x) CMA-ES 48 evals: 125s → 85s (1.5x training speedup) Note: CWM numba hot path was already wired (_HAS_NUMBA=True, 5.3µs/transition). Bottleneck is MCTS planner (96% of eval time), not CWM.
Description
Sentiment analysis engine with ONNX FinBERT + LoRA adapters
Languages
Python
99.9%
Dockerfile
0.1%