DateWhale简单学点大模型课程组队学习打卡task11--kk

2023-10-18 11:59

本文主要是介绍DateWhale简单学点大模型课程组队学习打卡task11--kk,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  费曼说:学习一件事情最好的方式是做它的老师,这也是写这篇博文的目的,写这篇博文,即便有其他原因,但更多的还是写给自己,话不多说,让我们开始进入大模型吧

  任务说明:任务说明

  基座课程:斯坦福大学大规模语言模型课程

  本次讲到的内容是大模型与环境,将从三个方面来论述大模型与环境(尤其是模型的碳排放与气候环境):大模型与环境影响之间的关联、如何精确衡量大模型带来的碳排放量(这不是一个简单可直接得出数据的问题)、提高对大模型环境影响的认识,提高认识与责任。同时,本次学习中所有的数据都是估计值,因为数据中心有权利不公开自己的信息。

12.1 引言

  当谈到大模型与环境的问题,我们第一时间都会感到有些惊讶:啊!大模型也与环境有着密切的关系吗?难道是在用大模型来预测全球气候变化的一个实例吗?或者是大模型对于环境有着一定的要求吗。结果不是的啊,  本次任务讲到的是大模型的排放对环境的影响,有些人可能会感到奇怪,大模型也能与碳的排放有关系吗?其实一开始,我也有这样的疑问,但在学习完本次的任务之后,我才得以了解到大模型(及数据中心)的训练使用确实会造成一定量的排放问题,进而对环境产生影响,如果你也怀着这样的疑问,就请快进入到我们的大模型与环境的课程中去吧!

本次课前的疑问:环境影响是指大模型训练的配置环境有关因素吗?

  课程总览:本次讲到的内容是大模型与环境,将从三个方面来论述大模型与环境(尤其是模型的碳排放与气候环境):大模型与环境影响之间的关联、如何精确衡量大模型带来的碳排放量(这不是一个简单可直接得出数据的问题)、提高对大模型环境影响的认识,提高认识与责任这几个方面来论述问题

  首先要学习的内容是对大模型的生命周期的评估。

12.2 生命周期评估

  本节主要讨论了语言模型和人工智能对环境的影响。从哲学角度来看,现有研究主要关注人工智能和机器学习在温室气体排放方面的影响,但更重要的是采用系统性方法来思考其对环境的整体影响,包括排放和水足迹等方面。也就是说,我们不光对于大模型训练产生的排放做出定量的估计,还需要对大模型从设备到IT全周期的排放及对环境产生的影响进行衡量,但是,这是困难的。

全过程排放计算示意图

  1.从生命周期评估的角度来说:ISO 14040和14044提供了一个框架,可以从系统角度考虑环境影响。需要避免解决一个问题而产生多个新问题的情况,这在问题解决方案中经常被忽视。

  2.在考虑IT设备的生命周期时,需要关注以下几个方面:生产、使用和寿命终止。生产阶段包括原材料提取、制造和设备运输过程。使用阶段涉及设备的实际能耗。寿命终止阶段涉及设备的拆除、回收或处置。

 3. 在生命周期中,需要注意一些事项。例如,对于GPU/TPU的生命周期评估还没有进行研究。在生产阶段,法国的数据中心排放的40%源于生产阶段。建立数据中心有多个目的,需要进行信用分配来确定大型语言模型所占份额。也就是说,需要对碳排放进行权重的衡量。

数据中心能耗占比

  4. 在使用阶段,环境影响主要取决于能源的碳强度,即使用煤炭还是水电等能源。在寿命终止阶段,通常缺乏良好的记录,80%的电子设备未被正式回收。

  5.特别是在使用阶段,数据的获取、生成和存储,以及大语言模型的训练需要考虑。这包括实验和超参数调整。这些是一次性成本,直到需要再次更新模型。在推理阶段,模型在生产环境中运行。通常部署的是从大模型中蒸馏出来的小得多的模型。

  如BERT会使用特定的分类头的图示

  6.从环境影响的角度来看,语言模型和人工智能对温室气体排放和水足迹产生影响。温室气体排放导致气候变化,而水足迹在某些地区是稀缺资源。数据中心使用水进行冷却,而发电是第二大用水需求,处理水和废水需要能源。释放到环境中的化学物质对人类有害,可能导致癌症等疾病。芯片制造产生有毒废料,而非生物资源也会枯竭。

  7.此外,还存在一些二阶效应,如更高的效率创造更多需求、环境变化加剧和芯片短缺导致汽车制造业停工等问题。

  综上所述,语言模型和人工智能对环境有着广泛的影响,需要综合考虑其生命周期和环境影响,以采取可持续的措施来减少负面影响。

   12.2 气候变化

  1.概述:虽然考虑整个生命周期很重要,但是人们实际关注的较多的还是全球变暖及碳排放的问题。下面是全球平均气温的变化图,可以看到,全球气温自1900年开始就开始显著的呈上升的趋势。自1900年以来,地球的平均表面温度增加了相当于1.19℃,别看这小小的一度,对于蛋白质和碳水化合物组成的我们来说,却是巨大的变化。

  许多的生化反应的最佳温度都是容错率极小的,全球变暖,不仅仅是直观的感受,还有与之相关的一系列的连锁反应。另外,全球变暖还会导致一些不正常的气候效应,如厄尔尼诺效应和拉尼娜效应,还有其他的一些气象灾害的出现。

气象灾害:厄尔尼诺现象原理图

  同时,全球变暖也会导致北极南极淡水冰层的融化,这给生活在南北极的陆生动物来说无疑是一场挑战个,同时,残冰的融化也会导致海平面的上升,危害海边的生态系统。

因全球变暖失去家园的北极熊们

  2.原因分析:而导致这一切的原因,有很大程度斗鱼温室气体的排放有关:

  • 温室气体排放的原因是人类活动,包括燃烧化石燃料(煤、石油、天然气)用于发电、制造和交通,以及农业活动(种植作物和畜牧业)和森林砍伐。
  • 温室气体排放的单位是碳排放量(以二氧化碳当量计算),不同的温室气体具有不同的全球变暖潜势(GWP),其中二氧化碳的值为1,甲烷为25,一氧化二氮为300。

3.应对全球变暖的措施:

  面对因温室气体排放导致的全球变暖导致的气候变化,我们可以做点什么?

  总结起来,以下是关于减少语言模型和人工智能对环境影响的具体措施:

  • 减少能源使用和温室气体排放的方法包括降低碳强度(每千瓦时能源排放的碳量),增加可再生能源的比例,改善能源效率和推动能源转型。
  • 数据中心的能源消耗是一个重要问题,通过优化数据中心的能源管理和使用高效设备可以减少对电力的需求,减少温室气体排放。
  • 在设计语言模型和人工智能应用程序时,要考虑其能源效率和环境影响,优化算法和功能,减少计算资源和能源的消耗。
  • 合作伙伴关系和共享最佳实践对于推动可持续发展和环境保护也非常重要。

我们对于应对气候变暖要走的路,还有很远。

12.3 估算训练模型的排放量

  为了计算训练模型所需的能源使用和温室气体排放,研究人员已经提出了一些方法和工具。其中两个重要的参考文献是ML CO2 Impact Calculator和Strubell等人的研究。

12.3.1 ML CO2 Impact Calculator

  是由Lacoste等人于2019年提出的工具,它提供了一种简单的方法来估计训练模型的排放量,该方法基于硬件、训练时间、供应商和地区等因素。

  下面是操作实例:如下,我们输入用GTX 750 的显卡,在谷歌东亚地区上进行的训练,可以看到计算得出的碳排放量为0.14公斤的二氧化碳,需要一颗树苗将近6天的固碳时间,所以,我们不要随便的使用计算资源,这会不知不觉的进行一定量的二氧化碳排放。

12.3.2  Strubell et al.,2018

 Strubell等人在2018年发表的研究是第一篇真正引起自然语言处理(NLP)社区对环境影响认识的论文。他们提出了一种计算模型训练过程中能源消耗的方法,从而估计温室气体排放。

在这两种方法中,需要考虑的主要因素包括:

  • CPU的平均功率(W):中央处理器的能耗。
  • GPU的平均功率(W):图形处理器的能耗。
  • DRAM的平均功率(W):动态随机存取存储器的能耗。
  • PUE:用电效率:提供给数据中心的总功率/IT设备消耗的功率。
  • 供应商和地区:计算能源产生的碳排放量时,考虑供应商的能源来源和地区的碳强度。
  • 总公式如下:

  根据这些因素,可以计算出训练模型的能源消耗(以千瓦时为单位),进而估计温室气体排放量。这些计算方法可以帮助研究人员和开发者更好地理解和评估训练模型对环境的影响,从而采取措施减少其环境足迹。

  以下是一些计算出的大模型的碳排放实例:

  •   BERT-base(110M):1438 lbs CO2eq:

       在64个V100的GPU上训练79.2小时

  • 神经结构搜索( 213M 参数)以获得 Evolved Transformer So etal. (2019): 626155 lbs CO2eq
      基模型在⼀个 TPUv2 上训练需要 10 个小时( 300K 步) 训练⼀共需要 32623小 时( 979M 步)
  • 1名乘客乘坐从纽约到旧金山的往返航班:1984 lbs CO2eq 0.9吨)
  • 汽车生命周期:126,000 lbs CO2eq

对比来看,一个BERT的训练花费大约相当于一名乘客坐航班从旧金山往返到newyork;而一个Transformer 的训练花费大约四辆汽车从生产到回收或丢弃处理的碳排放量。

  12.3.3 Patterson et al., 2021

  另一种计算方法

  研究人员还得出了这样的结论:80%ML⼯作负载是推理,而不是训练

  下面是估测图:

针对训练过程,不同模型的估计能源消耗和排放量如下:

  • T5:86兆瓦时,47吨CO2eq。
  • GShard(用于机器翻译的MOE模型):24兆瓦时,4.3吨CO2eq。
  • Switch Transformer:179兆瓦时,59吨CO2eq。
  • GPT3:1287兆瓦时,552吨CO2eq。

对于Strubell等人(2019年)关于神经结构搜索的估计值,提供了反驳:

  • 对于搜索小任务,其估计值高估了18.7倍。
  • 神经结构搜索只需要进行一次,之后每个人都可以使用Evolved Transformer模型。
  • 排放量被高估了88倍。

  关于测量能源消耗和排放量,建议更倾向于实际测量,而不仅仅依赖在线计算工具。Google在训练其最大的四个模型时只使用了12.2t千瓦时,相当于比特币挖矿开销的1/10。这些要点提供了对能源消耗和排放量的初步认识,并强调了进一步研究和实际测量的重要性。

12.4 推荐的 Python 包实践内容
由于这些碳统计的包基本都是支持intel的CPU和英伟达显卡,这些实验在线上谷歌的colar上进行测试:
  可见这里仍然存在着一些问题,由于身体原因(发烧),今天的笔记只可以进行到这里了,有后续会对内容进行更新。
Environment Impact Tracker
Carbon Tracker
CodeCarbon
注意到这几种包的介绍都十分相近,想必它们是并行或迭代的产品。

12.5 总体总结

  环境影响是一个重要的议题,但从目前来看,各方很难给出一个清晰的定论,因为所有事物都相互关联,因而生命周期内的碳统计工作十分困难。然而,我们需要真正关注全局。

  尽管大型语言模型目前还很少,但它们正在快速增长。大型语言模型的通用性提供了成本节省的潜力("一次性训练"并适用于多个任务)。然而,它们的成本要高得多,可能需要重新训练。我们需要权衡这些因素。

  为了缓解环境影响,可以尝试在使用清洁能源的数据中心训练模型。然而,碳抵消的效果因活动而异(例如,种植森林只能产生单一种植)。还可以通过采用更高效的模型架构、训练程序和硬件来降低影响,但需要注意反弹效应。

  在论文和报告中报告排放量可以提高人们的认识。想象一下,如果每篇论文都能报告排放量,将会产生怎样的影响。同时,需要调整激励机制,目前人们关注的是准确性,但碳排放也是非常重要的因素。

  综上所述,我们需要在关注模型性能的同时,考虑环境影响,并采取适当措施来减轻这些影响。

这篇关于DateWhale简单学点大模型课程组队学习打卡task11--kk的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/232432

相关文章

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用PyQt5编写一个简单的取色器

《使用PyQt5编写一个简单的取色器》:本文主要介绍PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16进制颜色编码,一款跟随鼠标刷新图像的RGB和16... 目录取色器1取色器2PyQt5搭建的一个取色器,一共写了两款应用,一款使用快捷键捕获鼠标附近图像的RGB和16

四种简单方法 轻松进入电脑主板 BIOS 或 UEFI 固件设置

《四种简单方法轻松进入电脑主板BIOS或UEFI固件设置》设置BIOS/UEFI是计算机维护和管理中的一项重要任务,它允许用户配置计算机的启动选项、硬件设置和其他关键参数,该怎么进入呢?下面... 随着计算机技术的发展,大多数主流 PC 和笔记本已经从传统 BIOS 转向了 UEFI 固件。很多时候,我们也

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用