Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
d4c9df0
feat: add fast_transformers module with FlatSASRec and UniSRec models
TOPAPEC Apr 22, 2026
6c875b3
feat: make UniSRec fully configurable
TOPAPEC Apr 22, 2026
3cec1e0
Fast gpu preprocessing and good metrics
Apr 24, 2026
aa015f8
Tests + comparison
Apr 24, 2026
e24fec3
add changelog, fixed gpu model load
Apr 24, 2026
7d3850b
Formatting
Apr 24, 2026
f2fdfe5
feat: add ONNX export, hash ID mapping, and map_item_ids
TOPAPEC Apr 24, 2026
6809160
Simplify UniSRec: remove 3-phase training, hash IDs, ranking.py
TOPAPEC May 14, 2026
45ed8ae
Clean up UniSRec: remove dead code, add GPU metrics
TOPAPEC May 14, 2026
757a909
fix: address review blockers and majors for UniSRecModel
TOPAPEC May 15, 2026
17a90c5
fix: lint, val+non-softmax loss, device-aware negatives, align_embedd…
TOPAPEC May 15, 2026
387c2d0
fix: remove unnecessary dtype preservation in align_embeddings
TOPAPEC May 15, 2026
fa91d5a
feat: use GPU for build_sequences in fit() when CUDA available
TOPAPEC May 15, 2026
7fdef50
fix: explicit device param instead of auto-CUDA in fit()
TOPAPEC May 15, 2026
b43f4c5
fix: pass all 7 repo linters (mypy, isort, black, flake8, codespell, …
TOPAPEC May 15, 2026
13e71a8
fix: pass all 7 repo linters for fast_transformers module
TOPAPEC May 18, 2026
65ef231
docs: add UniSRec tutorial notebook with ML-20M dataset
TOPAPEC May 18, 2026
204a825
Delete rectools/fast_transformers/unisrec/demo_kion.md
TOPAPEC May 19, 2026
248bae0
Address PR #306 review: rename nets, fix security/checkpoint/ONNX/pre…
Jun 4, 2026
16df93f
Remove stale xfail on test_different_sequence_lengths (dynamic_axes w…
Jun 4, 2026
56e3a27
Fix black formatting in test_unisrec_model.py
Jun 4, 2026
39b89d4
Fix N806 lint ignore: move from global tests/* to local test_metrics.…
Jun 4, 2026
3aaef75
Add type: ignore[import-untyped] for requests in benchmark script
Jun 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -95,4 +95,8 @@ benchmark_results/
*.dat

# CatBoost
catboost_info/
catboost_info/

# Dev artifacts
*.pt
data/*
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


## [Unreleased]

### Added
- `rectools.fast_transformers` module — standalone transformer-based sequential recommenders that work directly with torch tensors, bypassing the `Dataset`/pandas pipeline. GPU-native sequence building via `build_sequences()` gives ~30x preprocessing speedup over `SASRecDataPreparator` on ML-20M ([#306](https://github.com/MTSWebServices/RecTools/pull/306))
- `FlatSASRecNet` network — flat SASRec implementation without the ItemNet hierarchy. Pre-norm transformer encoder with id-embeddings, causal masking, softmax and BCE losses ([#306](https://github.com/MTSWebServices/RecTools/pull/306))
- `UniSRecNet` network and `UniSRecModel` — sequential recommender with pretrained text embeddings (e.g. Qwen) and a learnable PCA/BN adaptor. Joint training of adaptor + transformer on pretrained embeddings. Configurable losses (softmax, BCE, gBCE, sampled_softmax), optimizers (Adam, AdamW), cosine warmup scheduler, early stopping, checkpoint save/load. `UniSRecModel.fit()` accepts raw `(user_ids, item_ids, timestamps)` tensors ([#306](https://github.com/MTSWebServices/RecTools/pull/306))
- `align_embeddings()` for mapping pretrained embedding matrices to internal item ID order ([#306](https://github.com/MTSWebServices/RecTools/pull/306))
- `SequenceBatchDataset` — lightweight torch Dataset wrapper for sequence training data ([#306](https://github.com/MTSWebServices/RecTools/pull/306))
- Configurable FFN blocks in `UniSRecNet`: `conv1d` (original paper), `linear_gelu`, `linear_relu` with adjustable expansion factor ([#306](https://github.com/MTSWebServices/RecTools/pull/306))


## [0.18.0] - 21.02.2026

### Added
Expand Down
Loading