近日,ChatGPT持续火爆,用户在短短两个月内迅速破亿,大量用户涌入导致ChatGPT访问和数据规模指数级增加。与数月前发布的版本相比,新的ChatGPT“智能”了许多,不仅可以像人类一样聊天交流,甚至能够完成一定程度的稿件撰写、视频脚本创作、翻译、代码,答题等操作。
毫无疑问,ChatGPT将人工智能(AI)的用户交互体验、生产力水平提升到了新的高度。而众多国内外知名互联网公司的纷纷入局,也让这场“人工智能竞赛”盛况空前,对算力水平、存储容量、存储性能的需求空前高涨。
ChatGPT原理简要介绍
语音识别、语意处理与交互,一直以来都是人工智能的重点应用领域。ChatGPT主要涉及到自然语言处理相关技术,属于认知智能领域的应用之一。
ChatGPT起初基于OpenAI GPT-3语言模型训练开发,用以完成自然语言处理的绝大部分任务。但由于GPT-3自身无监督模型的属性,使得在早先版本的对话中,会存在一些生硬、甚至不恰当的文本响应,交互体验并不理想。
全新上线的ChatGPT由GPT-3.5训练模型微调而来——通过加入RLHF(人类反馈强化学习训练,Reinforcement Learning from Human Feedback)来指导机器学习过程,生成更加符合人类偏好的对话结果。
Step1:收集示范数据并训练监督策略模型
选择一个提示列表(Prompt),标注人员按照一定要求写下符合预期的输出,同时结合API过往请求获得的高质量结果,形成一个相对较小,但质量很高的数据集;基于该数据集对GPT-3.5进行调优训练。
Step2:收集比对数据,训练奖励模型(RM)
由于示范数据规模较小,调优后的模型仍然会产生多个回复内容,且其中一些并不理想。在Step2中,通过对这些输出结果进行人为打分,标记这些结果的可用度,使得模型能够模仿人类的偏好,即,生成奖励模型Reward Model。
Step3:使用奖励模型和PPO算法继续优化
将奖励模型作为奖励函数,使用PPO(近端策略优化,Proximal Policy Optimization)算法继续微调模型实现奖励最大化,通过对过程的多次重复与迭代,实现模型的不断完善。
数据的调优,算法的优化与迭代,让ChatGPT的交互体验得到显著提升。对ChatGPT原理更加深入的解读,相关文章报道已经有不少了,在此不做赘述。接下来,我们回归“本行”,重点聊聊NVMe在以ChatGPT为代表的人工智能应用中的作用。
数据与算力
数据、算法、算力,共同构成了驱动人工智能技术前进的三驾马车。和我们每天使用的语音输入、语音交互、人脸识别、影像识别、内容翻译,乃至辅助驾驶(最终目标为全自动驾驶)等技术相同,ChatGPT同样也是基于机器学习,通过神经网络训练,模仿人类学习过程并学以致用的人工智能应用,它同样需要海量的数据(尽可能多的应用案例)与强大的算力加以支撑。只有积攒了足够多的经验,方可做到“熟能生巧,临危不乱”。
ChatGPT早期使用的GPT-3数据规模约为45TB,主要来自于互联网,每天产生的数据内容约为45亿字。随着ChatGPT的开放体验,以及如今ChatGPT的再度火热,将不断有新的高质量对话案例产生,甚至呈现几何级增长。这些新增数据将有效推动训练模型的继续迭代,实现ChatGPT应用体验越来越好。
算力方面,ChatGPT由Microsoft为OpenAI开放的Azure AI超算平台提供性能支撑。该平台由NVIDIA、Microsoft联合打造,可以为OpenAI提供超过258000个CPU核心和超过1000颗GPU。强大的计算性能结合GPT-3高达1750亿的训练参数,也让不少行业从业人员称“ChatGPT是大力出奇迹”的结果。
根据Microsoft、NVIDIA的相关报道,未来,Azure AI超算平台还将升级至400Gb/s InfiniBand网络和性能更强的NVIDIA H100 GPU,结合Azure先进的云计算架构与下一代NVMe高性能SSD,将可为任意规模的AI训练和深度学习推理工作负载提供可扩展的峰值性能,Azure AI超级计算机也将有望跻身Top500榜单前5名。
NVMe SSD的重要意义
NVMe SSD作为存储IO设备,在AI训练等高性能应用场景正全面取代传统SAS、SATA硬盘,其读写性能已经达到7GB/s水平,并向速度更快的14GB/s快速进发,容量方面更是在短短数年间提高了数十倍,让更大规模的训练数据可以保存其中。
GPU是当前AI训练、AI推理普遍使用的算力芯片。相较于数年前行业使用的Tesla、TITAN等GPU,最新的A100、H100算力水平(FP16、FP8)已经提升了数百倍,结合DPU、IB网卡、Magnum IO等软硬件的支持与优化,为AI训练、专业渲染、自动驾驶、科学计算、医疗、视频分析等前沿应用全面加速。
为验证高性能NVMe SSD在AI应用中的价值,我们联合某AI行业合作伙伴,基于GPU训练平台和Magnum IO中的GPUDirect Storage(简称“GDS”)技术,使用8片容量为7.68TB的PBlaze6 6930系列PCIe 4.0企业级NVMe SSD进行了相关测试,结果如下。
GDS——通过利用GPU和NVMe SSD中的DMA(Direct Memory Access)引擎,让NVMe SSD可以直接读写GPU专用内存(通常我们更习惯称之为“显存”),而不再需要经过CPU和系统内存中的反弹缓冲区(Bounce Buffer),借此缩短IO路径,提高GPU的执行效率,降低系统内存消耗以及CPU占用。
- 系统空闲状态下,对比传统IO路径与GDS路径存储性能:随着IO队列深度增加,8片PBlaze6 6930系列SSD总的传输带宽增加。
- 得益于PBlaze6 6930系列SSD大压力下的出色表现,以及GPU在数据处理方面更强的性能,GDS在大压力下性能领先幅度更加明显,如,4KB小文件传输带宽可提升33%,延迟降低25%;而128KB、1024KB文件传输环节,传统路径和GDS路径存储性能均可完全发挥,接近50GB/s。
- 运行stressapptest将CPU、系统内存负载提高(2颗64核心CPU占用率为86%,内存带宽占用50%,达205GB/s),模拟在有其它计算密集型业务应用存在时,PBlaze6 6930仍然可以为AI训练提供的传输带宽。从结果看,虽然大量IO资源被占用,但PBlaze6 6930仍然可以为GPU提供系统空闲状态下50%以上的存储性能,其中,128KB、1024KB文件传输带宽可达系统闲时的75%以上。
如果说,GPUDirect Storage为AI工作负载提供了性能和响应时间优势,那么,PBlaze6 6930系列PCIe 4.0高性能企业级NVMe SSD则凭借其大压力下的出色性能,将GPUDirect Storage的存储性能提升到了新的高度,在极端应用情况下依旧可以为最为复杂的AI模型训练保驾护航。
专为AI等IO密集型应用设计的大容量NVMe SSD
PBlaze6 6930系列企业级SSD针对人工智能等IO密集型应用开发,有着高达1600K/680K IOPS的4K随机读/写性能,7.1GB/s和7.0GB/s的128K顺序读/写带宽,在多核计算、动态平滑技术、硬件多队列引擎、IO智能调度等算法深度优化下,无论负载压力如何,始终提供稳定出色的数据读写表现。结合高达30.72TB的单盘容量,为AI训练数据的收集、预处理、训练等任务提供充沛的存储性能与容量支撑。
如今,面向AI等高性能数字技术应用的全新一代GPU、CPU、InfiniBand网络均已悉数亮相,Memblaze的PCIe 5.0产品——PBlaze7 7940也是呼之欲出,以近乎翻倍的性能和更加丰富的企业级功能,继续为下一代计算平台与高性能业务应用加速!
参考材料:
- OpenAI Blog:Aligning Language Models to Follow Instructions
https://openai.com/blog/instruction-following/ - OpenAI Blog:ChatGPT: Optimizing Language Models for Dialogue
https://openai.com/blog/instruction-following/ - OpenAI Blog:Techniques for Training Large Neural Networks
https://openai.com/blog/techniques-for-training-large-neural-networks/ - 架构师技术联盟:ChatGPT背后的技术工作原理
https://mp.weixin.qq.com/s/Pz-gi55mPDLnAlyTL5HaGw - Microsoft announces new supercomputer, lays out vision for future AI work
https://news.microsoft.com/source/features/ai/openai-azure-supercomputer/ - NVIDIA Teams With Microsoft to Build Massive Cloud AI Computer
https://nvidianews.nvidia.com/news/nvidia-microsoft-accelerate-cloud-enterprise-ai