Release 0.18
August 7th, 2025
New features - Core BaseModel Repository:
- New recommendation task for limited item pool
When fine-tuning for recommendation problem, users can now choose from two specialised classes:OneHotRecommendationTask
, where the target is a fixed-size vector corresponding to the total number of recommendable entities.RecommendationTask
where the target is a probabilistic sketch representation.
The one-hot variant is especially beneficial when the number of recommendable entities is relatively low (e.g.,<5,000) where it often leads to better predictive performance.
- Loss weighting for One-Hot Recommendation and Multilabel Classification
Users can now optionally return weights in the target function to control the relative importance of individual target elements. This is particularly useful in use cases like training acquisition models, where only products not previously purchased should be considered during model training. - Entity filtering
Users can now define which targets should be included or excluded from predictions and ground truth using thetargets_to_include_fn
andtargets_to_exclude_fn
parameters in bothload_from_foundation_module
andload_from_checkpoint
. This change provides more precise control over evaluation behavior in multiclass classification, multi-label classification, one-hot recommendation, and sketch recommendation. As part of this update, thetargets_to_include
parameter has been removed fromTrainingParams
to avoid redundancy. Please note that while entity filtering functions affect scoring, ground truth, and metrics during the validation, prediction, and test phases, they do not impact model training. To exclude targets during training, loss weighting should be used instead. - Adjustable number of split points for random sampling strategy
The maximum number of split points per observation used during a single epoch has been increased from 1 to the square root of the number of event timestamps whentarget_sampling_strategy="random"
is selected. As a result, themaximum_splitpoints_per_entity
parameter will now also influence the number of split points in therandom
sampling strategy. This change ensures consistency across sampling strategies, asmaximum_splitpoints_per_entity
previously applied only to thevalid
strategy. - Flexible entity split
Entity split parameters such astraining
,validation
,test
,training_validation_end
can now be changed during scenario model training. This enables iterative experimentation and fine-tuning without the need to retrain the foundation model, allowing user to adapt data splits to insights discovered during training. - Sketch merging support
Sketches derived from shared entity columns can now be added to other sketches. This capability is particularly useful when building advanced target functions, as it allows users to combine different behavioral signals into a single, richer representation. For example, in datasets with very few product purchase transactions, a hybrid sketch can be created by adding a transaction-based sketch to a product view-based sketch. The hybrid sketch captures a broader range of product interactions and serves as a strong proxy for the sparse transaction data, improving model robustness and generalization. - Retention policy support during training
User can now use theentity_history_limit
parameter to define the maximum history time range for a single observation per data source during training. This allows simulation of retention policies used by certain databases that store only recent events. - Extended logging in ML experiment tracking tools
The number of validation batches is now logged in model lifecycle management tools, such as Neptune and MLflow. - Consistent entity split
Entity split into training, validation and test is now consistent between fit and training Foundation Model phases.
Fixes:
- Fixed an error when date column containing time zone caused errors during fit phase.
- Resolved an issue when Snowflake token authorization was used always if token was present, even if different authorization method was configured.
- Fixed an issue when overwrite setting removed checkpoint files during training with multi-GPU.
- Restored cache creation when enabled in configuration.