本次闭门研讨会受到了上市公司的高度关注,吸引了包括广联达(002410)、汉王科技(002362)、康斯特(300445)、珂玛科技(301611)、太极股份(002368)、新华网(603888)、博彦科技(002649)、浩瀚深度(688292)、神州数码(000034)、高伟达(300465)、新锦动力(300157)等在内的数十家知名上市公司的董事长、总裁、董事会秘书和核心高管线上/线下参与。
活动伊始,海淀区政协副主席许云发表致辞,他表示,党的十八大以来,习近平总书记高度重视人工智能技术,多次作出重要指示论述,为我们推动人工智能产业发展指明了前进方向、提供了根本遵循。海淀作为北京国际科创中心核心区,在算力供给、大模型落地、数据支撑、场景应用等环节,形成了产业链布局,率先规划发布了全球首个人工智能街区概念,在推进人工智能创新策源地和产业高地建设,全力打造新质生产力示范区上取得了系列成果、赢得了先机主动。
分享环节,盛景网联董事长、盛景研究院院长、盛景嘉成创始合伙人彭志强,中国工程院院士、清华大学高性能计算研究所所长郑纬民,软通动力首席数字官金亚东,盛景网联联合创始人、CEO刘燕作为分享嘉宾,进行了精彩的主题演讲。
小编整理了郑纬民院士的精彩观点,以帮助更多上市公司实控人、高管以及创业者,深刻理解人工智能大模型的最新发展趋势、生命周期的五大关键环节,以及构建国产软件系统生态的重要性。Enjoy~
当前的人工智能大模型有两个特点:第一,基础大模型从单模态向多模态发展,从最初的文本交互到图片创作、视频生成等多模态语料信息的综合应用;第二,人工智能大模型开始迈入应用的新阶段,真正应用于金融、医疗、智能制造等领域,正在加速行业的智能化升级,创造更大的价值,助力中国的GDP增长。
与美国相比,目前中国的基础大模型仍存在一定的差距,但是在应用层面中国有机会超越美国。
▼
第一个环节是数据获取,要从全世界各地网站、机构等任何有数据的地方去获取不同类型的原始数据并存储到硬盘中,面对数百亿个小文件,如何高效地存储和检索成为一大挑战。
这些文件不仅需要在硬盘上妥善保存,还需要记录每个文件的存放位置,以便于后续能够快速找到并使用这些数据。由于文件数量庞大,单台计算机难以承载,因此需要多台机器协作,这又涉及到了可扩展性的问题。
所以,当使用多台机器存储数据时,如何快速定位文件位置成为了提升效率的关键。因此,这对文件系统就提出了可扩展、读写快的要求,需要存储具备低延迟和高可扩展能力。
第二个环节是数据预处理,获取的数据不能直接用于训练,因为质量不太好,很多数据是重复的、低质量的,所以需要进行预处理,将低质量数据变成高质量。
在这一过程中,由于数据量巨大,通常达到数百亿个文件,对计算资源的需求也随之增大。为了处理如此庞大的数据集,我们采用Spark这样的大数据处理软件,其具备良好的可扩展性和容错性,能够解决数据量大和格式不一致的问题。
但是,Spark等软件通常使用Java语言编写,这限制了其处理速度。此外,处理大数据时对内存的需求也很高,往往1T的数据就需要有20T的内存作为支持,这不仅增加了成本,也对硬件资源提出了更高的要求。
为了解决这些问题,我们进行了一系列的优化工作。首先,通过使用C++来替换Java重写部分代码,这显著提升了数据处理的速度。其次,为了减少对内存的需求,我们对数据处理流程进行了改进,使得不再需要20倍的内存来处理1T的数据。这些改进令数据预处理更加高效,为后续的大模型训练打下了坚实的基础。
有人统计过,ChatGPT-4这样级别的大模型需要用1万块A100卡训练了11个月,而其中数据预处理可能会占一半以上的时间,真正有效的训练时间只有一半,这跟数据存储的性能有很大关系。
第三个环节是模型训练,模型训练中有很多问题,比如10万块卡组成的系统很难保证可靠性,平均一个小时要出一次错,集群可用度非常低。这种情况要求我们不能仅仅被动地等待错误发生,而是要主动采取措施以减少错误对训练进程的影响。
为此,我们采取了一种预防性策略,即在训练进行到40分钟时主动停止训练,并将当前的软硬件环境状态保存到硬盘中。这样一来,如果系统在一小时后出现错误,我们可以直接从40分钟的状态恢复训练,而不是重新开始,从而节省了宝贵的时间和资源。
然而,将软硬件环境状态保存到硬盘的过程本身也是一个耗时的操作,尤其是当数据量很大的时候,这个过程可能需要长达十个小时。为了提高这一步骤的效率,我们在硬盘前增加了SSD(固态硬盘)和U盘,从而将保存时间从十个小时缩短到了三到四个小时。此外,我们还对文件系统进行了优化,以提高数据的写入速度,这对于提升整体的训练效率至关重要。
第四个环节是模型微调,基础大模型训练完成后,可能无法直接满足特定行业的需求,比如医疗、金融等领域需要处理的数据和解决的问题具有高度的专业性。为了使大模型更好地服务于这些行业,我们需要进行微调。微调过程包括将基础模型与特定领域的数据结合,进行第二次训练。这一过程类似于对模型进行专业培训,使其能够更准确地理解和处理专业数据。
微调不仅仅是简单的训练,更是一个迭代和细化的过程。在某些情况下,基础模型可能需要经过多次微调,以适应不同的细分领域或特定任务。例如,在医疗领域,模型可能需要先针对一般医疗影像进行微调,然后再针对特定类型的影像,如B超图像,进行进一步的微调。通过多次的迭代训练,使得模型能够越来越精准地服务于特定的应用场景。
第五个环节是模型推理,经过训练和微调的大模型最终需要投入实际使用,这就是模型推理阶段。
此外,从事大模型的主要有三大类公司:第一种是研发大模型;第二种大模型+X,比如+金融、医疗等;第三种是支持大模型的计算机系统。
人工智能大模型算力很重要,但算力成本却居高不下,在大模型训练的过程中,70%的开销要花在算力上,推理过程中95%的花费也是在算力上。
当前支持大模型训练的有三类系统,分别是基于英伟达GPU的系统、基于国产AI芯片的系统和基于超级计算机的系统。其中,基于英伟达公司GPU的系统优势在于硬件性能和编程生态好,但受到禁售影响,加之价格暴涨数倍,一卡难求。而基于国产AI芯片的系统,尽管近年来国内有20多家芯片公司取得了很大的进步,但仍面临国产卡应用不足、生态系统有待改善的问题。
什么是生态好?如果原来用英伟达写了一个人工智能软件,现在很容易移植到国产系统上面的话,这表明国产系统的软件库是完备的,这叫生态好。如果移植过程中缺少必要的软件库和调用方法,要用一至三年的时间才能移过去的话,说明生态就不好。
因此,要改变国产大模型的生态系统不好的局面,需要做好10个软件。
第一是并行系统,为多机多卡环境提供人工智能模型并行训练的能力;支持数据并行、模型并行、流水线并行、张量并行等,比如微软的DeepSpeed、英伟达Megatron-LM。
在理想情况下,如果有100个处理器共同工作,我们应该能够将原本需要100小时的训练任务缩短到1小时内完成。但目前这个系统做得还不够好,还没有达到100倍的效果,目前只有20-30倍的效果。
第二是编程框架,应当进一步降低编写人工智能模型的复杂度,利用基本算子快速构建人工智能模型,如PyTorch、飞浆、昇思。
第三是通信库,需要提供跨机跨卡的通信能力,能够支持人工智能模型训练所需各种通信模式,可以根据底层网络特点充分利用网络通信带宽,如英伟达的NCCL库。
第四是AI编译器,要可在异构处理器上对人工智能程序生成高效的目标代码,对算子库不能提供的操作通过AI编译器自动生成高效目标代码,如TVM、XLA。但是,目前国内会做AI编译器的人才还比较少。
第五是算子库,需要提供人工智能模型所需基本操作的高性能实现,能够尽可能覆盖典型人工智能模型所需的操作,算子库能充分发挥底层硬件的性能,如英伟达cnBLAS、cuDNN。
此外,还有编程语言、调度器、内存管理、容错系统和存储系统。目前,国内已经拥有上述的软件,但仍做得不够好、不够全。
为了解决AI芯片生态建设的问题,清华大学开发了一套名为“八卦炉”的智算系统核心基础软件。这套软件包括并行系统、AI编译器、编程语言等多个组件,旨在优化AI芯片的性能并提高其易用性。
目前,“八卦炉”已经在多个场景中得到了验证,如在神威平台上实现大模型训练。我们训练了三个大模型,分别为LLaMA、百川和悟道,结果显示训练结果准确,而且成本较低,预计成本仅为英伟达GPU的六分之一。
此外,在与沐曦、燧原科技、摩尔线程等企业的合作中,“八卦炉”也显著提升了算力效率,降低了推理成本。
“八卦炉”在与沐曦芯片的合作中,加速了其芯片智算集群大模型训练的效率,特别是从算子效率、并行方案、底层支持展开优化,通过针对性的调整和改进,使得使用沐曦芯片的智算集群在处理大模型训练任务时,平均性能提高30%。
这就意味着,相比于未优化的系统,我们可以用更少的硬件资源完成同样的训练任务,或者在相同的硬件资源下达到更高的训练效率。具体来说,优化后的系统可以少买三分之一的硬件卡,从而达到原来的性能水平,这不仅降低了成本,也提高了资源的使用效率。
“八卦炉”在优化燧原芯片的高吞吐推理能力方面发挥了重要作用。传统的推理卡在存储训练后的参数和推理过程中的中间结果时,受限于存储器的大小,这成为推理能力的一个瓶颈。为了解决这个问题,“八卦炉”采用了一种创新的方法,使用闲置CPU和主存来处理KV-Cache(键值缓存),最终提供高达7倍吞吐提升能力。
“八卦炉”帮助摩尔芯片智算集群的主流大模型快速移植与优化,目前混合专家模型(MoE)已经成为扩展模型规模的主流手段,但传统MoE模型训练采用数据并行或专家并行方式,难以解决显存容量不足、网络通信量过大、集群负载不均衡等问题,“八卦炉”通过其混合专家模型训练系统FastMoE,采取新的并行策略有效解决了这些挑战。经移植,已在摩尔线程MCCX-D800 8卡机取得1.32倍加速比。
“八卦炉”与Kimi的合作集中在优化大模型的推理能力,特别是针对Kimi的长文本处理能力。Kimi作为一个智能助手,需要处理大量的用户请求,这些请求通常包括对长文本内容的分析和生成,这对算力和存储提出了很高的要求。
为了提高Kimi的推理能力,“八卦炉”采用了一种以KV-Cache为中心的分离式推理架构,名为Mooncake。这个架构的核心原理是“以存换算”,即通过使用大规模的分离式内存池来存储KV-Cache,从而减少对GPU显存的依赖并提升整体的推理吞吐量。
这种方法允许Kimi处理更长的上下文窗口,同时保持高效的响应速度和较低的延迟。这也使得Kimi从破圈之初连续5次扩容仍然过载宕机到现在平稳承载持续高速增长的流量。
构建国产万卡系统既重要也很难,
虽然构建国产万卡系统很难,但也很重要。因为随着人工智能技术的快速发展,大模型训练和推理对算力的需求在急剧增加。这些模型需要大量的计算资源,而万卡系统能提供所需的算力支持。
然而,由于外部限制的增强,比如对高性能计算资源的出口限制,中国必须加速发展自己的AI内循环,这使得国产万卡系统的建设变得尤为重要。
异构卡联合训练、异地卡联合训练效果也不太好。首先,异构卡联合训练涉及到不同类型和厂商的计算卡的协同工作。由于这些计算卡在架构、性能和编程模型上可能存在差异,要实现高效的联合训练,需要解决这些硬件差异带来的挑战。
其次,异地卡联合训练意味着在地理上分散的计算资源需要通过网络进行数据交换和同步。这不仅要求有高带宽和低延迟的网络连接,而且还要保证数据传输的稳定性和安全性。
即使能够通过技术手段克服上述挑战和问题,但在实际操作中,不同计算卡的联合训练也往往难以达到理想的性能。这是因为在联合训练过程中,系统的性能受限于最慢的计算卡,也就是所谓的“木桶效应”。因此,即使部分计算卡性能很高,整体性能也会受到性能较低计算卡的影响。
所以,由于硬件差异、网络限制、成本问题以及性能瓶颈等因素的影响,异构卡联合训练和异地卡联合训练在实践中的效果并不理想,需要进一步改进。
中国算力产业进入新一轮快速发展周期有两个因素,一是全面启动的“东数西算”政策;二是AI让智能算力需求爆发。
算力主要分成三大类,分别为通用算力、智能算力、超级计算。总的说来,算力大盘虽然在增长,但CPU主导的通用算力占比在下降,GPU主导的智能算力占比逐渐增长。
前面讲到的人工智能大模型生命周期的五个环节,每个环节对算力和存储都产生爆发式的需求,因此,这里面有很多软件要做。
智能算力的软件生态是当前制约我国人工智能发展的关键因素,优秀的系统软件能够充分释放底层硬件算力的潜力。国产AI芯片如果能达到国外芯片60%的性能,然后再把软件生态做好,客户也会满意。
所以,未来要做好并行系统、编程框架、通讯库、AI编译器、算子库、编程语言、调度器、内存管理、容错系统和存储系统这10个软件。
▼