关键词:Transformer;PLM;SLM;NLM;LLM;Galactica;OPT;OPT-IML;BLOOM;BLOOMZ;GLM;Reddit;H100;H800;A100;A800;MI200;MI250;LaMA;OpenAI;GQA;RMSNorm;SFT;RTX 4090;A6000;AIGC;CHATGLM;LLVM;LLMs;GLM;AGI;HPC;GPU;CPU;CPU+GPU;英伟达;Nvidia;英特尔;AMD;高性能计算;高性能服务器;蓝海大脑;多元异构算力;大模型训练;通用人工智能;GPU服务器;GPU集群;大模型训练GPU集群;大语言模型;深度学习;机器学习;计算机视觉;生成式AI;ML;DLC;图像分割;预训练语言模型;AI服务器;GH200;L40S;HBM3e;Grace Hopper;gracehopper
摘要:本文主要介绍大模型的内部运行原理、我国算力发展现状。大模型指具有巨大参数量的深度学习模型,如GPT-4。其通过在大规模数据集上进行训练,能够产生更加准确和有创造性的结果。大模型的内部运行原理包括输入数据的处理、多层神经网络计算和输出结果生成。这些模型通常由数十亿个参数组成,需要庞大的计算资源和高速的存储器来进行训练和推理。
随着大模型的快速发展,我国在算力发展方面取得显著进展。近年来,我国投入大量资源用于高性能计算和人工智能领域研发,并建设一系列超级计算中心和云计算平台。这些举措不仅提升我国的科学研究能力,也为大模型训练和应用提供强大支持。我国算力发展已经进入全球领先行列,为推动人工智能发展奠定坚实的基础。
蓝海大脑大模型训练平台是蓝海大脑自主研发的高性能计算平台,专用于大模型训练和推理。该平台采用先进的硬件架构和优化的软件算法,可以提供高效的计算能力和存储能力。
近年来,在大规模语料上预训练 Transformer 模型产生了预训练语言模型(Pre-trained Language Model, PLM),在各类自然语言处理任务上展现强大的语言理解与生成能力。研究发现扩大模型规模可以提高模型能力,导致大规模语言模型(Large Language Model, LLM)的产生。当模型规模超过一定阈值后,这些大模型不仅性能大幅提升,还表现出小模型所不具备的语言学习能力。
LLM技术的快速进展改变了AI系统的研发与应用范式。本文回顾了近年来LLM技术的发展历程,同时总结了LLM的研发资源、存在的问题和未来方向。
一、引言
语言是人类独有的表达和交流能力,在儿童早期就开始形成并伴随一生不断发展变化。然而机器想要像人类一样自然地掌握理解和使用语言的能力,必须配备强大的人工智能算法。实现机器拥有类似人类阅读、写作和交流能力是一个长期的研究挑战。
从技术上讲,语言建模是提高机器语言智能的主要方法之一。语言建模通常是对词序列生成概率进行建模,以预测未出现的词语。语言建模研究在学术界受到广泛关注。其发展可分为四个主要阶段:
1、统计语言模型 (SLM)
SLM(Statistical Language Model)在20世纪90年代兴起,基于统计学习方法,通过马尔可夫假设来建立词预测模型。其具有固定上下文长度 n 的 SLM 也称为 n 元语言模型,例如 bigram 和 trigram 语言模型。广泛应用于信息检索和自然语言处理,但经常面临维数灾难的困扰。因此需要专门设计平滑策略,如回退估计和古德图灵估计已被引入以缓解数据稀疏问题。
2、神经语言模型 (NLM)
自然语言处理领域中,循环神经网络(RNN)等神经网络模型被广泛应用于描述单词序列的概率。早期工作引入了词的分布式表示概念,并基于分布式词向量来构建词预测函数,作为该领域的重要贡献。后续研究扩展了学习词语和句子有效特征的思路,开发出通用的神经网络方法,为各类自然语言处理任务建立统一的解决方案。另外,word2vec提出使用简化的浅层神经网络来学习分布式词表示,这些表示在多种自然语言处理任务中展现出非常有效。以上研究将语言模型应用于表示学习领域,而不仅限于词序列建模,对自然语言处理产生了深远影响。
3、预训练语言模型 (PLM)
PLM通过在大规模语料上预训练获取语义表示,然后微调到下游任务。Transformer等结构的引入极大提高了性能。“预训练-微调”成为自然语言处理的重要范式。
4、大语言模型 (LLM)
大语言模型继续扩大模型和数据规模,展示出小模型所不具备的强大语言能力。GPT-3等模型表现出惊人的上下文学习能力。ChatGPT成功地将大语言模型应用到开放领域对话。
相比预训练语言模型(PLM),大语言模型(LLM)有三大关键区别:
1)LLM展现出PLM不具备的惊人涌现能力,使其在复杂任务上表现强大
2)LLM将改变人类开发和使用AI系统的方式,需要通过提示接口访问
3)LLM的研究和工程界限不再明确。LLM技术正在引领AI、自然语言处理、信息检索和计算机视觉等领域的变革,基于LLM的实际应用生态正在形成。
但是,LLM的内在原理与关键因素还有待进一步探索,训练大规模的LLM非常困难,将LLM与人类价值观保持一致也面临挑战。因此需要更多关注LLM的研究和应用。
二、概述
下面将概述大语言模型(LLM)的背景,并概括GPT系列模型的技术演进历程。
1、大语言模型的背景
大语言模型(LLM)通常指在大规模文本数据上训练的、包含数千亿级(或更多)参数的Transformer结构语言模型,比如GPT-3、PaLM、Galactica、LLaMA和LLaMA2等。LLM展示了强大的语言理解能力和通过文本生成解决复杂任务的能力。为快速理解LLM的工作原理,下面将介绍LLM的基本背景,包括扩展法则、涌现能力和关键技术。
1)大语言模型的扩展法则
目前大语言模型主要建立在Transformer架构之上,其中多头注意力机制层堆叠在非常深的神经网络中。现有的大语言模型采用类似的Transformer结构和与小型语言模型相同的预训练目标(如语言建模),但是大语言模型大幅扩展模型规模、训练数据量和总计算量(数量级上的提升)。大量研究表明扩展规模可以显著提高语言模型的能力。因此,建立一个定量的方法来描述扩展效应很有意义。
KM扩展法则:2020年OpenAI团队首次提出神经语言模型的性能与模型规模、数据集规模和训练计算量之间存在幂律关系。在给定计算预算下,根据实验提出三个公式来描述扩展法则。
这里L是用自然对数表示的交叉熵损失。上述三个规律是通过拟合不同数据量、不同模型大小和不同训练计算量条件下的语言模型性能得出。结果表明模型性能与这三个因素存在非常强的依赖关系。
Chinchilla扩展法则:Google DeepMind团队提出了另一种替代的扩展法则形式,用于指导大语言模型的最优训练计算量。通过变化更大范围的模型规模和数据量进行严格的实验,并拟合出一个类似的扩展法则,但具有不同的系数:
在该法则中E、A、B、α和β为经验确定的系数。研究人员进一步在训练计算量约束C ≈ 6ND的条件下,通过优化损失函数L(N,D)展示如何最优地在模型规模和数据量之间分配计算预算的方法。
这里G是根据系数A、B、α和β计算得到的扩展系数。如文献分析随着给定计算预算的增加,KM扩展法则更倾向于将预算分配给模型规模,而Chinchilla扩展法则认为应该以相近的比例增加模型和数据规模。尽管存在一些局限性假设,这些扩展法则提供了对扩展效应的直观理解,可以用于训练过程中预测语言模型的性能。但是一些能力(如上下文学习)无法完全根据扩展法则预测,只有模型超过一定规模后才会出现。
大语言模型的关键特征之一是展现出预训练语言模型所不具备的涌现能力,即只有模型达到一定规模后才出现的全新能力。当涌现能力出现时,性能会突然显著提升,超过随机水平,类似于物理学中的相变现象。涌现能力可以与复杂任务相关,需要关注那些能广泛解决任务的通用能力。下面简要介绍大语言模型的三种典型涌现能力和相关的代表性模型。
上下文学习:GPT-3首次提出这种能力,即只需要提供语言指令和少量示例,模型就可以生成预期的输出,无需额外训练。但这个能力与模型规模相关,需要达到一定参数量才会出现。
指令遵循:通过指令微调,大语言模型可以在完全未见过的任务上,仅根据语言描述就进行泛化。当模型超过680亿参数后,这种能力才会显著提升。不同模型对这种能力的掌握也有差异。
逐步推理:小模型难以解决需要多步推理的复杂任务,而大语言模型可以通过提供中间推理步骤的思维链提示来完成这类任务。当模型超过600亿参数时,这种提示带来的效果才会显著。不同任务对这种能力的依赖程度也不同。
2)大语言模型的关键技术
经过长期发展大语言模型(LLM)进化到目前通用且具备强大能力的阶段。主要技术进展包括:
扩展:增加模型、数据规模以及训练计算量,可以显著提升LLM的能力。合理利用扩展定律指导资源分配也很重要。
训练:分布式训练算法对成功训练大模型至关重要。一些优化框架和技巧可以促进大规模分布式训练。
能力引导:设计恰当的提示策略可以激发LLM的潜在能力,但对小模型效果可能不同。
对齐微调:通过人机交互的强化学习,使LLM生成内容符合人类价值观。
工具操作:利用外部工具弥补LLM的局限,类似其“眼睛和耳朵”,可以扩展能力范围。
此外,许多其他因素(例如硬件升级)也对 LLM 的成功 做出了贡献。但是,我们主要讨论在开发 LLM 方面的主要技 术方法和关键发现。
2、GPT 系列模型的技术演进
ChatGPT因其与人类交流的出色能力受到广泛关注。它基于功能强大的GPT模型开发,对话能力得到了专门的优化。考虑到人们对ChatGPT和GPT模型的浓厚兴趣,本文特别总结了GPT系列模型在过去几年中的技术演进过程,以提高大众的理解。总得来说OpenAI在大语言模型研究上经历了以下几个阶段:
1)早期探索
根据OpenAI联合创始人Ilya Sutskever的采访,在OpenAI早期就已经探索过使用语言模型实现智能系统的想法,但当时试验的是循环神经网络(RNN)。随着Transformer架构的出现,OpenAI开发出了两个早期GPT模型:GPT-1和GPT-2,这些模型可以视为后来更强大的GPT-3和GPT-4的基础。
GPT-1:在2018年,OpenAI基于当时新的Transformer架构,开发出第一个GPT模型。GPT-1采用Transformer解码器结构,并使用无监督预训练和有监督微调的方法,为后续GPT模型奠定基础。
GPT-2:GPT-2在GPT-1的基础上增加了参数量,达到150亿,使用更大规模的网页数据集进行训练。通过无监督语言建模来完成下游任务,而不需要标注数据的显式微调。
2)能力飞跃
尽管GPT-2旨在通过无监督训练成为通用的多任务学习器,但与有监督微调的当前最优方法相比,其性能仍较弱。虽然GPT-2模型规模较小,经过微调后在下游任务尤其是对话任务中仍然取得广泛应用。在GPT-2的基础上,GPT-3通过扩大模型规模,实现了在类似生成式预训练架构下的重大能力飞跃。
在2020年发布的GPT-3将模型规模进一步扩大到1750亿参数。GPT-3论文正式提出上下文学习(In-Context Learning, ICL)的概念,即用小样本或零样本的方式使用语言模型。ICL本质上仍然是语言建模,只是预测的是完成给定任务的文本输出。GPT-3不仅在NLP任务上表现强劲,在需要推理的任务上也展现出惊人的适应能力。尽管GPT-3论文没有明确讨论涌现能力,但可以观察到其性能飞跃可能超越了基本的规模扩展法则,标志着从预训练语言模型到大语言模型的重要进化。
3)能力增强
GPT-3成为OpenAI开发更强大语言模型的基础,主要通过两种方式进行改进:
使用代码数据进行训练:原始GPT-3在纯文本上训练,推理能力较弱。使用GitHub代码微调可以增强其编程和数学问题解决能力。
与人类对齐:OpenAI早在2017年就开始研究如何从人类偏好中学习。他们使用强化学习方法训练语言模型以符合人类期望。不仅提高了指令遵循能力,也能减轻有害内容生成。通过人机交互强化学习对齐语言模型与人类价值观非常重要。
4)语言模型的重要里程碑
基于之前的探索,OpenAI取得两个重要进展:ChatGPT和GPT-4,极大地提升AI系统的能力:
ChatGPT:2022年11月发布是对话优化的GPT模型,训练方式类似InstructGPT。展现出与人交流的卓越能力和丰富知识,是目前最强大的聊天机器人,对AI研究影响重大。
GPT-4:2023年3月发布,支持多模态输入,相比GPT-3.5有显著提升,在各类困难任务上优于ChatGPT。通过迭代对齐,对恶意问题的响应也更安全。OpenAI采用各种策略减轻潜在风险。
尽管取得长足进步,这些语言模型仍存在局限,需要持续优化使其更强大和安全。OpenAI采用迭代部署策略来控制风险。
三、大语言模型资源
鉴于训练大语言模型面临的技术难题和计算资源需求,从零开始开发或复现大语言模型非常困难。一个可行的方法是在现有语言模型的基础上进行增量开发或实验研究。下面简要总结用于开发大语言模型的公开可用资源,包括公开的模型Checkpoint、语料库和代码库。
1、公开可用的模型检查点或API
考虑到预训练模型的高昂成本,公开的预训练检查点对研究组织开展大语言模型至关重要。参数规模是使用这些模型时需要考虑的关键因素。为帮助用户根据计算资源选择适当的研究方向,将公开的模型分为百亿和千亿参数两个级别。另外,公开的API可以直接使用模型进行推理,无需本地运行。下面介绍公开的模型检查点和API。
1)百亿参数量级别的模型
百亿参数量级的公开语言模型包括mT5、PanGu-α、T0、GPT-NeoX-20B、CodeGen、UL2、Flan-T5 和 mT0等,参数规模在100-200亿之间。其中Flan-T5可用于指令微调研究,CodeGen专为生成代码设计,mT0支持多语言。针对中文任务,PanGu-α表现较好。LLaMA是最近公开的模型,在指令遵循任务上展现卓越能力。这类规模的模型通常需要数百至上千个GPU/TPU。为准确估计所需计算资源,可使用计算量指标如FLOPS。
2)千亿参数量级别的模型
千亿参数量级的公开语言模型较少,主要有OPT、OPT-IML、BLOOM、BLOOMZ、GLM和Galactica。其中OPT用于复现GPT-3,BLOOM和BLOOMZ在多语言建模上表现较好,OPT-IML进行过指令微调。这类模型通常需要数千个GPU/TPU,比如OPT使用992个A100 GPU,GLM使用了96个DGX-A100节点。
3)大语言模型的公共API
相比直接使用模型,API提供更方便的方式使用大语言模型,无需本地运行。GPT系列模型的API已经被广泛使用,包括ada、babbage、curie、davinci等。其中davinci对应GPT-3最大模型。此外还有与Codex相关的代码生成API。GPT-3.5系列新增text-davinci-002等接口。gpt-3.5-turbo-0301对应ChatGPT。最近,GPT-4的API也发布。总体来说,接口选择取决于具体应用场景和响应需求。
2、常用语料库
与小规模预训练语言模型不同,大语言模型需要更大量且内容广泛的数据进行训练。为满足这一需求,越来越多的公开数据集被发布用于研究。这里简要概述一些常用的大语言模型训练语料库,根据内容类型分为六类:Books、CommonCrawl、Reddit Links、Wikipedia、Code、Others。
1)Books
BookCorpus包含超过1.1万本电子书,覆盖广泛的主题,被早期小规模模型如GPT和GPT-2使用。Gutenberg语料包含超过7万本各类文学作品,是目前最大的公开书籍集合之一,被用于训练MT-NLG和LLaMA等模型。而GPT-3中使用的未公开的Books1和Books2数据集规模更大。
2)CommonCrawl
CommonCrawl是最大的开源网络爬虫数据库之一,已被广泛运用于大型语言模型训练。现有基于CommonCrawl的过滤数据集包括C4、CC-Stories、CC-News和RealNews。C4包括五个变种18,即 en,en.noclean ,realnewslike ,webtextlike 和 multilingual。其中,en 版本被用于预训练 T5, LaMDA,Gopher和 UL2用于预训练多个模型;CC-Stories和CC-News是CommonCrawl数据的子集,包含故事形式的内容;RealNews也被用作预训练数据。
3)Reddit Links
Reddit是一个社交媒体平台,用户可以在上面提交链接和帖子。WebText是一个著名的基于Reddit的语料库,由Reddit上高赞的链接组成。OpenWebText是易于获取的开源替代品。PushShift.io是一个实时更新的数据集,包括自Reddit创建以来的历史数据。提供有用的实用工具,支持用户搜索、总结和对整个数据集进行初步统计分析。用户可以轻松地收集和处理Reddit数据。
4)Wikipedia
Wikipedia是一个在线百科全书,包含大量高质量的文章,涵盖各种主题。采用解释性写作风格并支持引用,覆盖多种不同语言和广泛的知识领域。Wikipedia英语版本被广泛应用于大多数LLM(如GPT-3、LaMDA和LLaMA),还提供多种语言版本,可在多语言环境下使用。
5)Code
收集代码数据的主要来源是从互联网上爬取有开源许可证的代码,包括开源许可证的公共代码库(如GitHub)和与代码相关的问答平台(如StackOverflow)。Google公开发布BigQuery数据集,包含各种编程语言的大量开源许可证代码片段,是典型的代码数据集。CodeGen使用的BIGQUERY是BigQuery数据集的一个子集,用于训练多语言版本的CodeGen-Multi。
6)Others
The Pile是一个大规模、多样化的开源文本数据集(超过800GB数据),包含书籍、网站、代码、科学论文和社交媒体平台等内容。由22个高质量的子集组成,被广泛应用于不同参数规模的模型中,如 GPT-J(6B)、CodeGen(16B)和 Megatron-Turing NLG(530B)。此外,ROOTS是由各种较小的数据集组成的大型语料库,覆盖59种不同的语言,用于训练BLOOM。
为了预训练LLM,通常需要混合使用不同的数据源,如C4、OpenWebText和The Pile等,并从相关源(如Wikipedia和BigQuery)提取数据以丰富预训练数据中的相应信息。为快速了解现有 LLM 使用的数据来源,下面介绍三个代表性 LLM 的预训练语料库:
GPT-3(175B)在混合数据集上进行训练,包括 CommonCrawl、WebText2、Books1、Books2 和 Wikipedia。
PaLM(540B)使用由社交媒体对话、过滤后的网页、书籍、Github、多语言维基百科和新闻组成的预训练数据集,共包含 7800 亿 token。
LLaMA从多个数据源中提取训练数据,包括 CommonCrawl、C4、Github、Wikipedia、书籍、ArXiv 和 StackExchange。LLaMA(6B)、LLaMA(13B)和 LLaMA(32B)的训练数据大小为 1.0 万亿 token,而 LLaMA(65B)使用了 1.4 万亿 token。
3、代码库资源
在这部分,简要介绍一些可用于开发 LLM 的代码库。
1)Transformers
Transformers 是一个由 Hugging Face 开发的 Python 库,采用 Transformer 架构。提供简单易用的 API,方便用户定制各种预训练模型。该库拥有庞大活跃的用户和开发者社区,定期更新和改进模型和算法。
2)DeepSpeed
Microsoft 开发的深度学习优化库(兼容 PyTorch),已被用于训练多个 LLM,例如 MT NLG 和 BLOOM。支持分布式训练优化技术,如内存优化(ZeRO 技术和梯度检查点)和管道并行。
3)Megatron-LM
NVIDIA 开发的深度学习库,用于训练LLM。提供分布式训练优化技术,如模型和数据并行、混合精度训练和FlashAttention,可提高训练效率和速度,实现高效分布式训练。
4)JAX
Google 开发的 Python 库,用于高性能机器学习算法运算。支持在硬件加速下进行数组高效运算,可在各种设备上进行高效计算,还支持自动微分和即时编译等特色功能。
5)Colossal-AI
HPC-AI Tech开发的深度学习库,用于训练大规模人工智能模型。基于 PyTorch 实现,支持并行训练策略和 PatrickStar 方法优化异构内存管理。最近发布 ColossalChat 类 ChatGPT 模型(7B 和 13B 版本)。
6)BMTrain
OpenBMB 开发的分布式训练库,强调简洁代码、低资源占用和高可用性。BMTrain 已在其 ModelCenter 中迁移常见 LLM(如 Flan T5 和 GLM),用户可直接使用。
7)FastMoE
FastMoE是一种专门用于MoE模型的训练库,基于PyTorch开发,注重效率和用户友好性。简化了将Transformer模型转换为MoE模型的过程,支持数据和模型并行训练。
除了上述深度学习框架提供的资源外,其他框架如PyTorch、TensorFlow、MXNet、PaddlePaddle、MindSpore 和OneFlow也提供并行算法支持,通常用于训练大规模模型。
四、数据收集
LLM 需要高质量数据进行预训练,其模型能力也依赖预处理方式和预训练语料库。下面主要讨论预训练数据的收集和处理,包括数据来源、预处理方法以及对 LLM 性能的影响分析。
1、数据来源
开发有能力的LLM关键在于收集大量自然语言语料库。现有LLM混合各种公共文本数据集作为预训练语料库,来源分为通用文本和专用文本。通用文本数据(如网页、书籍和对话文本等)规模大、多样性强且易于获取,被大多数 LLM 所利用,可增强其语言建模和泛化能力。专用数据集(如多语言数据、科学数据和代码等)可赋予 LLM 解决专用任务的能力。
1)通用文本数据
通用预训练数据是LLM模型中不可或缺的部分,提供丰富的文本资源和多样的主题。其中,三种重要的通用文本数据包括网页、对话文本和书籍。
网页包括维基百科、新闻网站等,但需要过滤低质量内容。为提高数据质量,研究人员通常使用网络爬虫工具从互联网上抓取大量数据,如CommonCrawl。这些数据可能同时包含高质量和低质量的文本,因此需要进行过滤和处理。
对话文本可以增强 LLM 的对话能力和问答任务的表现。研究人员可以利用公共对话语料库的子集或从在线社交媒体收集对话数据。由于对话数据通常涉及多个参与者之间的讨论,因此一种有效的处理方法是将对话转换成树形结构,将每句话与回应它的话语相连。通过这种方式,可以将多方之间的对话树划分为预训练语料库中的多个子对话。但是,过度引入对话数据可能会导致指令错误地被认为是对话的开始,从而降低指令的有效性。
书籍是另一种重要的通用文本数据来源,相对于其他语料库,书籍提供更正式的长文本。这对于LLM学习语言知识、建模长期依赖关系以及生成叙述性和连贯的文本具有潜在的好处。现有的开源数据集包括Books3和Bookcorpus2,这些数据集可以在Pile数据集中获得。
2)专用文本数据
专用数据集对提高LLM在特定任务中的能力非常有用。三种专用数据类型包括多语言文本、科学文本和代码。
• 多语言文本:整合多语言语料库可以增强模型的多语言理解和生成能力。例如,BLOOM和PaLM在其预训练语料库中收集包含46种和122种语言的多语言数据,这些模型在多语言任务中展现出色的性能,如翻译、多语言摘要和多语言问答,并且与在目标语言上微调的最先进的模型具有可比性甚至更好的性能。
• 科学文本:科学出版物的不断增长见证了人类对科学的探索。为增强LLM对科学知识的理解,可以将科学语料库纳入模型的预训练语料,通过在大量科学文本上进行预训练,LLM可以在科学和推理任务中取得出色的性能。现有的工作主要收集arXiv 论文、科学教材、数学网页和其他相关的科学资源。由于科学领域数据的复杂性,例如数学符号和蛋白质序列,通常需要特定的标记化和预处理技术来将这些不同格式的数据转换为可以被语言模型处理的统一形式。
• 代码:程序编写在学术界和PLM应用中受到广泛关注,但生成高质量和准确的程序仍具有挑战性。最近研究显示,在大量代码语料库上预训练LLM可以提高编程质量,通过单元测试用例或解决竞赛编程问题。预训练LLM的代码语料库主要有两种来源:编程问答社区和开源软件仓库。与自然语言文本不同,代码以编程语言格式呈现,对应着长距离依赖和准确的执行逻辑。最近研究表明,训练代码可能是复杂推理能力的来源,并且将推理任务格式化为代码的形式还可以帮助 LLM 生成更准确的结果。
2、数据预处理
收集大量文本数据后,对数据进行预处理是必要的,特别是消除噪声、冗余、无关和潜在有害的数据,因为这些数据可能会影响 LLM 的能力和性能。下面将回顾提高数据质量的数据预处理策略。预处理 LLM 的预训练数据的典型流程已在图中说明。
1)质量过滤
为删除低质量数据,现有工作通常采用基于分类器或基于启发式的方法。基于分类器的方法使用高质量文本训练分类器,并预测每个数据的分数,从而过滤低质量数据。但这些方法可能会删除方言、口语和社会语言的高质量文本,导致偏见和减少多样性。基于启发式的方法则通过设计一组规则来消除低质量文本,这些规则可以总结为:去除重复、无关或不完整的文本;去除拼写错误、语法错误或非常规用词的文本;去除缺乏上下文信息的文本等。
2)去重
现有研究发现,语料库中的重复数据会影响模型多样性和训练过程稳定性,因此需要对预训练语料库进行去重处理。具体而言,可以在句子级、文档级和数据集级等不同粒度上去重。在句子级别上,应删除包含重复单词和短语的低质量句子;在文档级别上,可通过检测重叠比率来删除相似内容的重复文档;同时,还需防止训练集和评估集之间的重叠。这三个级别的去重都有助于改善 LLM 的训练,应该共同使用。
3)隐私去除
大多数预训练文本数据来自网络来源,包括用户生成内容涉及敏感或个人信息,可能增加隐私泄露风险。因此,需要从预训练语料库中删除可识别个人信息(PII)。一种直接有效的方法是采用基于规则的方法,例如关键字识别,来检测和删除 PII 等敏感信息。此外,研究人员还发现,LLM 在隐私攻击下的脆弱性可能归因于预训练语料库中存在的重复 PII 数据。因此,去重也可以降低隐私风险。
4)分词
分词是数据预处理的关键步骤,将原始文本分割成词序列,作为 LLM 的输入。虽然已有的分词器方便,但使用专为预训练语料库设计的分词器更有效,特别是对于多领域、语言和格式的语料库。最近的几个LLM使用SentencePiece为预训练语料库训练定制化的分词器,并利用BPE算法确保信息不会丢失。但需要注意归一化技术可能会降低分词性能。
3、预训练数据对大语言模型的影响
与小规模的PLM不同,大规模LLM通常无法进行多次预训练迭代,因此在训练之前准备充分的预训练语料库非常重要。下面将探讨预训练语料库的质量、分布等因素如何影响LLM的性能。
1)混合来源
来自不同领域或场景的预训练数据具有不同的语言特征或语义知识,混合不同来源的数据时需要仔细设置预训练数据的分布。Gopher实验表明增加书籍数据比例可以提高模型从文本中捕捉长期依赖的能力,增加C4数据集比例则会提升在C4验证数据集上的性能。但单独训练过多某个领域的数据会影响LLM在其他领域的泛化能力。因此,建议研究人员应确定预训练语料库中来自不同领域的数据的比例,以开发更符合需求的 LLM。
2)预训练数据的数量
为预训练一个有效的 LLM,收集足够的高质量数据很重要。现有研究发现,随着 LLM参数规模的增加,需要更多的数据来训练模型。许多现有的LLM由于缺乏充足的预训练数据而遭受次优训练的问题。通过广泛的实验表明,在给定的计算预算下,采用相等规模的模型参数和训练token是必要的。LLaMA 研究表明,使用更多的数据和进行更长时间的训练,较小的模型也可以实现良好的性能。因此,建议研究人员在充分训练模型时,关注高质量数据的数量。
3)预训练数据的质量
研究表明,对低质量的语料库进行预训练可能会损害模型性能。为了开发表现良好的 LLM,收集的训练数据的数量和质量都至关重要。最近的研究已经表明数据质量对下游任务性能的影响。通过比较在过滤和未过滤的语料库上训练的模型的性能,得到了相同的结论,即在清理后的数据上预训练LLM可以提高性能。更具体地说,数据的重复可能会导致“双下降现象”,甚至可能会使训练过程不稳定。此外,重复的数据会降低 LLM 从上下文中复制的能力,进一步影响 LLM 在 ICL 中的泛化能力。因此,研究人员有必要仔细地对预训练语料库进行预处理来提高训练过程的稳定性,并避免其对模型性能的影响。
五、大语言模型的适配微调
预训练后的LLM可以获得解决各种任务的通用能力,LLM 的能力可以进一步适配到特定的目标。下面将介绍两种适配预训练后的 LLM 的方法:指令微调和对齐微调。前者旨在增强 LLM 的能力,后者则旨在将LLM的行为与人类价值观或偏好对齐。
1、指令微调
指令微调是在自然语言格式的实例集合上微调预训练后的 LLM 的方法。收集或构建指令格式的实例后,使用有监督的方式微调LLM,例如使用序列到序列的损失进行训练。微调后LLM 可以展现出泛化到未见过任务的能力,即使在多语言场景下也有不错表现。
1)格式化实例的构建
指令格式的实例包括任务描述、输入输出和示例。现有研究已经发布带标注的自然语言格式的数据,是重要的公共资源。
格式化已有数据集:早期的几项研究工作是在不同领域收集实例,创建有监督的多任务训练数据集以进行多任务学习。即利用人类撰写的自然语言任务描述来为这些数据集添加格式化,以指导语言模型理解不同的任务。例如,每一个问答任务都添加了"请回答以下问题"的描述。指令被证明是影响语言模型任务泛化能力的关键因素。为了指令调优生成更好的标注数据,一些工作采用逆向输入输出的方法,即反转已有的输入输出设计指令。还有一些工作利用启发式模板将大量无标注文本转换为带标注的实例。
格式化人类需求:尽管已经通过添加指令格式化了大量训练数据,但这些数据主要来自公共NLP数据集,缺乏多样性和与真实需求的匹配。为了解决这个问题,一些工作采用了用户提交给OpenAI API的真实查询作为任务描述。这些用自然语言表达的查询很适合引导语言模型遵循指令的能力。此外,还让标注者为真实生活中的任务编写各种指令,如开放式生成、问答、头脑风暴和聊天等。然后让其他标注者直接根据这些指令作为输出进行回答。最后,将指令和期望输出配对作为一个训练实例。值得注意的是,这些真实世界任务还被用于对齐微调。另外一些工作将现有实例输入语言模型生成指令和数据,以减轻人工标注的负担,构建更多样性的训练数据。
构建实例的关键因素:指令实例的质量对模型的性能有重要影响。在此讨论了一些实例构建中的关键因素。
增加指令数量:大量研究结果表明,扩充任务数量可以显著提高大语言模型的泛化能力。随着任务数量的增加,模型性能一开始持续提高,但当任务数量达到一定水平后,模型性能提升变得微乎其微。一个合理的猜想是,一定数量的代表性任务就可以提供相对充足的知识,继续添加更多任务收益有限。此外,从任务描述的长度、结构、创造性等多个维度增强任务的多样性也是有益的。关于每个任务需要的实例数量,已有研究发现少量实例通常就可以使模型达到泛化性能饱和。然而,对某些任务大幅增加实例数量(例如数百个)可能会导致过拟合,影响模型性能。
指令格式的设计也很重要:通常可以在输入输出对中添加任务描述和示例。适当数量的示例有助于模型理解,也降低了对指令工程的敏感性。但是过多无关内容的添加反而可能适得其反。含有链式推理的指令可以提高模型的推理能力。
2)指令微调策略
与预训练不同,指令微调由于只需要少量实例进行训练,因此通常更加高效。指令微调可以视为一个有监督的训练过程,其优化过程与预训练存在一些区别,例如训练目标函数(如序列到序列的损失函数)和优化参数设置(如更小的批量大小和学习率)。这些细节在实践中需要特别注意。除了优化参数设置,指令微调还需要考虑以下两个重要方面:
数据分布平衡:由于涉及多种任务混合,需要平衡不同任务的数据比例。一种方法是将所有数据合并后按比例采样。通常会给高质量数据如FLAN更高的采样比例,并设置最大容量限制样本总数,防止大数据集占据采样集合。
结合预训练:一些方法在指令微调中加入预训练数,作为正则化。还有方法不分阶段,而是从头用多任务学习方式同时训练预训练数据和指令格式数据。一些模型也将指令数据作为预训练语料的一小部分来进行预训,以同时获得预训练和指令微调的优势。
3)指令微调的效果
指令微调对语言模型有以下两个主要影响:
性能改进:指令微调可以显著提高不同规模语言模型的能力,即使在小数据集上微调也有明显效果。微调过的小模型有时甚至优于原大模型。指令微调提供了一种提升现有语言模型能力的通用高效方法。
任务泛化:指令微调赋予模型遵循人类自然语言指令完成任务的能力,即使是未见过的任务也可以泛化执行。已证实它能增强模型在见过和未见过任务上的表现。指令微调还能帮助缓解语言模型的一些弱点,提高解决真实世界任务的能力。经微调的模型可以将英文任务的能力泛化到其他语言相关任务上,甚至只用英文指令就能取得可满意的多语言任务表现。
2、对齐微调
这部分首先介绍对齐微调的背景,包括定义和评估标准;然后重点讨论用于对齐语言模型的人类反馈数据的收集方法;最后探讨利用人类反馈进行强化学习以实现对齐微调的关键技术。
1)对齐微调的背景和标准
语言模型在许多自然语言处理任务上展示了强大的能力,但有时也可能表现出不符合预期的行为,如生成虚假信息、追求不准确的目标以及产生有害、误导或带有偏见的输出。预训练语言模型的目标是语言建模,没有考虑到人类的价值观,因此需要进行对齐微调以使模型行为符合人类期望。
对齐微调的标准与预训练和其他微调不同,更加主观和复杂,如有用性、诚实性和无害性。这些标准难以直接作为优化目标,需要采用特定的技术实现。有用性要求模型用简明高效的方式解决用户的问题和回答问题,并展示提出恰当问题获取更多信息的能力。定义和测量有用性具有挑战性;诚实性要求提供准确内容而不捏造,需要传达不确定性。相对更客观,依赖人力可能更少;无害性要求不生成冒犯或歧视语言,检测并拒绝恶意请求,依赖于使用背景。
2)人类反馈的收集
选择合适的标注人员很重要,需要教育水平高、英语能力强的母语使用者,最好有相关学历。还需要评估标注员产出与研究人员预期的一致性,选择一致性最高的人员进行标注工作,并在标注过程中提供详细指导。主要有以下三种方法收集人类反馈:
基于排序的方法:让标注员对模型生成的多个候选输出结果进行排序,得到一个偏好排名,根据这个排名调整模型倾向排名较高的输出。相比只选择单个最佳输出,可以获取更丰富的偏好信息。
基于问题的方法:研究人员设计特定的问题,标注员需要回答这些问题对模型输出进行评估,问题设计需要覆盖各种对齐标准。可以获得比排序更详细的反馈信息。
基于规则的方法:研究人员制定一系列规则,测试模型输出是否违反这些规则,标注员需要对违反程度进行定量的规则评分。可以直接获得是否符合对齐标准的反馈。
强化学习是对齐微调中一个重要的技术,可以学习并优化模型根据人类反馈达到对齐标准。下面将详细讨论基于人类反馈的强化学习方法。
3)基于人类反馈的强化学习
为了确保 LLM 与人类价值观一致,人们提出了使用收集到的人类反馈数据对 LLM 进行微调的方法,称为 RLHF。这种方法采用强化学习算法(如 PPO),通过学习奖励模型使 LLM 适应人类反馈。这种方法将人类纳入训练循环中,以开发良好的 LLM,如 InstructGPT。
基于人类反馈的强化学习系统:PLM 通常是一个生成模型,使用现有的 PLM 参数进行初始化。奖励模型提供指导信号,反映人类对 LM (Language Model)生成文本的偏好。现有工作通常采用与要对齐的 LM(Language Model) 具有不同参数尺度的奖励模型。最后,为了使用来自奖励模型的信号优化 PLM,设计了一种特定的 RL 算法用于大规模模型的微调。具体来说,PPO 是一种在现有工作中广泛使用的 RL 对齐算法。
基于人类反馈的强化学习的关键步骤:
监督微调:收集包含输入提示和所需输出的监督数据集,对LM进行微调。例如,InstructGPT 要求人工标注者编写提示和期望输出。
训练奖励模型:使用人类反馈的数据训练RM,生成一定数量的输出文本,邀请人工标注员为这些输入-输出对标注偏好。最后,训练 RM 预测人类偏好的输出。
强化学习微调:将 LM 的对齐微调形式化为RL问题,其中策略由PLM给出,行动空间是LM的词表,状态是目前生成的 token 序列,奖励由RM提供。在奖励函数中加入惩罚项以避免偏离初始模型。
3、高效微调
本节将讨论如何对大模型(如 Transformer)进行高效微调。下面将回顾几种代表性的参数高效微调方法,并总结现有关于参数高效微调 LLM 的工作。
1)参数高效微调方法
Transformer语言模型参数高效微调的几种主要方法:
适配器微调:在Transformer模型中插入小型的适配器模块,可以压缩并映射特征向量。适配器可以串行或并行连接在注意力层和前馈层之后。在微调时只优化适配器参数,固定原始语言模型参数。
前缀微调:在每个Transformer层前面添加一组可训练的前缀向量,作为额外的任务特定参数。使用重参数化技巧学习映射前缀的小矩阵,而不是直接优化。只优化前缀参数以适配下游任务。
提示微调:在输入层加入软提示token,以嵌入的形式加到输入文本中。只优化提示嵌入来适配特定任务。利用提示的自由格式设计。
低秩适配:用低秩分解矩阵来近似每层的网络参数更新矩阵。固定原始参数,只训练低秩分解中的两小型可适配矩阵。
各方法优势不同,但共同点是只优化很少的参数来适配下游任务,固定语言模型大部分参数,实现参数高效的微调。
2)大语言模型上的参数高效微调
随着大语言模型(LLM)的兴起,研究者们越来越关注高效微调方法,以开发更轻量级适用于各种下游任务的适配方法。其中,LoRA方法在开源LLM(如LLaMA和BLOOM)中得到广泛应用,用于实现参数高效微调。LLaMA及其变体因其参数高效微调而备受关注。例如,Alpaca-LoRA是Alpaca的轻量级微调版本,Alpaca是一个经过微调的70亿参数的LLaMA模型,包含5.2万个人类指示遵循演示。对于Alpaca-LoRA,已经在不同语言和模型大小方面进行了广泛的探索。
此外,LLaMA-Adapter方法在每个Transformer层中插入可学习的提示向量,其中提出了零初始化的注意力,以减轻欠拟合提示向量的影响,从而改善训练效果。此方法还被扩展到多模态设置,如视觉问答。
六、总结与未来方向
理解和解释语言模型的涌现能力是一个重要而又有挑战的问题。随着模型规模的扩大,像链式推理这样的能力会突然出现,但其机制还不清楚。探索涌现能力的影响因素和理论解释是当前的研究热点。然而,更多正式的理论和原理还需建立,比如从复杂系统的角度解释语言模型。解读语言模型的能力和行为仍是一个值得探讨的基本问题,也是发展下一代模型的关键所在。需要跨学科视角,以期获得更深入的理解和解释。
构建更高效的Transformer变体和减轻灾难性遗忘是未来改进语言模型架构的两个重要方向。由于标准自注意力复杂度高,需要探索更高效的注意力机制。另外,微调语言模型时原有知识很容易被新数据覆盖并遗忘。所以需要通过引入更灵活的机制或模块,支持模型进行数据更新和任务专用化,同时保留原有通用能力。扩展现有架构使其既适应新任务又不遗忘旧知识是语言模型面临的关键挑战。
尽管能力强大,大语言模型仍面临小模型类似的安全性挑战,如产生错误信息、被利用产生有害内容等。主要的对策是通过人类反馈进行对齐优化,但目前的强化学习方法严重依赖大量高质量人类标注。
随着大规模语言模型(LLM)在各种任务中展现出强大的能力,正在广泛应用于现实世界的各种应用中,包括遵循自然语言指令的特定任务。ChatGPT作为一个重要的进步,已经改变了人们获取信息的方式,并在"New Bing"发布中得到了体现。在不久的将来,可以预见LLM将对信息检索技术产生重大影响,包括搜索引擎和推荐系统。此外,智能信息助手的开发和使用将随着LLM技术的升级而得到广泛推广。从更广泛的视角来看,这一技术创新浪潮将形成一个以LLM为支持的应用生态系统,例如ChatGPT对插件的支持,与人类的生活息息相关。
为了推动算力基础设施建设,促进各行各业的数字化转型,工业和信息化部与宁夏回族自治区人民政府于8月18日至19日在宁夏银川举办了2023中国算力(基础设施)大会。该大会旨在持续推动数字经济与实体经济的深度融合,为高质量发展注入强劲动力。
一、AI 发展持续深化,带动算力基础设施建设加速推进
工信部近年来一直致力于推动算力基础设施建设,并持续加强算力顶层设计。他们发布了多项政策文件,如《“十四五”信息通信行业发展规划》和《新型数据中心发展三年行动计划》,以优化全国算力布局,推动算力基础设施建设和应用。工信部还计划根据算力行业的最新发展情况,出台政策文件,促进算力基础设施的高质量发展,提升算力供给能力。这些举措加速了算力基础设施建设,为数字经济的发展奠定了坚实的基础。
在2023中国算力大会上指出两个重要方面的发展需求。一方面,要增强自主创新能力,推动计算架构、计算方式和算法的创新,加强CPU、GPU和服务器等关键产品的研发,加快新技术和新产品的应用。另一方面,要加强算力相关软硬件生态系统的建设,提升产业基础的高级化水平,推动产业链上下游的协同发展,共同构建良好的发展生态。
截至2022年底,我国拥有超过650万架标准机架,总算力规模达到180EFLOPS,仅次于美国,存储总规模超过1000EB(1万亿GB)。在人工智能AI发展的浪潮下,我国不断加强CPU、GPU和服务器等关键产品的研发,算力发展的动能有望持续增强,国产算力产业链上下游有望共同迎来快速发展。
中国人工智能行业在2022年取得显著的进展,应用渗透度不断提高,应用场景也在不断拓宽,特别是在金融和电信等行业,人工智能的应用渗透度明显增加。智能客服、实体机器人、智慧网点和云上网点等场景的广泛应用,使金融行业的人工智能渗透率提高到62%;而电信行业的渗透度从45%增长到51%,人工智能技术为下一代智慧网络建设提供了重要支持。据国际数据公司(IDC)预测,到2023年年底,中国制造业供应链环节中将有50%采用人工智能技术。随着时间的推移,智能化场景在各行业的落地将呈现出更加深入、更加广泛的趋势。
随着大模型在人工智能领域的崛起,智能算力需求呈现几何级增长的趋势。中国的互联网巨头和科技巨头纷纷推出自主研发的大模型,如百度的文心大模型、华为的盘古大模型、阿里巴巴的通义大模型等。这些大模型具有数千亿甚至万亿级别的参数,需要大量高质量的训练数据以及庞大的算力支持。随着大模型的复杂性不断提高、数据规模的迅速增长以及应用场景的持续拓展和深化,智能算力的需求和规模必将在未来几年迎来爆发式增长。根据OpenAI的估算,自2012年以来,全球顶尖AI模型训练所需算力每3-4个月翻一番,每年的增长幅度高达10倍。
智能算力的规模正在持续扩大,同时建设算力基础设施已成为共识。根据IDC与浪潮信息联合发布的《2022-2023中国人工智能计算力发展评估报告》,中国的人工智能计算力将快速持续增长。截至2022年,中国的智能算力规模已达到268百亿亿次/秒(EFLOPS),预计到2026年,中国的智能算力规模将达到1271.4EFLOPS,未来五年的复合增长率预计为52.3%,而通用算力规模的复合增长率为18.5%。在国家层面上,已经启动了在8个地区建设国家算力枢纽节点的计划,并规划10个国家数据中心集群,以实现资源的有效整合,促进产业结构调整,构建更加健全的算力和算法基础设施。
二、算力需求与芯片能力存在剪刀差,AI 发展将对芯片性能提出更高要求
由于多样化的人工智能应用场景的需求,传统以CPU为主的通用计算能力已经不足以满足要求。因此,采用CPU与AI芯片(如GPU、FPGA、ASIC)组成的异构计算方案已成为当前和未来智能计算的主要解决方案。异构计算方案需要大量的AI芯片,这些芯片具有出色的并行计算能力和高互联带宽,能够最大化支持AI计算的效能。根据前瞻产业研究院的预测,中国的人工智能芯片市场规模将在2023年至2027年持续增长。到2024年,中国的人工智能芯片市场规模将突破1000亿元;到2027年,市场规模将达到2881.9亿元。
AI芯片算力竞赛正如火如荼地展开,各家公司纷纷推出新产品。在6月13日,AMD发布了全新的人工智能GPU Instinct MI300,并计划在今年晚些时候向一部分客户发货。这款处理器是AMD专为大型语言模型进行优化的版本,拥有惊人的1530亿个晶体管数量,192GB内存和5.2TB/s的内存带宽,以及896GB/s的Infinity Fabric带宽。而在8月8日,英伟达则宣布推出下一代NVIDIA GH200 Grace Hopper平台,这是全球首款配备HBM3e内存的GPU芯片。HBM3e内存将使下一代GH200在运行AI模型时速度比当前快3.5倍。这些高容量的GPU有助于降低AI训练成本。
行业龙头以欧美日等为主,国产化替代势在必行。根据中研普华产业研究院数据显示, 目前全球人工智能芯片行业前十以欧美韩日等企业为主,其中前三为 Nvidia、Intel 及 IBM。国内芯片企业如华为海思排 12 位,寒武纪排 23 位,地平线机器人排 24 位。当前竞争格局下,随着国内外大模型的加速发展及垂类融合,国内 AI 算力芯片厂商将迎来产业发展机会。
三、3方协同助力算力基础设施,深化构建“东数西算”工程
在2023年中国算力大会新闻发布会上,工业和信息化部副部长张云明介绍了近年来在构建高质量算力供给体系方面所取得的积极成果。为了提升算力基础设施的综合能力,各方积极合作,采取多种措施,取得了三个方面的积极成效。
1)算力发展规划政策相继出台,制度保障有力有效。工信部、发改委等部门联合印发了《全国一体化大数据中心协同创新体系算力枢纽实施方案》,并批复同意在8个地区建设10个国家算力枢纽节点。同时,还出台了《新型数据中心发展三年行动计划(2021-2023年)》,以持续优化全国算力的整体布局。
2)算力基础设施建设扎实推进,发展动能持续增强。为了支撑数字经济的发展,产业各方紧密协同,加快了基础设施建设、算力体系构建和绿色发展。从2018年开始,我国数据中心的机架数量年复合增长率超过30%。截至2022年底,标准机架数量超过650万架,总算力规模达到180EFLOPS,仅次于美国。同时,存储总规模超过1000EB(1万亿GB)。这些数据表明,我国在算力底座方面取得了显著的成就。
3)算力赋能传统产业转型升级,融合应用加速涌现。目前,我国的算力产业已经初步形成规模,并且产业链上的企业在中下游之间展开了协同合作,形成了良性互动。算力不仅成为传统产业转型升级的重要支撑点,还催生了一批新的经济增长点。根据中国信息通信研究院的测算,2022年我国算力核心产业规模达到了1.8万亿元。每投入1元的算力,将带动3至4元的GDP经济增长。这些数据表明,算力产业在我国的发展前景非常广阔,并具有巨大的经济潜力。
宁夏将扩大其算力枢纽的影响力,通过举办西部数字赋能大会和第二届“西部数谷”算力产业大会来实现。作为西部地区首个以数字赋能为主题的产业大会,首届“西部数谷”算力大会在2022年签约了24个项目,总投资金额达727亿元,目前已有18个项目开始实施。宁夏作为“东数西算”算力枢纽节点,在2023年6月已经建设了34.9万架的数据中心标准机架,互联网省际出口带宽达到20.6Tbps,网络水平在西部地区处于领先地位。
目前,算力结构以通算和存储业务为主,占比达到61%。国家正在推进“东数西算”工程,通过构建新型算力网络体系,将东部的算力需求有序引导到西部,优化数据中心建设布局,促进东西部的协同发展。8个国家算力枢纽节点将成为我国算力网络的关键连接点,推动数据中心集群的发展,促进数据中心与网络、云计算和大数据之间的协同建设,同时也是国家“东数西算”工程的战略支点,推动算力资源有序向西部转移。
蓝海大脑大模型训练平台提供强大的算力支持,包括基于开放加速模组高速互联的AI加速器。配置高速内存且支持全互联拓扑,满足大模型训练中张量并行的通信需求。支持高性能I/O扩展,同时可以扩展至万卡AI集群,满足大模型流水线和数据并行的通信需求。强大的液冷系统热插拔及智能电源管理技术,当BMC收到PSU故障或错误警告(如断电、电涌,过热),自动强制系统的CPU进入ULFM(超低频模式,以实现最低功耗)。致力于通过“低碳节能”为客户提供环保绿色的高性能计算解决方案。主要应用于深度学习、学术教育、生物医药、地球勘探、气象海洋、超算中心、AI及大数据等领域。
一、为什么需要大模型?
1、模型效果更优
大模型在各场景上的效果均优于普通模型
2、创造能力更强
大模型能够进行内容生成(AIGC),助力内容规模化生产
3、灵活定制场景
通过举例子的方式,定制大模型海量的应用场景
4、标注数据更少
通过学习少量行业数据,大模型就能够应对特定业务场景的需求
二、平台特点
1、异构计算资源调度
一种基于通用服务器和专用硬件的综合解决方案,用于调度和管理多种异构计算资源,包括CPU、GPU等。通过强大的虚拟化管理功能,能够轻松部署底层计算资源,并高效运行各种模型。同时充分发挥不同异构资源的硬件加速能力,以加快模型的运行速度和生成速度。
2、稳定可靠的数据存储
支持多存储类型协议,包括块、文件和对象存储服务。将存储资源池化实现模型和生成数据的自由流通,提高数据的利用率。同时采用多副本、多级故障域和故障自恢复等数据保护机制,确保模型和数据的安全稳定运行。
3、高性能分布式网络
提供算力资源的网络和存储,并通过分布式网络机制进行转发,透传物理网络性能,显著提高模型算力的效率和性能。
4、全方位安全保障
在模型托管方面,采用严格的权限管理机制,确保模型仓库的安全性。在数据存储方面,提供私有化部署和数据磁盘加密等措施,保证数据的安全可控性。同时,在模型分发和运行过程中,提供全面的账号认证和日志审计功能,全方位保障模型和数据的安全性。
三、常用配置
1、处理器,CPU:
Intel Xeon Gold 8358P 32C/64T 2.6GHz 48MB,DDR4 3200,Turbo,HT 240W
Intel Xeon Platinum 8350C 32C/64T 2.6GHz 48MB,DDR4 3200,Turbo,HT 240W
Intel Xeon Platinum 8458P 28C/56T 2.7GHz 38.5MB,DDR4 2933,Turbo,HT 205W
Intel Xeon Platinum 8468 Processor 48C/64T 2.1GHz 105M Cache 350W
AMD EPYC™ 7742 64C/128T,2.25GHz to 3.4GHz,256MB,DDR4 3200MT/s,225W
AMD EPYC™ 9654 96C/192T,2.4GHz to 3.55GHz to 3.7GHz,384MB,DDR5 4800MT/s,360W
2、显卡,GPU:
NVIDIA NVLink-A100-SXM640GB
NVIDIA HGX A800 8-GPU 80GB
NVIDIA Tesla H800 80GB HBM2
NVIDIA A800-80GB-400Wx8-NvlinkSW×8