统一诸侯 – 大模型时代
GPT-4:” 这个时代,是大模型的时代,我说的。”(bushi)
现在的 ChatGPT 已经是基于 GPT-4 的大门面了。GPT-4 因为惧怕于其竞争对手的快速反应,其实大部分技术细节都是封闭的。但是从其功能上,已经看出 GPT 家族统一各诸侯的野心了,除了文字对话以外,GPT-4 也加入了 AI 作图功能。GPT 家族从过去几年的蛰伏经验里悟出了一个道理,大模型即正义,并想将这个道理推广到各个领域。
如果深究这个道理背后的底气,那可能就是大模型训练的方式吧。GPT-3 是目前最大的语言模型之一,它拥有 1750 亿个参数,比其前身 GPT-2 多了 100 倍,比之前最大的同类 NLP 模型要多 10 倍,也可以算是大预言模型的先驱者了。
所以,我们先来看看 GPT-3 的模型架构和训练方法是如何实现这样的规模和性能的:
- 分布式训练:GPT-3 使用了分布式训练的方法,即将模型和数据分散在多个计算节点上,并通过通信协议进行协调和同步。这样可以利用多个节点的计算资源和内存空间,加速模型训练的过程,并支持更大规模的模型和数据。
- GPT-3 使用了约 2000 个 GPU 节点来进行分布式训练,每个节点有 多块 GPU,每块 GPU 有 相同 的显存。
- GPT-3 使用了两种分布式训练的方法:数据并行和模型并行。
- 数据并行是指将数据分成多个子集,每个节点处理一个子集,并在每个节点上更新模型的参数,然后在所有节点间同步参数。
- 模型并行是指将模型分成多个部分,每个节点处理一个部分,并在每个节点上计算部分的输出和梯度,然后在所有节点间传递输出和梯度。
- GPT-3 使用了一种混合的数据并行和模型并行的方法,即在每个节点内部使用数据并行,在不同节点之间使用模型并行。这样可以充分利用 GPU 的计算能力和通信带宽,同时减少通信开销和内存占用。
- 激活函数检查点:GPT-3 使用了一种叫做激活函数检查点的技术,即在模型的前向传播过程中,只保存部分层的激活函数的值,而不是所有层的值。这样可以节省显存空间,因为激活函数的值占用了大部分的显存。在模型的反向传播过程中,如果需要用到某些层的激活函数的值,就重新计算它们,而不是从显存中读取。这样可以牺牲一些计算时间来换取更多的显存空间,从而支持更大规模的模型和批量大小。
- 稀疏注意力机制:GPT-3 使用了一种叫做稀疏注意力机制的技术,即在计算自注意力时,只考虑部分输入序列中的词,而不是所有词。这样可以减少计算量和内存占用,因为自注意力的复杂度和输入序列的长度成平方关系。GPT-3 使用了一种基于局部窗口和全局块的稀疏注意力机制,即将输入序列划分为多个块,并且每个块只与相邻的几个块进行注意力计算,同时每个块还与一些随机选择的全局块进行注意力计算。这样可以保证模型既能捕捉局部信息,又能捕捉全局信息,同时也能降低计算复杂度和内存占用。
看到这里,ChatGPT 眉头微皱,似乎有些不满意 GPT-3 的方案:“这还不够。”
"大模型确实是当下的趋势,但是不应该只是为了竞争而盲目追求规模。在训练大模型之前,我们需要考虑更多的细节和技术挑战,才能确保其能够稳定、高效地运行,并产生有用的结果。"
“首先,选择合适的训练超参数和模型初始化非常关键。学习率、批量大小、迭代次数等超参数的选择对模型的收敛速度、稳定性和性能影响重大。而模型初始化则决定了训练开始前的权重值,会影响到最终结果的质量。这些参数需要根据经验实验或理论分析进行仔细调整,以确保模型的最佳表现。”
“其次,为了获得高吞吐量并避免瓶颈,我们需要优化训练过程中的各个环节,比如硬件配置、网络带宽、数据加载速度和模型架构等。优化这些环节可以显著提高模型的处理速度和效率。例如,使用更快的存储设备或数据格式可以减少数据加载时间;使用更大的批量大小或梯度累积可以减少通信开销;使用更简单或更稀疏的模型可以减少计算时间等等。”
“最后,训练大模型时可能会遇到各种不稳定和失败的情况,例如数值错误、过拟合、硬件故障、数据质量问题等等。为了避免或恢复这些问题,我们需要密切监控模型的行为和性能,并使用调试工具和技术来识别和修复任何错误或缺陷。此外,我们还可以使用各种安全措施和防护机制,如裁剪、正则化、丢弃、噪声注入、数据过滤、数据增强等等,以提高模型的鲁棒性和可靠性。”
“在这个时代,大模型的确是重要的,但是仅仅是追求规模并不能让模型产生有用的结果。只有经过深思熟虑的训练和优化,才能让大模型真正发挥其潜力,为人类带来更多的价值。”
太子说得对。
没落的强诸侯 - BERT
最后,瘦死的骆驼比马大,虽然 BERT 最近被 GPT 压过风头,但毕竟是曾经的强诸侯,在 GPT 势不可挡的发展下,BERT 依然保留了自己的一份封地。当谈及自然语言处理模型的时候,BERT(Bidirectional Encoder Representations from Transformers)一度是非常受欢迎的模型,因为它在很多任务上都表现得非常出色。当它第一次发布时,它几乎是无人能敌的,甚至比 GPT 更为成功。这是因为 BERT 的设计与 GPT 有着不同的目标和优势。
BERT 的目标是将上下文建模的能力推到一个全新的高度,以便更好地支持下游任务,例如文本分类和问答。它通过训练一个双向 Transformer 编码器来实现这个目标。这个编码器能够同时考虑输入序列的左侧和右侧,从而获得更好的上下文表示,因此 BERT 能够对上下文更好地进行建模,提高了模型在下游任务中的表现。
但是,随着时间的推移,GPT 系列模型的出现使得 GPT-3 在多项任务上超越了 BERT。一个可能的原因是 GPT 系列的模型在设计上更加专注于生成性任务,比如文本生成和对话系统,而 BERT 则更注重分类和问答任务。此外,GPT 系列模型使用了更大的参数和更多的数据进行训练,这也使得它们能够在更广泛的任务上取得更好的表现。
当然,BERT 仍然是一个非常有用的模型,特别是对于一些需要对文本进行分类或回答问题的任务。而 GPT 系列的模型则更适合用于生成性任务,例如文本生成和对话系统。总体来说,这两个模型都有它们独特的优势和局限性,我们需要根据具体任务的需求来选择适合的模型。
夺嫡之争 - 来势汹汹的 Segment Anything Model (SAM) [20]
前面说过,在大哥 GPT 默默努力的时候,劳模 Transformer 在 CV 领域(ViT)和多模态领域 (CLIP) 都掀起了不小的浪花,但是最终都成为了经验宝宝,被老父亲 Transformer 教给了受宠的太子 GPT,最终成就了 GPT-4 的所谓大一统。
骨子里流淌着 Transformer 血液的 ViT 和 CLIP 当然很不开心:“王侯将相宁有种乎?大哥不是学我们吗,我们也可以学他。”
“但是,他在 NLP 领域太强大了,我们要找个新的战场。”
于是,SAM 横空出世。在官网,他们自己是这么描述的:
Segment Anything Model (SAM): a new AI model from Meta AI that can "cut out" any object, in any image, with a single click
简单来说,我们可以将 SAM 看作一个高效的 “图像剪辑大师”,它能够通过各种输入提示来精确地识别和分割图像中的各种对象。例如,当我们在图像中用鼠标点击一个点时,SAM 会像一个经验丰富的画家一样,自动剪切出该点所在的对象;当我们输入 “猫” 这个词时,SAM 就会像一个聪明的侦探一样,自动找出并剪切出图像中所有的猫;当我们给 SAM 一个目标检测框时,SAM 就会像一个熟练的手术医生一样,准确地剪切出框内的对象。SAM 的零样本泛化能力使其成为一个真正的 “通用剪辑大师”。这意味着无论是常见的对象,如汽车、树木和建筑,还是罕见的对象,如恐龙、外星人和魔法棒,SAM 都可以毫不费力地识别和剪切。这种强大的能力源于其先进的模型设计和庞大的数据集。我从原论文里选了四张很复杂的场景实例(图 10),说明了 SAM 到底可以做什么。
图 10. SAM 的效果实例。图片里每个颜色的东西你都可以剪辑提取出来,相当于一个高效的 PS 大师(图像剪辑大师)。
简单来说,以前别人跟我们眉飞色舞地提需求的时候,我们总要无奈地问一句,先等一下,你们能提供什么样的数据?现在不需要了,至少在 CV 领域,已经更贴近非技术人群对 AI 的理解了。
为了实现上面说的强大能力,我们来看看 ViT 和 CLIP 是如何大声密谋的:
ViT: “我虽然之前主要是做图像分类任务,但我的架构同样适用于图像分割。因为我是利用 Transformer 架构将图像分解成一系列块然后对其进行并行处理的,如果集成我的优势,SAM 就可以继承我并行处理和全局注意力的优势,从而实现高效的图像分割。”
CLIP:“好呀,那我就带着我联合训练的方法入股,基于这个思想,SAM 也可以处理不同类型的输入提示(问题提示和视觉提示)。”
于是,SAM 的模型架构成型了 (图 11),ViT 用来做 image encoder(图像编码器),而 CLIP 来编码 prompt(提示)的信息。想法是好的,具体该怎么做呢 —— 当然是学习大哥啦!
“我们想要利用预训练的语言模型来做图像分割任务,就像用文字提示(prompt)来让语言模型生成或预测文字一样。有了 CLIP,我们的提示就可以很丰富了,可以是一些 point (点)、box(框)、mask,还有 Text (文本),它们告诉语言模型要在图像中分割出什么。我们的目标就是,给定任何提示,都能得到一个有效的分割 mask (分割结果)。有效的 mask 意味着,即使提示有歧义(比如说衬衫还是人),输出也应该是其中一个对象的合理 mask。这就像大哥 GPT(语言模型)对一个有歧义的提示也能给出一个连贯的回应一样。我们选择这个任务,因为它可以让我们用一种自然的方式来预训练语言模型,并且通过提示来实现零样本迁移到不同的分割任务上。”
图 11. SAM 模型架构
至于结果,前面提到的其强大能力已经证实了这个想法的可行性。但是,不得不提的是,虽然 SAM 确实不再需要重新训练模型,但是像 chatGPT 刚推出时一样,他还是有一些限制的。在论文的 Limitation 部分,作者页明确指出了 SAM 的一些局限性和不足,比如在细节、连通性、边界等方面的缺陷,以及在交互式分割、实时性、文本提示、语义和全景分割等任务上的挑战,同时也承认了一些领域专用工具的优势。
举个例子,我在 demo 里做了两个简单的测试:一个是医疗图像领域的病灶检测,因为病灶太小了,很难检测到;第二个是人像切割,切出来的人像乍看不错,但是发丝还是不是很自然,仔细看还是能看出来切割痕迹。
当然,这毕竟是一个很好的开始,这小哥俩创业未半,还在努力,要啥自行车?所以,这场夺嫡的结果如何,还是让我们拭目以待吧!
总结
Transformer 世家的庞大家族显然不是这一篇文章可以说明的,当谈到基于 Transformer 的成果时,我们可以看到这个领域的持续创新:Vision Transformer(ViT)展示了 Transformer 在计算机视觉领域的成功应用,它可以直接处理图像像素数据,不需要手工特征工程。DALL-E 和 CLIP 则将 Transformer 应用于图像生成和图像分类任务,展示了它在视觉语义理解中的优越表现。Stable Diffusion 则提出了一种稳定的扩散过程,可以对概率分布进行建模,这可以应用于图像分割、生成等任务。这些成果共同揭示出 Transformer 模型的广泛应用前景,让我们不得不承认,未来某一天,可能真的”Attention is all you need”。
总之,我们可以从这些成果中看到人工智能领域持续创新的活力。无论是 GPT 还是 BERT,还是 Vision Transformer、DALL-E、CLIP、Stable diffusion 等,这些成果都代表着人工智能领域的最新进展。
而大考(ChatGPT)当前,现在的情景大概是这样的:
学霸们这学期好好上课,翻开书本就能回想起当时那节课老师说这个知识点时的音容笑貌,甚至开始规划下学期的学习计划。
伪学霸们天天到课,占据前排,打开课本却是一脸懵逼,开始跟学渣们一起 “一天一本书,一周一学期”,唯一的区别就是课本不是全新的,对课本内容还有一点点记忆,不算是在完全的学习新知识。
至于真正的学渣们……
“知识来,知识来,知识从四面发八方来” 其实我倒觉得,不管是伪学霸还是学渣,都应该在期末考面前保持冷静,看看这学期讲了什么,找学霸们借一下笔记,甚至可以选择缓考。对学霸们来说,快是水到渠成的。对伪学霸和学渣们来说,快是有害的。
在人工智能领域的竞争中,持续创新是至关重要的。因此,作为研究员,我们应该密切关注这个领域的最新发展,并且保持谦虚和开放的心态,以促进人工智能领域的不断进步。 参考文献
[1] Mikolov, Tomas; et al. (2013). "Efficient Estimation of Word Representations in Vector Space". arXiv (https://en.wikipedia.org/wiki/ArXiv_(identifier)):1301.3781 (https://arxiv.org/abs/1301.3781) [cs.CL (https://arxiv.org/archive/cs.CL)].[2] Mikolov, Tomas (2013). "Distributed representations of words and phrases and their compositionality". Advances in neural information processing systems.[3] Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, & Luke Zettlemoyer. (2018). Deep contextualized word representations.[4] Bahdanau, Dzmitry, Kyunghyun Cho, and Yoshua Bengio. "Neural machine translation by jointly learning to align and translate." arXiv preprint arXiv:1409.0473 (2014).[5] Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017).[6] attention 机制及 self-attention (transformer). Accessed at: https://blog.csdn.net/Enjoy_endless/article/details/88679989[7] Radford, Alec, et al. "Improving language understanding by generative pre-training." (2018).[8] Radford, Alec, et al. "Language models are unsupervised multitask learners." OpenAI blog 1.8 (2019): 9.[9] Brown, Tom, et al. "Language models are few-shot learners." Advances in neural information processing systems 33 (2020): 1877-1901.[10] GPT-4 (openai.com)[11] Devlin, Jacob; Chang, Ming-Wei; Lee, Kenton; Toutanova, Kristina (11 October 2018). "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding". arXiv:1810.04805v2 [cs.CL].[12] Dosovitskiy, Alexey, et al. "An image is worth 16x16 words: Transformers for image recognition at scale." arXiv preprint arXiv:2010.11929 (2020).[13] Radford, Alec, et al. "Learning transferable visual models from natural language supervision." International conference on machine learning. PMLR, 2021.[14] Zheng, Laura, Yu Shen, and Ming C. Lin. "Exploring Contrastive Learning with Attention for Self-Driving Generalization."[15] Reddy, Mr D. Murahari, et al. "Dall-e: Creating images from text." UGC Care Group I Journal 8.14 (2021): 71-75.[16] Ramesh, Aditya, et al. "Hierarchical text-conditional image generation with clip latents." arXiv preprint arXiv:2204.06125 (2022).[17] Rombach, Robin, et al. "High-resolution image synthesis with latent diffusion models." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.[18] Chen, Xuanting, et al. "How Robust is GPT-3.5 to Predecessors? A Comprehensive Study on Language Understanding Tasks." arXiv preprint arXiv:2303.00293 (2023).[19] Ouyang, Long, et al. "Training language models to follow instructions with human feedback." Advances in Neural Information Processing Systems 35 (2022): 27730-27744.
分析师介绍:
本文作者王子嘉,戴尔科技集团首席技术官办公室人工智能科学家,英国帝国理工学院Al专业毕业,主要研究方向为计算机视觉、3D重建、AIGC等,重点关注在相关领域进行新技术的探索与创新,在新Al技术赋能的数据隐私保护以及AIGC技术在数据管理上的应用等方向上做过很多尝试与创新。于2019年加入戴尔科技集团,在此期间,已在相关领域发表论文5篇、专利139项。