Design Pipeline¶
The Design Pipeline is optimized for rapid prototyping and architectural validation. It executes locally without Ray, trains each model exactly once with the specified hyperparameters (no HPO), and does not invoke the Writer module. This makes it the fastest way to test model implementations, validate configurations, and debug data pipelines.
When to Use¶
- Testing a new model implementation before running full HPO
- Validating that a configuration file parses correctly and the data pipeline works end-to-end
- Debugging data loading, filtering, splitting, or evaluation issues
- Quick comparisons on small datasets
Constraints¶
- No HPO: Each model must have single-value hyperparameters — search spaces (lists, ranges) are not allowed.
- No Ray: Runs entirely in the local process; a Ray cluster is not required.
- No Writer: Results are printed to the console but not persisted to disk. Use the Training Pipeline for persistent results.
- Single split: Uses one train/test split only (no cross-validation).
Tip
Use the Design Pipeline to iterate on model code. Once satisfied, switch to the Training Pipeline for full HPO by replacing single-value hyperparameters with search spaces and adding a writer section.
Configuration¶
The Design Pipeline requires three configuration sections: reader, splitter, and evaluation. The writer section is ignored.
reader:
loading_strategy: dataset
data_type: transaction
reading_method: local
local_path: path/to/my/dataset.tsv
rating_type: implicit
splitter:
test_splitting:
strategy: temporal_holdout
ratio: 0.1
models:
EASE:
l2: 10
ItemKNN:
k: 100
similarity: cosine
MyCustomModel:
arg_1: 10
arg_2: 1e-3
...
evaluation:
top_k: [10, 20]
metrics: [nDCG, Precision, Recall, HitRate]
general:
custom_modules: my_model.py