首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

推荐系统中的Auto Embedding Size算法

推荐系统的输入特征具有稀疏性、分布差异大的特性,这两个特性决定了AES工作的意义。其中“稀疏性”理解为特征id经过hash化后,往往只占据完整hash表的一部分。比如文章的category,一般是百级别到千级别的,为了避免冲突,我们一般设定hash表的大小是category数量的数倍,这样就会存在着大量没有使用到的表元素。进一步的,对hash表中的元素建立embedding table,也会存在着大量embedding没有被使用。因此,embedding占据了推荐模型中的大部分参数量。而“分布差异大”则表现为,不同field的特征数量往往差别很大,比如对于“性别”只有3个值,而user ID的量级可能是数以亿计。因此,不同的features所携带的信息也是各异的。特别的,对于一些低频的特征,不仅应该设定更小的embedding size,甚至还可能要将其过滤掉以避免出现过拟合;而对于一些高频的特征,不仅本身携带较大的信息量,和其他特征也会有更大的“共现”机会(“共现”的特性可以用来建模交叉特征,这里不做展开讲),因此应该设定更大的embedding size。

01

横向扩展的NAS:混合云存储的关键

目前,世界上大多数的数据中心仍然使用垂直缩放的存储解决方案,这是一个困扰人们的问题。这种传统的存储方法在设计时并没有考虑到现在达到泽字节的庞大数据。企业以往任何时候需要存储更多的指数的数据,他们需要采用不损害性能的经济实惠的方式来进行。软件定义存储的出现使得横向扩展存储解决方案成为了现实。 如今出现的另一个相对较新的技术混合云,使组织折云架构具有最大的业务灵活性,这有助于在达到预算和性能目标的同时,最大限度地提高效率。简而言之,混合云是一个使用混合的内部部署,私有云和公共云服务的组合,以及业务流程平台之间的

08

存储知识:数据一致性、分级存储、分层存储与信息生命周期管理

一、概述 数据一致性是指关联数据之间的逻辑关系是否正确和完整。问题可以理解为应用程序自己认为的数据状态与最终写入到磁盘中的数据状态是否一致。比如一个事务操作,实际发出了五个写操作,当系统把前面三个写操作的数据成功写入磁盘以后,系统突然故障,导致后面两个写操作没有写入磁盘中。此时应用程序和磁盘对数据状态的理解就不一致。当系统恢复以后,数据库程序重新从磁盘中读出数据时,就会发现数据再逻辑上存在问题,数据不可用。 二、Cache引起的数据一致性问题 引起数据一致性问题的一个主要原因是位于数据I/O路径上的各种Cache或Buffer(包括数据库Cache、文件系统Cache、存储控制器 Cache、磁盘Cache等)。由于不同系统模块处理数据IO的速度是存在差异的,所以就需要添加Cache来缓存IO操作,适配不同模块的处理速度。这些Cache在提高系统处理性能的同时,也可能会“滞留”IO操作,带来一些负面影响。如果在系统发生故障时,仍有部分IO“滞留”在IO操作中,真正写到磁盘中的数据就会少于应用程序实际写出的数据,造成数据的不一致。当系统恢复时,直接从硬盘中读出的数据可能存在逻辑错误,导致应用无法启动。尽管一些数据库系统(如Oracle、DB2)可以根据redo日志重新生成数据,修复逻辑错误,但这个过程是非常耗时的,而且也不一定每次都能成功。对于一些功能相对较弱的数据库(如SQL Server),这个问题就更加严重了。 解决此类文件的方法有两个,关闭Cache或创建快照(Snapshot)。尽管关闭Cache会导致系统处理性能的下降,但在有些应用中,这却是唯一的选择。比如一些高等级的容灾方案中(RPO为0),都是利用同步镜像技术在生产中心和灾备中心之间实时同步复制数据。由于数据是实时复制的,所以就必须要关闭Cache。 快照的目的是为数据卷创建一个在特定时间点的状态视图,通过这个视图只可以看到数据卷在创建时刻的数据,在此时间点之后源数据卷的更新(有新的数据写入),不会反映在快照视图中。利用这个快照视图,就可以做数据的备份或复制。那么快照视图的数据一致性是如何保证的呢?这涉及到多个实体(存储控制器和安装在主机上的快照代理)和一系列的动作。典型的操作流程是:存储控制器要为某个数据卷创建快照时,通知快照代理;快照代理收到通知后,通知应用程序暂停IO操作(进入 backup模式),并flush数据库和文件系统中的Cache,之后给存储控制器返回消息,指示已可以创建快照;存储控制器收到快照代理返回的指示消息后,立即创建快照视图,并通知快照代理快照创建完毕;快照代理通知应用程序正常运行。由于应用程序暂停了IO操作,并且flush了主机中的 Cache,所以也就保证了数据的一致性。 创建快照是对应用性能是有一定的影响的(以Oracle数据库为例,进入Backup模式大约需要2分钟,退出Backup模式需要1分钟,再加上通信所需时间,一次快照需要约4分钟的时间),所以快照的创建不能太频繁。 三、时间不同步引起的数据一致性问题 引起数据不一致性的另外一个主要原因是对相关联的多个数据卷进行操作(如备份、复制)时,在时间上不同步。比如一个Oracle数据库的数据库文件、 Redo日志文件、归档日志文件分别存储在不同的卷上,如果在备份或复制的时候未考虑几个卷之间的关联,分别对一个个卷进行操作,那么备份或复制生成的卷就一定存在数据不一致问题。 此类问题的解决方法就是建立“卷组(Volume Group)”,把多个关联数据卷组成一个组,在创建快照时同时为组内多个卷建立快照,保证这些快照在时间上的同步。之后再利用卷的快照视图进行复制或备份等操作,由此产生的数据副本就严格保证了数据的一致性。 四、文件共享中的数据一致性问题 通常所采用的双机或集群方式实现同构和异构服务器、工作站与存储设备间的数据共享,主要应用在非线性编辑等需要多台主机同时对一个磁盘分区进行读写。

03

【一周简报】有米风波未停,百度又爆出SDK安全事件,智选SDK带你解开SDK“神秘面纱”

智选SDK一周资讯大事记,将会为您呈现过去一周最受欢迎的SDK资讯、投融资、企业活动、人物访谈和创业故事等信息,让您在最短的时间内了解最火爆的前沿信息。 有米风波未停,百度又爆出SDK安全事件,智选SDK带你解开SDK“神秘面纱” 就在有米SDK事件风波未停的时候,国内互联网三巨头之一的百度,又爆出SDK安全隐患事件。 由百度提供的一款名为Moplus SDK开发包中,含有“安全”后门。如果攻击者盗取这个“后门”,就可以轻易侵入用户Android移动设备。之后可以在“肉鸡”设备上发布恶意程序,并且执行程序。

07
领券