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

相关文章

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

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

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

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

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

usaco 1.3 Prime Cryptarithm(简单哈希表暴搜剪枝)

思路: 1. 用一个 hash[ ] 数组存放输入的数字,令 hash[ tmp ]=1 。 2. 一个自定义函数 check( ) ,检查各位是否为输入的数字。 3. 暴搜。第一行数从 100到999,第二行数从 10到99。 4. 剪枝。 代码: /*ID: who jayLANG: C++TASK: crypt1*/#include<stdio.h>bool h

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]