当前位置:网站首页>哪来的TB级推荐模型
哪来的TB级推荐模型
2022-08-08 11:25:00 【RK】
记忆-归纳模型
推荐系统中常见的深度学习模型由Embedding表和神经网络两部分组成,其中Embedding部分起记忆表征作用,神经网络起到分析和归纳作用。实际上,神经网络在的分析能力是很有限的,更多是表现为归纳。而归纳的效果非常依赖表征的丰富程度,故Embedding部分的参数量往往远大于神经网络部分,当神经网络还在10MB量级时,Embedding表可以达到百GB乃至TB量级。
假定使用64位ID及16维参数表示一项Embedding,则全精度尺寸为72B,半精度尺寸为40B。可以推算1TB左右大小的模型大概有130-250亿项Embedding,而每一项Embedding背后是一个离散特征,换言之TB级模型约等于常说到的百亿特征千亿参数模型。推荐模型如此庞大根源就出在这百亿特征上。
哪来的百亿特征
推荐场景中最为庞大的特征组就是User和Item的ID,哪怕对于头部业务而言两者加起来无非也就10亿的量级,靠原始数据要凑出百亿特征几乎不可能。这个时候,就该登场离散特征交叉技术登场了。
分类语义派生
User或Item自身不同属性之间可以交叉派生出更细的分类,这是最为常见的手法。由于实体ID和实体自身属性间的交叉派生是徒劳的,分类语义派生特征虽然最常见,但是一般不会成为百亿特征的直接来源。
交互语义派生
在User和Item的属性之间做交叉派生也是相当常见的,派生出的特征体现了一种交互语义。可以用Item的ID和User的性别、年龄进行三联交叉派生,特征空间能达到Item量级的百倍,有亿级Item的场景光这一项就能产出百亿特征。
组合语义派生
以拳皇对局为例,可以直接将选角排列用作特征,同时将每个选中角色单独作一项特征然后pooling,还可以对选角排序产生获得结果组合并用作特征。组合虽然是原始排列的子集,不过和排列的语义有差异,不能共享特征空间。此类特征三管齐下往往会比单选一种处理要更为有效。
弱语义派生
细心的你大概已经发现了,上述几种特征派生的语义实际上是建立在共现性的基础上的。然而脱离了共现性,还是可以对特征做交叉派生,例如在游戏商城场景用过去一个月用得最多的英雄的ID和待售的皮肤ID进行交叉。这种派生操作虽然很难给出清晰的语义,不过有些时候可能会有意想不到的效果。
大维度Embedding vs 海量Embedding
如果没有百亿特征又想要TB级模型,是不是可以发扬“土法大炼钢”精神,把Embedding维度统统提到100以上呢?形式上当然是可以的,不过这样做恐怕背离了做大模型的初衷。做大模型不是为了验证系统承载能力,而是为了更好记忆业务场景数据。尽管笔者并没有找到大维度Embedding不如海量Embedding的理论依据,不过据观察在当前的条件下细嚼慢咽依然比囫囵吞枣更有效。
边栏推荐
猜你喜欢
《STM32MP1 M4裸机CubeIDE开发指南》第二十四章 DAC实验
基于ftp协议的上传与下载
分分钟快速定制您的专属个性化软件应用——BizTool自动化工具简介
day02 -DOM - advanced events (register events, event listeners, delete events, DOM event flow, event objects, prevent default behavior, prevent event bubbling, event delegation) - commonly used mouse
微服务分库分表
ReentrantLock原理,ReentrantLock和synchronized区别
[Horizon Rising Sun X3 Trial Experience] WIFI connection, SSH login, TogetherROS installation (section 2)
鲲鹏开发者创享日2022:鲲鹏全栈创新 与开发者共建数字湖南
leetcode:761. 特殊的二进制序列【递归 + 转换有效括号】
小程序使用npm包
随机推荐
七、图结构
学习笔记:CS520 Knowledge Graphs
(原创)[C#] GDI+ 之鼠标交互:原理、示例、一步步深入、性能优化
LeetCode每日一题--有序队列(整理最小表示法)
openssl 创建证书
Hystrix熔断器
Alibaba微服务组件Nacos注册中心
Mysql的分布式事务原理理解
三、集合与字典
STM32的内存管理相关(内存架构,内存管理,map文件分析)
图数据库是使用什么作为数据模型的呢?
卫星互联网真能替代 5G?
《STM32MP1 M4裸机CubeIDE开发指南》第二十四章 DAC实验
day01 -Web API介绍—DOM 介绍—获取元素—事件基础—操作元素—排他操作—自定义属性操作—节点操作—案例:动态生成表格—创建元素的三种方式(经典面试题)
LeetCode 219. Repeating Elements II (2022.08.07)
C语言详解系列——指针与结构体
一文读懂配置管理(CM)
LeetCode_1004_最大连续1的个数Ⅲ
移动适配vw/vh方法—vw/vh实例—模拟B站手机端首页—获取样式教程视频
无心剑2022年七绝100首