当前位置: 首页 > news >正文

新书速览|Python数据科学加速:Dask、Ray、Xorbits、mpi4py

《Python数据科学加速:Dask、Ray、Xorbits、mpi4py》

本书内容

当前,数据驱动的理念已渗透到各个领域,数据科学和人工智能技术在制造业、金融、教育等多个行业中得到了广泛应用。Python作为一种编程语言,已成为数据科学和人工智能领域的事实标准,它丰富的生态系统进一步增强了它在这些领域中的重要性。然而,随着数据量的不断增长,如何利用Python加速数据科学处理,并将它扩展到集群上的并行计算,已成为数据科学家面临的重要挑战。《Python数据科学加速:Dask、Ray、Xorbits、mpi4py》详细介绍了4种数据科学工具:Dask、Ray、Xorbits和mpi4py,这些工具可以帮助数据工程师和科学家处理更大规模的数据集、训练更复杂的模型,并更高效地进行机器学习模型的迭代和部署。 

本书作者

鲁蔚征

毕业于北京大学,目前就职于中国人民大学,曾在互联网公司工作,具有丰富的业界大数据和机器学习工作经验。除此之外,还发表了多篇CCF A类论文,已出版《Flink原理与实践》,并负责过多个产学合作项目。

秦续业

毕业于上海交通大学,前阿里巴巴技术专家,现任未来速度CEO,多款大数据和机器学习开源框架开发者和引领者,其开发的项目Xorbits Xinference等在 GitHub上收获上千星标。

本书读者

《Python数据科学加速:Dask、Ray、Xorbits、mpi4py》面向具备一定数据科学基础的数据工程师、数据科学家或领域专家,同时也适合大学生和研究生作为进入高性能数据科学领域的入门读物。 

本书目录

第1章  并行计算基础1

1.1  现代计算机体系结构 1

1.1.1  CPU 2

1.1.2  网卡 2

1.1.3  异构计算 2

1.2  串行执行与并行执行 2

1.3  线程和进程3

1.3.1  进程与线程 ·3

1.3.2  线程安全 5

1.3.3  全局解释器锁 6

1.4  并行程序设计方法 7

1.4.1  PCAM 7

1.4.2  切分方式 8

1.4.3  案例:MapReduce  8

1.5  性能指标 9

1.5.1  FLOPS 9

1.5.2  加速比 10

第2章  数据科学  11

2.1  数据科学生命周期 11

2.1.1  理解业务 12

2.1.2  理解数据 12

2.1.3  准备数据 13

2.1.4  建模 14

2.1.5  验证 14

2.1.6  部署 15

2.1.7  小结 15

2.2  机器学习 15

2.2.1  机器学习的定义  15

2.2.2  线性回归15

2.2.3  逻辑回归 17

2.3  深度学习 18

2.3.1  深度神经网络 18

2.3.2  前向传播 19

2.3.3  反向传播 20

2.3.4  超参数 21

2.3.5  实现细节 21

2.3.6  推理 23

2.4  超参数调优 23

2.4.1  搜索算法 23

2.4.2  调度器 25

2.4.3  种群训练 28

2.5  软件生态与本书内容  29

2.5.1  Python软件生态  29

2.5.2  本书内容 29

2.5.3  本书案例 30

第3章  Dask  31

3.1  Dask简介31

3.2  Dask DataFrame快速入门  32

3.2.1  创建Dask DataFrame  32

3.2.2  执行计算 33

3.2.3  索引 34

3.2.4  Pandas兼容 35

3.2.5  计算图 36

3.3  将Dask扩展到集群 37

3.3.1  Dask集群 37

3.3.2  LocalCluster 38

3.3.3  使用命令行启动一个Dask集群  39

3.3.4  Python环境和依赖包管理  40

3.3.5  SSH、Kubernetes和高性能计算集群  40

3.3.6  自动缩放 42

3.3.7  Dask Nanny 42

3.4  GPU 43

3.4.1  Dask GPU集群  43

3.4.2  GPU任务 44

3.5  Task Graph与数据切分  44

3.5.1  Task Graph 44

3.5.2  数据切分 46

3.5.3  数据切分粒度 47

3.5.4  迭代式算法 48

3.5.5  设置正确的数据块大小  48

第4章  Dask DataFrame  52

4.1  读写数据 52

4.1.1  文件系统 52

4.1.2  数据切分与并行读取  53

4.1.3  数据表模式推理  56

4.1.4  Parquet 58

4.2  索引 60

4.2.1  有序行索引 63

4.2.2  设置索引列 65

4.3  map_partitions 69

案例:纽约出租车数据  69

4.4  Shuffle71

4.4.1  Shuffle的实现机制  71

4.4.2  数据重分布 73

4.4.3  案例分析:groupby  74

4.5  基于Dask的数据分析案例  75

4.5.1  案例:自行车数据分析  75

4.5.2  案例:人口普查信息  82

第5章  Dask机器学习  91

5.1  数据预处理 91

5.2  超参数调优 92

5.2.1  Scikit-learn joblib  92

5.2.2  Dask-ML API 94

5.3  分布式机器学习 97

5.3.1  Scikit-learn API  97

5.3.2  XGBoost和LightGBM  100

第6章  Ray  104

6.1  Ray简介 104

6.2  分布式函数 105

6.2.1  启动Ray集群  106

6.2.2  案例:斐波那契数列  106

6.2.3  原生Python函数与Ray的区别  108

6.2.4  案例:分布式图像处理  111

6.3  分布式对象存储 114

6.3.1  ray.put()与ray.get()  114

6.3.2  案例:对数据进行转换  116

6.3.3  传递参数 117

6.3.4  底层实现 118

6.4  分布式类 119

6.4.1  案例:分布式计数器  119

6.4.2  Actor编程模型  120

6.4.3  案例:排行榜  121

6.4.4  案例:Actor Pool  124

第7章  Ray集群  126

7.1  Ray集群概述126

7.1.1  Ray集群简介  126

7.1.2  启动Ray集群  127

7.2  计算资源与资源组 128

7.2.1  计算资源 128

7.2.2  资源需求 128

7.2.3  其他资源 129

7.2.4  自动缩放 129

7.2.5  Placement Group  129

7.3  Ray作业 132

7.3.1  Ray Jobs命令行  133

7.3.2  Python SDK 136

7.3.3  Ray客户端 137

第8章  Ray Data  138

8.1  Ray Data简介 138

8.1.1  关键概念 138

8.1.2  Dataset 139

8.1.3  数据操作与底层实现  139

8.2  数据加载、查看与保存 140

8.2.1  加载数据 140

8.2.2  查看数据 142

8.2.3  迭代数据 143

8.2.4  保存数据 145

8.3  数据转换 147

8.3.1  转换 147

8.3.2  分组 151

8.4  Preprocessor 152

8.5  Modin 152

8.5.1  API的兼容性  152

8.5.2  立即执行 154

8.5.3  执行引擎 154

8.5.4  案例:纽约市出租车数据分析  154

第9章  Ray机器学习  159

9.1  Ray Train 159

9.1.1  关键步骤 159

9.1.2  案例:图像分类  160

9.1.3  与原生PyTorch的区别  163

9.1.4  数据读取 163

9.1.5  ScalingConfig  163

9.1.6  监控 164

9.1.7  Checkpoint 164

9.2  Ray Tune 165

9.2.1  关键组件 165

9.2.2  Trainable函数  165

9.2.3  搜索空间 169

9.2.4  搜索算法和调度器  169

9.2.5  案例:飞机延误预测  171

9.2.6  案例:基于PBT进行图像分类  175

9.3  Ray Serve 180

9.3.1  关键概念 181

9.3.2  案例:大语言模型推理  181

第10章  Xorbits  185

10.1  Xorbits Data185

10.1.1  Xorbits集群  185

10.1.2  API兼容性 185

10.1.3  推迟执行 187

10.2  Xinference 188

10.2.1  推理引擎 189

10.2.2  集群 189

10.2.3  使用模型 189

10.2.4  案例:使用通义千问(Qwen)进行简单文本生成与对话  189

10.2.5  案例:基于LangChain的文档聊天机器人  194

第11章  MPI  198

11.1  MPI简介 198

11.1.1  历史 198

11.1.2  标准与实现  198

11.1.3  高速网络 199

11.1.4  安装 199

11.2  MPI Hello World 200

11.2.1  通信模式 200

11.2.2  World和Rank  200

11.2.3  案例:Hello World  201

11.2.4  Communicator  202

11.3  点对点通信 203

11.3.1  发送与接收  203

11.3.2  案例1:发送Python对象  203

11.3.3  案例2:发送NumPy ndarray 204

11.3.4  案例3:Master-Worker  205

11.3.5  案例4:长方形模拟求π值  206

11.3.6  阻塞和非阻塞  208

11.4  集合通信 211

11.4.1  同步 211

11.4.2  数据移动 211

11.4.3  集合计算 214

11.5  远程内存访问 215

11.5.1  Window 215

11.5.2  创建Window  216

11.5.3  读写操作 216

11.5.4  数据同步 216

11.5.5  案例:远程读写  217

第12章  MPI与大模型  219

12.1  NCCL简介 219

12.2  数据并行 220

12.2.1  非并行训练  221

12.2.2  数据并行 221

12.3  流水线并行 223

12.3.1  朴素流水线并行  224

12.3.2  流水线并行 + 数据并行  225

参考文献 226

本书特色

本文摘自《Python数据科学加速:Dask、Ray、Xorbits、mpi4py》,获出版社和作者授权发布。

Python数据科学加速:Dask、Ray、Xorbits、mpi4py——jd


http://www.mrgr.cn/news/74755.html

相关文章:

  • 嵌入式系统与OpenCV
  • 前后端分离,解决vue+axios跨域和proxyTable不生效等问题
  • Spark 之 Aggregate
  • vue项目中富文本编辑器的实现
  • Redis 集群主要有以下几种类型
  • [Docker-显示所有容器IP] 显示docker-compose.yml中所有容器IP的方法
  • 【JAVA毕业设计】基于Vue和SpringBoot的宠物咖啡馆平台
  • 网络基础 - 网段划分篇
  • 2024年,有多少程序员被迫转行?
  • WeakHashMap原理
  • 数据结构PTA
  • 【目标检测】【Ultralytics-YOLO系列】Windows11下YOLOV5人脸目标检测
  • nginx代理后jsp如何获取http协议
  • DNS服务器Mac地址绑定与ip网路管理命令(Ubuntu24.04)
  • Oauth2.0
  • Java复习44(PTA)
  • 2024算法基础公选课练习三(DFS1)(1)
  • 全国交通安全日知识竞赛答题投票活动策划
  • 基于AX650N/AX630C部署多模态大模型InternVL2-1B
  • 华为OD机试真题---数组二叉树
  • C# 反射与动态编程
  • arcgis做buffer
  • LeetCode105.从前序与中序遍历构造二叉树
  • 上海亚商投顾:创业板指探底回升 两市成交额缩量5400亿
  • 云计算研究实训室建设方案
  • 蓝桥杯真题——k倍区间