LLM 11-环境影响

LLM 11-环境影响

在本章中,首先提出一个问题:大语言模型对环境的影响是什么?

这里给出的一个答案是:气候变化

一方面,我们都听说过气候变化的严重影响(文章1、文章2):

  • 我们已经比工业革命前的水平高出1.2°C
  • 需要保持在1.5°C以下以避免气候危机
  • 根据目前的轨迹,在未来几十年内将达到2.7°C

在这里插入图片描述

另一方面,我们看到训练大语言模型所需的计算量大幅增加(从而导致二氧化碳排放)。以下是一些数据:

  • Strubell et al., 2018估计,训练排放了626,000磅二氧化碳(5辆汽车终生的排放量)。
  • DeepMind的Gopher报告称,训练产生的二氧化碳估计为380吨。

本章将学习如何将大语言模型与环境影响联系起来。

学习目标:

  • 全面了解大语言模型对环境的影响。
  • 能够计算训练特定语言模型产生的排放量。
  • 提高对监测和减轻(负面)环境影响的认识,甚至承担个人责任。

注意事项:

  • 本章的重点是了解(环境)成本。大语言模型大幅提升了效果,但是需要考虑成本。如何做到这一点非常具有挑战性。
  • 与此同时,世界人口的收益和成本往往非常不均衡,成本“不成比例地落在穷人和弱势群体身上”。
  • 所提供的所有数字都是估计,因为:
    • 缺乏对数据中心的监控和信息
    • 这些信息通常是私有的
    • 很难用摊余成本进行信用/责任分配(例如,建立数据中心+训练多个模型,训练一个模型+使其适配许多下游任务)。

11.1 生命周期评估

本节主要基于Ligozat et al. (2021)的论文,从多个角度进行探讨语言模型/AI对气候影响的内容:

哲学角度来说,大多数关于人工智能和机器学习对环境影响的工作都集中在温室气体排放(受气候变化启发)上,但更重要的是(尽管很难)采取系统方法来思考:

  • 对环境的全面影响(排放、水足迹)
  • IT设备的整个生命周期(例如,生产、使用、寿命终止)

从**生命周期评估(LCA)**的角度来说:

  • 生命周期评估(LCA)(ISO 14040和14044)为实现这一点提供了一个框架。
  • 需要“从系统的角度”来避免“一个问题的解决方案会产生几个新的、经常被忽视的问题”。

IT设备的生命周期来说:

  • 生产:
    • 原材料提取:提取矿石以及转化为金属的所有过程
    • 制造:包括制造设备的所有过程
    • 运输:设备运输过程
  • 使用:设备的实际能耗
  • 寿命终止:拆除、回收/处置设备

此时要对生命周期中的注意事项做一下说明:

  • 生产

    • 我们没有针对GPU/TPU的生命周期评估
    • 法国仅使用CPU的数据中心:40%的温室气体排放源于生产阶段(Berthoud et al. 2020)
    • 数据中心的建立有很多目的,需要进行信用分配,以确定由于大型语言模型(由于情况变化很快,很难提前估计)所占的份额。
    • 示例:制造占iPhone 5总排放量的75%
  • 使用

    • 主要取决于能源(煤炭或水电)的碳强度
  • 生命的终结

    • 通常没有很好的记录
    • 80%的电子设备未被正式回收

特别地,在使用阶段:

  • 数据:需要获取、生成和存储数据

  • 学习:训练大语言模型

    • 这包括实验和超参数调整。
    • 这是“一次性成本”,直到您需要再次更新模型。
  • 推理:在生产中运行模型

    • 示例:谷歌每天收到56亿次搜索查询(来源)。

    • 通常部署的是从大模型中蒸馏出来的小得多的模型(如果特定于任务,则可以小得更多)。

    • 如果你需要进行多个预测(例如,情感、主题分类等),可以对句子进行一次编码(例如,BERT),并使用不同的任务特定的分类头。

在这里插入图片描述

环境影响的角度来说:

  • 温室气体排放:导致气候变化

  • 水足迹:淡水在一些地区是稀缺资源

    • 数据中心使用水进行冷却(需要电力)
    • 发电是第二大用水需求,处理水和废水需要电力
  • 对人类的危害:释放到环境中(空气、水、土壤)的化学物质,可导致癌症等。

    • 芯片制造在制造种产生有毒废料
  • 非生物资源枯竭

    • 化石燃料
    • 用于制造电子设备的矿物(锂、钴)。您可以通过此链接了解更多关于数据中心对环境的影响。

其他二阶效应(更多细节):

  • 更高的效率创造更多的需求(反弹效应和杰文悖论)
  • 环境变化(荒漠化加速,灭绝率上升)
  • 冻土融化反过来又加速了温室气体排放
  • 芯片短缺导致汽车制造业停工

language model ⇒ compute ⇒ energy use ⇒ greenhouse gas emissions ⇒ environmental impact \text{language model} \quad\Rightarrow\quad \text{compute} \quad\Rightarrow\quad \text{energy use} \quad\Rightarrow\quad \text{greenhouse gas emissions} \quad\Rightarrow\quad \text{environmental impact} language modelcomputeenergy usegreenhouse gas emissionsenvironmental impact

11.2 气候变化

虽然考虑整个生命周期很重要,但我们将主要关注气候变化和温室气体排放,因为这是大部分研究人工智能和机器学习对环境的影响所关注的。

气温正在上升:

  • 自1900年以来,平均表面温度增加了2.14˚F(1.19˚C)。
  • 自2005年以来,出现了10个最热年份。
  • 温度随时间增加(来源):

在这里插入图片描述

负面影响:

  • 自然灾害增加(极端热浪、洪水、干旱、野火)
  • 海平面上升破坏沿海社区和野生动物生态系统

原因:

  • 排放到大气中的温室气体(二氧化碳、甲烷、一氧化二氮)锁住了太阳的热量(过去80万年的相关性)
  • 自1970年以来增长了90%(来源)

在这里插入图片描述

  • 人类活动加速:
    • 燃烧化石燃料(煤、石油、天然气)发电、制造、运输(汽车、卡车、船舶、飞机)
    • 种植作物(肥料)
    • 砍伐森林(例如,建立农场)

在这里插入图片描述

碳排放量的计量单位为kg CO2 eq:

  • 每种温室气体都具有全球变暖潜力(GWP):
    • 取决于(i)吸收的热量和(ii)它在大气中停留的时间。
    • 对于二氧化碳,全球升温潜能值=1(定义为参考值)。
    • 对于甲烷,100年全球升温潜能值=25。
    • 对于一氧化二氮,全球升温潜能值在100年内为300(因为它存在的时间太长了——121年)。

11.3 能源使用和温室气体排放

到目前为止,我们已经讨论了温室气体排放及其对气候变化的影响,气候变化是环境影响的一种特别突出的形式。数据中心使用能源(以电力的形式)。这是如何映射到排放量上的?答案是,这取决于电力是如何产生的。

碳强度(Carbon intensity:):使用每千瓦时能源排放的碳量(来源)

  • 化石燃料(煤、天然气)产生的排放量最多(来自直接排放)
  • 如果考虑到整个生命周期(发电厂建设、采矿、废物管理),其他绿色能源(太阳能、风能)也会产生排放
  • 在魁北克运行同样的任务(水电)的排放量将比爱沙尼亚(煤炭)少30倍

在这里插入图片描述

来自Lacoste et al. (2019):

在这里插入图片描述

de Chalendar et al. 2019

  • 取决于位置(那里有什么类型的发电厂)
  • 取决于时间效应(季节、一天中的时间)
  • 电力交换意味着它更难追踪,负面影响往往在其他地方
  • 加利福尼亚州main Balancing Authority(BA)40%的排放是在其他地方产生的

数据中心统计数字 (Md Abu Bakar Siddik et al., 2021):

  • 2018年,全球数据中心用电量为2050亿千瓦时(占总用电量的1%)。
  • 在美国,2014年数据中心用电量占总用电量的1.8%。
  • 30%的数据中心位于美国。
  • 美国温室气体排放总量的0.5%来自于于数据中心。
  • 好消息:从2010年到2018年,计算量增加了550%,但电力消耗仅增加了6%(由于能源效率的提高)。

11.4 估算训练模型的排放量

现在让我们试着计算训练所需的能源使用量,从而计算温室气体排放量。

11.4.1 ML CO2 Impact Calculator

ML CO2 Impact Calculator(Lacoste et al., 2019)提供了一种基于硬件、使用的小时数、供应商和地区来估计排放量的简单方法。

11.4.2 Strubell et al., 2018

这是第一篇真正激发NLP社区对环境影响认识的论文。

计算功耗(kWh):

  • p cpu p_\text{cpu} pcpu:CPU的平均功率(W)
  • p gpu p_\text{gpu} pgpu:GPU的平均功率(W)
  • p dram p_\text{dram} pdram:DRAM的平均功率(W)
  • PUE \text{PUE} PUE:用电效率:提供给数据中心的总功率/IT设备消耗的功率

emissions = R power → emit PUE ( p cpu + p gpu + p dram ) \text{emissions} = R_{\text{power} \to \text{emit}} \text{PUE} (p_\text{cpu} + p_\text{gpu} + p_\text{dram}) emissions=RpoweremitPUE(pcpu+pgpu+pdram)

它们的平均值:

  • PUE = 1.58 \text{PUE}=1.58 PUE=1.58(2018年全球数据中心平均值)
  • R power → emit = 0.954 R_{\text{power} \to \text{emit}}=0.954 Rpoweremit=0.954(2018年平均排放量-磅/千瓦时)

结果

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

    • NVIDIA在64个V100 GPU上训练79.2小时
  • 神经结构搜索(213M参数)以获得Evolved Transformer So et al. (2019):626155 lbs CO2eq

    • 基模型在一个TPUv2上训练需要10个小时(300K步)
    • 训练一共需要32623小时(979M步)
  • 1名乘客乘坐从纽约到旧金山的往返航班:1984 lbs CO2eq(0.9吨)

  • 汽车生命周期:126,000 lbs CO2eq

11.4.3 Patterson et al., 2021

简单形式:
emissions = R power → emit ( energy-train + queries ⋅ energy-inference ) \text{emissions} = R_{\text{power} \to \text{emit}} (\text{energy-train} + \text{queries} \cdot \text{energy-inference}) emissions=Rpoweremit(energy-train+queriesenergy-inference)

  • NVIDIA:80%的ML工作负载是推理,而不是训练

许多设计决策:

  • 模型架构:Transformer与Evolved Transformer
  • 处理器:NVIDIA的P100与Google的TPU
  • 数据中心:平均(1.58)与谷歌(1.11)
  • 能源供应组合(如煤炭、水电):平均(0.429千克二氧化碳/千瓦时)与谷歌(0.080千克二氧化碳/千瓦时)
    • 注:总额为0.478,净额为0.080
    • 扣除出售给其他公司的清洁能源

在这里插入图片描述

对于训练:

emissions = hours-to-train ⋅ num-processors ⋅ power-per-processor ⋅ PUE ⋅ R power → emit \text{emissions} = \text{hours-to-train} \cdot \text{num-processors} \cdot \text{power-per-processor} \cdot \text{PUE} \cdot R_{\text{power} \to \text{emit}} emissions=hours-to-trainnum-processorspower-per-processorPUERpoweremit

不同模型的估计值:

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

反驳Strubell et al. (2019)的神经结构搜索的估计值:

  • 对于搜索小任务,18.7x太高
  • 神经结构搜索只需一次,然后每个人都可以使用Evolved Transformer
  • 排放量被高估了88倍

要点:

  • 如果可能的话,测量比在线计算更好
  • 谷歌使用了12.2t 千瓦时(训练谷歌最大的4个模型不到0.005%)
  • 这是比特币挖矿计算支出的1/10

11.5 推荐的Python包

  • Environment Impact Tracker
  • Carbon Tracker
  • CodeCarbon

11.6 总体总结

  • 环境影响是一个巨大的话题。一切都是相互联系的,所以很难得出一个干净的定量指标。但要真正着眼于全局。

  • 尽管如今大语言模型的还很少,但它正在快速增长。

  • 大语言模型的通用性提供了节省成本的潜力(“一次性训练”并适用于许多不同的任务)。但它们的成本要高得多,需要可能需要重新训练。这里的权衡是什么?

  • 缓解措施

    • 尝试在使用清洁能源的数据中心训练模型
    • 碳抵消的效果各不相同(森林种植活动产生单一种植)
    • 更高效的模型架构、训练程序、硬件(但要注意反弹效应)
  • 在论文报告排放量

    • 可以提高认识(想象一下,如果每一篇论文都能报告排放量)
    • 调整激励(人们目前关注准确性,但碳排放也很重要!)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/139240.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

jarvisoj_level3_x64

jarvisoj_level3_x64 Arch: amd64-64-little RELRO: No RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000)64位,只开了nx ssize_t vulnerable_function() {char buf[128]; // [rsp0h] [rbp-80h] BYREFwrite(1, "Inp…

MongoDB【部署 04】Windows系统实现MongoDB多磁盘存储

Windows系统实现多磁盘存储 1.为什么2.多磁盘存储2.1 数据库配置2.2 文件夹磁盘映射2.3 创建新的数据集 3.总结 1.为什么 这里仅针对只有一台Windows系统服务器的情景: 当服务器存储不足时,或者要接入更多的数据,就会挂载新磁盘&#xff0c…

Uni-app 调用微信地图导航功能【有图】

前言 我们在使用uni-app时&#xff0c;有时候会遇到需要开发地图和导航的功能&#xff0c;这些方法其实微信小程序的API已经帮我们封装好了 详见&#xff1a;微信小程序开发文档 接下来我们就演示如何用uni-app来使用他们 使用 <template><view><button type…

聊一聊Twitter的雪花算法

什么是Twitter的雪花算法方法&#xff1f; 这是一种在分布式系统中生成唯一ID的解决方案。Twitter在推文、私信、列表等方面使用这种方法。 •ID是唯一且可排序的•ID包含时间信息&#xff08;按日期排序&#xff09;•ID适用于64位无符号整数•仅包含数字值 符号位&#xff08…

微信朋友圈的高级玩法

面对好友的生日&#xff0c;你还在傻傻的守点发朋友圈&#xff0c;节日庆祝你还在傻傻的守点官宣吗&#xff1f;还有你关注的那个他&#xff08;她&#xff09;&#xff0c;他&#xff08;她&#xff09;发的朋友圈你想成为第一个点赞评论的人吗&#xff1f;想和他进行更多的交…

华为云云耀云服务器L实例评测|centos7.9在线使用cloudShell下载rpm解压包安装mysql并开启远程访问

文章目录 ⭐前言⭐使用华为cloudShell连接远程服务器&#x1f496; 进入华为云耀服务器控制台&#x1f496; 选择cloudShell ⭐安装mysql压缩包&#x1f496; wget下载&#x1f496; tar解压&#x1f496; 安装步骤&#x1f496; 初始化数据库&#x1f496; 修改密码&#x1f4…

Docker 容器设置为自动重启

Docker自动重启原因 Docker自动重启通常是由以下几个原因导致的&#xff1a; 程序崩溃系统内存不足系统进程使用过多CPU和RAM导致的阻塞docker容器被杀死或重新启动&#xff0c;导致应用程序中断网络中断 当这些问题出现时&#xff0c;Docker会自动重启运行中的服务来尝试解…

征稿:【1区TOP】CCF推荐,Elsevier出版社,仅2个月左右录用!

【SciencePub学术】刊源推荐: CCF推荐1区TOP重点SCIE&EI征稿中&#xff01; 一、期刊概况&#xff1a; CCF推荐1区TOP&#xff1a;人工智能类SCIE&EI 优势一&#xff1a;高影响因子、高分区 IF&#xff1a;8.0&#xff0c;JCR1区&#xff0c;中科院2区TOP&#xff…

【LeetCode热题100】--11.盛最多水的容器

11.盛最多水的容器 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 **说明&#xff1a;*…

PIL或Pillow学习1

PIL&#xff08; Python Imaging Library&#xff09;是 Python 的第三方图像处理库&#xff0c;由于其功能丰富&#xff0c;API 简洁易用&#xff0c;因此深受好评。 自 2011 年以来&#xff0c;由于 PIL 库更新缓慢&#xff0c;目前仅支持 Python 2.7 版本&#xff0c;这明显…

ATFX汇市:为什么英央行维持利率不变,而不是加息25基点?

ATFX汇市&#xff1a;9月21日&#xff0c;英国央行9月利率决议宣布&#xff0c;维持5.25%的基准利率不变&#xff0c;此前市场预期英央行将会加息25基点。消息公布后&#xff0c;GBPUSD五分钟内从最高点1.2300下跌至1.2239&#xff0c;跌幅61基点。英国央行会议纪要中提到&…

解决:Typora上传图片后本地显示不出来

在配置好PicGo、github以及Typora后&#xff0c;为了更好部署博客&#xff0c;将图片的偏好设置改为上传图片&#xff0c;会出现一个问题&#xff1a; github上图片已上传成功&#xff0c;但是本地Typora的图片不显示&#xff0c;这里进行配置&#xff1a; 文件——>偏好设…

clickhouse学习之路----clickhouse的特点及安装

clickhouse学习笔记 反正都有学不完的技术&#xff0c;不如就学一学clickhouse吧 文章目录 clickhouse学习笔记clickhouse的特点1.列式存储2. DBMS 的功能3.多样化引擎4.高吞吐写入能力5.数据分区与线程级并行 clickhouse安装1.关闭防火墙2.CentOS 取消打开文件数限制3.安装依…

一台PoE交换机可以为多少个设备提供供电?

如今在安防监控领域&#xff0c;许多网络设备都支持PoE供电。在网络监控工程中&#xff0c;为了节省布线成本并提高便捷性&#xff0c;大多数工程商选择使用PoE供电方案&#xff0c;也就是使用PoE交换机为监控摄像头提供电力。那么&#xff0c;一台功率输出以太网&#xff08;P…

【C++】STL之适配器---用deque实现栈和队列

目录 前言 一、deque 1、deque 的原理介绍 2、deque 的底层结构 3、deque 的迭代器 4、deque 的优缺点 4.1、优点 4.2、缺点 二、stack 的介绍和使用 1、stack 的介绍 2、stack 的使用 3、stack 的模拟实现 三、queue 的介绍和使用 1、queue 的介绍 2、queue 的使用 3、qu…

八股文死记硬背打脸记

背景 我们都知道&#xff0c;再编程领域数据结构的重要性&#xff0c;常见的数据结构包括 List、Set、Map、Queue、Tree、Graph、Stack 等&#xff0c;其中 List、Set、Map、Queue 可以从广义上统称为集合类数据结构。而Java也提供了很多的集合数据结构以供开发者开箱即用&…

IC芯片测试:如何对芯片静态功耗进行测试?

静态功耗也叫静态电流&#xff0c;是指芯片在静止状态下的电流或者是指芯片在不受外界因素影响下自身所消耗的电流。静态功耗对于芯片来说是衡量一款芯片的功耗与效率非常重要的指标。 传统手动测试静态功耗只需在芯片的输入端串上一台万用表&#xff0c;然后对芯片各个端口添加…

html学习综合案例1

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>个人简介</title> </head> <body>…

python每日一题(模拟用户登录验证)

1、题目 预先设定正确用户名与密码&#xff0c;用来验证用户是否登录成功。 第一次&#xff1a; ① 输入用户名与密码&#xff0c;如果用户名与密码正确&#xff0c;则提示登录成功&#xff1b; ② 如果用户名错误&#xff08;不管密码是否正确&#xff09;&#xff0c;则需要重…