Releases: zerolovesea/NextRec
Release list
v0.6.11
NextRec v0.6.11 — Release Notes
新增功能 | New Features & Improvements
功能 | Features
- 核心运行时从
basic/model.py重构为nextrec.engine模块(trainer/predictor/validator/exporter/model),训练、评估、预测、导出职责拆分更清晰 - 统一模型家族 API 与目录结构:
matching / ranking / multitask / pretrain / sequential - 新增序列建模支持:
SASRec(nextrec/models/sequential) - 新增包级默认日志初始化(导入
nextrec即提供基础日志输出) nextrec.data新增公开数据处理接口导出(parse_sequence_value,to_object_array)
工程与依赖 | Build & Packaging
- ONNX 与实验追踪改为可选依赖:
pip install "nextrec[onnx]"pip install "nextrec[tracking]"
- CLI 预设配置目录统一迁移至
configs/
CLI
- CLI 训练/预测流程跟随新 engine 重构同步升级
- 配置模板与参数校验逻辑更新,命令行可用性测试补齐(
test_cli.py)
模型 | Models
- 匹配模型命名统一:
retrieval家族迁移为matching - 多任务目录命名统一:
multi_task迁移为multitask RQ-VAE模块迁移至pretrain家族并统一基类接口- Ranking/Matching/Multitask 模型统一继承方式与基类适配
修复 | Fixes
- 修复流式推理(stream mode infer)相关问题
- 修复
valid_split相关切分逻辑问题 - 修复/收敛分组评估与部分指标行为不一致问题
测试 | Tests
- 新增:
test_cli.py、test_handle_valid_split.py、test_pretrain_models.py、test_utils_onnx.py、test_utils_torch.py - 更新:
test_base_model_fit.py、test_evaluate_grouped.py、test_losses.py、test_predict_expand.py、test_preprocessor.py等 - 测试命名同步统一:
test_match_models.py->test_matching_models.py
文档 | Docs
- README / README_en、快速上手、CLI、API、教程文档与 Notebook 全面更新
- 示例脚本命名与模型家族命名保持一致(
match->matching)
兼容性说明 | Compatibility Notes
- 存在目录与导入路径变更(如
retrieval->matching,multi_task->multitask),旧代码可能需调整 import tree_base与分布式示例相关内容已从当前主干中移除
NextRec v0.6.11 — Release Notes
Features
- Refactored core runtime from
basic/model.pyinto the newnextrec.enginemodules (trainer/predictor/validator/exporter/model) - Unified model-family API and package layout:
matching / ranking / multitask / pretrain / sequential - Added sequential model support with
SASRec - Added package-level default logging initialization on
import nextrec - Exposed public data helpers in
nextrec.data(parse_sequence_value,to_object_array)
Build & Packaging
- ONNX and experiment tracking are now optional extras:
pip install "nextrec[onnx]"pip install "nextrec[tracking]"
- CLI preset configs were reorganized into
configs/
CLI
- CLI train/predict flow upgraded to align with the new engine architecture
- Config templates and validation logic refreshed, with dedicated CLI tests added (
test_cli.py)
Models
- Renamed model family from
retrievaltomatching - Renamed package from
multi_tasktomultitask - Moved
RQ-VAEinto thepretrainfamily with unified base interfaces - Standardized base-class integration across ranking/matching/multitask models
Fixes
- Fixed stream-mode inference issues
- Fixed
valid_splithandling bugs - Fixed grouped evaluation and related metric consistency issues
Tests
- Added
test_cli.py,test_handle_valid_split.py,test_pretrain_models.py,test_utils_onnx.py,test_utils_torch.py - Updated
test_base_model_fit.py,test_evaluate_grouped.py,test_losses.py,test_predict_expand.py,test_preprocessor.py, etc. - Renamed
test_match_models.pytotest_matching_models.py
Docs
- Refreshed README/README_en, quick-start, CLI/API docs, tutorials, and notebooks
- Synced tutorial/example naming with new family naming (
match->matching)
Compatibility Notes
- Import paths changed in multiple places (e.g.,
retrieval->matching,multi_task->multitask) tree_basemodules and distributed tutorial examples are no longer present in current mainline
v0.6.2
NextRec v0.6.2 — Release Notes
新增功能 | New Features & Improvements
功能 | Features
- 新增多场景预测/评估支持 (
multi-scenario predict/evaluate),可通过配置实现多场景一键切换 - 新增
LR Warmup学习率预热支持,提升训练稳定性 - 新增按列分组验证支持 (
valid split group by column) - 新增
BaseModel适配器架构重构,引入adapters.py模块,统一模型接口 - 新增 CLI 评估日志路径配置选项
性能 | Performance
- 显著加速 GAUC/TopK 验证流程
- 数据预处理器新增多进程方法支持与样本过滤优化
BaseModel.fit支持分组评估 (group by evaluate)- CLI 新增执行成功标志位 (
success flag)
CLI
- 扩展多场景配置支持
- 优化评估模式日志输出
模型 | Models
- 多任务模型 (ESMM, MMoE, PLE, AITM, etc.) 接口统一优化
- Ranking 模型 (DCN_v2, DIEN, DIN, FiBiNet, MaskNet, NFM, etc.) 训练流程优化
- 基础模型架构适配器 (
adapters.py) 重构
修复 | Fixes
- 修复 BaseModel 评估警告问题
- 修复分组指标显示 Bug
- 修复 Tutorial Notebooks 兼容性问题
- 修复多个 CI/CD 问题
测试 | Tests
- 新增
test_base_model_fit.py、test_evaluate_grouped.py、test_predict_expand.py - 新增
test_losses.py损失函数测试 - 更新
test_match_models.py匹配模型测试
文档 | Docs
- 全新 VitePress 文档站点上线
- 新增 Getting Started 快速入门指南
- 更新中文 API 文档
NextRec v0.6.2 — Release Notes
Features
- Added multi-scenario predict/evaluate support with configurable scenario switching
- Added
LR Warmuplearning rate preheating for improved training stability - Added valid split group by column support
- Refactored BaseModel with new
adapters.pymodule for unified model interfaces - Added CLI evaluate log file path configuration option
Performance
- Significantly accelerated GAUC/TopK validation pipeline
- Data preprocessor now supports multi-process methods and sample filtering optimization
BaseModel.fitnow supports group-by evaluation- CLI now outputs execution success flag
CLI
- Extended multi-scenario configuration support
- Optimized evaluate mode log output
Models
- Unified multi-task model interfaces (ESMM, MMoE, PLE, AITM, etc.)
- Improved ranking model training flows (DCN_v2, DIEN, DIN, FiBiNet, MaskNet, NFM, etc.)
- BaseModel architecture adapter (
adapters.py) refactoring
Fixes
- Fixed BaseModel evaluation warning issues
- Fixed grouped metrics display bug
- Fixed tutorial notebooks compatibility issues
- Fixed multiple CI/CD issues
Tests
- Added
test_base_model_fit.py,test_evaluate_grouped.py,test_predict_expand.py - Added
test_losses.pyfor loss function testing - Updated
test_match_models.pyfor matching model coverage
Docs
- New VitePress documentation site launched
- Added Getting Started quick-start guide
- Updated Chinese API documentation
NextRec v0.5.10
NextRec v0.5.10 — Release Notes
New Features & Improvements
Features
- Added ONNX model export and inference support via
nextrec.utils.onnx_utils, enabling production deployment with ONNX Runtime. New tutorialexample_onnx.pydemonstrates the workflow. - Introduced NextRec Studio: a Vue3-based frontend application for visually configuring CLI YAML files (training, feature, model, predict configs). Supports Docker and script deployment.
- Added CLI evaluate mode (
--mode=evaluate) for standalone model evaluation with confusion matrix output and metric reporting. - Added multiprocessing prediction support (
predict_onnx_streaming) for high-throughput batch inference with configurable worker count. - Added
nextrec.utils.timingmodule for pipeline stage profiling, enabling detailed inference time cost analysis. - Improved numerical stability in ONNX export by replacing
+ epswithclampoperations.
Performance
- Significantly accelerated data preprocessing (up to 9x speedup) in streaming mode and batch prediction pipelines.
- Optimized inference speed through batching improvements and ONNX Runtime integration.
- Added
prefetch_factorconfiguration option for dataloader tuning.
CLI
- Extended CLI with
evaluatemode andevaluate_config.yamlpreset template. - Fixed multiple CLI bugs including multiprocessing/threads issues, path resolution errors, extra params handling, and streaming predict edge cases.
Models
- Minor alignment updates across ranking and multi-task models for improved ONNX compatibility.
- Enhanced base model export logic for consistent input/output handling.
Fixes
- Fixed CLI multi-processing/threads bug causing worker initialization failures.
- Fixed CLI predict path resolution and configuration errors.
- Fixed streaming predict corner cases with small batch sizes.
- Improved error messages and validation in ONNX export utilities.
Tests
- Added comprehensive ONNX model tests (
test_onnx_models.py,test_onnx_predict_streaming.py) covering export, inference, and result validation. - Updated existing test suites for compatibility with new preprocessing flow.
Docs
- Added NextRec Studio documentation (
nextrec_studio/README.md,README_en.md) with deployment instructions. - Updated README to reflect v0.5.11, added ONNX tutorial reference.
- Added
evaluate_config.yamlpreset with inline documentation. - Updated CLI docs (
NextRec-CLI.md,NextRec-CLI_zh.md) with evaluate mode and multiprocessing options.
NextRec v0.4.34
NextRec v0.4.34 — Release Notes
New Features & Improvements
Features
- Added Top-K metrics: topk_precision, topk_recall, and topk_lift.
- Added tree-based model support via nextrec.models.tree_base, including CatBoost / LightGBM / XGBoost integrations, plus a new tree example tutorial.
- Enhanced CLI: support passing swanlab / wandb kwargs through training, and updated CLI preset templates/configs accordingly.
- Logging update: changed default log file extension from .log to .txt.
- Improved internal consistency across core utilities (summary / torch utils / grad_norm / typing), aligning runtime behavior and usability.
Breaking Feature
- Model set changes (potentially breaking): legacy representation and sequential model implementations were removed/disabled (e.g., autorec, bpr, lightgcn, mf, s3rec, cl4srec, sasrec). Current codebase keeps a smaller set (e.g., representation rqvae, sequential hstu).
- Utilities refactor (potentially breaking): removed nextrec/utils/feature.py; projects importing it should migrate to the current utils layout.
Models
- Introduced a new tree-based model family: shared base + CatBoost/LightGBM/XGBoost adapters.
- Minor alignment changes to multi-task models (e.g., PLE / Share-Bottom / PEPNet) to stay compatible with the updated core/data flow.
Fixes
- Fixed a streaming mode issue in model summary generation.
- Fixed multiple CLI errors, including CD/CI-related path/runtime issues.
Tests
- Refreshed the test runner and tutorial runners to validate updated training/data flow and the new tree-based workflow.
Documents
Docs
- Updated README and README_en to reflect v0.4.34, refreshed RTD config, and updated CLI docs/presets.
NextRec v0.4.27
NextRec v0.4.27 — Release Notes
New Features & Improvements
Features
- Added core assertions utilities in asserts.py.
- Expanded CLI presets and configs for new multi-task models in nextrec_cli_preset/model_configs/.
- Aligned core versioning and docs metadata for the release.
Breaking Feature
- Unified parameter names across all model instances, e.g., rename dnn_params to mlp_params.
Models
- Introduced new multi-task models: APG, ESCM, HMoE, Cross Stitch.
- Reworked multi-task model implementations and refactored shared components across PLE/PEPNet/MMoE/ESMM/Share-Bottom.
- Adjusted retrieval and representation model imports to align with new multi-task additions.
- Below models still in process: AITM, SNR, STAR.
Fixes
- General consistency fixes across ranking/retrieval/sequential models.
- Improved model registry and utility import paths in model.py and nextrec/utils/.
Tests
- Updated ranking, retrieval, and multi-task model tests to cover new models and refactors.
Refreshed tutorial runners to validate full model suites.
Documents
- Updated README.md and README_en.md for v0.4.27 and new model coverage.
- Refreshed CLI docs in NextRec-CLI.md and NextRec-CLI_zh.md.
NextRec v0.4.21
NextRec v0.4.21 — Release Notes
New Features & Improvements
Features
- Added support for SwanLab and Weights & Biases in v0.4.21
- Added support for Grad Norm in v0.4.13
Breaking Feature
validation_splitfromBasemodel.fithas been renamed tovalid_split
Models
- Added FFM in v0.4.12
- Added EulerNet in v0.4.12
Documents
- Updated README.md and README_en.md for v0.4.21.
NextRec v0.4.9
NextRec v0.4.9 — Release Notes
New Features & Improvements
Features
- Introduced Rich-based console utilities for CLI progress, metrics tables, and startup banners in console.py.
- Consolidated PyTorch helpers (device, distributed, init, optimizers, tensor ops) into torch_utils.py and re-exported via nextrec/utils.
- Expanded data utilities for file IO, streaming chunk reads, and synthetic data generation in data.py.
- CLI and data pipeline refactors to align feature registration and streaming handling in cli.py, nextrec/data/, and nextrec/basic/.
Models
- Reorganized model namespaces: moved match models to nextrec/models/retrieval and added nextrec/models/representation.
- Relocated RQ-VAE to rqvae.py; updated retrieval model paths/imports accordingly.
- Adjusted model registry/import surfaces to match the new package layout.
Fixes
- Standardized configuration and utility imports across core, data, and training modules to reduce duplication.
- Centralized device/distributed/optimizer/tensor helpers for more consistent behavior across modules.
- General stability cleanups in preprocessing, dataloader, metrics, and logging flows.
Tests
- Added tests for console utilities, data utilities, and embedding helpers in test_utils_console.py, test_utils_data.py, and test_utils_embedding.py.
- Updated model tests and shared helpers to match the reorganized package structure.
- All unit tests and model code have passed validation on both macOS and Linux environments.
Documents
- Updated README.md and README_en.md for v0.4.9 and current CLI capabilities.
- Updated Sphinx utils docs in nextrec.utils.rst for new modules.
- Refreshed tutorials/notebooks to align with the new model paths.
NextRec v0.4.1
NextRec v0.4.1 — Release Notes
New Features & Improvements
Core Features
- Distributed Training (DDP) Support for BaseModel
- BaseModel now supports Distributed Data Parallel (DDP) training.
- complete tutorial and reference implementation can be found under tutorials/distributed/.
- Removal of task_type Property
- The previous task_type property has been removed.
- It is now replaced with a default task mechanism — when users do not explicitly provide a task, the model automatically assigns one based on this default configuration.
- Unified PredictionLayer Output Shape
- The tensor shape used in compute_loss is now standardized as: [batch_size, num_tasks] # for multiclass tasks, num_tasks = task length
- MLP Enhancement: Output Dimension Support
- The MLP module now supports configuring a custom output dimension.
- Utilities Cleanup
- Major cleanup and unification across utility methods to improve maintainability and consistency.
New Models
- Refactored and validated implementations for the following models:
- AFM
- DIN
Documentation
- Added detailed docstrings for multiple modules.
- Added several new beginner-friendly example notebooks.
- Updated the README to reflect the latest functionality and API changes.
Testing
- Added unified test scripts for users to easily verify model functionality:
- python tutorials/run_all_ranking_models.py
- python tutorials/run_all_match_models.py
- python tutorials/run_all_multitask_models.py
- All unit tests and model code have passed validation on both macOS and Linux environments.
NextRec v0.3.1
NextRec v0.3.1 — Release Notes
New Features & Improvements
Core Features
-
DenseFeature Enhancements
- Added input_dim and use_embedding parameters.
- Fixed a previous bug where the EmbeddingLayer incorrectly applied a default 1-dimensional linear projection to dense features.
-
SparseFeature Pretrained Weights Support
- SparseFeature now supports loading pretrained embedding weights, enabling use cases for text and image feature embeddings.
-
EmbeddingLayer Improvements
- Added several new parameters and improved the overall usability when invoked within model modules.
-
Layer Refactoring
- The layer module has been reorganized.
- Model-independent components are no longer managed inside a single unified layer directory.
-
BaseModel: Loss Weights
- Added support for weighted multi-task loss computation via loss_weights.
-
BaseModel: Streaming Predict
- Optimized the predict method to support path-based streaming inference.
-
BaseModel: Enhanced Save Method
- The save_model method now synchronizes and saves configuration files, parameters, and metadata.
-
BaseModel: from_checkpoint
- Added a new from_checkpoint class method, enabling direct loading of checkpoint models for inference.
New Models
- Added complete POSO implementations, including:
- POSO-MLP
- POSO-MMoE
Documentation
- Added detailed documentation and docstrings for multiple models.
- Added several new beginner-friendly example notebooks.
- Updated the README to the latest version.
NextRec v0.2.7
NextRec v0.2.7 — Release Notes
This release focuses on a broad refactor across the BaseModel, DataLoader, Preprocess, and Loss modules. The main goals are API unification, simplification of model lifecycle operations, and improved consistency of data and prediction flows. Several utilities and imports have also been cleaned up, and test coverage has been updated accordingly.
New Features
-
Unified DataLoader Output
- Standardized all dataset outputs to use TensorDictDataset with a unified collate_fn.
- Reduced branching logic and improved interoperability across data sources.
- Improved support for streaming datasets and incremental data loading.
-
BaseModel Simplification
- Refactored compile(), save(), and load() into a more minimal and explicit design.
- Unified ID handling and normalized label/ID structures internally.
- Streamlined metrics computation and prediction output formatting.
-
DataProcessor API Streamlining
- Removed session coupling to make processors fully standalone.
- Introduced clearer version tagging.
- Standardized target and ID normalization to reduce downstream inconsistencies.
-
Loss Routing Flattened
- Converted loss routing to explicit, flat naming.
- Retained class-balanced focal loss as an optional helper.
- Removed unused exports and reduced module complexity.
Additional Improvements
- Fixed and unified common utilities import paths.
- Bumped project version to 0.2.7.