论文笔记-arXiv2025-FilterLLM
论文笔记-arXiv2025-FilterLLM: Text-To-Distribution LLM for Billion-Scale Cold-Start Recommendation
- FilterLLM:面向十亿级冷启动推荐的文本到分布大语言模型
- 摘要
- 1.引言
- 2.前言
- 2.1符号说明
- 2.2文本到判断
- 2.2.1候选生成(从数十亿到数百)
- 2.2.2交互模拟(从数百到数十)
- 3.方法
- 3.1总体框架
- 3.1.1文本到分布任务
- 3.1.2利用分布增强冷嵌入
- 3.2FilterLLM结构
- 3.2.1用户词汇扩展
- 3.2.2内容提示编码器
- 3.2.3分布预测
- 3.3FilterLLM训练
- 3.3.1用户词汇的初始化
- 3.3.2分布学习
- 3.3.3行为指导
- 4.实验
- 4.1设置
- 4.2离线评估
- 4.3泛化研究
- 4.4效率
- 4.5在线评估
- 5.总结
FilterLLM:面向十亿级冷启动推荐的文本到分布大语言模型
论文: FilterLLM: Text-To-Distribution LLM for Billion-Scale Cold-Start Recommendation
代码: 无
摘要
基于大模型的冷启动推荐遵循“文本到判断”的范式,即将用户-物品内容对作为输入,并逐步评估每对。为了保证效率,现有方法选择预筛选用户-物品对,但是这严重限制了LLM的推理能力。
为了克服这种限制,本文提出了一种“文本到分布”的范式,即在一次推理中预测整个用户集的物品交互概率分布。具体而言,本文提出了FilterLLM。首先,引入一个定制的分布预测和冷启动框架。然后,结合高效的用户词汇结构,以训练和存储亿级用户的嵌入。最后,详细说明分布预测和用户词汇构建的训练目标。
1.引言
“文本到推断”的范式一次只能推断一对用户-物品对,在实际应用中会导致线性增强的计算负担。这种推断范式存在以下局限性:
-
有限的用户表示:用户的表示是基于该用户交互的所有项目,但由于LLM的提示长度限制,用户的表示可能只包含部分交互。
-
高推理时间和资源成本:“文本到判断”方法的顺序性质要求LLM检查每一个用户项目对,从而导致大量的推理时间和资源消耗。
-
小型候选集:基于LLM的冷启动模型需要从数十亿用户选择小型候选人集,限制了LLM的推断能力。
采用“文本到分布”范式使得在单次推理中预测特定项目的亿级用户交互分布成为可能,从而直接解决了线性计算负担。然而,这种范式转变引入了三个关键挑战:
-
用户建模:现有的方法受到同时建模的用户数量的限制。设计一种能够并行建模数百万用户的解决方案是一个重大挑战。
-
分布预测:虽然LLMs在预测下一个词的分布方面表现出色,但在亿级用户中预测分布则是一项独特且复杂的挑战。
-
LLM训练:LLMs可以利用现有的语料库和监督微调进行训练。然而,将这一训练范式调整到推荐领域,尤其是关注用户意图分布的场景,仍然是一个未解决的问题。
为了解决以上问题,本文提出了FilterLLM,主要贡献如下:
-
提出了一种单次推理的“文本到分布”范式,用于基于LLM的冷启动推荐,从根本上解决了“文本到判断”方法的迭代推理负担。
-
设计并实现了FilterLLM框架,展示了如何有效预测用户交互分布以及如何训练FilterLLM的各个组件。
2.前言
2.1符号说明
U U U、 I I I 和 H H H 表示用户集、项目集和交互集。项目集 I I I 可以分为温项目集 I w I_w Iw(有交互历史的项目)和冷项目集 I c I_c Ic(没有交互历史的项目)。对于每个热项目 i ∈ I w i \in I_w i∈Iw,与项目 i i i 交互的用户集合用 U i U_i Ui 表示。此外,令 C C C 表示所有项目的内容集,其中每个项目 i i i 关联有特定的内容特征 c i \mathbf{c}_i ci。
2.2文本到判断
基于 LLM 的“文本到判断”冷启动方法利用大语言模型为冷启动项目生成交互,生成过程可以分为两个步骤。
2.2.1候选生成(从数十亿到数百)
构建候选集,减少 LLM 需要处理的对数。这个过程可以定义为:
其中 T i ⊂ U T_i \subset U Ti⊂U 表示由 LLM 处理的项目 i i i 的候选用户集,而 Select ( ⋅ ) \text{Select}(\cdot) Select(⋅) 表示预定义的选择规则,例如传统的冷启动模型或随机选择。
2.2.2交互模拟(从数百到数十)
获得候选用户集后,每个用户与冷项目 i i i 配对,并将该对输入 LLM,预测其是否代表真实的交互。这个过程可以表述为:
其中 H ^ i \hat{H}_i H^i 是冷项目 i i i 的模拟交互集,而 LLM ( u , i ) = “Yes” \text{LLM}(u, i) = “\text{Yes}” LLM(u,i)=“Yes” 表示大模型模拟了用户 u u u 与项目 i i i 之间的交互。
3.方法
整体框架如图2所示。
3.1总体框架
3.1.1文本到分布任务
该任务的目标是利用大模型将冷项目的内容(以文本形式表示)映射到用户分布。该分布通过考虑所有历史用户行为以及用户、项目和上下文信息来学习。这个过程可以表述为:
其中 FilterLLM ( ⋅ ) \text{FilterLLM}(\cdot) FilterLLM(⋅) 表示一个函数,用于在一次传递中生成给定项目的用户分布。
3.1.2利用分布增强冷嵌入
使用生成的用户分布为每个冷项目抽样一个交互集 H ^ i \hat{H}_i H^i 来更新其嵌入,公式如下:
这里, Sample ( ⋅ ) \text{Sample}(\cdot) Sample(⋅) 表示一种抽样策略,从项目 i i i 的用户分布 P ( u ∣ c i ) P(u | \mathbf{c}_i) P(u∣ci) 中生成一组用户 u u u。一旦为冷项目抽样了交互,这些冷项目就可以利用这些交互进行更新。通过利用抽样的交互,最终用于下游任务的冷嵌入可以表示为:
其中 E i ( c ) E^{(c)}_i Ei(c) 表示更新后的冷项目嵌入矩阵,由优化函数 Opt ( ⋅ ) \text{Opt}(\cdot) Opt(⋅) 生成。 [ H ^ , H ] [\hat{H},H] [H^,H] 是一个交互集,包含原始交互 H H H 和所有抽样的交互 H ^ \hat{H} H^。
3.2FilterLLM结构
基于上述思路,核心挑战是如何有效地完成“文本到分布”的任务。本文通过引入用户特定的词汇来扩展 LLM 的原始词汇。这一扩展使 LLM 能够在一次前向传递中将数十亿用户建模为一个分布,利用扩展用户词汇中预存的用户表示。
3.2.1用户词汇扩展
为了支持用户分布预测,本文通过引入专门的用户词汇将用户特征融入到LLM中,其中每个用户 ID 被表示为模型中的一个唯一标记。用户词汇定义为:
其中 Z ∈ R ∣ U ∣ × d \mathbf{Z} \in \mathbb{R}^{|U|\times d} Z∈R∣U∣×d 表示在 LLM 中学习到的用户标记嵌入, z u ∈ R d \mathbf{z}_u \in \mathbb{R}^d zu∈Rd 表示用户 u u u 的嵌入,而 O u ∈ R ∣ U ∣ \mathbf{O}_u \in \mathbb{R}^{|U|} Ou∈R∣U∣ 是对应于用户 u u u 的独热向量。这些用户标记仅在 LLM 的输出空间中使用,使得模型能够预测用户分布,而无需在输入中显式描述用户。
3.2.2内容提示编码器
输入提示的结构如下:“假设您是推荐专家。一个项目的内容如下 Text,请预测该项目的潜在用户。”然后,这个提示将通过一系列堆叠的自注意力和前馈模块映射到隐空间,表达式如下:
SA ( ⋅ ) \text{SA}(\cdot) SA(⋅) 和 Embed ( ⋅ ) \text{Embed}(\cdot) Embed(⋅) 分别是自注意力和嵌入函数。此外, x i , 1 : k = Prompt ( c i ) \mathbf{x}_{i,1:k} = \text{Prompt}(\mathbf{c}_i) xi,1:k=Prompt(ci) 表示从项目内容 c i \mathbf{c}_i ci 派生的提示标记序列。 h i , 1 : k ( l ) ∈ R k × d \mathbf{h}^{(l)}_{i,1:k} \in \mathbb{R}^{k \times d} hi,1:k(l)∈Rk×d 指的是 LLM 第 l l l 层输出的隐藏向量, k k k 是 x i , 1 : k \mathbf{x}_{i,1:k} xi,1:k 的长度。使用最后一层的最终隐藏状态向量 h i , k ( N ) ∈ R d \mathbf{h}^{(N)}_{i,k} \in \mathbb{R}^d hi,k(N)∈Rd 来表示项目内容提示。
3.2.3分布预测
在对项目提示进行编码后,进一步将其转化为用户概率分布,依赖于用户词汇。具体而言,在 LLM 的输出上添加一个概率分布预测头 f l : R d → P ( J ) f_l : \mathbb{R}^d \to P(J) fl:Rd→P(J),该头将项目内容表示 h i , k ( N ) \mathbf{h}^{(N)}_{i,k} hi,k(N) 映射到概率空间 P ( J ) P(J) P(J)。函数 f l f_l fl 的权重与扩展用户词汇的嵌入密切相关,可以写成如下形式:
用户分布可以表示为 u ∼ p ( u ∣ c i ) u \sim p(u | \mathbf{c}_i) u∼p(u∣ci),这意味着基于项目内容 c i \mathbf{c}_i ci 生成用户 u u u。
3.3FilterLLM训练
3.3.1用户词汇的初始化
本文提出一种协作驱动的方法来初始化用户标记嵌入。具体而言,引入了一种面向项目的 BPR 损失,用于初始化用户标记嵌入,具体公式如下:
σ \sigma σ表示 sigmoid 函数, CF ( ⋅ ) \text{CF}(\cdot) CF(⋅) 指代一种协同过滤方法。本工作采用一种基于图的方法来捕捉用户与项目之间的高阶关系。 E u ∈ R ∣ U ∣ × d \mathbf{E}_u \in \mathbb{R}^{|U| \times d} Eu∈R∣U∣×d 和 E i ∈ R ∣ I w ∣ × d \mathbf{E}_i \in \mathbb{R}^{|I_w| \times d} Ei∈R∣Iw∣×d 分别是用户和项目的行为嵌入矩阵,这些矩阵在训练过程中学习得到。 E i \mathbf{E}_i Ei 将作为后续 FilterLLM 训练中的项目嵌入引导。
在获得嵌入矩阵后,用户标记嵌入可以初始化为:
3.3.2分布学习
为了优化用户概率分布,目标是确保与该项目交互的正用户的概率尽可能高,而与未交互的负用户的概率尽可能低。此外,需要将概率计算方法与下一个标记预测对齐,以保持与 LLM 的一致性。因此,本文采用 logsoftmax 损失来优化用户预测分布。具体而言,损失可以表示为:
3.3.3行为指导
在训练的早期阶段,主要用于自然语言处理任务的 LLM 通常难以有效解释带有协作信息的用户词汇。为了解决这个问题,本文引导 LLM 从嵌入的角度模仿用户与项目交互中观察到的行为模式,使其能够捕捉 LLM 通常遗漏的高阶用户-项目关系。这种方法有助于模型克服其自然语言关注点与协作数据之间的初始不一致。
具体而言,行为指导损失可以计算如下:
4.实验
4.1设置
数据集:CiteULike和ML-10M
基线:
-
基于 dropout 的嵌入模拟模型:DropoutNet、MTPR、Heater 和 CLCRec
-
基于生成的嵌入模拟模型:DeepMusic、MetaEmb、GAR 和 ALDI
-
交互模拟模型:USIM、MI-GNN、Wang 等 和 ColdLLM
评估指标:Recall@20 and NDCG@20
4.2离线评估
结论:
-
FilterLLM 在各个基线模型中表现出显著优势。
-
基于 LLM 的基线 ColdLLM 在其他基线中表现最佳。
-
基于 Dropout 的嵌入模拟器在整体和温暖推荐场景中的表现不如其他两种方法。
4.3泛化研究
为了评估 FilterLLM 在不同 LLM 基础架构上的泛化能力,本文对四个具有不同参数规模的基础 LLM 进行了实验:LLaMA3-1B、LLaMA3-3B、LLaMA2-7B 和 LLaMA2-13B,并与 ColdLLM (LLaMA2-7B) 进行了比较。结果如图 4 所示:
结论:
-
FilterLLM 在所有 LLM 基础架构上表现出色。
-
随着 LLM 参数规模的增加,FilterLLM 的性能呈现出改善的趋势。
4.4效率
结论:
-
FilterLLM 的模型训练时间显著短于 ColdLLM。
-
FilterLLM 的推理时间显著快于其他基于 LLM 的模型。
4.5在线评估
为了在工业环境中评估 FilterLLM,本文在阿里巴巴的平台上进行了为期两个月的在线 A/B 测试,该平台每天有 3 亿用户,新增 100 万个项目。用户被随机分为两个相等的组进行 A/B 测试,FilterLLM 与 ALDI 和 ColdLLM 进行比较。
结论:
-
FilterLLM 在冷启动推荐场景中在多个指标上表现出显著改善。
-
与 ColdLLM 相比,FilterLLM 显著提升了 LLM 推理效率。
5.总结
本文提出了一种新颖的“文本到分布”范式,使 LLM 能够在一次推理中预测用户与项目的交互分布。在此基础上,本文引入了 FilterLLM,一个旨在扩大 LLM 推理能力以支持大规模冷启动推荐的框架。FilterLLM 在阿里巴巴的平台上部署了两个月,成为冷启动推荐的核心。大量实验验证了其在离线和在线评估中的有效性和效率。
相关文章:
论文笔记-arXiv2025-FilterLLM
论文笔记-arXiv2025-FilterLLM: Text-To-Distribution LLM for Billion-Scale Cold-Start Recommendation FilterLLM:面向十亿级冷启动推荐的文本到分布大语言模型摘要1.引言2.前言2.1符号说明2.2文本到判断2.2.1候选生成(从数十亿到数百)2.2…...
Anaconda Prompt 切换工作路径的方法
直接切换是不生效的: (base) C:\Users\96975>cd D:\weiban-tool-master\weiban-tool-master需要先回到根目录C盘,然后切换到目标文件夹盘符,进一步切换到目标文件夹 (base) C:\Users\96975>cd ..(base) C:\Users>cd ..(base) C:\&g…...
Synopsys:printvar命令和puts/echo命令的区别
相关阅读 Synopsyshttps://blog.csdn.net/weixin_45791458/category_12812219.html?spm1001.2014.3001.5482 Synopsys的EDA工具中存在一类变量,它们能控制工具的行为,被称为应用变量(application variable),与之对应的是用户自定义变量(use…...
自注意力机制、多头自注意力机制、填充掩码 Python实现
原理讲解 【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解 自注意力机制 import torch import torch.nn as nn# 自注意力机制 class SelfAttention(nn.Module):def __init__(self, input…...
Cursor可视化大屏搭建__0420
主题:用Cursor怎么进行数据洞察,做AI预测化内容。 Python基础语法与AI python生态强大,代码简洁,相对其他语言Python更好上手,浙江高考将Python列为可选科目 科学计算:Sklearn,Numpy,Pandas 人工智能:Tensorflow,Pytorch 网络爬虫:Scrapy…...
postman乘法计算,变量赋值
postman脚本怎么计算乘法 在Postman中,你可以通过多种方式计算乘法,这取决于你的具体需求。例如,如果你想在发送请求前计算乘法结果,或者在测试标签中计算响应数据的乘法,下面是一些常见的方法。 1. 使用JavaScript代…...
计算机视觉——利用AI幻觉检测图像是否是生成式算生成的图像
概述 俄罗斯的新研究提出了一种非常规方法,用于检测不真实的AI生成图像——不是通过提高大型视觉-语言模型(LVLMs)的准确性,而是故意利用它们的幻觉倾向。 这种新方法使用LVLMs提取图像的多个“原子事实”,然后应用自…...
前端配置代理解决发送cookie问题
场景: 在开发任务管理系统时,我遇到了一个典型的身份认证问题:用户登录成功后,调获取当前用户信息接口却提示"用户未登录"。系统核心流程如下: 用户登录:调用 /login 接口&…...
word显示段落标记符(¶)而不是回车符
现象 公司的一位同事找到我说word显示异常,出现了段落标记符()。 反馈的截图如下: 正常的截图如下: 原因 语言设置错误 解决 文件 选项 更改语言 关闭word并重启 恢复正常...
使用 Vue Router 和 Vite 构建的自动路由生成系统
这段代码是一个使用 Vue Router 和 Vite 构建的自动路由生成系统。它的主要作用是自动扫描 views 目录下的所有 Vue 组件文件,并为它们创建相应的路由配置,无需手动为每个页面定义路由。 主要功能和工作流程 项目说明 结构 . ├── App.vue ├── assets │ └── v…...
乐家桌面安卓版2025下载-乐家桌面软件纯净版安装分享码大全
是否在为智能电视或机顶盒上的应用资源不够丰富而烦恼?在使用安卓版乐家桌面或者纯净版乐家桌面的过程中还需要通过搜索框多页面查询,小编今天为大家来介绍一款好用的电视桌面——乐看家桌面,将为你打开一个全新的软件世界! 乐看家…...
【sylar-webserver】重构日志系统
文章目录 主要工作流程图FiberConditionBufferBufferManagerLogEvent 序列化 & 反序列化LoggerRotatingFileLogAppender 主要工作 实现, LogEvent 序列化和反序列化 (使用序列化是为了更标准,如果转成最终的日志格式再存储(确…...
图形编辑器基于Paper.js教程27:对图像描摹的功能实现,以及参数调整
本篇文章来讲一下 图像描摹的功能的实现。 我们知道要雕刻图片可以通过分析图片的像素来生成相应的gcode进行雕刻,但如果你想要将图片转换为线稿进行雕刻,这个时候就要从图片中提取出 线稿。 例如下面的图片: 你想要获取到这个图片的线稿&…...
使用Mybaitis-plus提供的各种的免写SQL的Wrapper的使用方式
文章目录 内连接JoinWrappers.lambda和 new MPJLambdaWrapper 生成的MPJLambdaWrapper对象有啥区别?LambdaQueryWrapper 和 QueryWrapper的区别?LambdaQueryWrapper和MPJLambdaQueryWrapper的区别?在作单表更新时建议使用:LambdaU…...
SQL_连续登陆问题
文章目录 方案1:使用ROW_NUMBER函数1、针对对数据user_id分组,根据用户的活动日期排序2、用登录日期与rn求date_sub,得到的差值日期如果是相等的,则说明这两天肯定是连续的3、根据user_id和日期差sub_date分组,登录次数…...
【解决】Vue + Vite + TS 配置路径别名成功仍爆红
目录 前言 一.vite.config.ts 二.tsconfig.json 三. 别名配置成功,但语法提示爆红问题 四、可能遇到的问题 前言 在项目中设置路径别名后仍然出现爆红问题,通常是由于配置不完整或配置错误导致的。Vite 中配置 alias 总共需要配置两个地方: vite…...
Discuz!与DeepSeek结合:打造智能论坛,提升用户体验与运营效率
引言 随着互联网技术的飞速发展,社区论坛作为用户交流、分享信息的重要平台,其用户体验和运营效率成为了影响平台竞争力的关键因素。Discuz!作为国内领先的社区论坛软件系统,以其强大的功能和广泛的用户基础,在社区论坛领域占据着…...
Federated Feature Augmentation and Alignment
TPAMI2025,说是解决特征偏移问题,但从实验看其他数据异构也一并改善了。文章和题目一样干了特征增强和特征对齐两件事。特征增强部分套了两次高斯拟合,搞得很复杂,没法一句话说清楚。特征对齐部分是截断成直方图,然后双向KL散度。 论文:目前好像只有ieee能搜到 代码:只…...
ThinkPHP5 的 SQL 注入漏洞
ThinkPHP5 的 SQL 注入漏洞(常被安全社区称为 ThinkPHP5 SQL5 注入漏洞)是 ThinkPHP5 框架中一系列因设计缺陷导致的安全问题,主要影响早期版本。 一、漏洞背景 ThinkPHP5 的 SQL 注入漏洞主要源于框架对用户输入数据的处理不当,尤…...
Linux学习笔记|入门指令
man 指令 用法:man [指令名称] ,用于查看指定指令的帮助手册,获取指令的详细语法、选项及使用示例等信息 。示例:想了解 ls 指令的用法,执行 man ls ,会进入 man 手册页面展示 ls 相关信息。按 q 键可退出。…...
前端实现数据导出成excel
前端(react/vue)实现数据导出成excel 1. 下载依赖 npm install js-export-excel -D 2. 新建exportExcel.js import ExportJsonExcel from js-export-excel; /*** Event: 获取导出数据* description:* param config.tableParams<Object>: 表格接口请求参数* param …...
海事局发布《船舶智能监控系统技术指南(1.0)》,解读智驱力产品为何成为最佳选择!
为深入推进人工智能、边缘计算等新技术在水上交通安全领域应用,强化船舶安全风险实时感知、智能预警,推动水上交通安全治理模式向事前预防转型,中华人民共和国海事局于2025年3月11日正式制定了《船舶智能监控系统技术指南(1.0&…...
uCOS3实时操作系统(系统初始化和任务启动)
文章目录 ucos初始化任务创建任务启动 ucos初始化 系统运行的过程如下:OSInit -> OSTaskCreate -> OSStartucos初始化主要在 OSInit 中进行,下面列举了该初始化过程中比较重要的几个步骤:OSInit()OSInitHook();OS_CPU_ExceptStkBase /…...
线上地图导航小程序源码介绍
基于ThinkPHP、FastAdmin和UniApp三大前沿技术推出的一款线上地图导航小程序源码,ThinkPHP作为后端框架,以其轻量、高效和灵活的特点,确保了小程序的稳定性和可扩展性。FastAdmin则是基于ThinkPHP构建的管理后台,操作简便、功能全…...
Mininet--nodelib.py源码解析
整体构架概述 1. What is it? 本代码是 Mininet 网络仿真框架的扩展模块,包含 LinuxBridge 和 NAT 两类节点。LinuxBridge 提供基于 Linux 网桥的交换机功能,支持生成树协议(STP),用于构建冗余网络拓扑并防…...
[C++]多重继承:构造函数调用顺序解析
在C中,当派生类通过 多重继承 (Multiple Inheritance)继承多个基类(如 A、B、C)时,其构造函数调用顺序遵循以下规则: 1. 基类构造顺序 基类的构造函数调用顺序严格按照派生类定义中的基类声明…...
Math.round(),Math.ceil(),Math.floor(),Math.sqrt(),Math.pow(),Math.abs()等!
希望看到这篇的你今天开心 目录 Math.round():Math.ceil():Math.floor() :Math.sqrt():Math.pow():Math.abs():了解更多: Math.round(): 四舍五入取值 静态方法Math.round()返回四舍五入为最接近的整数的数字值。 对于正数,Math.round() 会将小数部分小…...
Docker 集成KingBase
Docker安装 再linux系统中安装yum命令,通过yum命令可直接安装docker yum命令如下 yum install dockerDocker安装KingBase 安装完成Dockr后,去KingBase官网中下载镜像 下载完成后,通过docker命令将镜像文件导入 docker load -i kdb_x86_64…...
论文速报《Being-0:结合视觉语言模型与模块化技能的人形机器人智能体》
论文链接:https://arxiv.org/pdf/2503.12533 项目主页:https://beingbeyond.github.io/being-0/?utm_sourcecatalyzex.com 0. 简介 人形机器人被认为是实现具身人工智能的理想载体,因其可以像人类一样与现实世界进行物理交互。构建能够在复…...
卷积神经网络--手写数字识别
本文我们通过搭建卷积神经网络模型,实现手写数字识别。 pytorch中提供了手写数字的数据集 ,我们可以直接从pytorch中下载 MNIST中包含70000张手写数字图像:60000张用于训练,10000张用于测试 图像是灰度的,28x28像素 …...
JavaScript-原型、原型链详解
一、构造函数 在 JavaScript 中,构造函数是一种特殊的函数,用于创建和初始化对象,它就像一个 “对象模板”。通过 new 关键字调用构造函数时,会创建一个新对象,并将构造函数中的属性和方法 “绑定” 到这个新对象上。…...
深度学习框架PyTorch——从入门到精通(3.3)YouTube系列——自动求导基础
这部分是 PyTorch介绍——YouTube系列的内容,每一节都对应一个youtube视频。(可能跟之前的有一定的重复) 我们需要Autograd做什么?一个简单示例训练中的自动求导开启和关闭自动求导自动求导与原地操作 自动求导分析器高级主题&…...
永磁同步电机控制算法-VF控制
一、原理介绍 V/F 控制又称为恒压频比控制,给定VF 控制曲线 电压是频率的tt例函数 即控制电压跟随频率变化而变化以保持磁通恒定不变。 二、仿真模型 在MATLAB/simulink里面验证所提算法,搭建仿真。采用和实验中一致的控制周期1e-4,电机部分计算周期为…...
【Docker 运维】Java 应用在 Docker 容器中启动报错:`unable to allocate file descriptor table`
文章目录 一、根本原因二、判断与排查方法三、解决方法1、限制 Docker 容器的文件描述符上限2、在执行脚本中动态设置ulimit的值3、升级至 Java 11 四、总结 容器内执行脚本时报错如下,Java 进程异常退出: library initialization failed - unable to a…...
SpringBoot + Vue 实现云端图片上传与回显(基于OSS等云存储)
前言 在实际生产环境中,我们通常会将图片等静态资源存储在云端对象存储服务(如阿里云OSS、七牛云、腾讯云COS等)上。本文将介绍如何改造之前的本地存储方案,实现基于云端存储的图片上传与回显功能。 一、技术选型 云存储服务&a…...
Session与Cookie的核心机制、用法及区别
Python中Session与Cookie的核心机制、用法及区别 在Web开发中,Session和Cookie是两种常用的用于跟踪用户状态的技术。它们在实现机制、用途和安全性方面都有显著区别。本文将详细介绍它们的核心机制、用法以及它们之间的主要区别。 一、Cookie的核心机制与用法 1…...
离线安装rabbitmq全流程
在麒麟系统(如银河麒麟)上离线安装 RabbitMQ 的具体操作步骤如下: 一、准备工作 确认系统版本:确认麒麟系统的版本,例如银河麒麟高级服务器 V10。确定 RabbitMQ 及依赖版本:根据系统版本确定兼容的 Rabbi…...
llama-webui docker实现界面部署
1. 启动ollama服务 [nlp server]$ ollama serve 2025/04/21 14:18:23 routes.go:1007: INFO server config env"map[OLLAMA_DEBUG:false OLLAMA_FLASH_ATTENTION:false OLLAMA_HOST: OLLAMA_KEEP_ALIVE:24h OLLAMA_LLM_LIBRARY: OLLAMA_MAX_LOADED_MODELS:4 OLLAMA_MAX_…...
第1 篇:你好,时间序列!—— 开启时间数据探索之旅
第 1 篇:你好,时间序列!—— 开启时间数据探索之旅 (图片来源: Stephen Dawson on Unsplash) 你有没有想过: 明天的天气会是怎样?天气预报是怎么做出来的?某支股票未来的价格走势如何预测?购物…...
C++算法(11):vector作为函数参数的三种传递方式详解
在C中,std::vector是最常用的动态数组容器之一。当我们需要将vector传递给函数时,不同的传递方式会对性能和功能产生显著影响。本文将详细介绍三种常见的传递方式及其适用场景,帮助开发者根据需求选择最合适的方法。 1. 按值传递(…...
版本控制利器——SVN简介
版本控制利器——SVN简介 在软件开发和项目管理的领域中,版本控制是一项至关重要的工作。它能帮助团队成员高效协作,确保代码的安全性和可追溯性。今天,我们就来详细介绍一款经典的版本控制系统——SVN(Subversion)。…...
链式栈和线性栈
1. 线性栈(顺序栈) 结构定义: #include <iostream> using namespace std;#define MAX_SIZE 100 // 预定义最大容量// 线性栈结构体 typedef struct {int* data; // 存储数据的数组int top; // 栈顶指针&…...
消息中间件RabbitMQ:简要介绍及其Windows安装流程
一、简要介绍 定义:RabbitMQ 是一个开源消息中间件,用于实现消息队列和异步通信。 场景:适用于分布式系统、异步任务处理、消息解耦、负载均衡等场景。 比喻:RabbitMQ 就像是快递公司,负责在不同系统间安全快速地传递…...
足球 AI 智能体技术解析:从数据采集到比赛预测的全链路架构
一、引言 在足球运动数字化转型的浪潮中,AI 智能体正成为理解比赛、预测赛果的核心技术引擎。本文从工程实现角度,深度解析足球 AI 的技术架构,涵盖数据采集、特征工程、模型构建、实时计算到决策支持的全链路技术方案,揭示其背后…...
VTK知识学习(53)- 交互与Widget(四)
1、测量类Widget 1)概述 与测量相关的主要 Widget如下: vtkDistanceWidget:用于在二维平面上测量两点之间的距离。vtkAngleWidget:用于二维平面的角度测量。vtkBiDimensionalWidget:用于测量二维平面上任意两个正交方向的轴长。 按照前面提到的步骤创…...
基础服务系列-Windows10 安装AnacondaJupyter
下载 https://www.anaconda.com/products/individual 安装 安装Jupyter 完成安装 启动Jupyter 浏览器访问 默认浏览器打开,IE不兼容,可以换个浏览器 修改密码 运行脚本...
使用c++调用deepseek的api(附带源码)
可以给服务器添加deepseek这样就相当于多了一个智能ai助手 deepseek的api申请地址使用格式测试效果源码 deepseek的api申请地址 这边使用硅基流动的api,注册就有免费额度 硅基流动: link 使用格式 api的调用格式,ds的api调用就是用固定协议然后发送到…...
HarmonyOS-ArkUI: animateTo 显式动画
什么是显式动画 啊, 尽管有点糙,但还是解释一下吧, 显式动画里面的“显式”二字, 是程序员在代码调用的时候,就三令五申,明明白白调用动画API而创建的动画。 这个API的名字就是: animateTo。这就是显式动画。说白了您可以大致理解为,显式动画,就是调用animateTo来完成…...
Spring AI MCP
MCP是什么 MCP是模型上下文协议(Model Context Protocol)的简称,是一个开源协议,由Anthropic(Claude开发公司)开发,旨在让大型语言模型(LLM)能够以标准化的方式连接到外…...
Kubernetes 创建 Jenkins 实现 CICD 配置指南
Kubernetes 创建 Jenkins 实现 CICD 配置指南 拉取 Jenkins 镜像并推送到本地仓库 # 从官方仓库拉取镜像(若网络不通畅可使用国内镜像源) docker pull jenkins/jenkins:lts-jdk11# 国内用户可去下面地址寻找镜像源并拉取: https://docker.a…...