- 博客(122)
- 收藏
- 关注
原创 【机器学习】深度学习推荐系统(三十一):X For You Feed 全新推荐系统技术架构深度解析
X For You Feed Algorithm 是一个基于深度学习的推荐系统,为 X(原 Twitter)平台的"为你推荐"信息流提供核心算法支持。该系统通过结合网络内内容(来自用户关注的账户)和网络外内容(通过机器学习检索发现),并使用基于 Grok 的 Transformer 模型对所有内容进行统一排序。
2026-01-23 15:08:07
616
原创 【机器学习】深度学习推荐系统(三十):X 推荐算法Phoenix rerank机制
Phoenix 是 X(原 Twitter)推荐系统中的新一代机器学习模型,用于更准确地预测用户行为。Phoenix 重评分(Phoenix Rescoring)是一个可选步骤,使用 Phoenix 模型的预测分数来调整最终排序分数。本文将深入解析 Phoenix 重评分的机制和工作原理。
2026-01-19 10:53:42
733
原创 【机器学习】深度学习推荐系统(二十九):X 推荐算法多样性打散机制详解
摘要:列表式重评分与多样性打散是两种不同的多样性控制机制。列表式重评分通过调整候选分数(如按作者分组后衰减同组分数)间接实现多样性,保留排序但调整分数;多样性打散(如MMR算法)则直接重新选择候选顺序,基于嵌入向量计算距离来确保多样性。X推荐系统采用多层次机制:列表式重评分处理简单多样性(作者/源),MMR处理复杂多样性(内容/语义),二者互补结合。与传统硬性打散规则不同,X的机制通过分数调整实现更灵活的多样性控制,既保证多样性又保留相关性排序。
2026-01-19 10:29:40
578
原创 【机器学习】深度学习推荐系统(二十八):X 推荐算法listwiseRescoring(同刷多样性降权)机制详解
X推荐系统的列表式重评分机制通过分组和位置衰减确保推荐多样性。该机制将候选推文按作者或类型分组,组内按分数排序后,根据位置应用衰减因子(如作者多样性:第1个推文不衰减,后续依次衰减16%、28.8%等,最低至0.2)。小关注图用户使用更宽松的衰减参数。这种基于上下文的重评分有效避免了同作者/类型内容过度集中,提升了用户体验的多样性。
2026-01-15 19:28:34
667
1
原创 【机器学习】深度学习推荐系统(二十七): X 推荐算法rerank机制详解
X推荐算法采用多阶段分数修正机制,在模型融合后通过启发式规则、Phoenix重评分和多样性调整等步骤优化推荐结果。其中启发式重评分应用20+个乘法因子规则(如外部网络内容降权、直播内容提权等),Phoenix重评分使用专门模型调整,多样性重评分则通过MMR算法和类别多样性确保内容分布均衡。这种精细的分数修正机制使X能兼顾内容质量与多样性,优化用户体验。
2026-01-15 19:14:18
566
原创 【机器学习】深度学习推荐系统(二十六):X 推荐算法多模型融合机制详解
X(原Twitter)推荐系统采用15个专业机器学习模型预测用户行为,通过加权融合机制生成最终排序分数。系统包含14个正向参与模型(预测点赞、回复、转发等积极行为)和1个负反馈模型(预测消极行为),每个模型输出0-1的概率分数。权重配置通过Feature Switches动态调整,支持正负权重(负反馈模型使用负权重)。最终分数由各模型预测分数乘以其权重后求和得出,负反馈分数用于过滤低质量内容。该多模型融合机制实现了专业化预测和灵活调整,是X推荐系统的核心排序逻辑。
2026-01-15 18:07:45
786
原创 【机器学习】深度学习推荐系统(二十五): X 推荐算法特征系统详解:230+ 特征全解析
X推荐系统特征系统详解:230+特征全解析 本文深入解析X(原Twitter)推荐系统中的230多个特征,这些特征分为候选特征(160+)、查询特征(60+)和结果特征(10+)。候选特征详细描述了推文的基础信息、作者属性、对话关系、搜索评分、交互统计以及内容安全检测等维度,为推荐系统提供全面的数据支持。这些特征不仅作为机器学习模型的输入,还用于内容过滤和业务规则应用,共同构建了X平台精准的内容推荐机制。
2026-01-15 16:55:02
650
原创 【机器学习】深度学习推荐系统(二十四):马斯克放大招,X平台算法全开源
X 推荐算法是 X(原 Twitter)开源的大规模推荐系统,负责为平台提供个性化内容推荐服务。该系统采用三层架构设计(产品层、框架层、数据与模型层),从约10亿条内容中筛选出数千条推荐内容,具备毫秒级响应能力。核心组件包括Home Mixer(构建主页时间线)、Push Service(通知推荐)等,通过候选生成、特征提取、模型排序等步骤实现推荐。系统使用Rust实现高性能服务,支持实时用户行为处理,并强调内容多样性与合规性过滤。
2026-01-15 13:27:44
747
原创 【机器学习】深度学习推荐系统(二十三):TorchRec端到端超大规模模型分布式训练+推理实战
本文探讨了大规模推荐系统中分布式训练与推理的挑战及解决方案。核心介绍了TorchRec的DistributedModelParallel (DMP)和分布式检查点(DCP)技术。DCP专为分布式设计,支持多文件存储、原地操作、模型分片和弹性训练,与传统单机方法torch.save/load形成鲜明对比。文章详细展示了分布式训练环境配置、模型定义及状态管理的实现代码,包括初始化进程组、定义嵌入层和密集网络结构,以及应用状态管理器的设计。DCP通过自动处理Stateful对象和分片信息,解决了大规模模型在分布式
2026-01-04 20:59:28
828
14
原创 【机器学习】深度学习推荐系统(二十二):PyTorch2.5 + TorchRec1.0超大规模模型分布式推理实战
本文介绍了分布式推理的核心概念和应用场景,重点对比了分布式推理与单机推理的关键差异。主要内容包括:1) 分布式推理适用于超大规模模型、低延迟要求等场景,通过模型分片和并行计算突破单机限制;2) 详细的环境准备方案,包括版本兼容性矩阵、Dockerfile配置和多节点部署的docker-compose示例;3) 分布式推理架构设计,涵盖模型分片管理、通信机制和协调器角色等核心组件。文章强调只有当模型超过单GPU内存容量时才需采用分布式方案,并提供了完整的实施框架和技术要点。
2026-01-04 20:03:49
1310
8
原创 【机器学习】深度学习推荐系统(二十一):DistributedCheckPoint(DCP) — PyTorch分布式模型存储与加载
本文介绍了PyTorch分布式检查点(DCP)在TorchRec的DistributedModelParallel(DMP)中的应用。DCP专为大规模推荐系统设计,支持多rank并行操作、加载时重新分片和高效内存管理。文章对比了DCP与传统保存方法的优势,并详细说明了其核心原理。重点提供了一个完整的TorchRec DMP模型保存与加载实现方案,包括环境准备和关键组件TorchRecAppState的实现。该状态管理器通过Stateful协议自动处理DMP模型和优化器的状态字典,支持跨不同GPU配置的模型加
2026-01-04 17:45:09
724
原创 【机器学习】深度学习推荐系统(二十):Meta Device — 延迟初始化,零显存定义超大规模模型
Meta Device 不仅仅是一个技术特性,它代表了深度学习领域向超大规模模型演进的重要一步。掌握它,您将能够训练那些曾经被认为"不可能"的模型!
2025-12-23 23:06:59
1131
17
原创 【机器学习】深度学习推荐系统(十九):TorchRec之DistributedModelParallel
摘要: TorchRec的DistributedModelParallel (DMP) 是专为推荐系统设计的分布式训练框架,针对超大规模嵌入表(十亿至万亿参数)的挑战提出创新解决方案。与传统CV/NLP模型不同,推荐系统90%以上参数集中在稀疏嵌入表,具有极高的内存需求和通信密集型特点。DMP通过智能分片策略(Table-wise/Row-wise等)将嵌入表分布到多设备,避免全量复制,显著降低显存占用。其核心组件包括: ShardingPlanner(自动规划分片策略) ModuleSharder(实现参
2025-12-22 20:38:49
827
原创 【机器学习】深度学习推荐系统(十八):TorchRec之EmbeddingBagCollection
摘要: EmbeddingBagCollection (EBC) 是 TorchRec v1.0 中用于推荐系统的核心嵌入组件,专为高效处理多特征、大规模嵌入表设计。它支持十亿级条目,优化内存占用(占模型90%以上),并与KeyedJaggedTensor深度集成实现批量处理。EBC通过EmbeddingConfig配置不同特征的嵌入维度、聚合方式(sum/mean)和初始化范围,支持加权嵌入和混合精度训练。其前向传播流程将稀疏特征转换为稠密嵌入向量,是构建工业级推荐系统的基础模块,尤其适用于用户ID、物品
2025-12-22 16:25:43
989
原创 【机器学习】深度学习推荐系统(十七):TorchRec之KeyedJaggedTensor
KeyedJaggedTensor (KJT) 是 TorchRec 中处理推荐系统稀疏特征的核心数据结构,能够高效管理多个变长特征序列。其核心功能包括:支持多种构造方法(如from_offsets_sync、from_jt_dict等);提供特征访问、长度/偏移量查询等基础操作;与EmbeddingBagCollection无缝集成进行嵌入查找;在DataLoader中通过collate函数批量处理变长特征数据。KJT特别适用于处理用户历史行为等稀疏特征,其内存高效的设计和丰富的API使其成为构建大规模推
2025-12-22 11:50:11
841
12
原创 【机器学习】深度学习推荐系统(十六):模型并行—推荐系统的TorchRec和大语言模型的FSDP(Fully Sharded Data Parallel)
摘要 TorchRec和FSDP是PyTorch生态中两种分布式训练技术,针对不同场景设计。TorchRec专注于推荐系统中的超大规模稀疏嵌入表训练,通过分片器和分布式模型并行(DMP)实现高效训练,支持多种分片策略和稀疏优化。FSDP则面向通用大模型训练,采用全分片策略优化显存使用,适用于LLM等稠密模型。两者可互补使用:稀疏部分用TorchRec,稠密部分用FSDP。选择取决于应用场景:推荐系统选TorchRec,大语言模型选FSDP。
2025-12-11 22:13:55
1204
30
原创 【机器学习】深度学习推荐系统(十五):特征工程—PySpark DataFrame数据处理核心指南
这份指南涵盖了PySpark DataFrame的核心概念、完整操作、性能优化和实战应用。关键要点:理解本质:DataFrame是分布式的、惰性求值的、有Schema的数据集合掌握操作:从基础的select/filter到高级的窗口函数和复杂JOIN性能优先:合理分区、缓存、广播JOIN、避免数据倾斜生产就绪:使用监控、日志、异常处理和最佳实践
2025-12-05 20:11:02
1329
21
原创 【机器学习】深度学习推荐系统(十四):特征映射—Murmur哈希:高效“无状态”转换
Murmur哈希的主要优势内存和存储效率极高:它属于“无状态”转换,无需像StringIndexer那样在内存中构建和保存巨大的映射词典。这使得它能轻松处理数百万甚至上亿的类别,而不会造成内存压力。天然支持流式与增量数据:在推荐系统、广告点击等场景中,新的用户ID或商品ID会不断出现。Murmur哈希可以即时处理这些新类别,而基于StringIndexer的流水线则需要频繁重新拟合整个模型,成本很高。分布式环境下的处理优势:在Spark等分布式系统中,StringIndexer需要全局Shuffle
2025-12-03 22:09:57
657
原创 【机器学习】深度学习推荐系统(十三):模型输入—《特征索引》与《特征向量》的边界
整个数据处理流程分为离线训练和在线服务两个阶段,下图清晰地展示了从原始请求到模型最终输出的完整过程:下面我们拆解上图中的关键环节:离线训练阶段:准备索引和映射在线服务阶段:从请求到预测2. 为什么这样设计?关键原因效率与解耦:模型只关心“计算”,不关心“特征工程”。特征的处理(缺失值填充、归一化、哈希、索引化)由上游的特征平台统一负责,保证线上线下一致。灵活性:当需要新增一个特征时,只需在特征平台配置,并在模型定义中添加一个新的 层或数值处理层即可,无需改动模型核心架构。性能:直接传输整数索引
2025-12-03 19:24:59
800
原创 【机器学习】深度学习推荐系统(十二):如何理解feature_id,field_id、slot_id和embedding_index之间的关系
摘要:推荐系统特征映射机制解析 本文系统阐述了推荐系统中特征从原始数据到embedding向量的完整映射过程,揭示了feature_id、field_id、slot_id和embedding_index四个核心概念的内在联系与差异。通过四维解析表和工作流程图解,详细说明了:1) feature_id作为特征实例的唯一标识;2) field_id实现特征语义分组;3) slot_id确定输入位置;4) embedding_index作为向量查询指针。特别介绍了三种embedding_index计算策略(全局唯
2025-12-03 16:46:54
462
原创 【机器学习】深度学习推荐系统(十一):特征值索引化—全局索引 or 独立索引?
推荐系统特征索引的主流实践 工业界推荐系统通常采用特征独立索引而非全局索引,主要因为: 工程优势:每个特征单独维护Embedding层,避免索引冲突,支持动态扩展新特征 模型灵活性:不同特征可使用差异化的嵌入维度(如用户ID用128维,品类用16维) 主流架构:特征分组处理(稀疏/稠密/序列特征),通过拼接或交互融合 全局索引仅适用于特定场景: Transformer类模型需要统一token输入 超大规模稀疏特征需压缩存储时 实际推荐系统更倾向混合方案:按特征类型分组但保持组内独立索引,平衡灵活性与工程效率
2025-12-03 15:06:23
947
原创 【机器学习】深度学习推荐系统(十):PyTorch Dataset—PyTorch数据基石
Dataset是Pytorch加载训练数据的基类,自定义类比如OSSDataset需要继承Dataset基类并自定义实现__getitem__、__len__以及__init__方法完成训练数据处理,LLM的Tokenizer在Dataset中完成__getitem__
2025-12-02 16:54:36
429
原创 【机器学习】深度学习推荐系统(九):推荐系统与LLM在Dataset、Tokenizer阶段的异同
摘要:推荐系统中,Dataset与特征处理器的关系类似于NLP中的Dataset与Tokenizer,但处理对象不同。推荐系统针对结构化数据(用户ID、物品特征等),通过特征处理器(如Embedding层、标准化等)将多元特征转换为数值向量。核心区别在于:NLP处理文本序列,而推荐系统处理多元特征组合。特征处理流程包括类别型特征嵌入、数值型特征归一化、序列型特征建模等。代码示例展示了MovieLens数据集的特征处理过程,体现了推荐模型通过Embedding层转换特征ID的核心机制。两者的本质都是将原始数据
2025-12-02 16:28:42
609
1
原创 【机器学习】深度学习推荐系统(八):PyTorch分布式采样器DistributedSampler原理详解
DistributedSampler 原理摘要 PyTorch的DistributedSampler是分布式训练中数据划分的核心组件,其核心原理是通过等间隔采样确保各进程处理不重叠的数据子集。关键特性包括: 数据划分:基于world_size和rank对全局索引进行等间隔采样(如Rank0取0,4,8...),保证数据均匀分布且无重复 随机性控制:通过seed + epoch生成确定性随机排列,既保证每个epoch数据顺序不同,又可复现结果 边界处理:当数据无法整除时,可选择填充重复样本或丢弃末尾数据(dr
2025-12-01 17:33:31
406
原创 【机器学习】深度学习推荐系统(七):PyTorch DDP(DistributedDataParallel)中,每个rank的batch数必须相同
分布式训练中batch数必须保持一致,否则会导致同步死锁。DDP依赖于所有进程同时参与集体通信操作,如all_reduce。当某个进程提前结束迭代时,其他进程会在通信操作处永久等待。为确保同步,推荐使用DistributedSampler并设置drop_last=True,丢弃不完整的batch。对于验证集和梯度累加场景,同样需要保持各rank的batch数一致。调试时可使用all_reduce验证batch数是否匹配,避免因条件判断导致不同rank迭代次数不一致的问题。特殊情况下(如不平衡数据集)需自定义
2025-12-01 15:58:50
372
原创 【机器学习】深度学习推荐系统(六):PyTorch DDP(DistributedDataParallel)数据并行分布式深度学习原理
PyTorch的DistributedDataParallel(DDP)是一种高效的数据并行训练方案,通过多进程方式实现模型并行。其核心原理包括:1)每个GPU持有完整模型副本,处理数据子集;2)采用Ring-AllReduce算法进行梯度同步,通信复杂度为O(N);3)通过钩子机制自动同步梯度,支持计算与通信重叠优化。相比DataParallel,DDP具有更高的通信效率和扩展性,支持多机训练。关键实现包括梯度分桶、NCCL后端通信和DistributedSampler数据分配。DDP已成为PyTorch
2025-12-01 15:53:15
615
原创 【机器学习】深度学习推荐系统(五):pyspark分布式TorchDistributor主从读取OSS文件认证机制
摘要: 本文详细解释了Spark Driver端与Worker端在OSS认证上的核心区别。Driver端通过Spark配置自动认证,而Worker端(独立Python进程)需显式提供认证信息。认证来源优先级为:1)Driver传递参数,2)环境变量,3)IAM角色。文章分析了架构差异导致的不同认证方式,并推荐从Driver传递认证信息的解决方案。当前实现已采用该方案,通过Spark配置或环境变量获取认证后传递给Worker进程,确保PyArrow能正确访问OSS数据。
2025-11-28 15:37:34
2006
原创 【机器学习】深度学习推荐系统(四):样本数与模型参数之间的平衡——过拟合风险分析
摘要:本文分析了64万样本与133万特征维度的数据场景下,不同类型机器学习模型的过拟合风险。线性模型(如Logistic Regression)由于参数数量远超样本数,存在严重的过拟合风险;而树模型(Random Forest、GBT)因天然的正则化机制风险较低。稀疏特征(每个样本仅激活300维)具有隐式正则化效果。关键建议包括:优先使用树模型、加强正则化、实施特征选择和交叉验证,并密切监控训练与验证集的性能差异。当前指标显示可能存在严重过拟合或数据泄露问题,需特别关注。
2025-11-20 10:46:22
969
原创 【机器学习】深度学习推荐系统(三):稀疏向量中0值维度在训练时的处理机制
本文详细介绍了推荐系统中深度学习框架处理稀疏向量的机制。稀疏向量通过只存储非零值索引和数值来优化内存使用(如1330000维向量仅存储100个非零值可节省99.98%内存)。在训练过程中,Logistic Regression、Random Forest等模型自动跳过零值维度计算,仅运算非零维度对应的参数。虽然模型会为所有维度存储系数,但实际计算只涉及非零维度,保证了计算效率。文章还对比了不同模型类型的参数存储特点,并给出使用树模型、特征选择等优化建议,最终强调稀疏向量能自动高效处理高维稀疏数据。
2025-11-20 10:40:51
795
原创 【机器学习】深度学习推荐系统(二):深入剖析Spark Cluster模式下DDP网络配置解析
Spark中executor内的进程是相互隔离的,executor之间也是相互隔离的。如果多节点(多executor)需要知道主节点的IP和端口;如果单节点(单executor)只需要知道主进程的端口即可,host用localhost。
2025-10-29 14:45:29
1012
原创 【机器学习】深度学习推荐系统(一):深入剖析Spark集群计算中Master与Pytorch分布式计算Master的区别
深入剖析Spark集群计算中Master与Pytorch分布式计算Master的区别
2025-10-29 11:11:48
989
原创 【机器学习】推荐召回算法(一):双塔召回模型训练与推理(Dual Tower Model and Faiss Retrieval)
本文为推荐系统召回算法的第一篇,主要从双塔召回模型原理、网络结构、离线训练、在线Faiss索引、代码实践等方面对双塔模型召回进行描述,期待您的关注。
2025-09-04 00:21:21
2090
36
原创 【机器学习】多目标融合算法(六):渐进式分层提取模型PLE(Progressive Layered Extraction)
本文详细介绍了PLE多任务模型的算法原理、算法优势,并以小红书业务场景为例,构建PLE网络结构并使用pytorch代码实现对应的网络结构、训练流程。相比于CGC,PLE采用分层提取结构,每一层中采用共享门控、独享门控机制对共享专家组、独享专家组进行联合学习,增强了任务之间的解耦,提高了模型对不同任务的适应性,能在多任务场景中更好地平衡任务间冲突,提升多目标学习效果。
2025-05-21 19:35:42
2307
39
原创 【机器学习】多目标融合算法(五):定制门控网络CGC(Customized Gate Control)
本文详细介绍了CGC多任务模型的算法原理、算法优势,他是下一篇PLE多层多任务模型的基础,并以小红书业务场景为例,构建CGC网络结构并使用pytorch代码实现对应的网络结构、训练流程。相比于MMoE,CGC新增独享专家网络,通过gate门控的串联,切断任务Tower与其他任务独享专家的联系,使得独享专家能够更专注的学习本任务内的知识与信息。
2025-03-19 17:42:43
3023
66
原创 【机器学习】多源物料融合算法(一):量纲对齐常见方法
本文初步介绍了多种将不同量纲的多源物料转换为同一量纲的方法,主要目标就是让不同业务场景的推荐排序结果可以比较,通过公式化的序列转换,快速达到可比的预期,计算效率更高。在实践中,Z-score+Sigmoid方法更为实用。
2025-03-12 19:40:57
1052
4
原创 【机器学习】多目标融合算法(四):多门混合专家网络MMOE(Multi-gate Mixture-of-Experts)
本文详细介绍了MMoE多任务模型的算法原理、算法优势,并以小红书业务场景为例,构建网络结构并使用pytorch代码实现对应的网络结构、训练流程。相比于MoE,MMoE可以更好的学习不同Task任务的相关性和差异性。是深度学习推荐系统中多目标或多场景类问题中必须掌握的根基模型。
2025-02-10 16:49:56
3711
109
原创 【机器学习】多目标融合算法(三):混合专家网络MOE(Mixture-of-Experts)
本文代码级脚踏实地讲解了DeepSeek大模型、MMoE推荐模型中的MoE(Mixture-of-Experts)技术,该技术的主要思想是通过门控(gate)或路由(router)网络,对多个专家进行加权平均或筛选,将一个DNN网络裂变为多个DNN网络后,投票决定预测结果,相较于单一的DNN网络,具有更强的容错性、泛化性与准确性,同时可以提高推理速度,节省推理资源。
2025-01-20 18:35:40
4716
132
原创 【机器学习】多目标融合算法(二):底部共享多任务模型(Shared-Bottom Multi-task Model)
本文从技术原理、技术优缺点方面对推荐系统深度学习多任务多目标“Shared-Bottom Multi-task Model”算法进行讲解,该模型使用深度学习模型对多个任务场景多个目标的业务问题进行建模,使得用户在多个场景连续性行为可以被学习,在现实推荐系统业务中是比较基础的方法,后面本专栏还会陆续介绍MoE、MMoE等多任务多目标算法,期待您的关注和支持。
2025-01-09 15:08:49
3492
53
原创 【机器学习】多目标融合算法(一):样本Loss加权(Sample Loss Reweight)
本文从技术原理和技术优缺点方面对推荐系统深度学习多目标融合的“样本Loss加权”进行简要讲解,以达到对预期指标的强化,具有模型简单,成本较低的优点,但同时优化周期长、多个指标跷跷板问题也是该方法的缺点,业界针对该方法的缺点进行了一系列的升级,专栏中会逐步讲解,期待您的关注。
2024-12-31 18:31:54
2595
53
原创 【人工智能】Transformers之Pipeline(二十八):视觉问答(visual-question-answering)
本文对transformers之pipeline的视觉问答(visual-question-answering)从概述、技术原理、pipeline参数、pipeline实战、模型排名等方面进行介绍,读者可以基于pipeline使用文中的2行代码极简的使用多模态中的视觉问答(visual-question-answering)模型。
2024-12-05 17:46:29
5300
68
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅