MCPcopy Index your code
hub / github.com/PersiaML/PERSIA

github.com/PersiaML/PERSIA @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
938 symbols 2,248 edges 93 files 156 documented · 17%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README


tutorials Documentation Status PyPI version PyPI downloads Docker Pulls license

WARNING: THIS PROJECT IS CURRENTLY NOT MAINTAINED, DUE TO COMPANY REORGANIZATION.

PERSIA (Parallel rEcommendation tRaining System with hybrId Acceleration) is developed by AI platform@Kuaishou Technology, collaborating with ETH. It is a PyTorch-based (the first public one to our best knowledge) system for training large scale deep learning recommendation models on commodity hardwares. It is capable of training recommendation models with up to 100 trillion parameters. To the best of our knowledge, this is the largest model size in recommendation systems so far. Empirical study on public datasets indicate PERSIA's significant advantage over several other existing training systems in recommendation [1]. Its efficiency and robustness have also been validated by multiple applications with 100 million level DAU at Kuaishou.

Disclaimer: The program is usable and has served several important businesses. However, the official English documentation and tutorials are still under heavy construction and they are a bit raw now. We encourage adventurers to try out PERSIA and contribute!

News

Links

References

  1. Xiangru Lian, Binhang Yuan, Xuefeng Zhu, Yulong Wang, Yongjun He, Honghuan Wu, Lei Sun, Haodong Lyu, Chengjun Liu, Xing Dong, Yiqiao Liao, Mingnan Luo, Congfei Zhang, Jingru Xie, Haonan Li, Lei Chen, Renjie Huang, Jianying Lin, Chengchun Shu, Xuezhong Qiu, Zhishan Liu, Dongying Kong, Lei Yuan, Hai Yu, Sen Yang, Ce Zhang, & Ji Liu. (2021). Persia: A Hybrid System Scaling Deep Learning Based Recommenders up to 100 Trillion Parameters.

  2. Ji Liu & Ce Zhang. (2021). Distributed Learning Systems with First-order Methods.

License

This source code is licensed under the MIT license found in the LICENSE file in the root directory of this source tree.

Extension points exported contracts — how you extend this code

Allocatable (Interface)
(no doc) [4 implementers]
rust/persia-core/src/cuda/resource_pool.rs
Optimizable (Interface)
(no doc) [3 implementers]
rust/persia-common/src/optim.rs
PersiaPathImpl (Interface)
(no doc) [2 implementers]
rust/persia-storage/src/lib.rs
EvictionMapValue (Interface)
(no doc) [1 implementers]
rust/persia-embedding-holder/src/eviction_map.rs

Core symbols most depended-on inside this repo

iter
called by 106
rust/persia-embedding-holder/src/array_linked_list.rs
len
called by 67
rust/persia-embedding-holder/src/eviction_map.rs
into_iter
called by 52
rust/persia-embedding-holder/src/array_linked_list.rs
as_slice
called by 45
rust/persia-core/src/cuda/pinned_memory_pool.rs
insert
called by 36
rust/persia-embedding-holder/src/eviction_map.rs
append
called by 34
rust/persia-storage/src/lib.rs
set
called by 27
rust/persia-embedding-config/src/lib.rs
get
called by 27
rust/persia-core/src/lib.rs

Shape

Method 538
Function 182
Class 180
Enum 33
Interface 4
Route 1

Languages

Rust79%
Python21%

Modules by API surface

rust/persia-embedding-holder/src/array_linked_list.rs58 symbols
rust/persia-embedding-server/src/embedding_worker_service/mod.rs51 symbols
rust/persia-embedding-config/src/lib.rs50 symbols
persia/ctx.py48 symbols
rust/persia-core/src/forward.rs45 symbols
rust/persia-core/src/lib.rs32 symbols
rust/persia-common/src/optim.rs29 symbols
rust/persia-embedding-server/src/embedding_parameter_service/mod.rs26 symbols
rust/persia-core/src/tensor.rs26 symbols
rust/persia-model-manager/src/lib.rs24 symbols
rust/persia-core/src/data.rs20 symbols
rust/persia-core/src/backward.rs20 symbols

For agents

$ claude mcp add PERSIA \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact