 从推荐模型的基础特点看大规模推荐类深度学习系统的设计 袁镱Reader Learner Worker 返回参数 Request Handler Parameter Server 更新参数 � 异步参数处理流⽔线 参数 预准备 Batch⼊队列 Batch⼊队列 � 效果: � 在不影响训练效果的情况下,降低参数准备与更新耗时,提 ⾼训练速度。训练耗时下降超50% � 异步storage线程,⽀持基于冷热数据的多级存储。内存消 耗下降30%-70%0 码力 | 22 页 | 6.76 MB | 1 年前3 从推荐模型的基础特点看大规模推荐类深度学习系统的设计 袁镱Reader Learner Worker 返回参数 Request Handler Parameter Server 更新参数 � 异步参数处理流⽔线 参数 预准备 Batch⼊队列 Batch⼊队列 � 效果: � 在不影响训练效果的情况下,降低参数准备与更新耗时,提 ⾼训练速度。训练耗时下降超50% � 异步storage线程,⽀持基于冷热数据的多级存储。内存消 耗下降30%-70%0 码力 | 22 页 | 6.76 MB | 1 年前3
 Keras: 基于 Python 的深度学习库。可选参数 Sequence:如果未指定,将使用 len(generator) 作为步数。 • class_weight: 将类别映射为权重的字典。 • max_queue_size: 生成器队列的最大尺寸。 • workers: 使用的最大进程数量。 • use_multiprocessing: 如果 True,则使用基于进程的多线程。请注意,因为此实现依赖于多 进程,所以不应将不可 在停止之前,来自 generator 的总步数 (样本批次)。可选参数 Sequence:如果未指 定,将使用 len(generator) 作为步数。 • max_queue_size: 生成器队列的最大尺寸。 • workers: 使用的最大进程数量。 • use_multiprocessing: 如果 True,则使用基于进程的多线程。请注意,因为此实现依赖于多 进程,所以不应将不可 在停止之前,来自 generator 的总步数 (样本批次)。可选参数 Sequence:如果未指 定,将使用 len(generator) 作为步数。 • max_queue_size: 生成器队列的最大尺寸。 • workers: 使用的最大进程数量。 模型 48 • use_multiprocessing: 如果 True,则使用基于进程的多线程。请注意,因为此实现依赖于多 进程,0 码力 | 257 页 | 1.19 MB | 1 年前3 Keras: 基于 Python 的深度学习库。可选参数 Sequence:如果未指定,将使用 len(generator) 作为步数。 • class_weight: 将类别映射为权重的字典。 • max_queue_size: 生成器队列的最大尺寸。 • workers: 使用的最大进程数量。 • use_multiprocessing: 如果 True,则使用基于进程的多线程。请注意,因为此实现依赖于多 进程,所以不应将不可 在停止之前,来自 generator 的总步数 (样本批次)。可选参数 Sequence:如果未指 定,将使用 len(generator) 作为步数。 • max_queue_size: 生成器队列的最大尺寸。 • workers: 使用的最大进程数量。 • use_multiprocessing: 如果 True,则使用基于进程的多线程。请注意,因为此实现依赖于多 进程,所以不应将不可 在停止之前,来自 generator 的总步数 (样本批次)。可选参数 Sequence:如果未指 定,将使用 len(generator) 作为步数。 • max_queue_size: 生成器队列的最大尺寸。 • workers: 使用的最大进程数量。 模型 48 • use_multiprocessing: 如果 True,则使用基于进程的多线程。请注意,因为此实现依赖于多 进程,0 码力 | 257 页 | 1.19 MB | 1 年前3
 经典算法与人工智能在外卖物流调度中的应用• 实时获取调度监控指标 • 及时预警引入人工干预 • 精准模拟实际订单分布情况 • 有效评估调度算法的改进效果 • 合理划分物流范围 • 节省调度运力,提升商户配送能力 • 云端虚拟队列,实现调度指派 • 提升物流效率 仿真系统 实时监控 时光机 寻宝系统 1 2 3 4 5 时光机系统—历史数据可视化分析 真实再现调度场景细节 回溯定位异常调度原因,诊断调试算法0 码力 | 28 页 | 6.86 MB | 1 年前3 经典算法与人工智能在外卖物流调度中的应用• 实时获取调度监控指标 • 及时预警引入人工干预 • 精准模拟实际订单分布情况 • 有效评估调度算法的改进效果 • 合理划分物流范围 • 节省调度运力,提升商户配送能力 • 云端虚拟队列,实现调度指派 • 提升物流效率 仿真系统 实时监控 时光机 寻宝系统 1 2 3 4 5 时光机系统—历史数据可视化分析 真实再现调度场景细节 回溯定位异常调度原因,诊断调试算法0 码力 | 28 页 | 6.86 MB | 1 年前3
 阿里云上深度学习建模实践-程孟力策略[类目打散、流量控制、…] 实时采集后端日志 PAI-REC 配置中心 AB实验 实验工具 拉取配置 监控报警 Prometheus Grafana 读取metric 消息队列(datahub/kafka) PAI-REC平台 自动化降级 负载均衡 灰度发布 超时控制 平台支持 日志SLS 在线存储 Hologres/OTS BE Redis 读取数据0 码力 | 40 页 | 8.51 MB | 1 年前3 阿里云上深度学习建模实践-程孟力策略[类目打散、流量控制、…] 实时采集后端日志 PAI-REC 配置中心 AB实验 实验工具 拉取配置 监控报警 Prometheus Grafana 读取metric 消息队列(datahub/kafka) PAI-REC平台 自动化降级 负载均衡 灰度发布 超时控制 平台支持 日志SLS 在线存储 Hologres/OTS BE Redis 读取数据0 码力 | 40 页 | 8.51 MB | 1 年前3
 AI大模型千问 qwen 中文文档max_new_tokens=512, streamer=streamer, ) 除了使用 TextStreamer 之外,我们还可以使用 TextIteratorStreamer ,它将可打印的文本存储在一 个队列中,以便下游应用程序作为迭代器来使用: # Repeat the code above before model.generate() # Starting here, we add streamer0 码力 | 56 页 | 835.78 KB | 1 年前3 AI大模型千问 qwen 中文文档max_new_tokens=512, streamer=streamer, ) 除了使用 TextStreamer 之外,我们还可以使用 TextIteratorStreamer ,它将可打印的文本存储在一 个队列中,以便下游应用程序作为迭代器来使用: # Repeat the code above before model.generate() # Starting here, we add streamer0 码力 | 56 页 | 835.78 KB | 1 年前3
 动手学深度学习 v2.0device='cuda:0') 图12.2.2: 后端跟踪计算图中各个步骤之间的依赖关系 上面的代码片段在 图12.2.2中进行了说明。每当Python前端线程执行前三条语句中的一条语句时,它只是将 任务返回到后端队列。当最后一个语句的结果需要被打印出来时,Python前端线程将等待C++后端线程完成 510 12. 计算性能 变量z的结果计算。这种设计的一个好处是Python前端线程不需要执行实际的计算。因此,不管Python的性 前端和后端的交互 12.2.2 障碍器与阻塞器 12.2.3 改进计算 Python前端线程和C++后端线程之间的简化交互可以概括如下: 1. 前端命令后端将计算任务y = x + 1插入队列; 2. 然后后端从队列接收计算任务并执行; 3. 然后后端将计算结果返回到前端。 假设这三个阶段的持续时间分别为t1, t2, t3。如果不使用异步编程,执行10000次计算所需的总时间约 为10000(t1 > 9999t1)。 小结 • 深度学习框架可以将Python前端的控制与后端的执行解耦,使得命令可以快速地异步插入后端、并行 执行。 • 异步产生了一个相当灵活的前端,但请注意:过度填充任务队列可能会导致内存消耗过多。建议对每个 小批量进行同步,以保持前端和后端大致同步。 • 芯片供应商提供了复杂的性能分析工具,以获得对深度学习效率更精确的洞察。 12.2. 异步计算 511 练习0 码力 | 797 页 | 29.45 MB | 1 年前3 动手学深度学习 v2.0device='cuda:0') 图12.2.2: 后端跟踪计算图中各个步骤之间的依赖关系 上面的代码片段在 图12.2.2中进行了说明。每当Python前端线程执行前三条语句中的一条语句时,它只是将 任务返回到后端队列。当最后一个语句的结果需要被打印出来时,Python前端线程将等待C++后端线程完成 510 12. 计算性能 变量z的结果计算。这种设计的一个好处是Python前端线程不需要执行实际的计算。因此,不管Python的性 前端和后端的交互 12.2.2 障碍器与阻塞器 12.2.3 改进计算 Python前端线程和C++后端线程之间的简化交互可以概括如下: 1. 前端命令后端将计算任务y = x + 1插入队列; 2. 然后后端从队列接收计算任务并执行; 3. 然后后端将计算结果返回到前端。 假设这三个阶段的持续时间分别为t1, t2, t3。如果不使用异步编程,执行10000次计算所需的总时间约 为10000(t1 > 9999t1)。 小结 • 深度学习框架可以将Python前端的控制与后端的执行解耦,使得命令可以快速地异步插入后端、并行 执行。 • 异步产生了一个相当灵活的前端,但请注意:过度填充任务队列可能会导致内存消耗过多。建议对每个 小批量进行同步,以保持前端和后端大致同步。 • 芯片供应商提供了复杂的性能分析工具,以获得对深度学习效率更精确的洞察。 12.2. 异步计算 511 练习0 码力 | 797 页 | 29.45 MB | 1 年前3
 【PyTorch深度学习-龙龙老师】-测试版202112?′)数据。经验缓冲池的代码实现如下: class ReplayBuffer(): # 经验回放池 def __init__(self): # 双向队列 self.buffer = collections.deque(maxlen=buffer_limit) def put(self, transition): result_queue, idx): super(Worker, self).__init__() self.result_queue = result_queue # 共享队列 self.server = server # 中央模型 self.opt = opt # 中央优化器 self.client = ActorCritic(4 Network,调用 opt 对象完成 Global Network 的优化更新。训练代码如下: def train(self): res_queue = Queue() # 共享队列 # 创建各个交互环境 workers = [Worker(self.server, self.opt, res_queue, i)0 码力 | 439 页 | 29.91 MB | 1 年前3 【PyTorch深度学习-龙龙老师】-测试版202112?′)数据。经验缓冲池的代码实现如下: class ReplayBuffer(): # 经验回放池 def __init__(self): # 双向队列 self.buffer = collections.deque(maxlen=buffer_limit) def put(self, transition): result_queue, idx): super(Worker, self).__init__() self.result_queue = result_queue # 共享队列 self.server = server # 中央模型 self.opt = opt # 中央优化器 self.client = ActorCritic(4 Network,调用 opt 对象完成 Global Network 的优化更新。训练代码如下: def train(self): res_queue = Queue() # 共享队列 # 创建各个交互环境 workers = [Worker(self.server, self.opt, res_queue, i)0 码力 | 439 页 | 29.91 MB | 1 年前3
共 7 条
- 1













