上半年大模型遍地开花,大模型发展中有哪些经验和教训?

devtools/2024/10/20 5:24:56/
aidu_pl">

前言

过去一年里,大模型遍地开花,我自己也在做大模型训练相关的工作,踩过了很多很多坑,这里分享一些教训:用成熟的分布式训练框架:

  • 多用 DeepSpeed,少用 Pytorch 原生的 torchrun。在节点数量较少的情况下,使用哪种训练框架并不是特别重要;然而,一旦涉及到数百个节点,DeepSpeed的优点就显得很明显,其简便的启动和便于性能分析的特点使其成为理想之选。

  • 弹性容错和自动重启机制:大模型训练不是以往那种单机训个几小时就结束的任务,往往需要训练好几周甚至好几个月,这时候你就知道能稳定训练有多么重要。弹性容错能让你在机器故障的情况下依然继续重启训练;自动重启能让你在训练中断之后立刻重启训练。毕竟,大模型时代,节约时间就是节约钱。

  • 定期保存模型:训练的时候每隔一段时间做个checkpointing,这样如果训练中断还能从上次的断点来恢复训练。

  • 训练加速方法:最常用的有FlashAttention(V1 和 V2),加速效果很不错,基本是开箱即用;其他的有算子融合,fused_kernels等。

  • 流水线并行和张量并行:大模型的参数规模都特别大,大到单机存不下。通常都会用流水线并行和张量并行的方法在有限的GPU机器下训练大模型。

  • 使用高速网卡:用以太网卡来跑大模型训练是不现实的,大模型多机多卡训练一般都会用到RDMA技术,需要使用IB网卡和RoCE网卡(IB网卡的速度会比RoCE快一些,也贵一些)。

  • 想清楚再开始训练:训练一次大模型的成本很高的。在训练之前先想清楚这次训练的目的,记录训练参数和中间过程结果,少做重复劳动。

  • 关注GPU使用效率:有时候,即使增加了多块 A100 GPU,大型模型的训练速度未必会加快,这很可能是因为GPU使用效率不高,尤其在多机训练情况下更为明显。仅仅依赖nvidia-smi显示的GPU 利用率并不足以准确反映实际情况,因为即使显示为100%,实际GPU利用率也可能不是真正的 100%。要更准确地评估GPU利用率,需要关注TFLOPS和吞吐率等指标,这些监控在DeepSpeed框架中都有。

如果你也想学习AI大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的苦难。我已将重要的AI大模型资料包括市面上AI大模型商业报告、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来。

这份完整版的Android全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

大模型知识脑图

为了成为更好的 AI大模型 开发者,这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

经典书籍阅读

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。

在这里插入图片描述

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

面试资料

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下
在这里插入图片描述

640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述
这份完整版的Android全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】


http://www.ppmy.cn/devtools/100377.html

相关文章

【Ansible】Ansible playbook

Ansible playbook简介 Ansible playbook是一种用于描述和自动化IT基础设施配置和管理的工具。它使用YAML格式来定义一系列任务和配置项,并利用Ansible的执行引擎自动执行这些任务。 Playbook包含一个或多个play,每个play定义了一组任务,这些…

NLP -->定义、应用、与职业前景解析

1. 自然语言处理(NLP)的定义与误区 定义: 自然语言处理主要集中于文本的处理,旨在使计算机能够理解和生成自然语言文本。常见误区: 初学者容易将自然语言处理与语音识别混淆。 语音识别: 将语音转成文字,这不属于自然语言处理范畴…

使用Python请求http/https时如何设置失败重试次数例子解析

代码示例: import requests from requests.adapters import HTTPAdapter from requests.packages.urllib3.util.retry import Retrydef requests_with_retries_example():# 创建一个session对象,该对象将被配置为在失败时自动重试session requests.Ses…

VirtualBox下安装Centos7.9虚拟机的踩坑记录

目录 0 背景1 安装Centos7.91.1 下载iso镜像1.2 正常安装虚拟机1.3 将用户添加到sudoers并免密1.4 更新yum源1.5 配置静态IP1.6 通过ssh工具传文件1.7 总结 0 背景 最近搞了个便宜的低配台式机用来敲代码,主要是嫌弃笔记本屏幕太小了,想用个大屏。 然后我…

torch.max()学习记录

xtourch.tensor([[1,2,3],[4,6,5],[9,11,4],[-2,6,20]])为4*3的一个张量 1)请思考y的值 ytorch.max(x,dim0) 分析:x是一个2D: 4*3的张量,dim0 ,表示按照行操作,得到的张量shape3,对应的是[1,4,9,-2】,【2,6,11,6】…

AWS Glue 与 EMR

欢迎来到雲闪世界。AWS Glue 是一款按使用量付费的无服务器 ETL 工具,几乎不需要设置任何基础设施。它可自动完成编写、执行和监控 ETL 作业所涉及的大部分工作。如果您的数据是结构化的,您可以利用爬虫来推断架构、识别文件格式并在Glue 的数据目录中填…

linux系统使用 docker 来部署运行 mysql5.7 并配置 docker-compose-mysql.yml 文件

Docker是一个开源的容器化平台,旨在简化应用程序的创建、部署和管理。它基于OS-level虚拟化技术,通过将应用程序和其依赖项打包到一个称为容器的标准化单元中,使得应用程序可以在任何环境中快速、可靠地运行。 Docker的优势有以下几个方面&a…

ROS2 CMakeLists.txt package.xml

ROS2 CMakeLists.txt cmake_minimum_required(VERSION 3.8) project(bumperbot_cpp_examples)# 设置编译器警告选项 if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")add_compile_options(-Wall -Wextra -Wpedantic) endif()# 查找并加载ROS…