transformers 库基础组件
transformers 库基础组件
参考来源:B站-手把手带你实战HuggingFace Transformers-入门篇
官方文档:HuggingFace-transformers
pipeline
查看支持任务
123456from transformers.pipelines import SUPPORTED_TASKSfor k, v in SUPPORTED_TASKS.items(): print(k, v)pipe = pipeline("text-classification", model="uer/roberta-base-finetuned-dianping-chinese")pipe("我觉得不太行!")
背后实现
123456789101112131415def my_pipeline(): tokenizer = AutoTokenizer.from_pretrained("uer/roberta-base-finetuned-dianping-chinese" ...
HLLM
HLLM (Hierarchical Large Language Model)
HLLM是一种分层大规模语言模型架构,主要用于处理具有层次结构的数据(如用户-物品交互、文档-段落、对话历史等)。
1234567891011121314HLLM Architecture:┌─────────────────────────────────────┐│ Task-specific Layer │├─────────────────────────────────────┤│ Cross-Level Attention │├─────────────────────────────────────┤│ Level 3: 全局语义表示层 │├─────────────────────────────────────┤│ Level 2: 会话/序列建模层 │├─────────────────────────────────────┤│ Level 1: 基础元素编码层 ...
多目标建模 ESSM、MMOE
多目标建模 ESSM、MMOE
场景:精排多任务学习
模型:ESSM、MMOE
数据:Ali-CCP数据集
ESSM 算法原理
MMOE 算法原理
代码实现
直接调包
ESSM
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#使用pandas加载数据import pandas as pddata_path = '../examples/ranking/data/ali-ccp' #数据存放文件夹df_train = pd.read_csv(data_path + '/ali_ccp_train_sample.csv') #加载训练集df_val = pd.read_csv(data_path + '/ali_ccp_val_sample.csv') #加载验证集df_test = pd.read_csv(data_path + '/ali_cc ...
召回 DSSM、YouTubeDNN
召回 DSSM、YouTubeDNN
场景:召回
模型:DSSM、YouTubeDNN
数据:MovieLens-1M
DSSM 算法原理
DSSM(Deep Structured Semantic Models,深度结构化语义模型)是微软研究院提出的一种非常经典的深度语义匹配模型。它最早主要用于解决搜索中查询(Query)和文档(Document)的匹配问题,后来也被广泛用于推荐系统、广告投放等场景。
DSSM的核心目标是:将高维的、稀疏的文本特征(如Query和Doc)映射到一个低维的、稠密的语义空间中,并在该空间中用向量的余弦相似度来表示两者的语义相关性。
DSSM是一个典型的双塔模型架构。它有两个结构相同(或相似)但参数独立的DNN塔,分别用来处理Query和Document。
1. 输入层:Term Vector+ Word Hashing
问题:输入通常是高维的one-hot向量(词袋模型),维度等于词典的大小(可能是几十万甚至百万),直接输入网络会导致参数过多且无法捕捉词之间的相似性。
解决方法:Word Hashing(这是DSSM的一个关键亮点,基于词的字母 ...
DIN
DIN
场景:精排CTR预测
数据:Amazon-Electronics
DIN(Deep Interest Network)模型,是阿里提出的经典推荐模型,核心解决了传统 CTR 模型(如 DeepFM)无法捕捉用户动态兴趣的问题。
DeepFM:把用户的所有历史行为(比如点击过的商品)当成 “静态特征”(拼接成固定长度的向量),无法区分哪些历史行为和当前推荐商品相关
DIN:针对 “用户兴趣多样性” 问题,提出注意力机制,对用户历史行为做 “加权聚合”—— 和当前商品相关的历史行为权重高,无关的权重低,从而精准捕捉用户的即时兴趣。
123用户历史行为:点击过 “篮球鞋”、“连衣裙”、“篮球”、“口红”;当前推荐商品:“篮球”→ DIN 会给 “篮球鞋”、“篮球” 高权重,给 “连衣裙”、“口红” 低权重;当前推荐商品:“口红”→ DIN 会给 “连衣裙”、“口红” 高权重,给 “篮球鞋”、“篮球” 低权重。
这就是 DIN 的核心:基于注意力的兴趣激活(Interest Activation)。
1234567输入特征 → 嵌入层 → 分模块处理: ...
DeepFM
DeepFM
场景:精排CTR预测
数据:Criteo广告数据集
DeepFM 是为了解决 CTR 预估问题而生的,它的全称是Deep Factorization Machine(深度因子分解机),本质是将FM 层(因子分解机)和DNN 层(深度神经网络) 结合,同时学习特征的低阶交互和高阶交互,最终输出用户点击的概率(预估 CTR)。
传统 LR(逻辑回归)只能学习线性特征。
纯 FM 只能学习二阶特征交互(两个特征的组合)。
纯 DNN 虽然能学高阶交互,但对低阶交互的学习效率低,且需要大量数据。
1234输入特征 → 嵌入层(Embedding Layer) → 分两路: ├─ FM层:学习二阶特征交互 → 输出FM得分 └─ DNN层:学习高阶特征交互 → 输出DNN得分→ 拼接FM得分 + DNN得分 → 输出层(Sigmoid)→ 预估CTR(0~1的概率)
算法原理
1. 输入特征与嵌入层
输入特征:
离散特征:若这个离散特征是高维稀疏的,则需要先用一个嵌入层映射到低维稠密。
连续特征:可以直接归一化后输入;也可以做离散化 ...
性能指标
性能指标全解
AUC
AUC 是 Area Under the Curve 的缩写,中文翻译为曲线下面积,具体指的是ROC 曲线(受试者工作特征曲线) 下方的面积。
ROC 曲线:以 “假正例率(FPR)” 为横轴,“真正例率(TPR)” 为纵轴绘制的曲线,反映模型在不同阈值下的分类能力;
AUC 值:ROC 曲线与坐标轴围成的面积,取值范围是 [0, 1],AUC 越接近 1,说明模型的排序 / 分类能力越强。
CTR 预估本质是二分类任务(用户 “点击” 为正例,标签 = 1;“不点击” 为负例,标签 = 0),先明确 4 个核心统计量:
\
预测为正例(点击)
预测为负例(不点击)
正例(1)
TP(真阳性)
FN(假阴性)
负例(0)
FP(假阳性)
TN(真阴性)
基于这 4 个指标,推导 ROC 曲线的横纵轴:
真正例率(TPR):TPR=TPTP+FNTPR=\frac{TP}{TP+FN}TPR=TP+FNTP → 所有真实点击的样本中,被模型正确预测为点击的比例(“找对正例” 的能力);
假正例率(FPR):FPR=FPFP ...
推荐系统面试经验
参考
面试经验
一、机器学习相关
机器学习
介绍一个最熟悉的机器学习算法
决策树怎么建树,基尼系数公式
Adaboost拟合目标是什么
Adaboost介绍一下,每个基学习器的权重怎么得到的
介绍下GBDT
介绍XGBoost
介绍下LightGBM
LightGBM相对于XGBoost的改进
GBDT中的梯度是什么,怎么用
GBDT如何计算特征重要性
GBDT讲一下,GBDT拟合残差,是真实的误差嘛,在什么情况下看做是真实的误差
介绍XGBoost中的并行
介绍XGBoost中精确算法与近似算法
XGBoost如何处理空缺值,为何要进行行采样、列采样
讲一下xgboost算法,xgboost是如何处理离散特征的,xgb怎么训练,xgb算法优点,怎么选特征,主要参数有哪些,xgb的特征重要性怎么看
xgboost介绍一下,xgb对目标函数二阶泰勒展开,哪个是x,哪个是delta x, 一阶导和二阶导是对谁求得
为什么高维稀疏数据,LR比GBDT要好
随机森林与GBDT采样的区别
随机森林中列采样的作用
bagging与boosting对比, boosting和bagging的区别 ...
赛题项目:阿里天池新闻推荐
参考
赛题项目:阿里天池新闻推荐
在掌握推荐系统的核心方法后,本章将通过一个完整的项目实践,展示如何将理论知识应用于实践。我们将从需求理解与数据分析入手,建立评测指标与基线;然后逐步构建多路召回与冷启动策略,开展特征工程,并训练排序模型;最后对结果进行验证与融合。本章旨在将前述章节的算法与技术串联起来,覆盖从数据处理、模型构建到离线评测的完整流程,帮助读者建立系统化的实战能力。
一、赛题理解
赛题理解是切入一道赛题的基础,会影响后续特征工程和模型构建等各种工作,也影响着后续发展工作的方向,正确了解赛题背后的思想以及赛题业务逻辑的清晰,有利于花费更少时间构建更为有效的特征模型, 在各种比赛中, 赛题理解都是极其重要且必须走好的第一步, 今天我们就从赛题的理解出发, 首先了解一下这次赛题的概况和数据,从中分析赛题以及大致的处理方式, 其次我们了解模型评测的指标,最后对赛题的理解整理一些经验。
此次比赛是新闻推荐场景下的用户行为预测挑战赛, 该赛题是以新闻APP中的新闻推荐为背景, 目的是要求我们根据用户历史浏览点击新闻文章的数据信息预测用户未来的点击行为, 即用户的最后一次点击的新 ...
热点(三)生成式推荐
参考
热点(三)生成式推荐
在前面的召回章节中,我们探讨了以SASRec为代表的生成式召回方法,它们将推荐问题重新定义为序列预测任务,通过自回归的方式预测用户下一个可能交互的物品。这种范式的成功验证了一个重要观点:推荐系统可以从传统的"判别式打分"转向"自回归生成",借鉴自然语言处理领域的成功经验,将用户行为序列视为一种特殊的"语言"来理解和生成。
生成式推荐的核心在于三个关键要素的重新设计:输入如何组织(从简单的物品ID序列到复杂的事件流)、输出生成什么(从原子ID到语义化表示)、以及目标与架构如何取舍(在表达能力与计算效率间寻求平衡)。围绕这三个维度,生成式推荐沿着三条清晰的演进路径不断发展:一是生成式召回,延续SASRec的思路但在输入和输出上进行深度创新;二是生成式排序,将生成范式引入传统的排序阶段;三是端到端统一生成,试图用单一模型完成从召回到排序的全流程。
1、生成式召回的深化演进
生成式召回在SASRec奠定的基础上,主要沿着两个方向进行深化探索。HSTU模型 代表了对"输入"理解的深化, ...






