工程应用
文章平均质量分 84
CC‘s World
这个作者很懒,什么都没留下…
展开
-
【工程应用】用Redis存储特征
一、Redis应用背景在工程应用中,类似 Embedding 这样的特征是在离线环境下生成的,而推荐或各种服务器是在线上环境中运行的,那这些离线的特征数据是如何导入到线上让推荐服务器使用的呢?Netflix 采用了非常经典的 Offline、Nearline、Online 三层推荐系统架构。架构图中最核心的位置就是图中用红框标出的部分,它们是三个数据库 Cassandra、MySQL 和 EVcache,这三个数据库就是 Netflix 解决特征和模型参数存储问题的钥匙。对于推荐服务器来说,由于线上原创 2022-05-19 15:09:33 · 685 阅读 · 0 评论 -
【工程应用】XGBoost应用(Python)
XGBoost是eXtreme Gradient Boosting的缩写,它是一个十分强大的Boosting算法工具包。XGBoost在并行计算效率、缺失值解决、抑制过拟合、预测泛化能力上都变现十分优良。一、基础XGBoost安装基于pip就能够轻松实现:pip install xgboost二、XGBoost数据读取应用XGBoost的第一步,需要加载所需的数据成为工具库所能支持的格式形态。XGBoost可以加载多种数据格式的数据用于训练建模:libsvm格式的文本数据。Numpy的二维转载 2022-05-18 18:51:15 · 2700 阅读 · 0 评论 -
【工程应用】深度学习推荐模型的上线部署
对于推荐模型的离线训练,无论是TensorFlow,PyTorch,还是传统一点的Spark MLlib都提供了比较成熟的离线并行训练环境。但推荐模型终究是要在线上环境进行inference的,如何将离线训练好的模型部署于线上的生产环境,进行线上实时的inference,其实一直是业界的一个难点。本篇文章是几种可行的推荐模型线上serving方法。一、自研平台无论是在数年前深度学习刚兴起的时代,还是TensorFlow,PyTorch已经大行其道的今天,自研机器学习训练与上线的平台仍然是很多大中型公司的转载 2022-05-09 15:55:02 · 852 阅读 · 0 评论 -
【工程应用】TensorFlow的单机训练与分布式训练模式
TensorFlow的计算平台也分为两种不同的模式,一种是单机训练,另一种是多机分布式训练。对单机训练来说,虽然执行过程中也包括CPU、GPU的并行计算过程,但总体上处于共享内存的环境,不用过多考虑通信的问题;而多机分布式训练指的是多台不共享内存的独立节点组成的集群环境下的训练方法。计算节点间需要依靠网络通信,因此可以认为这是与Parameter Server相似的计算环境。TensorFlow的单机训练是在一个worker节点上进行的,单worker节点内部按照任务关系图的方式在不同GPU+CPU节原创 2022-05-09 12:00:26 · 469 阅读 · 0 评论 -
【工程应用】推荐模型离线训练之Parameter Server
Spark采取了简单直观的数据并行的方法解决模型并行训练的问题,但由于Spark的并行梯度下降方法是同步阻断式的,且模型参数需通过全局广播的形式发送到各节点,因此Spark的并行梯度下降是相对低效的。为了解决相应的问题,2014年分布式可扩展的Parameter Server被提出,几乎完美的解决了机器模型的分布式训练问题,时至今日,parameter server不仅被直接应用在各大公司的机器学习平台上,而且也被集成在TensorFlow,MXNet等主流的深度框架中,作为机器学习分布式训练最重要的解决转载 2022-05-09 11:31:48 · 445 阅读 · 0 评论 -
【工程应用】推荐模型离线训练之Spark MLlib
分布式机器学习训练有三个主要的方案,分别是Spark MLlib,Parameter Server和TensorFlow,倒不是说他们是唯三可供选择的平台,而是因为他们分别代表着三种主流的解决分布式训练方法。虽然受到了诸如Flink等后起之秀的挑战,但Spark仍是当之无愧的业界最主流的计算平台。而且为了照顾数据处理和模型训练平台的一致性,也有大量公司采用Spark原生的机器学习平台MLlib进行模型训练。选择Spark MLlib作为机器学习分布式训练平台的第一站,不仅因为Spark是流行的,更是因为S原创 2022-05-09 10:43:02 · 709 阅读 · 0 评论 -
【工程应用】推荐系统的数据流
一、批处理大数据架构在大数据平台诞生之前,传统数据库很难处理海量数据的存储和计算问题。 针对这一难题,以Google GFS和Apache HDFS为代表的分布式存储系统诞生, 解决了海量数据的存储问题;为了进一步解决数据的计算问题,Map Reduce框 架被提出,采用分布式数据处理再逐步Reduce的方法并行处理海量数据。“分布式存储+Map Reduce”的架构只能批量处理已经落盘的静态数据,无法在数据采集、传输等数据流动的过程中处理数据,因此被称为批处理大数据架构。相比之前以数据库为核心的数据处转载 2022-05-09 10:09:55 · 317 阅读 · 0 评论