Skip to content

Releases: zerolovesea/NextRec

v0.6.11

Choose a tag to compare

@zerolovesea zerolovesea released this 20 Apr 10:19
f6475fb

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
  • 新增序列建模支持:SASRecnextrec/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.pytest_handle_valid_split.pytest_pretrain_models.pytest_utils_onnx.pytest_utils_torch.py
  • 更新:test_base_model_fit.pytest_evaluate_grouped.pytest_losses.pytest_predict_expand.pytest_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.py into the new nextrec.engine modules (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 retrieval to matching
  • Renamed package from multi_task to multitask
  • Moved RQ-VAE into the pretrain family with unified base interfaces
  • Standardized base-class integration across ranking/matching/multitask models

Fixes

  • Fixed stream-mode inference issues
  • Fixed valid_split handling 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.py to test_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_base modules and distributed tutorial examples are no longer present in current mainline

v0.6.2

Choose a tag to compare

@zerolovesea zerolovesea released this 23 Mar 09:59
8e6c7b3

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.pytest_evaluate_grouped.pytest_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 Warmup learning rate preheating for improved training stability
  • Added valid split group by column support
  • Refactored BaseModel with new adapters.py module 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.fit now 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.py for loss function testing
  • Updated test_match_models.py for matching model coverage

Docs

  • New VitePress documentation site launched
  • Added Getting Started quick-start guide
  • Updated Chinese API documentation

NextRec v0.5.10

Choose a tag to compare

@zerolovesea zerolovesea released this 08 Feb 13:47
4d1cccf

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 tutorial example_onnx.py demonstrates 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.timing module for pipeline stage profiling, enabling detailed inference time cost analysis.
  • Improved numerical stability in ONNX export by replacing + eps with clamp operations.

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_factor configuration option for dataloader tuning.

CLI

  • Extended CLI with evaluate mode and evaluate_config.yaml preset 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.yaml preset with inline documentation.
  • Updated CLI docs (NextRec-CLI.md, NextRec-CLI_zh.md) with evaluate mode and multiprocessing options.

NextRec v0.4.34

Choose a tag to compare

@zerolovesea zerolovesea released this 22 Jan 10:19
a50fb71

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

Choose a tag to compare

@zerolovesea zerolovesea released this 02 Jan 00:55
838db7c

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

Choose a tag to compare

@zerolovesea zerolovesea released this 28 Dec 13:26
383783c

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_split from Basemodel.fit has been renamed to valid_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

Choose a tag to compare

@zerolovesea zerolovesea released this 19 Dec 07:17
07528ed

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

Choose a tag to compare

@zerolovesea zerolovesea released this 06 Dec 02:40
0208d52

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

Choose a tag to compare

@zerolovesea zerolovesea released this 29 Nov 14:22

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

Choose a tag to compare

@zerolovesea zerolovesea released this 26 Nov 15:54

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.