 动手学深度学习 v2.0内存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 12.4.3 存储器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 12.4.4 CPU 多机训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 12.7.4 键值存储 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 13 计算机视觉 549 图1 中用不同的颜色呈现: 目录 3 图1: 全书结构 • 第一部分包括基础知识和预备知识。1节 提供深度学习的入门课程。然后在 2节 中,我们将快速介绍实 践深度学习所需的前提条件,例如如何存储和处理数据,以及如何应用基于线性代数、微积分和概率基 本概念的各种数值运算。3节 和 4节 涵盖了深度学习的最基本概念和技术,例如线性回归、多层感知机 和正则化。 • 接下来的五章集中讨论现代深度学习技术。5节0 码力 | 797 页 | 29.45 MB | 1 年前3 动手学深度学习 v2.0内存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517 12.4.3 存储器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518 12.4.4 CPU 多机训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545 12.7.4 键值存储 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547 13 计算机视觉 549 图1 中用不同的颜色呈现: 目录 3 图1: 全书结构 • 第一部分包括基础知识和预备知识。1节 提供深度学习的入门课程。然后在 2节 中,我们将快速介绍实 践深度学习所需的前提条件,例如如何存储和处理数据,以及如何应用基于线性代数、微积分和概率基 本概念的各种数值运算。3节 和 4节 涵盖了深度学习的最基本概念和技术,例如线性回归、多层感知机 和正则化。 • 接下来的五章集中讨论现代深度学习技术。5节0 码力 | 797 页 | 29.45 MB | 1 年前3
 超大规模深度学习在美团的应用-余建平rad、etc • Loss Function  LogLoss、SquareLoss、Cross Entropy、etc • 评估指标  AUC、Loss、MAE、RMSE  支持外部eval工具,计算MAP、NDCG MLX的模型能力 • 提供离线、近线、在线全流程解决方案,各阶段提供扩展方案,降低算法迭代成本; • 支持Online Learning,提供从近线到在线的模型数据通路; 模型可变计算路径  运行阶段  计算图裁剪 模型训练框架 • 应用场景——离线预计算  模型召回,ANN检索  粗排模型,降低线上计算量 • 分布式Sharding  模型分片存储,支持超大规模模型  数据并行计算,加速Optimizer计算 • 低频特征过滤  Counting Bloom Filter  概率方式 • 模型数据通路  Base + Delta方式 Ps分布式分片的均衡,避免分片大小不一致  NN网络矩阵按行切分,解决请求包不均衡问题  特征按照Hash方式分布式存储 • 模型并行调超参  grid search  random search PS的多模型训练 • 提高内存使用效率  model group内共享特征key的存储 • 超大规模模型 -> 高扇出的分布式PS • 长尾效应:单个分片的抖动(网络、CPU)对请求影响变大0 码力 | 41 页 | 5.96 MB | 1 年前3 超大规模深度学习在美团的应用-余建平rad、etc • Loss Function  LogLoss、SquareLoss、Cross Entropy、etc • 评估指标  AUC、Loss、MAE、RMSE  支持外部eval工具,计算MAP、NDCG MLX的模型能力 • 提供离线、近线、在线全流程解决方案,各阶段提供扩展方案,降低算法迭代成本; • 支持Online Learning,提供从近线到在线的模型数据通路; 模型可变计算路径  运行阶段  计算图裁剪 模型训练框架 • 应用场景——离线预计算  模型召回,ANN检索  粗排模型,降低线上计算量 • 分布式Sharding  模型分片存储,支持超大规模模型  数据并行计算,加速Optimizer计算 • 低频特征过滤  Counting Bloom Filter  概率方式 • 模型数据通路  Base + Delta方式 Ps分布式分片的均衡,避免分片大小不一致  NN网络矩阵按行切分,解决请求包不均衡问题  特征按照Hash方式分布式存储 • 模型并行调超参  grid search  random search PS的多模型训练 • 提高内存使用效率  model group内共享特征key的存储 • 超大规模模型 -> 高扇出的分布式PS • 长尾效应:单个分片的抖动(网络、CPU)对请求影响变大0 码力 | 41 页 | 5.96 MB | 1 年前3
 Keras: 基于 Python 的深度学习库19 Keras 配置文件保存在哪里? 所有 Keras 数据存储的默认目录是: $HOME/.keras/ 注意,Windows 用户应该将 $HOME 替换为 %USERPROFILE%。如果 Keras 无法创建上述目录 (例如,由于权限问题),则使用 /tmp/.keras/ 作为备份。 Keras 配置文件是存储在 $HOME/.keras/keras.json 中的 JSON yaml_string = model.to_yaml() model = model_from_yaml(yaml_string) • model.save_weights(filepath): 将模型权重存储为 HDF5 文件。 • model.load_weights(filepath, by_name=False): 从 HDF5 文件(由 save_weights 创 建)中加载权重。默认情况 target_tensors: 默认情况下,Keras 将为模型的目标创建一个占位符,在训练过程中将使用 目标数据。相反,如果你想使用自己的目标张量(反过来说,Keras 在训练期间不会载入 这些目标张量的外部 Numpy 数据),您可以通过 target_tensors 参数指定它们。它应该 是单个张量(对于单输出 Sequential 模型)。 模型 42 • __**kwargs__: 当使用0 码力 | 257 页 | 1.19 MB | 1 年前3 Keras: 基于 Python 的深度学习库19 Keras 配置文件保存在哪里? 所有 Keras 数据存储的默认目录是: $HOME/.keras/ 注意,Windows 用户应该将 $HOME 替换为 %USERPROFILE%。如果 Keras 无法创建上述目录 (例如,由于权限问题),则使用 /tmp/.keras/ 作为备份。 Keras 配置文件是存储在 $HOME/.keras/keras.json 中的 JSON yaml_string = model.to_yaml() model = model_from_yaml(yaml_string) • model.save_weights(filepath): 将模型权重存储为 HDF5 文件。 • model.load_weights(filepath, by_name=False): 从 HDF5 文件(由 save_weights 创 建)中加载权重。默认情况 target_tensors: 默认情况下,Keras 将为模型的目标创建一个占位符,在训练过程中将使用 目标数据。相反,如果你想使用自己的目标张量(反过来说,Keras 在训练期间不会载入 这些目标张量的外部 Numpy 数据),您可以通过 target_tensors 参数指定它们。它应该 是单个张量(对于单输出 Sequential 模型)。 模型 42 • __**kwargs__: 当使用0 码力 | 257 页 | 1.19 MB | 1 年前3
 AI大模型千问 qwen 中文文档max_new_tokens=512, streamer=streamer, ) 除了使用 TextStreamer 之外,我们还可以使用 TextIteratorStreamer ,它将可打印的文本存储在一 个队列中,以便下游应用程序作为迭代器来使用: # Repeat the code above before model.generate() # Starting here, we add streamer 高级用法!” 1.4 llama.cpp llama.cpp 是一个 C++ 库,用于简化 LLM 推理的设置。它使得在本地机器上运行 Qwen 成为可能。该库是 一个纯 C/C++ 实现,不依赖任何外部库,并且针对 x86 架构提供了 AVX、AVX2 和 AVX512 加速支持。此 外,它还提供了 2、3、4、5、6 以及 8 位量化功能,以加快推理速度并减少内存占用。对于大于总 VRAM 容量的大规模模型,该库还支持 模板对文本进行处 理。如果您倾向于使用其他 chat 模板,您也可以选择其他的,例如,仍然通过 “apply_chat_template()“函数配 合另一个 tokenizer 进行应用。Chat 模板存储在 HF 仓库中的 tokenizer_config.json 文件中。此外,我 们还将每个样本的序列填充到最大长度,以便于训练。 class SupervisedDataset(Dataset):0 码力 | 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 streamer 高级用法!” 1.4 llama.cpp llama.cpp 是一个 C++ 库,用于简化 LLM 推理的设置。它使得在本地机器上运行 Qwen 成为可能。该库是 一个纯 C/C++ 实现,不依赖任何外部库,并且针对 x86 架构提供了 AVX、AVX2 和 AVX512 加速支持。此 外,它还提供了 2、3、4、5、6 以及 8 位量化功能,以加快推理速度并减少内存占用。对于大于总 VRAM 容量的大规模模型,该库还支持 模板对文本进行处 理。如果您倾向于使用其他 chat 模板,您也可以选择其他的,例如,仍然通过 “apply_chat_template()“函数配 合另一个 tokenizer 进行应用。Chat 模板存储在 HF 仓库中的 tokenizer_config.json 文件中。此外,我 们还将每个样本的序列填充到最大长度,以便于训练。 class SupervisedDataset(Dataset):0 码力 | 56 页 | 835.78 KB | 1 年前3
 PyTorch OpenVINO 开发实战系列教程第一篇+ OpenVINO 开发实战系列教程 第一篇 3 计就特别注重开发者体验与生产效率提升,一经发布就引发追 捧热潮,可以说“出道即巅峰”。Pytorch 虽然来自脸书实验室, 但是它也吸引外部公司包括特斯拉、优步、亚马逊、微软、阿 里等积极支持,其平缓的学习曲线,简洁方便的函数与模型构 建在短时间内吸引了大量学术研究者与工业界开发者的追捧。 当前无论是在学术界还是工业界 Pytorch 图 1-2(验证 Python 命令行模式) 如果显示图 1-2 所示的信息表示已经安装成功 Python 语言包 支持;如果输入 Python 之后显示信息为“'python' 不是内部 或外部命令,也不是可运行的程序”则说明第二步中没有勾选 上“add Python3.6 to PATH”,此时请手动把 python.exe 所 在路径添加到 Windows 系统的环境变量中去之后再次执行0 码力 | 13 页 | 5.99 MB | 1 年前3 PyTorch OpenVINO 开发实战系列教程第一篇+ OpenVINO 开发实战系列教程 第一篇 3 计就特别注重开发者体验与生产效率提升,一经发布就引发追 捧热潮,可以说“出道即巅峰”。Pytorch 虽然来自脸书实验室, 但是它也吸引外部公司包括特斯拉、优步、亚马逊、微软、阿 里等积极支持,其平缓的学习曲线,简洁方便的函数与模型构 建在短时间内吸引了大量学术研究者与工业界开发者的追捧。 当前无论是在学术界还是工业界 Pytorch 图 1-2(验证 Python 命令行模式) 如果显示图 1-2 所示的信息表示已经安装成功 Python 语言包 支持;如果输入 Python 之后显示信息为“'python' 不是内部 或外部命令,也不是可运行的程序”则说明第二步中没有勾选 上“add Python3.6 to PATH”,此时请手动把 python.exe 所 在路径添加到 Windows 系统的环境变量中去之后再次执行0 码力 | 13 页 | 5.99 MB | 1 年前3
 Chatbots 中对话式交互系统的分析与应用概率 Deep Reinforcement Learning for Dialogue Generation 闲聊机器人:其他因素 • 小心你的训练数据 • 如何引入上下文信息 • 如何加入外部信息 • 如何产生个性化答复 总结:三个Bot框架 • IR-Bot(成熟度: ) • 基于检索/排序的流程,历史悠久,技术成熟 • 引入深度学习,计入长效依赖,生成更好的语句表达 • Task-Bot(成熟度:0 码力 | 39 页 | 2.24 MB | 1 年前3 Chatbots 中对话式交互系统的分析与应用概率 Deep Reinforcement Learning for Dialogue Generation 闲聊机器人:其他因素 • 小心你的训练数据 • 如何引入上下文信息 • 如何加入外部信息 • 如何产生个性化答复 总结:三个Bot框架 • IR-Bot(成熟度: ) • 基于检索/排序的流程,历史悠久,技术成熟 • 引入深度学习,计入长效依赖,生成更好的语句表达 • Task-Bot(成熟度:0 码力 | 39 页 | 2.24 MB | 1 年前3
 从推荐模型的基础特点看大规模推荐类深度学习系统的设计 袁镱基于深度学习模型的推荐流程,场景与⽬标 Serving系统 HDFS 数据 通道 训练系统 召回 业务服务 排序 混排 模型 管理 上线 管理 ⽆量 RGW/Cos/ kafka 样本 存储 实时样本 ⽣成服务 离线样本 ⽣成任务 数据 通道 特征 处理 模型 登记 模型 上线 预测 请求 数据 落地 ⽆量 ⽤户⾏为数据上报 特征 库 内容 获取 请求 � 推荐场景的重要性 的特点) 训练框架—基于参数服务器架构的分布式训练框架 TB级模型 分⽚ 存储/更新 百TB数据 分⽚训练 Feature 1: 动态空间 Feature 2.1:短时间内只有部分item和user 被命中,只有部分参数被⽤到 参数按需 获取/更新 Storage 异步训练流⽔线和多级存储:提升性能,降低内存成本 � 问题: � Learner线程中参数拉取和参数更新对性能影响⼤ Learner线程中参数拉取和参数更新对性能影响⼤ � 内存成为主要资源瓶颈。由于需要等待全部参数 就绪,Parameter Server难以利⽤速度慢的存储 介质 样本读取 样本解析 参数拉 取 训练 参数更新 查询Sparse Table 查询Dense Tensor Reader Learner Worker 返回参数 Request Handler Parameter Server 查询Sparse0 码力 | 22 页 | 6.76 MB | 1 年前3 从推荐模型的基础特点看大规模推荐类深度学习系统的设计 袁镱基于深度学习模型的推荐流程,场景与⽬标 Serving系统 HDFS 数据 通道 训练系统 召回 业务服务 排序 混排 模型 管理 上线 管理 ⽆量 RGW/Cos/ kafka 样本 存储 实时样本 ⽣成服务 离线样本 ⽣成任务 数据 通道 特征 处理 模型 登记 模型 上线 预测 请求 数据 落地 ⽆量 ⽤户⾏为数据上报 特征 库 内容 获取 请求 � 推荐场景的重要性 的特点) 训练框架—基于参数服务器架构的分布式训练框架 TB级模型 分⽚ 存储/更新 百TB数据 分⽚训练 Feature 1: 动态空间 Feature 2.1:短时间内只有部分item和user 被命中,只有部分参数被⽤到 参数按需 获取/更新 Storage 异步训练流⽔线和多级存储:提升性能,降低内存成本 � 问题: � Learner线程中参数拉取和参数更新对性能影响⼤ Learner线程中参数拉取和参数更新对性能影响⼤ � 内存成为主要资源瓶颈。由于需要等待全部参数 就绪,Parameter Server难以利⽤速度慢的存储 介质 样本读取 样本解析 参数拉 取 训练 参数更新 查询Sparse Table 查询Dense Tensor Reader Learner Worker 返回参数 Request Handler Parameter Server 查询Sparse0 码力 | 22 页 | 6.76 MB | 1 年前3
 【PyTorch深度学习-龙龙老师】-测试版2021121 手写数字图片数据集 机器学习需要从数据中间学习,因此首先需要采集大量的真实样本数据。以手写的数 字图片识别为例,如图 3.1 所示,需要收集较多的由真人书写的 0~9 的数字图片,为了便 于存储和计算,通常把收集的原始图片缩放到某个固定的大小(Size 或 Shape),比如 224 个 像素的行和 224 个像素的列(224 × 224),或者 96 个像素的行和 96 个像素的列(96 清晰,同时也可充分利用矩阵计算的并 行加速能力。那么怎么将图片识别任务的输入和输出转变为满足格式要求的张量形式呢? 考虑输入格式,一张灰度图片?使用矩阵方式存储,形状为:[ℎ, ?],?张图片使用形状 为[?, ℎ, ?]的张量?存储。而模型只能接受向量形式的输入特征向量,因此需要将[ℎ, ?]的矩 阵形式图片特征打平成[ℎ ∙ ?]长度的向量,如图 3.6 所示,其中输入特征的长度?in = hot 编码为[0,0,1, … ,0],图片 9 的 One-hot 编码为[0,0,0, … ,1]。One-hot 编码是非常稀疏 (Sparse)的,相对于数字编码来说,占用较多的存储空间,因此一般在存储时还是采用数字 编码方式,仅在计算时,根据需要把数字编码转换成 One-hot 编码,通过 one_hot 函数即可 实现。 In [1]: def one_hot(label, depth=10):0 码力 | 439 页 | 29.91 MB | 1 年前3 【PyTorch深度学习-龙龙老师】-测试版2021121 手写数字图片数据集 机器学习需要从数据中间学习,因此首先需要采集大量的真实样本数据。以手写的数 字图片识别为例,如图 3.1 所示,需要收集较多的由真人书写的 0~9 的数字图片,为了便 于存储和计算,通常把收集的原始图片缩放到某个固定的大小(Size 或 Shape),比如 224 个 像素的行和 224 个像素的列(224 × 224),或者 96 个像素的行和 96 个像素的列(96 清晰,同时也可充分利用矩阵计算的并 行加速能力。那么怎么将图片识别任务的输入和输出转变为满足格式要求的张量形式呢? 考虑输入格式,一张灰度图片?使用矩阵方式存储,形状为:[ℎ, ?],?张图片使用形状 为[?, ℎ, ?]的张量?存储。而模型只能接受向量形式的输入特征向量,因此需要将[ℎ, ?]的矩 阵形式图片特征打平成[ℎ ∙ ?]长度的向量,如图 3.6 所示,其中输入特征的长度?in = hot 编码为[0,0,1, … ,0],图片 9 的 One-hot 编码为[0,0,0, … ,1]。One-hot 编码是非常稀疏 (Sparse)的,相对于数字编码来说,占用较多的存储空间,因此一般在存储时还是采用数字 编码方式,仅在计算时,根据需要把数字编码转换成 One-hot 编码,通过 one_hot 函数即可 实现。 In [1]: def one_hot(label, depth=10):0 码力 | 439 页 | 29.91 MB | 1 年前3
 微博在线机器学习和深度学习实践-黄波练周期模型融合 • 模型结构训练与推理兼容:在线PS与离线PS模型结构兼容,自动模型参数转换 • 稳定性优化 • 模型快照:基于ps-scheduler的周期模型版本探测与保存,模型稀疏化分片存储 • 冷备容灾:基于checkpoint机制(Local模式&Remote模式),实现参数服务的高可用,支持基于模型的异构集群迁移,支持集 群扩缩容 • 性能优化 • 通信优化:数据请求(P 引起的性能损耗,性能提升3-5倍 • 分区优化:支持多种分区策略(RANGE/HASH/MOD),解决数据倾斜导致的流量热点瓶颈问题,性能提升2-5倍 • 存储优化:自定义存储方式(ByRow&ByKey),基于row进行矩阵压缩存储,参数内存占用减少90% 3 在线机器学习-参数服务器 模型验证 离线训练 实时训练 模型训练 模型部署 在线服务 离线验证 在线发布 在线验证 在线一致性/ 平台背景、平台架构和平台效果 12 • 平台背景-平台化 成本 效率 效果 实时 机器 人力 时间 开发 运行 迭代 规模 深度 1 平台背景 算法/模型 计算 数据/特征 存储 基础/IDE 业务 调度 集群 2 平台架构 计算 机器学习平台 Feed排序 推荐流 文本分类/检测 Hadoop/Spark 集群 数据仓库集群 高性能GPU集群 Hdfs/Odps0 码力 | 36 页 | 16.69 MB | 1 年前3 微博在线机器学习和深度学习实践-黄波练周期模型融合 • 模型结构训练与推理兼容:在线PS与离线PS模型结构兼容,自动模型参数转换 • 稳定性优化 • 模型快照:基于ps-scheduler的周期模型版本探测与保存,模型稀疏化分片存储 • 冷备容灾:基于checkpoint机制(Local模式&Remote模式),实现参数服务的高可用,支持基于模型的异构集群迁移,支持集 群扩缩容 • 性能优化 • 通信优化:数据请求(P 引起的性能损耗,性能提升3-5倍 • 分区优化:支持多种分区策略(RANGE/HASH/MOD),解决数据倾斜导致的流量热点瓶颈问题,性能提升2-5倍 • 存储优化:自定义存储方式(ByRow&ByKey),基于row进行矩阵压缩存储,参数内存占用减少90% 3 在线机器学习-参数服务器 模型验证 离线训练 实时训练 模型训练 模型部署 在线服务 离线验证 在线发布 在线验证 在线一致性/ 平台背景、平台架构和平台效果 12 • 平台背景-平台化 成本 效率 效果 实时 机器 人力 时间 开发 运行 迭代 规模 深度 1 平台背景 算法/模型 计算 数据/特征 存储 基础/IDE 业务 调度 集群 2 平台架构 计算 机器学习平台 Feed排序 推荐流 文本分类/检测 Hadoop/Spark 集群 数据仓库集群 高性能GPU集群 Hdfs/Odps0 码力 | 36 页 | 16.69 MB | 1 年前3
 QCon北京2018-《未来都市--智慧城市与基于深度学习的机器视觉》-陈宇恒l千万级别深度学习特征检索 l行业试水 2018-2019 l云原生Cloud-Native超大规模视图存储、处理、检 索 l处理数万到数十万路,城市范围级别监控、门禁摄 像头数据 l10-100 Billion级别深度学习特征检索 - PB以上级别数据库存储 - 100PB级别抓拍图片存储 - 每秒万次并发检索请求 l大规模推广应用 l某种程度上说,城市内所有市民都是系统的用户 深度学习算法发展为平台系统赋能 ;但配套设施落后(e.g. Spark on K8s, GitlabCI) • 容器系统调用栈深,需要仔细验证操作系统,内核及异构设备驱动的兼容性 • Kubernetes对NUMA、异构计算、存储设备的调度能力待加强 1.6 nvidia/gpu custom scheduler 1.8 local-volume 1.10 CPU manager Device plugin 10 码力 | 23 页 | 9.26 MB | 1 年前3 QCon北京2018-《未来都市--智慧城市与基于深度学习的机器视觉》-陈宇恒l千万级别深度学习特征检索 l行业试水 2018-2019 l云原生Cloud-Native超大规模视图存储、处理、检 索 l处理数万到数十万路,城市范围级别监控、门禁摄 像头数据 l10-100 Billion级别深度学习特征检索 - PB以上级别数据库存储 - 100PB级别抓拍图片存储 - 每秒万次并发检索请求 l大规模推广应用 l某种程度上说,城市内所有市民都是系统的用户 深度学习算法发展为平台系统赋能 ;但配套设施落后(e.g. Spark on K8s, GitlabCI) • 容器系统调用栈深,需要仔细验证操作系统,内核及异构设备驱动的兼容性 • Kubernetes对NUMA、异构计算、存储设备的调度能力待加强 1.6 nvidia/gpu custom scheduler 1.8 local-volume 1.10 CPU manager Device plugin 10 码力 | 23 页 | 9.26 MB | 1 年前3
共 28 条
- 1
- 2
- 3













