【AI底层逻辑】——篇章7(下):计算资源软件代码共享

news2024/9/24 5:33:29

续上篇...

目录

续上篇...

三、计算资源

1、第一阶段:数据大集中

2、第二阶段:资源云化

①“云”的分类

②虚拟化技术

③边缘计算的普及

四、软件代码共享

总结

  往期精彩:


三、计算资源

AlphaGo算法论文虽然已经发表,但从商业角度复制第二个它绝对是亏钱买卖,因为它需要大量服务器和数据中心来支持算法实现。对于大多数AI应用,只要它可以联网,理论上就能使用接近无限的计算资源——把实体资源(如服务器设备、计算节点、存储节点、网络节点等)变成虚拟的资源集合,这些资源可按需使用。此过程经历了两个阶段:数据大集中和资源云化。

1、第一阶段:数据大集中

数据大集中:建设大量的数据中心基础设施,数据集中起来使用。

数据中心:即Data Center,有时简写为DC,如提供网站发布、虚拟主机和电子商务等互联网服务的数据中心叫作IDC(Internet Data Center)、提供云计算服务的数据中心称作CDC(Cloud Data Center)、其他还有企业数据中心(EDC)、政府数据中心(GDC)等。——无统一定义,但一般来说,广义的数据中心包含三层意思

①一种物理空间,是企业信息化建设的重要基础设施,为信息系统运行提供了必要的物理场所和配套环境。

②一种逻辑架构,是企业进行数据大集中后形成的IT应用环境,是提供数据计算、处理、存储等IT服务的枢纽。

③一种组织机构,即通过集中的运行、监控、管理等手段,负责信息系统运行和维护的一个组织或团队(负责保证系统稳定性和业务连续性)。

能源消耗:数据中心是巨大的能源消耗体,当前该行业已经达到并超过全球能源消耗的1%,其绿色节能建设方案也被提上议事日程。可利用水能、风能、太阳能等自然资源的给数据中心,以节约能耗!

2、第二阶段:资源云化

资源云化:把计算存储等资源也集中起来,变成虚拟资源对外提供服务

2006年,谷歌首次提出“云计算”的概念,它认为手机、电脑这些电子设备对于互联网来说,只是一个附属的设备终端,未来所有的程序和数据都可以存放到网络上,人们不用管理软件升级和安全补丁,也不用担心重要资料丢失。

通常指两个方面,①服务,即互联网上提供的云端服务,这些服务包括云计算、云存储、云安全等;②技术,即提供云服务的技术平台,这个平台要解决大数据、虚拟化、分布式等问题。云的本质是一个超大规模的分布式系统,将海量计算和存储任务交由位于不同物理地点的大量计算机节点共同解决。

①“云”的分类

几乎所有技术的发展都分成:萌芽创意期——炒作期——幻灭期——复苏期——成熟期。云计算也不例外!

第一种按部署的方式,如私有云、公有云、混合云、社群云、行业云等,对于大多数人来说,纯粹的“云”指的就是公有云。

①私有云:企业自己建设的、供内部使用的云,集中在如金融、医疗、政务等重要服务行业。安全性高、定制化程度高。
②公有云:由云服务商建设和维护的,通过互联网为企业和个人提供服务,在游戏、视频行业用的较多。成本低、无须维护、可无限伸缩、高可靠性。
③混合云:将企业内部的基础架构、私有云与公有云相互结合的云。兼有两者特点,但也导致架构复杂、维护难度大等。

第二种按服务的内容软件即服务(SaaS)、平台即服务(PaaS)、基础设施即服务(IaaS)

①IaaS提供硬件设备服务,包括服务器、计算、存储、网络和配套管理工具的虚拟数据中心,通常面向的是企业基础设施运维人员。
②PaaS提供平台服务,如业务软件、中间件、数据库等,面向的是应用程序开发人员。它屏蔽了系统底层复杂的管理操作,使得开发人员可以快速开发高性能、可扩展的程序和服务。
③SaaS提供现成的软件服务,如在线邮件系统、在线存储、在线Office等,面向普通用户。

②虚拟化技术

技术角度,云的底层用到的是一种虚拟化技术!

传统意义上的虚拟技术:可以在隔离环境中同时执行一个或多个操作系统,即一台物理设备或服务器上可以运行完全不同的多个操作系统(一台物理设备可分为若干个虚拟机。后来人们使用比操作系统更小的虚拟化容器提供服务(容器相当于操作系统中运行的软件和组件的虚拟化),比起虚拟化整个操作系统,它提供的服务粒度更精细,每个组件都可单独定制和独立出来,很多AI和云服务都会用到虚拟化技术。

好处:动态调配资源,让IT资源更好地匹配业务需求。如很多网络游戏刚上线时,很难准确估算要多少台服务器来支撑,此时可根据游戏上线后玩家人数情况,动态调整服务器数量;又比如阿里巴巴会提前增加大量的线上服务器,来保证“双十一”的在线购物、微博通过在线扩容来支撑一些意料之外的热门话题导致的用户激增和活跃度等。

③边缘计算的普及

除了云计算,另一种与AI结合使用的计算技术叫作边缘计算。近年来随着5G等网络通信技术的普及,人们要监测的设备数和要处理的数据量都在大幅增长,传感器、可穿戴设备、专属芯片等硬件开始普及,它们甚至可以植入动植物、人体中,通过这些硬件很多计算任务在本地就可完成,这种计算模式叫作边缘计算。

对比:与云计算的模式不同,边缘计算并不需要将数据集中上传到云端处理,而是通过本地设备或附近的基础设施完成部分计算任务,为用户提供更好、更快的服务,降低数据处理和传输的成本——例如无人驾驶汽车行驶过程中,会优先在本地完成对传感器和摄像头数据的计算任务,只有这样才能保证实时感知路况,应对各种突发情况。

边缘计算的节点可在本地筛选数据,只把有价值的数据上传到云端,这样做不仅可在网络中断的情况下持续提供本地业务,也能规避数据隐私泄露的风险。比如小区道路摄像头拍摄的视频数据,通常会现在本地完成监测和分析,再将关键视频片段上传至云端,这样即可保护用户隐私,也可大幅降低网络带宽使用成本。


四、软件代码共享

在聊AI话题时,我们总会谈到数据、算法和提供计算和存储资源的基础设施,这些属于技术上的“明线”,但有一条“暗线”——开源功不可没。它使得大规模技术协作成为可能。

说到开源就不得不提到全球最大的编程社区和代码托管网站——GitHub。GitHub在2008年成立于美国旧金山,它创建了一种全新的开发协助方式,人们可在网站上获得海量免费的代码资源。很多好的AI算法和项目都可在这里找到,如谷歌的TensorFlow、微软的CNTK(Cognitive Toolkit)、Meta的Torch、Caffe、Theano等各种开源深度学习框架。

GitHub核心使用了Git技术,以前的版本控制系统都是运行在集中的版本控制服务器上,
而Git创新地把它变成了分布式。通过GitHub网站,我们只需要从任何公开的代码仓库中
克隆代码到自己账号下,就可以进行开发和编辑。我们也可将修改的代码给原作者发送
一个推送请求,原作者觉得代码改动没问题,就可直接把修改的代码合并到自己的原代码中,
这样实现了集体编程。

开源主导了技术生态,例如很多人喜欢使用Python来研究AI算法,这是因为很多实用的深度学习框架和机器学习软件都能基于Python运行,像TensorFlow、Scikit-learn、Keras、Theano、Caffe等,这些开源软件提供了良好的学习环境!

但是也有副作用——有些人喜欢拿来主义,编程不再是从零开始,而是直接从网上整段的复制代码,软件公司开始靠对源码的封装和微调,对外宣称自主研发。

虽然软件开源但是却不是企业的最佳选择,因为开源软件无法保证高可用性和安全性,用于商业风险很大。另外AI有别于其他普通程序,并非只要有了软件代码就能很好运行,还需要依靠海量数据、高性能算力、很多轮的模型训练——因此一些较为成熟的AI不见得会走开源之路,如前段时间很火的自然语言处理模型GPT,GPT-2发布时,OpenAI没有选择公开全部代码,只公开了一部分,它认为GPT-2功能过于强大,完全开源可能存在安全隐患;GPT-3模型发布时,OpenAI选择以API接口的形式邀请测试,也没直接公开代码,目的是防止这一技术的滥用


总结

虽然计算机每秒已经可执行数十亿次运算,但是仍无法很好满足人类计算的需要!

我们虽能模拟超过千亿级的模型参数,但这与人脑中的神经元相比可能连万分之一都不到!

直到今天,我们还远没具备达到通用AI水平的计算能力,追求高性能的计算能力,认识人类需要努力的方向!

  往期精彩:

【AI底层逻辑】——篇章5(下):机器学习算法之聚类&降维&时间序列

【AI底层逻辑】——篇章3(下):信息交换&信息加密解密&信息中的噪声

【AI底层逻辑】——篇章3(上):数据、信息与知识&香农信息论&信息熵

【机器学习】——续上:卷积神经网络(CNN)与参数训练

【AI底层逻辑】——篇章1&2:统计学与概率论&数据“陷阱”

【AI底层逻辑】——篇章5(上):机器学习算法之回归&分类

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

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

相关文章

华为OD七日集训第2期 - 按算法分类,由易到难,循序渐进,玩转OD(文末送书)

目录 一、适合人群二、本期训练时间三、如何参加四、7日集训第2期五、精心挑选21道高频100分经典题目,作为入门。第1天、逻辑分析第2天、字符串处理第3天、数据结构第4天、递归回溯第5天、二分查找第6天、深度优先搜索dfs算法第7天、动态规划 六、集训总结1、《代码…

rke安装k8s

1、修改集群中各物理机主机名hostname文件 # 查看 cat /etc/hostname # 命令修改 hostnamectl set-hostname k8s-master2、实现主机名与ip地址解析 # 查看cat /etc/hosts # 修改 vi /etc/hosts3、配置ip_forward过滤机制 # 修改 vi /etc/sysctl.conf net.ipv4.ip_forward1…

RT-Thread IO设备模型

IO设备模型 RTT提供了一套简单的I/O设备模型框架,它位于硬件和应用程序之间,共分成三层,从上到下分别是I/O设备管理层、设备驱动框架层、设备驱动层。 应用程序通过I/O设备管理接口获得正确的设备驱动,然后通过这个设备驱动与底层…

递归算法学习——全排列

目录 ​编辑 一,问题描述 1.例子: 题目接口: 二,问题分析和解决 1.问题分析 2.解题代码 一,问题描述 首先我们得来先看看全排列的问题描述。全排列问题的问题描述如下: 给定一个不含重复数字的数组 n…

DTC状态变化例子 4

例子1: 此示例概述了两个操作周期排放相关的 OBD DTC 中 DTC 状态位的操作。该图显示了两个操作周期排放相关的 OBD DTC 的处理。该处理也可应用于非排放相关的 OBD DTC,此处显示仅供一般参考。 0 接收到清除诊断信息 → DTC 状态字节初始化。 1, 2 相关…

基于类电磁机制算法优化的BP神经网络(预测应用) - 附代码

基于类电磁机制算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于类电磁机制算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.类电磁机制优化BP神经网络2.1 BP神经网络参数设置2.2 类电磁机制算法应用 4.测试结果&…

RabbitMQ---订阅模型-Topic

订阅模型-Topic • Topic类型的Exchange与Direct相比,都是可以根据RoutingKey把消息路由到不同的队列。只不过Topic类型Exchange可以让队列在绑定Routing key 的时候使用通配符! • Routingkey 一般都是有一个或多个单词组成,多个单词之间以…

【clojure】入门篇-01

一、环境的配置 1.java环境配置 clojureScript 需要java环境的配置需要下载jdk进行java环境变量配置 下载官网 java环境变量的配置教程 2.Leningen环境配置 1.下载.bat文件内容 2.配置环境变量 2.8.3及以上内容进行配置 lein教程 2.使用vscode vscode官网 下载插件 C…

SIP 协议路由规则详解

文章目录 SIP 路由关键字段SIP 路由图解 SIP 路由关键字段 SIP 协议实际上和 HTTP 类似,都是基于文本、可阅读的应用层协议,二者的不同之处在于 SIP 协议是有状态的。在 SIP 协议中,影响报文路由的相关字段如下表所示,总结起来如…

给微软.Net runtime运行时提交的几个Issues

前言 因为目前从事的CLRJIT,所以会遇到一些非常底层的问题,比如涉及到微软的公共运行时和即时编译器或者AOT编译器的编译异常等情况,这里分享下自己提的几个Issues。原文:微软.Net runtime运行时提交的几个Issues Issues 一.issues one 第一个System.Numerics.Vecto…

深度强化学习。介绍。深度 Q 网络 (DQN) 算法

马库斯布赫霍尔茨 一. 引言 深度强化学习的起源是纯粹的强化学习,其中问题通常被框定为马尔可夫决策过程(MDP)。MDP 由一组状态 S 和操作 A 组成。状态之间的转换使用转移概率 P、奖励 R 和贴现因子 gamma 执行。概率转换P(系统动…

SaaS多租户系统架构设计

前言:多租户是SaaS(Software-as-a-Service)下的一个概念,意思为软件即服务,即通过网络提供软件服务。SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作的实际需求,通过互联网…

万字长文解析AQS抽象同步器核心原理(深入阅读AQS源码)

AQS抽象同步器核心原理 在争用激烈的场景下使用基于CAS自旋实现的轻量级锁有两个大的问题: CAS恶性空自旋会浪费大量的CPU资源。在SMP架构的CPU上会导致“总线风暴”。 解决CAS恶性空自旋的有效方式之一是以空间换时间,较为常见的方案有两种&#xff…

ubuntu使用二进制安装mysql常见问题

一、安装mysql完毕后初始化失败 【/usr/local/mysql/bin】./mysqld --usermysql --basedir/usr/local/mysql --datadir/usr/local/mysql/data/ --initialize 输入命令:apt-get install libaio1 libaio-dev 二、初始化成功后重启服务失败 rootyanhong:/usr/local/…

4 hadoop集群配置案例

3&#xff09;配置集群 &#xff08;1&#xff09;核心配置文件&#xff0c;core-site.xml cd $HADOOP_HOME/etc/hadoopvim core-site.xml文件内容如下&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <?xml-stylesheet type"text…

java八股文面试[多线程]——并发三大特性 原子 可见 顺序

AutomicInteger : volatile CAS 总线LOCK MESI 两个协议 TODO volatile的可见性和禁止重排序是怎么实现的&#xff1a; DCL场景&#xff1a; new操作会在字节码层面生成两个步骤&#xff1a; 分配内存、调用构造器 然后把引用赋值给singleton 不加volatile则会发生指令重…

Windows下MATLAB调用Python函数操作说明

MATLAB与Python版本的兼容 具体可参看MATLAB与Python版本的兼容 操作说明 操作说明请参看下面两个链接&#xff1a; 操作指南 简单说明&#xff1a; 我安装的是MATLAB2022a和Python3.8.6&#xff08;安装时请勾选所有可以勾选的&#xff0c;包括路径&#xff09;。对应版本安…

基于闪电连接过程算法优化的BP神经网络(预测应用) - 附代码

基于闪电连接过程算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于闪电连接过程算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.闪电连接过程优化BP神经网络2.1 BP神经网络参数设置2.2 闪电连接过程算法应用 4.测试结…

基于阿基米德优化算法优化的BP神经网络(预测应用) - 附代码

基于阿基米德优化算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码 文章目录 基于阿基米德优化算法优化的BP神经网络&#xff08;预测应用&#xff09; - 附代码1.数据介绍2.阿基米德优化优化BP神经网络2.1 BP神经网络参数设置2.2 阿基米德优化算法应用 4.测试结…

华为OD机试 - 最少数量线段覆盖 - 二叉树(Java 2023 B卷 100分 考试抽中题)

目录 一、题目描述二、输入描述三、输出描述四、解题思路四、Java算法源码五、效果展示1、输入2、输出3、说明4、复杂一点5、理性分析一下 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 一、题目描述 给定坐标轴上的一组线段&#xff0c;线段的起点和终点均为整数…