ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

ArabianGPT:基于阿拉伯语的原生 GPT 大型语言  Anis Koubaa、Adel Ammar、Lahouari Ghouti、Omar Najar、Serry Sibaee
机器人与物联网实验室 利雅得苏丹
王子大学

{akoubaa, aammar, lghouti, onajar, ssibaee}@psu.edu.sa

抽象的

英语和拉丁语为基础的大型语言模型 (LLM) 占主导地位,导致以阿拉伯语为母语的 LLM 明显不足。现有的阿拉伯语模型中普遍包含英语标记,这加剧了这种差异,削弱了它们在处理阿拉伯语复杂的形态和语法方面的有效性。因此,开发以阿拉伯语语言元素为主的 LLM 具有理论和实践上的必要性。为了解决这一差距,本文提出了 ArabianGPT,这是 ArabianLLM 套件中一系列基于转换器的模型,专为阿拉伯语设计。这些模型(包括 ArabianGPT-0.1B 和 ArabianGPT-0.3B)的大小和复杂程度各不相同,与阿拉伯语的细微语言特征相一致。这些模型不可或缺的 AraNizer 标记器解决了阿拉伯语文字独特的形态方面,确保了更准确的文本处理。对情绪分析和总结等任务进行模型微调的实证结果表明,效果显著改善。对于情绪分析,经过微调的 ArabianGPT-0.1B 模型实现了 95% 的惊人准确率,与基础模型的 56% 相比有大幅提升。同样,在总结任务中,经过微调的模型显示出增强的 F1 分数,表明在生成简洁总结时,准确率和召回率有所提高。在各种基准测试中,将经过微调的 ArabianGPT 模型与其基础版本进行比较分析,可以发现性能上存在细微差异,微调对问答和总结等特定任务有积极影响。这些发现强调了微调在使 ArabianGPT 模型更紧密地与特定 NLP 任务保持一致方面的有效性,凸显了量身定制的 Transformer 架构在推进阿拉伯语 NLP 方面的潜力。

关键词 大型语言  模型⋅ 自然语言处理  ⋅ 变压器  ⋅ 阿拉伯语  ⋅ 深度学习

1介绍

自然语言处理 (NLP) 中一个值得注意的理论和经验挑战是非英语语言在开发大型语言模型 (LLM) 方面的代表性不足。这个问题对于具有复杂语言结构的语言(例如阿拉伯语)尤其严重。阿拉伯语的复杂性及其丰富的形态和多样的方言要求在 LLM 开发中给予特别关注,而这在以英语为主的 NLP 领域中常常被忽视。这种差异限制了 NLP 应用的范围,并阻碍了理解和处理多语言环境的进展。虽然 GPT-1 和 GPT-2 [,]为展示生成式预训练 Transformer 的能力奠定了基础,但他们的主要关注点是英语,这导致阿拉伯语 NLP 领域出现了空白。考虑到 Hulmona 等模型的成功,这一空白变得更加明显[]和 ARABERT [],尽管他们在阿拉伯语 NLP 方面取得了进步,但仍在努力应对主要基于英语数据训练的模型的挑战。

为了解决这一差距,ArabianGPT 作为 ArabianLLM 计划的一部分应运而生。与传统的 LLM 不同,ArabianGPT-Base 是专门为阿拉伯语开发的,传统的 LLM 主要侧重于英语,即使在多语言模型中也倾向于包含大量英语标记。该模型与常规模型不同,在设计和实施时优先考虑了阿拉伯语的语言特性。

ArabianGPT-Base 所采用的方法涉及三个关键部分:架构调整、严格的训练方案和新颖的标记化策略。首先,ArabianGPT-Base 调整了经过验证的 GPT-2 架构,并对其进行了调整以适应阿拉伯语的句法和形态特质。这种调整确保了模型的结构与阿拉伯语的语言现实相一致,这与改造以英语为中心的架构的传统模型不同。

其次,ArabianGPT-Base 的训练是在精心挑选的语料库上进行的,这些语料库专门选择覆盖广泛的阿拉伯语文本,从而使模型能够学习并适应该语言的复杂性和多样性。该方法的这一方面尤其重要,因为它确保模型接触并从该语言的代表性样本中学习,而不是局限于可能影响其学习的子集。

最后,ArabianGPT-Base 引入了 AraNizer,这是一种创新的标记器,专门用于解决阿拉伯语文本分割的独特挑战。此标记器与标准标记方法有很大不同,后者由于阿拉伯语的文字复杂且形态丰富,通常不适合阿拉伯语。AraNizer 的设计允许更精确和上下文感知的分割,这是提高模型在下游 NLP 任务上性能的关键因素。

通过整合这些方法创新,ArabianGPT-Base 填补了阿拉伯语 NLP 的空白,并为开发特定语言模型树立了新标准。这种方法标志着该领域的重大转变,摆脱了以前 LLM 的千篇一律的策略,转向了 NLP 更加细致入微、更具包容性的未来。

2相关作品

趋势

生成式预训练 Transformer (GPT) 的演进代表了自然语言处理 (NLP) 领域的一个重要里程碑,标志着从传统模型向更复杂、更具有语境感知的系统转变。由 GPT-1 发起[],该系列展示了因果语言模型 (CLM) 在理解和生成类似人类的文本方面的有效性。CLM 通过根据先前的上下文预测后续标记,使深度学习模型能够捕捉细微的语言模式,从而促进对复杂语言结构的理解和生成。

进展至 GPT- 3]以来,该领域的模型规模和训练语料库的多样化呈指数级增长。GPT-3 拥有 1750 亿个参数,利用了包含大量互联网文本的庞大数据集,为众多 NLP 任务设定了新的基准。规模的飞跃带来了小样本学习的进步,使模型能够使用最少的先前示例执行任务,证明了它们不断发展的情境理解能力。

与此同时,迁移学习的出现成为扩大 GPT 模型在英语以外的适用性的关键策略,解决了阿拉伯语等语言的语言多样性和数据集稀缺性问题。阿拉伯语的复杂性及其丰富的形态结构和方言变体凸显了数据管理和模型调整方面需要专门的方法。

GPT 发展的轨迹不仅强调了规模和数据多样性对于实现语言理解的重要性,而且还强调了将这些模型应用于多语言 NLP 所面临的持续挑战和机遇,特别是对于具有独特句法和形态特征的语言。

现有的阿拉伯语法学硕士

双语焦点: Jais 和 Jais-Chat 等模型[]和 AceGPT []探索了双语训练方案,以提高阿拉伯语 NLP 能力。这些方法虽然具有创新性,但由于平衡双语语料库的固有复杂性,它们往往难以完全捕捉阿拉伯语的细微形态和句法特征。

方言强调: GigaBERT、ARBERT 和 MARBERT 的努力[,]旨在适应阿拉伯语中丰富的方言多样性。尽管这些模型取得了成功,但它们可能无法完全解决现代标准阿拉伯语 (MSA) 和古典阿拉伯语的复杂性,从而限制了它们在所有阿拉伯语言任务中的适用性。

理解/提取重点: ARBERT、AraELECTRA 和 CAMeLBERT [,,]为阿拉伯语 NLP 中以理解和信息提取为中心的任务设定了新的基准。然而,它们的生成能力仍然有限,凸显了 ArabianGPT 试图填补的空白。

文本到文本焦点: AraT5、QARiB、JABER 和 SABIR 等模型[,,]已经展现出文本到文本转换的熟练程度。然而,他们在需要对阿拉伯语有深入语言理解的生成任务中的表现仍然是一个有待进一步探索的领域。

AraNizer 的影响

AraNizer 标记器证明了 ArabianGPT 致力于解决阿拉伯语形态的细微挑战。通过精细地理解和处理阿拉伯语独特的形态特征,AraNizer 直接增强了 ArabianGPT 执行更准确、更符合语言的文本生成和处理任务的能力,使其摆脱了以前模型中提到的局限性。

ArabianGPT 的定位

ArabianGPT 的独特之处在于,它精心解决了现有阿拉伯语法学硕士课程留下的空白。通过精心设计,强调阿拉伯语流利度和形态理解,ArabianGPT 在生成任务中提供了无与伦比的能力。它的架构借鉴了先前模型的缺点,专门设计用于处理阿拉伯语语法和形态的复杂性,从而促进了阿拉伯语母语环境中的高级生成应用,这是阿拉伯语 NLP 在追求语言包容性和技术进步方面的一次飞跃。

ArabianGPT 代表着朝着解决阿拉伯语 NLP 多方面挑战迈出了重要一步。通过利用 AraNizer 标记器等专业技术并专注于语言处理的生成方面,ArabianGPT 不仅弥补了现有差距,还为该领域的未来创新铺平了道路。

3数据集

3.1数据集 D1

数据集 D1 是精心整理的当代阿拉伯语报纸文章汇编,包含 537 万篇文本。这个庞大的数据集总计高达 15.5 GB,包含一个庞大的词汇表,共计 18 亿个标记,从而为 ArabianGPT 的训练方案提供了强大而全面的语言基础。这个语料库涵盖了各种各样的新闻文章,每篇新闻文章都为跨越不同时间轴的广泛语言和文化叙事做出了贡献。这种多样性对于确保模型接触到各种方言细微差别、惯用表达和句法变化至关重要,所有这些都是现代阿拉伯语方言和话语所固有的。

D1 语料库不仅仅是文本的集合,它还是一个系统化的集合,旨在捕捉当代媒体所代表的阿拉伯语言和文化的多面性。语料库的庞大性和多样性提供了丰富的语境环境,有利于训练复杂的模型,这些模型能够理解和生成具有高度语言保真度的阿拉伯语文本。通过覆盖从 2000 年代初到 2014 年的广泛时间范围,该数据集有助于 ArabianGPT 理解时间语言变化和趋势,从而提高其生成相关且具有语境感知能力的文本的能力。

该语料库经过战略性划分和组织,以促进高效、有效的训练过程。语料库中的每篇文章都经过预处理和结构化,以确保与 ArabianGPT 的学习算法最佳兼容。将语料库划分为离散文章允许采用细粒度的模型训练方法,其中可以单独学习每篇文章的细微差别并将其集成到更广泛的语言模型中。

D1 语料库以及 ArabianGPT 模型的知识截止时间为 2014 年,因此受到限制。这限制了模型对语言、文化和世界事件的理解,仅限于该年之前的语言、文化和世界事件,忽略了后续发展和现代词汇。这种时间限制会影响模型在当代语境中的相关性和有效性,因为它可能会产生过时或与近期趋势和事件不一致的输出。用户和开发人员必须意识到这一限制,尤其是对于需要当前知识的任务。

3.2数据集 D2:复合语言资源

用于训练 ArabianGPT-0.3B 的数据集 D2 融合了三个不同但互补的数据源。这些数据集共同构成了一个全面的语言语料库,其规模高达 23 GB,词汇量惊人,总计约 33.4 亿(3,348,610,363)个词。这些数据集的战略整合以培养一个多方面且强大的语言环境为前提,这对于训练多功能且细致入微的阿拉伯语语言模型至关重要。

总的来说,这些数据集构成了丰富的语言场景,从正式到口语,从历史到当代,从而使 ArabianGPT-0.3B 模型具备了理解和生成各种语境和风格的阿拉伯语文本所需的多功能性。正是这种全面而多样的语言环境为强大且适应性强的阿拉伯语模型奠定了基础,该模型能够高效地处理广泛的语言处理任务。

4标记化

4.1概述

有效的自然语言处理 (NLP) 取决于准确、高效的文本标记化,尤其是对于像阿拉伯语这样形态丰富的语言而言。标准标记化方法在面对阿拉伯语固有的独特文字、复杂形态和大量变音符号时往往会失败。这可能会导致误解,并阻碍在阿拉伯语数据上训练的大型语言模型 (LLM) 的性能。

为了应对这些挑战,我们推出了 AraNizer,这是一款专为阿拉伯语 NLP 任务设计的定制训练的 SentencePiece 标记器。利用 SentencePiece 模型的优势并结合阿拉伯语语言学的特定领域知识,AraNizer 提供精确且语义上有意义的标记,为提高 LLM 性能铺平了道路。

阿拉伯语的传统标记化技术通常会遇到以下问题:

词根识别:将前缀、后缀和词形变化与核心词根词素分离对于标准标记器来说是一个挑战。

变音符号处理:变音符号在阿拉伯语形态和语义中起着至关重要的作用,但在某些数据集中,它们的不一致表示和遗漏会导致歧义。

连字识别:连字的存在,即多个单独的字符组合成一个字形,使得单词分割变得更加复杂。

这些限制会对 LLM 在阿拉伯语任务上的表现产生不利影响,导致情绪分析、文本分类和其他下游应用不准确。AraNizer 旨在通过以下方式克服这些障碍:

细粒度标记:利用 SentencePiece 的子词级功能,AraNizer 实现比简单的分词更深的粒度,保留标记内的形态和语义信息。

变音符号感知处理: AraNizer 将变音符号纳入其标记化过程,确保它们对词义的贡献得到保留并反映在 LLM 表示中。

连字处理: AraNizer 经过训练可以识别并适当分割连字,避免误解并保持准确的词素边界。

4.2描述

AraNizer []是一个经过定制训练的 SentencePiece 标记器[]专为 ArabianLMM 系列开发。它利用 SentencePiece 模型,使 ArabianLMM 能够解析和生成连贯、上下文相关的阿拉伯语文本。Aranizer 标记器以卓越的效率解决了阿拉伯语文本的复杂性。它利用 SentencePiece 和字节对编码 (BPE) []方法专门针对阿拉伯语来优化标记化准确性和效率。这种量身定制的方法可确保以最佳方式处理该语言的形态丰富性和独特的脚本挑战。为了解决阿拉伯语文本的不同复杂性和细微差别,Aranizer 有四个不同的版本,词汇量分别为 32K、50K、64K 和 86K。这种灵活性使用户可以选择最适合其特定需求和应用领域的版本。对于训练 ArabianGPT 模型,我们选择了 64K 版本,在准确性和效率之间取得了平衡。

5小规模模型:ArabianGPT-0.1B

5.1模型概述

无监督预训练过程的主要目标是训练一个语言模型,该模型擅长预测文本序列中即将出现的单词,而无需任何标记的训练数据。第 3.1 节中描述的数据集 D1 用作无监督语料库。ArabianGPT 模型架构采用多层 Transformer 解码器,这是一种功能强大的神经网络架构,擅长捕获文本中的长距离依赖关系。Transformer 架构因其能够捕获长距离依赖关系的能力而被证明在各种语言建模任务中非常有效。Transformer 解码器应用多头自注意力来关注上下文中单词之间的相关关系。嵌入层使用标记和位置嵌入将输入标记 U= 转换为数值表示。目标函数在于最大化预测每个序列中下一个单词的可能性,给定其前面的单词。目标函数表示为:

大号⁢(乌)=∑我日志⁡磷⁢(乌我|乌我−钾,…,乌我−1;𝜃)(1)

其中 k 是上下文窗口大小,并且𝜃表示使用随机梯度下降迭代更新的模型参数(神经网络的权重)。在 ArabianGPT 模型架构中,所采用的损失函数表征了顺序单词预测的条件似然的最大化,从而促进了模型在合成上下文连贯和语言准确的阿拉伯语文本方面的能力,这是高级语言理解和生成的典型特征。经过训练的模型最终将使用 softmax 函数生成潜在目标标记的概率分布。该模型预测即将到来的单词的能力源于其对语言模式和单词之间关系的学习理解。在海量、多样化的语料库上进行预训练对于模型捕捉广泛的语言现象至关重要。

5.2描述

ArabianGPT-0.1 遵循 GPT-2-small 的架构[],基本相当于 GPT1 [](图)。我们保留了 GPT 模型的基本原理,同时进行了修改(尤其是标记器),以更好地适应阿拉伯语文本处理。ArabianGPT-0.1 模型代表了阿拉伯语自然语言处理 (NLP) 领域的重大进步。利用 GPT-2 架构,ArabianGPT 是专门为掌握和生成纯阿拉伯语文本而定制的。图展示了该 GPT 模型的主要组成部分。它由一个嵌入层和后面的 12 个相同的层组成,每个层由三个子层组成:掩蔽多头自注意力、前馈网络和层规范化。这种堆叠架构使模型能够学习句子中单词之间的复杂关系:

文本和位置嵌入层:添加有关单个单词及其在句子中的位置的信息,这有助于模型更好地理解文本的含义。

蒙版多头自注意力: GPT-1 架构的核心组件。它允许模型使用多个关注单词不同方面的头同时关注输入句子的不同部分。这使模型能够捕获文本中的长距离依赖关系和上下文。

前馈子层:为模型添加非线性,使其能够学习单词之间更复杂的关系。

规范化层:有助于稳定训练过程并提高模型的整体性能。

www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

图1:基于 GPT2-small 的 ArabianGPT-0.1 模型的架构。

ArabianGPT 模型继承了 GPT-2 模型的几个关键特性:

单向语言建模: ArabianGPT 与 GPT-2 一样,可以预测文本中单词序列的概率,并学习根据收到的输入生成连贯且上下文相关的文本。

基于 Transformer 的架构[]:使用 12 个 Transformer 层有助于捕捉文本中的长距离依赖关系,这对于通常涉及复杂句子结构的阿拉伯语文本来说是一个至关重要的方面。

注意力机制: ArabianGPT 中的每个模型注意力层都旨在关注输入文本的不同部分,从而使模型能够生成更细致入微、更准确的阿拉伯语文本。

自适应学习率: ArabianGPT 在训练期间利用自适应学习率,有助于从大规模阿拉伯语语料库中进行高效、有效的学习。

5.3规格

表展示了ArabianGPT-0.1模型的主要特征和超参数。

表格1:ArabianGPT-0.1模型的特性和超参数。

属性价值
型号名称ArabianGPT-0.1
建筑学GPT-2(GPT2LM头部模型)
层数12
模型注意层 (MAL) 的数量12
磁头数量12
词汇量64,000
标记器阿兰尼泽
模型尺寸1.34亿个参数
初始学习率4×10−5
最终学习率4×10−0.4
上下文窗口大小768 个代币
注意力机制的 Dropout 率(attn_pdrop)0.1
嵌入的 Dropout 率(embd_pdrop)0.1
所有全连接层的 Dropout 概率 (resid_pdrop)0.1

5.4训练过程

ArabianGPT-0.1B 在数据集 D1(参见第 3.1 节)上进行了训练,使用了 2 个 NVIDIA A100 GPU,每个 GPU 80GB。A100 GPU 以其处理大规模深度学习任务的效率和能力而闻名。该模型使用包含 750 万个序列的数据集进行训练,每个序列长度为 768 个标记。训练参数包括批处理大小为 512、总共 313,500 个步骤和持续时间为 3 天,最终损失为 3.97。训练的重点是调整模型以识别和解释阿拉伯语固有的细微差别和复杂性。表总结了训练的条件和参数,图显示了训练损失在训练步骤中的收敛情况。

www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

图 2:ArabianGPT-0.1 模型的训练损失的演变。 表 2:ArabianGPT-0.1B 训练的详细信息。

范围价值
模型ArabianGPT-0.1B(基础模型)
硬件2 个 NVIDIA A100 GPU(每个 80GB)
示例数750 万个序列(序列长度 = 768 个标记)
批次大小512
步数313,500
周期数6
训练时长3天
最终损失3.97

5.5测试示例

表显示了 ArabianGPT-0.1B 模型的一些测试提示和完成对。我们注意到完成似乎很自然,但存在一些标点符号问题。

表3:ArabianGPT-0.1B 模型的示例输出。

www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

6中型模型:ArabianGPT-0.3B

6.1模型概述

与前代 ArabianGPT-0.1B 相比,ArabianGPT-0.3B 规模更大、更先进,训练样本数据集大幅增加。这使得它能够更准确、更有效地捕捉阿拉伯语在各个领域和主题中的复杂性和细微差别。

6.2描述

ArabianGPT-0.3B 是 GPT-2 模型的一个变体[]具有中等大小,专门针对阿拉伯语进行了预训练。它保留了 GPT-2 的基本原理,同时进行了修改以更好地适应阿拉伯语文本处理。ArabianGPT-0.3B 是一个比 ArabianGPT-0.1 更先进、更大的版本。它可以处理大量示例,使其更善于捕捉阿拉伯语在各个主题中的细微差别和复杂性。

6.3规格

表显示了 ArabianGPT-0.3 模型的主要特性和超参数。与 ArabianGPT-0.1 相比,它的层数增加了一倍,模型注意层数量(15 层对 12 层)和头部数量(15 层对 12 层)也更多。

表 4:ArabianGPT-0.5模型的特性和超参数。

属性价值
型号名称ArabianGPT-MID
建筑学GPT-2(GPT2LM头部模型)
层数24
模型注意层 (MAL) 的数量16
磁头数量16
词汇量64,000
模型尺寸345M 参数
初始学习率4×10−5
最终学习率1.1×10−0.4
上下文窗口大小1024 个代币
注意力机制的 Dropout 率(attn_pdrop)0.1
嵌入的 Dropout 率(embd_pdrop)0.1
所有全连接层的 Dropout 概率 (resid_pdrop)0.1

6.4训练过程

表总结了 ArabianGPT-0.3B 模型的训练条件和参数。利用 4 块 NVIDIA A100 GPU 的强大功能,该模型经历了广泛的训练过程,利用了由 7000 万个序列组成的数据集,序列长度为 1024。批处理大小为 512,在 4.97 个时期内有 1,009,500 个步骤,训练持续时间为 4.1 天。这次训练之旅的最终结果是损失为 3.82,如图所示,描绘了训练过程各个步骤中训练损失的收敛。

表 5:ArabianGPT-0.3B 训练的详细信息。

范围价值
模型ArabianGPT-0.3B(中型)
硬件4 个 NVIDIA A100 GPU(每个 80GB)
示例数7000 万个序列(序列长度 = 1024)
批次大小512
步数1,009,500
周期数4.97
训练时长4.1天
最终损失3.82
www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

图 3:ArabianGPT-0.3 模型的训练损失的演变。

6.5测试示例

表显示了 ArabianGPT-0.1B 模型的一些测试提示和完成对。我们注意到完成似乎很自然,标点符号也更好。

表 6:ArabianGPT-0.3B 模型的示例输出。

www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

7小样本评估

在本节中,我们将详细分析 ArabianGPT-0.1B、ArabianGPT-0.3B 的性能,并将它们的性能与 AraGPT-Base、AraGPT-Medium、Bloom-7b1 和 Llama-7B 模型在各种基准上的性能进行比较。此评估遵循少样本语言模型评估框架,深入了解模型在科学推理、常识理解、跨领域知识和真实性方面的能力。基准旨在测试语言模型的不同方面。它们包括:

ARC(25 次)标准化:使用标准化指标评估科学推理能力。

HellaSwag(10 次):评估叙述背景中的常识推理。

MMLU(5 次测试):衡量对各个学科的理解。

TruthfulQA(0 次)与 mc2:衡量提供真实准确答复的能力。

表显示了上述模型在每个基准上的评估分数。ArabianGPT-0.3B 在所有任务中都表现出色。它在 TruthfulQA(零样本)中表现出色,得分为 52.5,超过了 Bloom-7b1 和 Llama-7B 模型,后者比它大 23 倍多。ArabianGPT-0.1B 紧随其后。尽管规模较小,但它与 ArabianGPT-0.3B 竞争激烈,尤其是在 ARC(25 样本)和 MMLU(5 样本)方面。由于参数较少,ArabianGPT-0.1B 的性能效率非常显著,表明其具有有效的学习和适应能力。这表明较小的模型仍然可以在各种语言任务中提供具有竞争力的性能。

表 7:零样本和少量样本评估分数

模型语言平均的
(25发)
希拉斯瓦格
(10 发)
莫尔曼·卢
(5 发)
诚实问答
(0 次射击)
Bloom-7b1多种语言36.231.443.327.542.6
骆驼-7B多种语言32.124.630.928.045.1
ArabianGPT-0.3B阿拉伯32.724.328.425.752.5
ArabianGPT-0.1B阿拉伯31.924.026.625.451.8
AraGPT 碱基阿拉伯31.724.627.525.149.5
AraGPT-中阿拉伯32.223.928.526.350.0

8微调

8.1总结

自然语言处理 (NLP) 中的摘要任务涉及从较大的文本中生成简洁而有意义的摘要。在这个项目中,我们对之前预先训练的 ArabianGPT 0.1B 和 0.3B 模型进行了微调,以完成摘要任务。这些模型已在摘要数据集上进行了微调 (FT),目的是提高它们生成准确且相关摘要的能力。这些模型的性能已使用 F1 分数进行评估,F1 分数是结合了精确度和召回率的指标。

用于微调和评估的数据集是 xlsum 的子集[],具体来说是xlsum[1000]。该数据集包含一系列适合测试摘要功能的文本。

微调过程涉及专门针对摘要任务调整预训练模型的权重。此阶段至关重要,因为它可以调整模型以更好地完成所需任务(此处为摘要)。

8.1.1超参数

在 ArabianGPT 模型的微调过程中,交叉熵损失函数与 ADAM 优化器一起使用。交叉熵损失函数广泛应用于分类任务,包括摘要和问答等任务,可以将其表述为预测序列中的下一个标记。

交叉熵损失:此损失函数衡量分类模型的性能,其输出是 0 到 1 之间的概率值。随着预测概率与实际标签的偏离,它会增加,使其适合用于总结和问答等任务中的训练模型。

优化器: ADAM 是一种基于一阶梯度的优化算法,因其处理稀疏梯度的效率和对大规模问题的适应性而被采用。由于它能有效处理大型数据集和复杂的神经网络架构,因此在微调语言模型方面很受欢迎。

图展示了 ArabianGPT-0.1B 和 ArabianGPT-0.3B 模型的微调损失。从初始阶段到最终阶段,损失值的平稳下降表明微调过程中学习和适应成功。初始损失值提供了衡量微调过程有效性的基准。微调结束时这些值的显著减少反映了模型预测当前任务准确标记的能力有所提高。总结任务和问答任务之间的损失值差异表明这些任务的复杂程度不同,或者模型对每个任务的复杂性有不同的反应。

与 0.1B 模型相比,ArabianGPT0.3B 模型在两个任务中的初始损失都更高,这可能表明模型容量更复杂,经过微调后,损失也大幅减少。

www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

图4:ArabianGPT-0.1B 和 ArabianGPT-0.3B 模型的微调损失。

8.1.2结果

使用 F1 分数评估原始模型和微调模型的性能。F1 分数是精确度和召回率的调和平均值,在模型生成的摘要的完整性和准确性之间取得平衡。它们是使用 BLUE 和 ROUGE 分数计算的,公式如下:

𝐹⁢1=2⋅蓝色的⋅胭脂蓝色的+胭脂

图展示了在摘要数据集上进行微调之前和之后 ArabianGPT-0.1B 和 ArabianGPT-0.3B 模型的 F1 分数。经过微调的模型(0.1B-FT 和 0.3B-FT)与未经过微调的模型相比表现出更优异的性能。微调后 F1 分数的增加表明这些模型提高了其在摘要任务中的熟练程度。值得注意的是,0.3B 模型(无论是经过微调还是未经过微调)都比 0.1B 模型表现出更好的性能,这表明更大的模型容量可以有效处理摘要任务的复杂性。尽管取得了这些进步,但 F1 分数仍然相对较低,这意味着有很大的改进空间。解决这个问题的可能途径包括进一步微调、利用更大、更多样化的数据集或尝试不同的模型架构和超参数。

www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

图5:在摘要数据集上进行微调之前和之后,ArabianGPT-0.1B 和 ArabianGPT-0.3B 模型的 F1 分数。

表和表分别展示了经过微调的 ArabianGPT-0.1B 和 ArabianGPT-0.3B 模型在总结任务中的输出样例。我们注意到,模型理解了任务并总结了主要思想,但输出有时会包含额外的不相关的单词。

表显示了经过微调的 ArabianGPT-0.1B 和 ArabianGPT-0.3B 模型在第节介绍的基准上获得的分数。我们注意到,这两个模型的平均表现相近。但 ArabianGPT-0.3B 在 ARC 和 HellaSwag 基准上的表现明显更好,而在 TruthfulQA 基准上则明显落后于 ArabianGPT-0.1B。

表 8:摘要任务中微调的 ArabianGPT-0.1B 模型的样本输出。

www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

表 9:经过微调的 ArabianGPT-0.3B 模型在总结任务上的样本输出。

www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

表 10:在摘要数据集上进行微调后,ArabianGPT-0.1B 和 ArabianGPT-0.3B 的模型评估分数

模型语言平均的
(25发)
希拉斯瓦格
(10 发)
莫尔曼·卢
(5 发)
诚实问答
(0 次射击)
ArabianGPT-0.1B-FT阿拉伯31.724.528.025.049.3
阿拉伯GPT-0.3B-FT阿拉伯31.827.331.525.143.2

ArabianGPT 模型在摘要任务上的微调已证明其性能有所提高,这一点从 F1 分数可以看出。结果表明模型大小与摘要能力之间存在正相关性,并且微调在提高特定任务的模型性能方面非常有效。未来的工作可以集中在探索先进的微调技术、更大、更多样化的数据集,并可能整合其他 AI 方法,以进一步增强基于 Transformer 的模型的摘要能力。

8.2情绪分析

我们对阿拉伯语约旦通用推文 (AJGT) 语料库进行了微调,该语料库包含 1,800 条标注为正面和负面的推文。它们以现代标准阿拉伯语 (MSA) 或约旦方言表达。表详细说明了情绪分析微调任务的规格。

表比较了 ArabianGPT-0.1B 模型在微调之前和之后在情绪分析任务中的表现。虽然基础模型给出的响应几乎是随机的,但我们注意到,在相对较小的微调数据集上,经过微调后准确率显著提高,仅 3 个时期就达到 95%。

表和图展示了 ArabianGPT-0.1B 模型在情绪分析任务上微调前后的样本输出。在微调之前,输出分数接近 0.5,这表明模型响应几乎是随机的。相比之下,在微调之后,分数接近 1,并且在大多数情况下输出是正确的。

表 11:情绪分析微调任务的训练规范。

范围价值
纪元3
学习率1.4×10−5到1.7×10−6
8
图形处理器A100
全局步骤1500
列车损失0.203
训练样本375
测试样本375
训练百分比70%
测试百分比30%
标记器64K 阿拉尼泽

表 12:微调前后的情绪分析任务中的模型表现。

模型准确性
法学硕士-0.1B-基础56%
LLM-0.1B-Base(微调)95%

表 13:ArabianGPT-0.1B 模型在情绪分析任务上微调前后的样本输出。

www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言
www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

图6:对样本输入进行情绪分析任务微调前后 ArabianGPT-0.1B 模型的输出分数比较。

8.3问答

自然语言处理 (NLP) 中的问答任务涉及针对给定查询生成准确且与上下文相关的答案。我们已经针对问答任务对之前预训练的 ArabianGPT 0.1B 和 0.3B 模型进行了微调。这些模型已在问答数据集(特别是 mkqa-1000 数据集)上进行了微调 (FT),目的是增强它们提供准确且信息丰富的答案的能力。

mkqa-1000 数据集源自 Google Natural Questions 数据集,是进行微调和评估的基础。该数据集包含一组多样化的查询和独立于段落的答案,有助于测试模型在各种情况下的问答能力。

微调过程涉及调整预训练模型的权重,使其专门针对问答任务进行定制。这一关键阶段旨在优化模型的性能,并提高其对阿拉伯语中各种查询生成准确答案的能力。

表显示了经过微调的 ArabianGPT-0.1B 和 ArabianGPT-0.3B 模型在第节介绍的基准上获得的分数。我们注意到,这两个模型的平均表现相近。但 ArabianGPT-0.3B 在 HellaSwag 基准上表现明显更好,而在 TruthfulQA 基准上落后于 ArabianGPT-0.1B,这表明它在参数数量较多的情况下训练不足。

表显示了我们两个模型在问答数据集上进行微调后的示例输出。虽然 ArabianGPT-0.1B 通常会产生不相关、不完整或不清楚的答案,但 ArabianGPT-0.3B 的一些答案非常准确,例如第一个和第三个示例。

表 14:在问答数据集上进行微调后,ArabianGPT-0.1B 和 ArabianGPT-0.3B 的模型评估分数

模型语言平均的(25发)希拉斯瓦格(10 发)莫尔曼·卢(5 发)诚实问答(0 次射击)
ArabianGPT-0.1B-FT阿拉伯31.225.225.024.949.6
阿拉伯GPT-0.3B-FT阿拉伯31.424.827.624.948.2
www.zeeklog.com  - ArabianGPT:基于阿拉伯语的原生 GPT 大型语言

表 15:对问答数据集进行微调后两个 ArabianGPT 模型的样本输出。

9结论

ArabianGPT-Base 模型代表了阿拉伯语自然语言处理 (NLP) 领域的重大飞跃,引入了强大的理解和生成阿拉伯语文本的功能。该架构的优势在于其在综合语料库上的训练以及对定制标记器 AraNizer 的使用,这些共同促进了其在特定于阿拉伯语语境的各种 NLP 任务中的有效性。值得注意的是,GPT-2 架构所展示的多功能性通过 ArabianGPT 模型成功适应阿拉伯语的复杂性而得到进一步强调。

ArabianGPT 的开发源于人们认识到,阿拉伯语母语大型语言模型 (LLM) 的可用性存在巨大差距,这主要是由于英语和拉丁语模型的盛行。现有模型经常因包含英语标记而受到影响,这会影响它们处理阿拉伯语母语固有的复杂形态和语法的有效性。本文介绍了 ArabianGPT,它是 ArabianLLM 套件中的定制解决方案,专门用于解决这一缺陷。该套件包括不同大小的模型,例如 ArabianGPT-0.1B 和 ArabianGPT-0.3B,与阿拉伯语的细微语言特征相一致。

ArabianGPT 模型的一个关键组件是 AraNizer 分词器,专门用于解决阿拉伯文字独特的形态方面。这确保了更准确的文本处理,使模型能够精确地处理语言的复杂性。在情绪分析和总结等任务上对这些模型进行微调的实证结果显示出显著的改进。例如,经过微调的 ArabianGPT-0.1B 模型在情绪分析中实现了令人印象深刻的 95% 的准确率,比基础模型的 56% 有大幅提高。同样,在总结任务中,经过微调的模型表现出增强的 F1 分数,表明在生成简洁总结时准确率和召回率有所提高。

在各种基准测试中,将经过微调的 ArabianGPT 模型与其基本版本进行比较分析,发现性能存在细微差异。观察到微调对特定任务(例如问答和总结)有积极影响。这些发现强调了微调在使 ArabianGPT 模型与特定 NLP 任务更紧密结合方面的有效性,凸显了量身定制的转换器架构在推进阿拉伯语 NLP 方面的潜力。因此,ArabianGPT-Base 模型不仅有助于弥合阿拉伯语 LLM 的现有差距,而且还为阿拉伯语 NLP 领域的进一步发展铺平了道路。

致谢

作者感谢苏丹王子大学对这项工作的支持。

参考

  • [1]↑A. Radford、K. Narasimhan、T. Salimans 和 I. Sutskever。通过生成预训练提高语言理解能力。在神经信息处理系统进展中,第 30 卷,2018 年。
  • [2]↑A. Radford、J. Wu、R. Child、D. Luan、D. Amodei 和 I. Sutskever。语言模型是无监督的多任务学习者。OpenAI博客,1(8):9,2019。
  • [3]↑O. ElJundi、W. Antoun、N. El Droubi、H. Hajj、W. El-Hajj 和 K. Shaban。hulmona:阿拉伯语的通用语言模型。在第四届阿拉伯语自然语言处理研讨会论文集,第 68-77 页,2019 年 8 月。
  • [4]↑W. Antoun、F. Baly 和 H. Hajj。Arabert:基于 Transformer 的阿拉伯语理解模型。arXiv 预印本 arXiv:2003.00104,2020年。
  • [5]↑T. Brown、B. Mann、N. Ryder、M. Subbiah、J. D. Kaplan、P. Dhariwal 和 D. Amodei。语言模型是少量学习者。在《神经信息处理系统进展》中,第 33 卷,第 1877-1901 页,2020 年。
  • [6]↑N. Sengupta、S. K. Sahu、B. Jia、S. Katipomu、H. Li、F. Koto 和 E. Xing。Jais 和 jais-chat:以阿拉伯语为中心的基础和指令调整的开放生成大型语言模型。arXiv 预印本 arXiv:2308.16149,2023年。
  • [7]↑黄晃,余飞,朱建清,孙学宁,程浩,宋定杰,陈志宏,Abdulmohsen Alharthi,安邦,刘子澈等。Acegpt,将大型语言模型本地化为阿拉伯语。arXiv 预印本 arXiv:2309.12053,2023年。
  • [8]↑吴伟兰、杨晨、徐伟和 Alan Ritter。对阿拉伯语信息提取的预训练变压器的实证研究。arXiv 预印本 arXiv:2004.14519,2020年。
  • [9]↑穆罕默德·阿卜杜勒·马吉德 (Muhammad Abdul-Mageed)、阿卜杜勒·拉希姆·埃尔马达尼 (AbdelRahim Elmadany) 和 El Moatez Billah Nagoudi。Arbert 和 marbert:阿拉伯语的深度双向变压器。arXiv 预印本 arXiv:2101.01785,2020年。
  • [10]↑Wissam Antoun、Fady Baly 和 Hazem Hajj。Araelectra:用于理解阿拉伯语的预训练文本鉴别器。arXiv 预印本 arXiv:2012.15516,2020年。
  • [11]↑Go Inoue、Bashar Alhafni、Nurpeiis Baimukan、Houda Bouamor 和 Nizar Habash。阿拉伯语预训练语言模型中变体、大小和任务类型的相互作用。arXiv 预印本 arXiv:2103.06678,2021年。
  • [12]↑El Moatez Billah Nagoudi、AbdelRahim Elmadany 和 Muhammad Abdul-Mageed。Arat5:用于阿拉伯语生成的文本到文本转换器。arXiv 预印本 arXiv:2109.12068,2021年。
  • [13]↑Ahmed Abdelali、Sabit Hassan、Hamdy Mubarak、Kareem Darwish 和 Younes Samih。对阿拉伯语推文进行 bert 的预训练:实际考虑。arXiv 预印本 arXiv:2102.10684,2021年。
  • [14]↑Abbas Ghaddar、Yimeng Wu、Sunyam Bagga、Ahmad Rashid、Khalil Bibi、Mehdi Rezagholizadeh、Xao Xing、Yasheng Wang、Xinyu Duan、Zhefeng Wang 等。重新审视预先训练的语言模型及其对阿拉伯语自然语言处理的评估。在2022 年自然语言处理经验方法会议论文集,第 3135-3151 页,2022 年。
  • [15]↑O. Najar、S. Sibaee、L. Ghouti 和 A. Koubaa。Aranizer 0.1.8。年。
  • [16]↑T. Kudo 和 J. Richardson。Sentencepiece:一种简单且独立于语言的子词标记器和去标记器,用于神经文本处理。arXiv 预印本 arXiv:1808.06226,2018年。
  • [17]↑Yusuxke Shibata、Takuy​​a Kida、Shuichi Fukamachi、Masayuki Takeda、Ayumi Shinohara、Takeshi Shinohara 和 Setsuo Arikawa。字节对编码:一种加速模式匹配的文本压缩方案。1999 年。
  • [18]↑A. Vaswani、N. Shazeer、N. Parmar、J. Uszkoreit、L. Jones、A. N. Gomez 和 I. Polosukhin。你所需要的只是注意力。在神经信息处理系统进展中,第 30 卷,2017 年。
  • [19]↑CSEBUETNLP。XL-Sum 阿拉伯语数据集。https://huggingface.co/datasets/csebuetnlp/xlsum/viewer/arabic,2024 年。访问日期:2024 年 1 月 25 日。

Read more

深入理解 Proxy 和 Object.defineProperty

在JavaScript中,对象是一种核心的数据结构,而对对象的操作也是开发中经常遇到的任务。在这个过程中,我们经常会使用到两个重要的特性:Proxy和Object.defineProperty。这两者都允许我们在对象上进行拦截和自定义操作,但它们在实现方式、应用场景和灵活性等方面存在一些显著的区别。本文将深入比较Proxy和Object.defineProperty,包括它们的基本概念、使用示例以及适用场景,以帮助读者更好地理解和运用这两个特性。 1. Object.defineProperty 1.1 基本概念 Object.defineProperty 是 ECMAScript 5 引入的一个方法,用于直接在对象上定义新属性或修改已有属性。它的基本语法如下: javascript 代码解读复制代码Object.defineProperty(obj, prop, descriptor); 其中,obj是目标对象,prop是要定义或修改的属性名,descriptor是一个描述符对象,用于定义属性的特性。 1.2 使用示例 javascript 代码解读复制代码//

By Ne0inhk

Proxy 和 Object.defineProperty 的区别

Proxy 和 Object.defineProperty 是 JavaScript 中两个不同的特性,它们的作用也不完全相同。 Object.defineProperty 允许你在一个对象上定义一个新属性或者修改一个已有属性。通过这个方法你可以精确地定义属性的特征,比如它是否可写、可枚举、可配置等。该方法的使用场景通常是需要在一个对象上创建一个属性,然后控制这个属性的行为。 Proxy 也可以用来代理一个对象,但是相比于 Object.defineProperty,它提供了更加强大的功能。使用 Proxy 可以截获并重定义对象的基本操作,比如访问属性、赋值、函数调用等等。在这些操作被执行之前,可以通过拦截器函数对这些操作进行拦截和修改。因此,通过 Proxy,你可以完全重写一个对象的默认行为。该方法的使用场景通常是需要对一个对象的行为进行定制化,或者需要在对象上添加额外的功能。 对比 以下是 Proxy 和 Object.defineProperty 的一些区别对比: 方面ProxyObject.defineProperty语法使用 new Proxy(target,

By Ne0inhk