Aurora-M:首个通过拜登-哈里斯行政命令红队测试的多语言开源语言模型
作者
Mayank Mishra*、Taishi Nakamura*、Simone Tedeschi*、Yekun Chai、Jason T Stillerman、Tanmay Laud、Felix Friedrich、Prateek Yadav、Minh Chien Vu、Terry Yue Zhuo、Diganta Misra、Dung Nguyen、Nam Pham、Ben Bogin、Xuan-Son Vu、Marzena Karpinska、Arnav Varma Dantuluri、Wojciech Kusa、Tommaso Furlanello、Niklas Muennighoff、Suhas Pai、Tosin Adewumi、Veronika Laippala、Xiaozhe Yao、Adalberto Junior、Alpay Ariyak、Aleksandr Drozd、Jordan Clive、Kshitij Gupta、Liangyu Chen、Peter Szemraj、Qi Sun、Ken Tsui、Noah Persaud、Nour Fahmy、Tianlong Chen、Mohit Bansal、Arnav Dantuluri、Nicolò Monti、Tai Dang、Ziyang Luo、Tien-Tung Bui、Matthew Blumberg、Erik Orth、Ray Tam、Rio Yokota、Robin Graham、TeH_Venom、KoboldHenk、Yu Hou、Yuchen Lu、Victor May*、Huu Nguyen*、Sampo Pyysalo
*(同等贡献)
引言
2024年1月24日,Ontocord.AI和MDEL开源社区悄然发布了我们的模型Aurora-M的预览版。Aurora-M是一个开源的155亿参数模型,具有多语言和编码能力。在这篇博客中,我们将进一步阐述我们为所有人创造更智能、更合规的人工智能所做的努力。Aurora-M是StarCoderPlus模型的扩展预训练版本,额外训练了4350亿个token,使总训练量达到约2万亿个token。
Aurora-M在编码方面表现出色,同时具有强大的多语言性能,熟悉一系列专业领域,并且从设计上就注重安全。它在日语、英语、越南语、印地语和芬兰语数据上进行了训练。
数据集中包含的领域知识还包括化学SMILES公式、金融数据、法律合同、政治辩论、气候变化数据、ABC音乐符号、编码、数学以及许多其他领域。
据我们所知,Aurora-M是第一个根据拜登-哈里斯行政命令要求进行红队测试的开源模型,我们也努力使其符合通用安全标准。
我们的贡献是提供一种方法论和模型,该模型能够保留大部分英语和编码能力,同时在多语言设置中取得SOTA(最先进)或接近SOTA的结果。该模型还针对现代AI法律进行了红队测试,同时保持了实用性,我们相信没有夸大安全性。
我们使用LUMI超级计算机训练了该模型,计算资源由CSC - 芬兰科学信息技术中心慷慨提供。我们感谢他们以及所有参与Aurora-M和MDEL工作的人员。我们还要感谢出色的BigCode团队公开发布和开发了StarCoder模型。
我们发布了3个不同的模型
- Aurora-M base:在3770亿token的多语言数据上预训练的模型。
- Aurora-M instruct:在基础模型之上,使用Slim-Orca数据集进行指令微调的模型。
- Aurora-M Biden-Harris red teamed:在580亿token的指令微调数据与我们创建的拜登-哈里斯红队数据集混合后进行微调的模型。
训练数据集
我们使用了来自The Stack、Refined Web、Red Pajama 1和Pile数据集的大约1.5TB文本数据,以及作为MDEL工作一部分创建的特定数据集。这些数据集包含日语、英语、越南语、印地语和芬兰语的文本。
该数据集使用与Cultura-X和Cultura-Y类似的标准方法进行了清洗。我们还使用了基于维基百科链接文章的red-pajama fastText过滤器,以过滤掉那些不太像维基百科链接文章的文章。此外,我们还为日语、芬兰语、越南语和印地语创建了带有链接维基百科文章的fastText过滤器,但发现这些过滤器的效果较差,因为这些语言的维基百科文章数量非常有限。因此,我们尝试在这些语言中寻找其他参考文本作为“好”文本,但结果各异,我们将在我们的数据集卡片中解释。特别是,我们无法找到令人满意的芬兰语“好”文本来源,因此只对芬兰语应用了标准数据清洗。
我们还分两个阶段混合了公开可用的指令微调数据集,包括OIG数据集、OpenAssistant、伪代码指令、Gorilla等。在第一阶段,我们使用了质量较低但更通用的指令;在第二阶段,我们使用了质量较高的指令、聊天数据(如Ultrachat)以及我们自己创建的安全指令数据集拜登-哈里斯红队数据集。
在这两个阶段中,我们还像预训练模型通常做的那样,使用了公共爬虫、维基百科等预训练数据集。这里我们列出第一阶段预训练中使用的指令微调数据集
- minipile的一个样本,其中添加了使用bart-base-open-instructiongen-v1生成的指令
- 开放助理(Open Assistant)
- 转换为指令的SMILES公式
- XP3,特别是跨语言指令
- 猩猩
- 使用IndicXlit和此脚本创建的公共Hinglish指令和Hinglish翻译
- 用于跨语言代码的Anh数据集的子集
- 公共abc_music指令
- 转换为指令的科学数据集
- Anh中的sungai_ul2_instructions子集
- OIG数据集的一个子集
在第二阶段,我们使用以下指令微调数据集(有些是从训练第一阶段重复的)
- 猩猩
- 伪代码指令
- OIG:
- 统一小学数学指令
- 统一诗歌转歌曲
- 统一多新闻
- 统一多重求和
- unified_ul2_plus_oscar_en_sample_dialog
- unified_unifiedskg_instructions
- unified_xp3_sample
- 统一笑话解释
- 统一对话金融问答
- 统一SQLv2
- smiles-transformers的子集
- 印地语指令
- Open Assistant Guacano
- ABC音乐
- 代码演化指令-OSS
- 代码竞赛的Python子集
- Ultrachat
- HelpSteer
- Tulu-v2
- MetaMathQA
- GSM8K_Backward
- BuggedPythonLeetCode
- bridge_dict
- Lila
- 自然指令
- OPUS翻译
- 拜登-哈里斯红队数据集:该数据集包含数千条经过红队测试、人工审查和编辑的指令,以解决一般安全问题,更具体地说是拜登-哈里斯人工智能行政命令中关注的问题。该数据集由指令-响应对组成,涵盖了红队关注的特定类别。指令是通过过滤来自Anthropic的关于无害性的人工偏好数据集以及通过半自动化基于模板的方法获得的。响应最初由GPT-4起草,然后由预训练第一阶段获得的Aurora-M模型进行改写和扩展。最后,我们手动编辑这些响应以提供带有解释的拒绝。
我们对拜登-哈里斯人工智能安全行政命令的解读
以下是我们对行政命令(2023年10月30日,白宫)中关于人工智能安全、可靠和可信赖开发与使用的红队测试要求的解读。我们主要关注第3(d)和3(k)节
3 (d)
“人工智能红队测试”是指一种结构化的测试工作,旨在发现人工智能系统中的缺陷和漏洞,通常在受控环境中与人工智能开发人员合作进行。人工智能红队测试通常由专门的“红队”执行,他们采用对抗性方法来识别缺陷和漏洞,例如人工智能系统产生的有害或歧视性输出、意外或不期望的系统行为、限制,或与滥用系统相关的潜在风险。
3 (k)
“双重用途基础模型”是指一种在广泛数据上训练的AI模型;通常使用自监督;包含至少数百亿参数;适用于广泛的上下文;并且表现出或可以很容易地修改以表现出对安全、国家经济安全、国家公共卫生或安全或这些事项的任何组合构成严重风险的任务的高水平性能,例如通过:
- 大幅降低非专业人员设计、合成、获取或使用化学、生物、放射或核(CBRN)武器的门槛;
- 通过自动化漏洞发现和利用针对广泛潜在网络攻击目标,实现强大的攻击性网络操作;或
- 通过欺骗或混淆手段允许规避人为控制或监督。
即使模型提供给最终用户时带有旨在阻止用户利用相关不安全功能的技术保障,它们也符合此定义。因此,广义上,行政命令将人工智能红队测试定义为测试缺陷和漏洞,包括
- 有害或歧视性输出
- 不可预见或不期望的系统行为。这与命令中概述的更广泛的安全问题相关联。
- 模型本身的限制。目的是评估系统的稳健性及其实现设计目的的能力。
- 滥用系统相关的潜在风险。这涵盖了广泛的担忧,包括网络安全威胁(如命令中反复强调的)以及潜在的非法或有害行为。(“严重威胁安全、国家经济安全、国家公共健康或安全”)。
安全性
虽然大型语言模型(LLM)功能强大,但它们容易产生有害、有害甚至危险的内容。它们还可能产生有偏见的输出并生成虚假信息。尽管用户必须负责任地使用LLM——考虑其生成内容的潜在后果——但开发者有责任精心设计LLM,强调道德准则并保护它们免受可能绕过安全协议并破坏其指导原则的潜在攻击。受此启发并考虑到最新的人工智能法规,我们构建了一个大型的指令-响应对数据集,以增强我们模型的安全性和稳健性。具体而言,我们的努力集中在拜登-哈里斯美国人工智能行政命令下的以下主要关注领域:
- 对自己或他人的伤害
- 关于如何进行网络攻击的请求
- 制造或扩散化学、生物、放射性或核武器
- 参与任何非法行为:盗窃和抢劫、逃税、贩毒和吸毒、操纵公众舆论等
- 试图绕过红队控制
我们生成的数据集旨在缓解命令中列出的这些具体问题。
训练
Aurora-M 在 LUMI 超级计算机上进行训练。训练使用了32个节点,每个节点配备4个 AMD MI250X GPU,持续74天,期间包含服务器停机时间。值得注意的是,LUMI 使用 100% 水力发电能源。LUMI 的余热也被用于为卡亚尼市数百户家庭供暖。
由于训练时 AMD GPU 上无法使用FlashAttention 内核,我们不得不使用 PyTorch 实现的注意力机制,这限制了我们将训练上下文长度设置为 2k,并导致训练效率低下。我们使用了与 NVIDIA 和 AMD GPU 兼容的 Megatron-LM 的自定义分支。
如前一节所述,我们使用两阶段课程。在第一阶段,我们使用了5种语言的大量预训练语料库,并混入了前一节中提到的低质量指令微调数据集。我们在此数据集上训练模型9万步。
在第二阶段,我们使用了前一节中提到的高质量指令数据集,以及拜登-哈里斯红队数据集的训练分割,其中混合了过采样的维基百科、欠采样的英文数据、过采样的Python代码和Markdown,以引导模型生成格式良好的文本。在这一步中,我们还删除了包含大量符号和数字的文本。我们在这第二阶段训练模型1.4万步。
我们发现在9万步之后训练损失下降得更陡峭,这可能归因于更干净的指令微调数据集。我们将其留待进一步研究。
完整的 WandB 训练报告请参见此处。
评估
此处我们提供了一张关于不同语言和代码评估的图表,这些评估汇总了各种任务的结果。我们在各种语言任务上显著优于StarCoder模型,同时在编码任务上表现相当。我们还在芬兰语、越南语和印地语方面优于Finnish GPT、Llama-2和StarCoder模型。为简洁起见,本博客中不提及具体评估的详细信息。
结论
我们将发布一份技术报告,其中将详细介绍我们的全面评估以及模型的更多细节和局限性。Aurora-M是一项开源工作,汇集了来自学术界和工业界的志愿者,旨在促进语言公平性、合法性和高性能人工智能研究。我们于2023年春季开始了这项旅程,我们的工作不应与AuroraGPT项目混淆。作为Ontocord.AI致力于实现开放科学和公平获取人工智能知识的一部分,我们支持Aurora-M等项目。Ontocord.AI优先考虑合法性、数据质量,并在人工智能开发中利用数据过滤、合成数据和安全指令。我们很荣幸能够将其中一些技术应用于我们的Aurora-M工作中。如果您有任何问题,请联系我们:engage@ontocord.ai。