导读: 近年来,大型语言模型(LLMs)在对话交互等各种任务中展现出接近人类水平的性能 。与此同时,生物学领域也正在利用模型来理解复杂系统,例如果蝇的全脑连接组 。这两个模型到底谁拥有知识?谁拥有智能?本文从对比两个模型的结构细节给出一些客观数据,供大家参考。
本文总结:
虽然果蝇模型和语言大模型都是神经网络,但它们在本质上存在很大差异。
果蝇的网络结构异常复杂:具有巨型强连通组件,rich-club现象和三节点模体子网络,这些暗示着其学习和产生智能是通过闭环训练和信息传递达到的。而大模型结构相对简单, 训练通过开环BP算法完成。
果蝇的网络参数在10万个神经元,而大模型在数千万到数千亿不等。
果蝇是具有智能的,而大模型是具有知识的,大模型是否具有智能,目前还存疑。但是可以肯定的是,如果大模型拥有智能,那么其产生的机制肯定和目前的生物神经网络有很大的区别,一个是开环,而另一个是闭环。
语言大模型 vs 生物小模型
果蝇模型与语言大模型的比较分析
特征 | 果蝇模型 | 语言大模型 |
---|---|---|
网络结构 | 由神经元和突触组成的复杂生物网络,具有高度的复杂性和非线性。主要包括:巨型强连通组件和rich-club子网络模块。 | 通常基于人工设计的Transformer架构,使用自注意力机制处理长序列数据,具有高度的模块化和可扩展性。 |
训练方式 | 自然发生,通过学习和进化形成神经网络连接结构。闭环学习,目前尚不完全清楚。 | 使用大量的文本数据进行训练,通过反向传播算法、梯度下降算法等调整模型参数,开环学习,使其学习语言的规律和模式。 |
网络参数 | 神经元和突触的数量和连接强度,果蝇大脑包含约10万个神经元和数百万个突触。 | Transformer架构中各个模块的权重和偏置,参数数量可从数千万到数千亿不等。 |
智能能力 | 体现果蝇的生物智能,例如学习、记忆、导航、决策等。研究人员通过分析果蝇模型的网络结构和神经元活动来理解果蝇的智能行为机制。 | 体现强大的语言理解和生成能力,例如文本摘要、机器翻译、问答、对话等。 |
虽然果蝇模型和语言大模型都是神经网络,但它们在本质上存在很大差异。果蝇模型是生物神经网络的真实体现,而语言大模型是人工设计的,旨在模拟人类语言能力。对比分析这两种模型可以帮助我们更好地理解生物智能和人工智能之间的差异和联系。
生物小模型简介-果蝇
文章研究首先构建了一个由超过13万神经元和数百万个突触连接组成的完整脑图,随后运用网络理论和统计学方法对这个连接图谱进行了深入探讨,这对我们理解生物神经网络怎么涌现出智能是十分重要的。我们可以从网络的结构,连接性和计算方式了解底层的计算机制。以下科普内容来自Nature 文章 Network statistics of the whole-brain connectome of Drosophila 如下:
本文通过分析果蝇(Drosophila melanogaster)的大规模神经连接图谱(connectome),揭示了其大脑网络的复杂性与组织特征。研究首先构建了一个由超过13万神经元和数百万个突触连接组成的完整脑图,随后运用网络理论和统计学方法对这个连接图谱进行了深入探讨。研究发现,果蝇大脑展现出丰富的网络特性,包括富集连接子(rich-club organization)、高度互联的神经元群体以及多种神经递质参与的互联系统。此外,通过对不同神经区域的分析,研究人员识别出特定类型的神经元——广播者、整合者和平衡器,这些神经元在信息处理和传递中可能扮演关键角色。
文章进一步探索了神经元之间连接的多维属性,例如,神经元之间的双向连接(reciprocal connections)频率及强度,发现它们在神经网络中的分布并不随机,而是与神经元的功能性和位置特征紧密相关。通过分析不同神经元类别的连接模式,研究揭示了神经递质类型对于信息流动和网络功能调节的重要性。
此外,通过对78个解剖上定义的神经区域的分析,文中展示了各区域间连接的异质性,并且发现了区域内存在高度重复的连接模式(motifs),这些模式可能支持特定的计算或功能任务。最终,研究指出,虽然果蝇大脑在许多方面与人类和其他哺乳动物相似,但在某些网络统计特性上也表现出独特的特点,这为进一步理解神经网络功能提供了宝贵的参考数据。这一研究成果不仅丰富了我们对小型脊椎动物大脑结构与功能的认识,也为未来针对神经发育、疾病机制以及认知功能的研究奠定了基础。
果蝇全脑网络结构和特征
果蝇全脑连接组包含 127,978 个神经元和 2,613,129 个连接 。该网络呈现出一些有趣的特性,例如:
巨型强连通组件: 93.3% 的神经元属于一个巨型强连通组件,这意味着网络中几乎所有神经元都可以通过有向路径相互连接 。
rich-club部现象: 高度连接的神经元倾向于相互连接,形成一个“富人俱乐部”。
三节点模体: 网络中三节点模体的分布揭示了大脑中不同类型信息处理回路的相对频率 。
神经递质组成: 连接组中不同类型神经元的分布和连接强度揭示了神经递质在信息处理中的作用 。
图一:不同的circuit motif的解释说明。
巨型强连通组件的解释:巨型强连通组件(SCC)是指在有向图中,一个包含大部分节点的子图,其中任意两个节点之间都存在一条有向路径。在果蝇的全脑连接组中,93.3% 的神经元属于一个巨型 SCC1。这意味着果蝇大脑中几乎所有神经元都可以通过有向路径相互连接,这表明了果蝇大脑网络的高度互联性。
巨型强连通组件的存在表明了果蝇大脑网络的鲁棒性:即使移除部分连接,网络仍然能够保持高度互联,这也可能是生物大脑具有很强的适应性的原因。巨型强连通组件的大小和路径长度分布与巨型弱连通组件(WCC)相似,这突显了果蝇大脑中普遍存在的循环连接。
在主要为前馈网络中,第一个 SCC 通常较小,路径长度较长。果蝇大脑中 SCC 和 WCC 的相似性表明了循环连接的重要性。简而言之,巨型强连通组件的存在反映了果蝇大脑网络的高度互联性和鲁棒性,并表明了循环连接在果蝇大脑中的重要作用。
图二:果蝇全脑结构特性解释说明。
rich-club
可以看出rich-club现象是一个很有意思的点,富人俱乐部网络是一种复杂网络,其中高度连接的节点(“富人”)倾向于彼此连接,形成一个密集连接的核心。这种现象在各种真实世界网络中都可以观察到,包括社交网络、交通网络和生物网络。果蝇的全脑连接体中,研究人员也发现了富人俱乐部网络的存在。他们使用相对富人俱乐部系数 (Φnorm) 来量化富人俱乐部效应,该系数将观察到的网络中的连接密度与配置模型(CFG)随机网络的平均连接密度进行比较。当 Φnorm(d) > 1 时,表示网络中度数 ≥ d 的节点之间的连接密度比随机网络中更高,表明存在富人俱乐部效应。
果蝇全脑连接体中的富人俱乐部网络具有以下特性:**高度连接:**富人俱乐部节点(度数 > 37 的神经元)之间的连接密度比随机网络预测的要高。**富含 GABAergic 神经元:**与整体神经元群体相比,富人俱乐部神经元中 GABAergic 神经元的比例更高。**跨半球连接:**富人俱乐部神经元更有可能具有跨越两个大脑半球的输入或输出。**参与复杂的网络模体:**富人俱乐部神经元更有可能参与复杂的网络模体,例如反馈回路和三元环。
这些特性表明,富人俱乐部网络在果蝇大脑中扮演着重要的角色,可能参与了高级认知功能,例如学习、记忆和决策。
三节点模体
三节点模体是指网络中由三个节点和它们之间连接构成的特定子图结构。网络中三节点模体的分布可以揭示大脑中不同类型信息处理回路的相对频率。来源分析了果蝇全脑连接组中不同三节点模体的出现频率,并与随机网络模型的预期频率进行了比较。 结果发现,某些模体,例如前馈回路和三环,在果蝇大脑中出现的频率显著高于预期。">不同模体的频率差异表明,这些模体可能对应着不同的信息处理功能。 例如,前馈回路可以有效地传递信息,而三环可能参与反馈调节和振荡活动。通过分析三节点模体的分布,我们可以深入了解大脑网络的组织结构和功能特性,以及不同类型神经元之间的相互作用。以下是三节点模体分析的一些重要意义:
●揭示信息处理回路的类型: 三节点模体的类型和频率可以反映大脑中不同类型信息处理回路的存在和相对重要性。
●理解神经元之间的相互作用: 通过分析模体中不同类型神经元的连接模式,可以推断出它们之间的功能关系,例如兴奋性连接、抑制性连接和反馈调节。
●识别关键神经回路。需要注意的是,三节点模体分析只是一个初步的网络分析方法,需要结合其他分析方法和实验验证才能更全面地理解大脑的功能。
语言大模型(LLM)简介
语言大模型是指参数量巨大、训练数据规模庞大的自然语言处理模型。这些模型能够捕捉语言中的复杂模式,并在各种任务中取得令人印象深刻的结果。例如,GPT-3 是一个拥有 1750 亿参数的模型,在多个基准测试中都表现出色,而 PaLM 则拥有 5400 亿参数,在自然语言理解和生成方面取得了更进一步的进展。这些模型通常使用 Transformer 架构 ,该架构依赖于注意力机制来有效地处理长序列数据。
语言大模型网络结构
语言大模型的训练通常采用自监督学习方法,例如掩码语言建模和统一语言建模 [6]。掩码语言建模的目标是预测句子中被随机掩盖的词语,而统一语言建模则结合了因果、非因果和掩码语言建模的目标。
在架构方面,语言大模型通常采用编码器-解码器架构、因果解码器架构或前缀解码器架构 。编码器-解码器架构处理输入序列并生成输出序列,例如用于翻译任务。因果解码器架构仅使用解码器来处理和生成输出,例如用于文本生成任务。前缀解码器架构允许双向注意力计算,例如用于文本摘要任务。此外,混合专家 (MoE) 架构也越来越受欢迎,因为它可以有效地扩展模型规模,而不会显著增加计算成本 。
图三:语言大模型架构概念图。
大型语言模型 (LLM) 的参数数量差异很大,从数千万到数千亿不等。随着时间的推移,发布的 LLM 数量呈上升趋势。较大的模型通常在自然语言理解和生成领域表现更好,并经常针对下游任务进行微调。以下是参数数量的简要概述,以及一些著名 LLM 的例子:
数十亿参数:
AlexaTM (20B)
UL2 (20B)
BloombergGPT (50B)
数百亿参数:
GLM (130B)
Gopher (高达 280B)
OPT (175B)
BLOOM (176B)
LLaMA (高达 65B)
PaLM (高达 540B)
CodeGen (16B)
Xuan Yuan 2.0 (176B)
CodeT5+ (16B)
StarCoder (15.5B)
LLaMA-2 (高达 70B)
数千亿参数:
PanGu-Σ (1.085T)
ERNIE 3.0 Titan (比 ERNIE 3.0 的参数数量多 26 倍)
LLaMA-3.1 (405B)
Nemotron-4 (340B)
大模型的训练过程
首先,需要收集和准备大量的文本数据用于训练大型模型。这些数据通常来自于网络爬取、书籍、维基百科等公开数据源,也可能包括一些私有的领域数据。例如,mT5 模型使用了来自 101 种语言的 mC4 数据集,而 Yuan 1.0 模型则使用了从互联网上收集的 5TB 高质量中文文本数据。
这些原始数据需要经过清洗、去重、分词等预处理步骤,以确保数据的质量和一致性。
为了覆盖多种语言,一些模型会使用更大的词汇量,例如 mT5 使用了 250,000 个词汇量来覆盖多种语言。
此外,为了避免特定语言的过拟合或欠拟合,一些模型会采用特定的数据采样策略,例如 mT5 会从所有语言中选择样本。
目前,大多数大型语言模型都基于 Transformer 架构,该架构使用自注意力机制来处理长序列数据。
然而,也有一些模型采用了其他的 Transformer 变体,例如编码器-解码器架构、因果解码器架构、前缀解码器架构以及混合专家 (MoE) 架构。
这些不同的架构选择会影响模型的性能和效率,例如 MoE 架构可以通过激活少量专家来降低计算成本,并允许在不增加计算成本的情况下增加模型规模。
例如,PanGu-α 模型类似于 Transformer 架构,但它在注意力机制中添加了下一个位置的额外嵌入。
在数据准备和模型架构选择完成后,就可以开始对大型模型进行预训练了。预训练阶段的目标是让模型学习语言的基本规律和模式,例如词义、语法、语义等。
预训练通常采用语言建模目标,例如预测下一个词元。
在预训练过程中,模型会根据输入的文本数据不断调整模型参数,以最小化预测误差。
预训练需要消耗大量的计算资源和时间,例如 GPT-3 的预训练使用了 32K 的批量大小和 6e-5 的学习率,而 mT5 的预训练使用了 1024 的批量大小和 0.01 的学习率。
许多大型模型还会采用各种优化技术来提高训练效率,例如模型并行、梯度累积、混合精度训练等。
预训练完成后,模型就具备了基本的语言理解和生成能力。
为了使大型模型能够更好地完成特定任务,例如文本分类、问答、翻译等,通常需要对预训练后的模型进行微调。
微调阶段会使用特定任务的数据集,并根据任务目标调整模型参数。
微调可以使用不同的训练目标,例如交叉熵损失函数、均方误差损失函数等。
例如,StarCoder 使用了 Flash 注意力机制来扩展上下文长度,并使用编码器过滤训练数据中的个人信息,以更好地完成代码生成任务。
Galactica 模型则使用 标记来包装推理数据集,以提高模型在推理任务上的性能。
训练完成后,需要对大型模型进行评估,以衡量其在特定任务上的性能。
评估通常使用一些标准的评测指标,例如准确率、召回率、F1 分数等。
评估完成后,就可以将大型模型部署到实际应用中。
指令微调: 一些大型模型会采用指令微调的方式来提高模型对人类指令的理解和执行能力。指令微调会使用包含人类指令和期望输出的数据集,例如 Super-NaturalInstructions 数据集。
与人类偏好保持一致: 为了提高模型输出内容的安全性和可靠性,一些大型模型会采用与人类偏好保持一致的训练目标。 例如,WebGPT 模型使用了行为克隆 (BC) 和奖励建模 (RM) 的技术来训练模型与人类偏好保持一致。
检索增强生成: 为了增强模型的信息检索能力,一些大型模型会采用检索增强生成的方法。这种方法会使用检索器从外部知识库中检索相关信息,并将其作为模型的输入。 例如,RETRO 模型使用检索器从数据库中检索相关文档块,并将其与输入的中间表示一起编码以生成词元。
值得注意的是,参数数量只是影响 LLM 性能的众多因素之一。
大型模型的训练过程可以分为以下几个主要阶段:
1. 数据准备:
2. 模型架构选择:
3. 预训练:
4. 微调:
5. 评估和部署:
需要注意的是,以上描述的是大型模型训练的一般流程,具体的训练过程可能会根据模型的类型、任务目标、数据规模等因素有所不同。
以下是一些值得注意的细节:
总而言之,大型模型的训练是一个复杂的过程,涉及到数据准备、模型架构选择、预训练、微调、评估和部署等多个阶段。随着技术的不断发展,大型模型的训练方法和技术也在不断改进和创新,以追求更强大的性能和更广泛的应用。