今年4月27日,国家环保总局公布了相当于欧Ⅲ和欧Ⅳ标准的汽车尾气排放中国标准。
中国Ⅲ号标准的尾气污染物排放限值比我国目前执行的第Ⅱ阶段标准尾气污染物排放限值降低了30%,并将于2007年7月1日起在全国开始实施,北京将在今年提前实行。据国家环保总局科技司副司长罗毅介绍,环保总局早在2001年就启动了相当于欧Ⅲ标准的中国标准的制定。据参与该标准制定的清华大学污染控制研究所所长傅立新教授透露,北京地方性标准草案绝大部分内容参照了欧洲的欧Ⅲ标准,OBD和冷启动等要求都被保留。目前,世界汽车排放标准并立,分为欧洲、美国、日本标准体系。欧洲标准测试要求相对而言比较宽泛,是发展中国家大都沿用的汽车尾气排放体系。并且,由于我国的轿车车型大多从欧洲引进生产技术,中国大体上采用欧洲标准体系。中国汽车技术信息研究所专家李京生认为,中国有自己的国情,实施排放标准的背景也与欧洲有所不同,其中最直接涉及到的就是城乡差别问题,因此中国应该有自己的标准。我国机动车污染物排放标准中污染物排放限值大体等同欧盟排放标准,故国内也沿用类似称呼,但两者仍存有一定的技术差异。我国制定的《轻型汽车污染物排放限值及测量方法(Ⅰ)》等效于“欧Ⅰ”标准;《轻型汽车污染物排放限值及测量方法(Ⅱ)》等效于“欧Ⅱ”标准。而欧Ⅲ则比欧Ⅱ标准上了个台阶,有关专家做了一个形象的比喻:7辆执行欧Ⅱ标准的汽车,相当于1辆化油器车的污染物排放量;14辆执行欧Ⅲ标准的汽车,才相当于1辆化油器车的污染物排放量。按照轻型汽车Ⅲ号标准,家庭轿车和轻型汽车的一氧化碳排放量将在原有基础上减少30%,碳氢和氮氧化合物则分别减少40%。路况油品将影响OBD的准确率 。为保证车辆在使用过程中稳定达到排放限值要求,在实施新标准时,一个名叫车载诊断系统(OBD)要被加装到汽车上,OBD系统将根据发动机的工作状况随时监测汽车排放的尾气是否超标,超标时即发出警示。然而,这个OBD系统的实行体现出了很大的中国特色。根据国家环保总局的规定,2007年7月1日,全国生产和销售的新车都必须符合这一标准,OBD系统将推迟一年实施。据中国汽车技术研究中心首席专家方茂东介绍,与欧Ⅱ相比,欧Ⅲ排放标准中最大的变化在于车辆出厂前必须装配核心组件OBD,即车载自诊断系统。该系统特点在于,检测点增多、检测系统增多,在三元催化转化器的进出口上都有氧传感器。完全通过实时监控车辆排放来控制达标,可以更加保证欧Ⅲ排放标准的执行。据了解,现在部分国产品牌轿车已经具备达到欧Ⅲ排放标准的条件。但是,专家也指出,目前能够达到欧Ⅲ排放标准的发动机,只是排放方面相比欧Ⅱ有所改进。对于国标Ⅲ号,由于这些车辆出厂之前没有安装OBD系统,因此尚不能称在完全意义上达到欧Ⅲ排放标准。同时,OBD系统也不能在车辆出厂之后经过改造加上,因此即使现在购买那些已经具备达到欧Ⅲ排放标准条件的车辆,今后也不会视同已经符合我国新排放标准。小小的OBD成为汽车厂商和环保部门争论的重点,可能成为欧Ⅲ排放标准最难解决的问题。许多厂家认为关键所在是油品的问题,如果油品质量不断反复,必然会导致排放标准不合要求,而北京市环保局则认为,加装OBD自动诊断系统才是当务之急。北京市环保局大气处处长冯玉桥表示,会尽量争取欧Ⅲ标准与OBD系统同步实施。有厂商认为,北京的路况与国外有差距,城市堵车严重,油品质量也不够好,如果安装了OBD系统,会导致系统频繁误报,这样会使消费者对车辆本身的质量产生怀疑;此外,OBD系统的售后、维修培训需要的时间为期不短,能不能与欧Ⅲ标准同步实施也是问题,而这些都关乎影响企业生死的品牌问题。另外,由于OBD在欧美是作为汽车召回项目中的一项,是否加装OBD将决定企业未来召回成本的问题。两大企业正加快研制新油品 业内人士指出,油品质量对于汽车尾气排放效果的影响相当明显。车辆在使用过程中,如果车油不相配,会造成因油损车的情况。如果使用相应的低品质燃油,排放同样达不到新标准要求。要使汽车达到更严格的尾气排放标准,不仅要求汽车生产厂家提高整车生产技术,还需油品供应商提高相应的燃油质量。根据去年颁布的《车用汽油北京市地方标准》,从今年7月1日起,符合欧Ⅲ标准的汽油将在北京全面上市,而低于该标准的汽油将不准加用。国家环保总局机动车排污监控中心汤大钢主任表示,在全国市场提供质量稳定的燃油产品是实施更高排放标准的先决条件。如果汽油中的硫、锰、铁等杂质含量过高,可能损害三元催化器和氧传感器,降低对污染物的催化效果;若汽油饱和蒸气压较高,也会带来挥发性污染。新油品标准的制定体现了车厂和油厂的利益之争。从技术层面讲石油企业完全具备生产欧Ⅲ标准燃油的能力,但标准迟迟不出使得石油企业有了坐观其变的最好借口;对汽车生产厂家而言,“喝不到好油”也成为汽车排放降不下来的很好托辞,一位合资汽车生产厂家负责人告诉记者,他们的产品在国外能够达到严格的欧Ⅲ排放标准,为适应国内油品质量不稳定的状况,只好自降标准,局部采用以往的技术通过目前的欧Ⅱ排放标准就行了。对此,汤大钢主任解释说:同样是欧Ⅲ标准,油品质量高,对于汽车自身控污能力的要求就低;油品质量差,对于汽车自身控污能力的要求就高。在企业最看重的效益面前,提高油品质量和提高汽车的控污能力都需要投入研发资金和增加生产成本,汽车厂家和石油企业在此问题上的博弈其实早在我国执行欧I标准时就已开始了。实际上,令众多汽车及石油企业心存疑虑的还有一个原因,即由于北京的第三阶段用油品质标准是一个完全的地方标准,他们担心的是这一标准能否得到有关部门的有力支持并在全国范围内实施。某汽车公司老总指出,我国油品质量地域差异性较大,北京等大城市的燃油质量肯定优于中小城市及乡村,油品质量对于欧Ⅲ标准的影响不能忽略。北京市环保局机动车尾气排放管理中心总工程师李昆生介绍说,“要达到新的排放标准,仅中石化北京燕山分公司就已经投入5、6亿元进行改造。而目前来看,增加的成本要由企业内部消化。因此在每一个指标的确定上,都历经了艰难的协调与论证过程。”在选用油品方面,符合欧Ⅲ排放需要使用清洁汽油,而标号高的汽油并非就是清洁汽油,这需要依靠炼厂技术的提高和调配方法,使用不清洁汽油会造成三元催化器过早失效,汽车排放超标。截至目前,北京油品市场上只有98号汽油的排放水平达到了欧Ⅲ标准,这种油不仅价高,而且只在少数加油站供应。谢谢邀请!
首先,通过计算机培训学校来学习IT相关知识是一个较为常见的渠道,有不少IT从业者通过参加培训从而进入了IT行业。
计算机培训学校的兴起与IT行业的快速发展有着密切的关系,由于近些年来互联网领域的快速发展,尤其是移动互联网的发展,带动了一大批新兴领域的发展,这就必然会释放出大量的工作岗位,而传统的人才培养渠道(计算机相关专业的毕业生)并不能满足市场的需求,这就为计算机培训学校的出现奠定了基础。
近些年来,互联网行业的发展空间和薪资待遇都比较有吸引力,这也是不少大学生在毕业之后愿意从事IT行业的重要原因。而对于不少非计算机专业的毕业生来说,通过参加一个计算机培训班从而进入IT行业是一个比较现实的选择。一方面通过参加培训可以有一个比较系统的学习过程,另一方面通过参加培训也能节省一定的学习时间,不少培训机构还能提供实习机会,这对于初学者来说还是比较重要的。
大部分培训机构的课程都是相对比较基础的,对于计算机基础比较薄弱的人来说也能够听得懂,当然也有相对难度比较高的课程,学习者可以根据自己的实际情况进行选择。对于想参加培训的人来说,最好根据自己的实际情况(知识结构、兴趣爱好等)选择一个学习方向,然后先自学一段时间,培养一下自己的学习能力,这样对后续的学习会有一定的帮助。软件开发领域对于从业者的学习能力还是有较高要求的,可以说软件开发领域需要在工作中不断学习新知识。
当前IT行业的就业情况还是可以的,在大数据等领域存在一定的人才缺口,但是目前整个IT行业也在进行人才结构升级,对于从业者有了更高的要求,要求从业者要具备更丰富的知识结构和实践能力,知识结构比较单一会影响就业竞争力。
我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有互联网方面的问题,也可以咨询我,谢谢!
机器学习(尤其是深度学习)最近已经在语音识别、图像识别、自然语言处理和推荐/搜索引擎等方面取得了变革性的成功。这些技术在自动驾驶汽车、数字医疗系统、CRM、广告、物联网等方面的应用非常有前途。当然,资本带领/推动着机器学习加速发展,近段时间以来已经诞生了很多机器学习平台。
由于训练过程涉及到巨大的数据集的模型,机器学习平台往往是分布式的,它们往往会使用并行的几十个或几百个工作器(worker)来训练模型。据估计,在不久的将来,数据中心中运行的绝大多数任务都将会是机器学习任务。
分布式机器学习平台归类为了三大基本设计方法:
1.基本数据流(basic dataflow)
2.参数服务器模型(parameter-server model)
3.先进数据流(advanced dataflow)
其中基本数据流方法使用了 Apache Spark、参数服务器模型使用了 PMLS(Petuum)、先进数据流模型使用了 TensorFlow 和 MXNet。本文对以上平台的性能进行了评估。文末也给出了对分布式机器学习平台未来研究工作的总结和建议。
在 Spark 中,计算被建模成有向无环图(DAG:directed acyclic graph),其中每一个顶点都代表一个弹性分布式数据集(RDD:Resilient Distributed Dataset),每一条边都代表对 RDD 的一个运算。RDD 是被分到了不同逻辑分区的对象的集合,这些逻辑分区是作为 in-memory 存储和处理的,带有到磁盘的 shuffle/overflow。
在一个 DAG 中,从顶点 A 到顶点 B 的边 E 表示:RDD B 是在 RDD A 上执行运算 E 后得到的结果。运算有两种:变换(transformation)和动作(action)。变换(比如:映射、过滤、连接)是指在一个 RDD 上执行一种运算生成一个新的 RDD。
Spark 用户需要将计算建模为 DAG,从而在 RDD 上进行变换或运行动作。DAG 需要被编译为 stage。每个 stage 作为一系列并行运行的任务执行(每个分区执行一个任务)。简单狭窄的依赖关系有利于高效执行,而宽广的依赖关系会引入瓶颈,因为它们会扰乱流程,而且需要通信密集的 shuffle 运算。
Spark 中的分布式执行是通过将这种 DAG stage 分割到不同的机器上执行的。这张图清晰地显示了这种 master-worker 架构。驱动器(driver)包含了任务和两个调度器(scheduler)组件——DAG 调度器和任务调度器;并且还要将任务对应到工作器。
Spark 是为一般的数据处理设计的,并不特定于机器学习。但是使用 MLlib for Spark,也可以在 Spark 上进行机器学习。在基本的设置中,Spark 将模型参数存储在驱动器节点,工作器与驱动器通信从而在每次迭代后更新这些参数。对于大规模部署而言,这些模型参数可能并不适合驱动器,并且会作为一个 RDD 而进行维护更新。这会带来大量额外开销,因为每次迭代都需要创造一个新的 RDD 来保存更新后的模型参数。更新模型涉及到在整个机器/磁盘上重排数据,这就限制了 Spark 的扩展性。这是 Spark 的基本数据流模型(DAG)的不足之处。Spark 并不能很好地支持机器学习所需的迭代。
PMLS 是专为机器学习设计的,没有其它杂乱的历史。它引入了参数服务器(PS: parameter-server)的抽象概念,支持密集迭代的机器学习训练过程。
其中 PS(图中绿色方框)被用作分布式的内存键值存储(distributed in-memory key-value store)。它会被复制和共享:每个节点都被用作这个模型(参数空间)一个分片的主节点以及其它分片的次要节点/副本。因此在节点数量方面,PS 可以很好地扩展。
PS 节点会存储和更新模型参数以及响应来自工作器的请求。工作器会请求来自它们的局部 PS 副本的最新模型参数,并在分配给它们的数据集部分上执行计算。
PMLS 还采用了 SSP(Stale Synchronous Parallelism)模型,这比 BSP(Bulk Synchronous Parellelism)模型更宽松——其中工作器在每次迭代结束时同步。SSP 为工作器的同步减少了麻烦,确保最快的工作器不能超过最慢的工作器 s 次迭代。宽松的一致性模型仍然可以用于机器学习训练,因为这个过程有一定的噪声容错能力。
谷歌有一个基于参数服务器模型的分布式机器学习平台 DistBelief。DistBelief 的主要缺陷是:为了编写机器学习应用,需要操作低级代码。谷歌想要自己的所有员工无需精通分布式执行就能编写机器学习代码——基于同样的理由,谷歌为大数据处理编写了 MapReduce 框架。
所以为了实现这一目标,谷歌设计了 TensorFlow。TensorFlow 采用了数据流范式,但是是一种更高级的版本——其中计算图无需是 DAG,而且包含循环且支持可变状态。Naiad 设计可能对 TensorFlow 设计有所影响。
TensorFlow 使用节点和边的有向图来表示计算。节点表示计算,状态可变。而边则表示多维数据数组(张量),在节点之间传输。TensorFlow 需要用户静态声明这种符号计算图,并对该图使用复写和分区(rewrite & partitioning)将其分配到机器上进行分布式执行。(MXNet,尤其是 DyNet 使用了图的动态声明,这改善了编程的难度和灵活性。)
TensorFlow 中的分布式机器学习训练使用了如图所示的参数服务器方法。当你在 TensorFlow 中使用 PS 抽象时,你就用到了参数服务器和数据并行。TensorFlow 让你还能做更复杂的事情,但那需要编写自定义代码并进入全新的疆域。
评估使用了 Amazon EC2 m4.xlarge 实例。每个实例包含 4 个由 Intel Xeon E5-2676 v3 驱动的 vCPU 和 16 GiB RAM。EBS 带宽为 750Mbps。本文使用了两个常见的机器学习任务进行评估:二分类 logistic 回归和使用多层神经网络的图像分类。这里仅给出了几张图,查看论文(~demirbas/publications/DistMLplat.pdf)可以了解更多实验。实验还有一些局限性:使用了少量机器,不能大规模测试;并限制了 CPU 计算,没有测试 GPU。
这幅图展示了各平台的 logistic 回归执行速度。Spark 表现不错,但落后于 PMLS 和 MXNet。
这幅图展示了各平台的深度神经网络(DNN)执行速度。相比于单层的 logistic 回归,Spark 在两层神经网络上有更大的性能损失。这是因为两层网络需要更多迭代计算。在 Spark 中我们将参数保存在驱动器中,这样它们可以拟合;如果将参数保存在一个 RDD 中并且在每次迭代后更新,情况还会变得更加糟糕。
这幅图给出了各平台的 CPU 利用率。Spark 应用似乎有明显很高的 CPU 利用率,这主要是因为序列化(serialization)的额外开销。
机器学习/深度学习应用的并行处理让人为难,而且从并发算法(concurrent algorithms)的角度看并不非常有趣。可以相当肯定地说参数服务器方法在分布式机器学习平台的训练上更好。
至于局限性方面,网络仍然是分布式机器学习应用的一个瓶颈。提供更好的数据/模型分级比更先进的通用数据数据流平台更有用;应该将数据/模型看作头等公民。
但是,可能会有一些让人惊奇和微妙的地方。在 Spark 中,CPU 开销会先于网络限制变成瓶颈。Spark 使用的编程语言 Scala/JVM 显著影响了其性能表现。因此分布式机器学习平台尤其需要更好的监控和/或性能预测工具。最近已经有人提出了一些解决 Spark 数据处理应用的问题的工具,比如 Ernest 和 CherryPick。
在机器学习运行时的分布式系统支持上还有很多悬而未决的问题,比如资源调度和运行时的性能提升。对应用使用运行时监控/性能分析,下一代分布式机器学习平台应该会提供任务运行的计算、内存、网络资源的详细的运行时弹性配置/调度。
最后,在编程和软件工程支持方面也有一些待解决的问题。什么样的(分布式)编程抽象思想适用于机器学习应用?另外在分布式机器学习应用的检验和验证(尤其是使用有问题的输入来测试 DNN)上也还需要更多研究。