NinjaTech AI 的使命是使用快速且经济实惠的人工智能 (AI) 代理来处理耗时的复杂任务,从而提高每个人的工作效率。我们最近推出了 MyNinja.ai,世界上首批多代理个人 AI 助手之一,旨在推动我们的使命。MyNinja.ai 是使用专业代理从头开始构建的,这些代理能够代表你完成任务,包括安排会议、从网络进行深入研究、生成代码和帮助写作。这些代理可以将复杂的多步骤任务分解为分支解决方案,并能够动态评估生成的解决方案,同时不断从过去的经验中吸取教训。所有这些任务都是以完全自主和异步的方式完成的,让您可以腾出时间继续一天,让 Ninja 在后台处理这些任务,并在需要您的输入时参与其中。

由于没有单一的大型语言模型 (LLM) 可以完美地完成每项任务,因此我们知道构建个人人工智能助手需要多个 LLM 专门针对各种任务进行优化。为了提供令用户满意的精度和功能,我们还知道需要这些多个模型协同工作。最后,我们需要可扩展且具有成本效益的方法来训练这些不同的模型——从历史上看,对于大多数初创公司来说,这项工作成本很高。在这篇文章中,我们描述了我们如何使用以下方法构建尖端生产力代理 NinjallM(MyNinja.ai 的支柱) AWS 培训班 芯片。
建立数据集
我们很早就认识到,要实现代表用户处理任务的使命,我们需要针对特定任务进行优化的多个模型。示例包括我们的深度研究员、深度编码器和顾问模型。在测试了可用的开源模型之后,我们认为开箱即用的功能和响应不足以满足我们的需求。具体而言,在使用开源模型进行测试时,我们希望确保每个模型都针对React/Chain-of-Thought 提示风格进行了优化。此外,我们希望确保该模型在作为一部分部署时能够 检索增强生成 (RAG)系统,准确地引用每个来源,以及任何偏向于说 “我不知道” 而不是生成错误答案的偏见。为此,我们选择微调各种下游任务的模型。
在构建训练数据集时,我们的目标是双重的:调整每个模型以适应其合适的下游任务和角色(研究员、顾问、编码员等),并调整模型以遵循特定的输出结构。为此,我们遵循了 利马方法 用于微调。我们使用了大约 2,000 万个代币的训练样本,重点关注输出的格式和语气,同时使用了多样化但相对较小的样本量。为了构建我们的监督微调数据集,我们首先为每个模型创建初始种子任务。通过这些种子任务,我们使用 Meta 的 Llama 2 模型生成了初始合成数据集。我们能够使用合成数据集进行初始的微调。为了初步评估这个微调模型的性能,我们对用户反馈进行了众包,以迭代方式创建更多样本。我们还使用了一系列基准(内部和公共基准)来评估模型性能,并继续进行迭代。
在 Trainium 上进行微调
我们之所以选择从Llama模型开始制作预训练的基础模型,原因有很多:最值得注意的是出色的开箱即用性能、来自各种库的强大生态系统支持以及真正的开源和许可证。当时,我们从 Llama 2 开始,对各种尺寸(7B、13B 和 70B)进行了测试。在训练方面,我们选择使用 trn1.32xlarge 实例集群来利用 Trainium 芯片。我们使用了 32 个实例的集群来高效地并行化训练。我们还使用了 AWS 并行集群 管理集群编排。通过使用一组 Trainium 实例,每次微调迭代耗时不到 3 小时,成本不到 1,000 美元。这种快速的迭代时间和低廉的成本使我们能够快速调整和测试模型并提高模型精度。为了达到以下章节中讨论的准确性,如果我们必须使用传统的训练加速器进行训练,我们只需要花费大约3万美元,从而节省数十万甚至数百万美元。
下图说明了我们的训练架构。

在我们建立了基于 Trainium 的微调管道之后,借助 Neuron 分布式训练库,我们得以对模型进行微调和完善。这非常有用和及时,因为在 MyNinja.ai 发布之前,Meta 的 Llama 3 模型已经发布了。Llama 3 和 Llama 2 的架构相似,因此我们能够快速升级到更新的型号。这种切换速度使我们能够利用模型精度的固有提高,使用Llama 3权重快速完成另一轮微调,为发射做准备。
模型评估
评估模型有两个目标:评估模型回答用户问题的能力,以及评估系统使用提供的来源回答问题的能力,因为这是我们的个人 AI 助手的主要界面。我们选择了 HotpotQA 和 自然问题 (NQ) 公开赛 数据集,这两个数据集都非常合适,因为它们具有公开排行榜的开放基准测试数据集。
我们使用从维基百科语料库中检索到的前10段段落将模型的答案与预期的答案进行匹配来计算准确性。我们使用以下方法进行了内容筛选和排名 ColberTV2,一种基于 BERT 的检索模型。通过使用我们增强的Llama 3 RAG模型,我们在NQ Open数据集上实现了62.22%的准确率,在HotpotQA上实现了58.84%的准确率,这表明与其他基线模型相比有显著改进。下图总结了我们的结果。

今后的工作
展望未来,我们正在进行多项开发,以继续改善模型的性能和用户体验。首先,我们打算使用 ORPO 来微调我们的模型。ORPO 将传统的微调与偏好对齐相结合,同时对两者都使用单一的偏好对齐数据集。我们相信这将使我们能够更好地调整模型,为用户提供更好的结果。
此外,我们打算根据迄今为止已经微调的各种模型构建一个自定义的集成模型。受混合专家 (MoE) 模型架构的启发,我们打算为各种模型引入路由层。我们相信,这将从根本上简化我们的模型服务和扩展架构,同时保持用户期望我们的个人 AI 助手完成的各种任务的质量。
结论
构建下一代人工智能代理以提高每个人的工作效率是 NinjaTech AI 实现其使命的途径。为了普及这项变革性技术,获得高性能计算、开源模型和工具生态系统至关重要,这些工具可以让每位新代理人负担得起、快速地进行培训。AWS 专门构建的 AI 芯片、对顶级开源模型的访问权限及其训练架构使这成为可能。
要详细了解我们如何构建 NinjaTech AI 的多代理个人 AI,您可以阅读我们的 白皮书。你也可以在以下网址免费试用这些 AI 代理 MyNinja.ai。
作者简介

阿拉什·萨德里 是 Ninjatech.ai 的联合创始人兼首席科学官。Arash 与他人共同创立了 Ninjatech.ai,其愿景是通过使用 AI 代理处理耗时的任务来提高每个人的工作效率。这一愿景是在他在 AWS 担任高级应用科学家期间形成的,他在六年内推动了关键研究计划,显著提高了基础设施效率,为他赢得了多项优化核心基础设施的专利。他的学术背景包括计算机建模和仿真博士学位,并与牛津大学、悉尼大学和CSIRO等知名机构合作。在担任该行业之前,阿拉什曾在包括《自然通讯》在内的高影响力期刊上发表过文章,其标志是他曾在博士后研究期间发表过文章。

塔希尔·阿齐姆 是 NinjaTech 的一名高级软件工程师。塔希尔专注于NinjaTech基于Inf2和Trn1的训练和推理平台、访问这些平台的统一网关以及基于RAG的研究技能。他之前曾在亚马逊担任高级软件工程师,负责构建数据驱动的系统,以最佳利用亚马逊的全球互联网边缘基础设施,降低成本、拥塞和延迟。在进入工业领域之前,塔希尔拥有斯坦福大学计算机科学硕士和博士学位,在NUST(巴基斯坦)担任助理教授三年,并在洛桑联邦理工学院担任快速数据分析系统的博士后学位。塔希尔撰写了多本出版物,在VLDB、USENIX ATC、MobiCom和MobiHoc等顶级会议上发表。

薛腾飞 是 NinjaTech AI 的应用科学家。他目前的研究兴趣包括自然语言处理和多模态学习,尤其是使用大型语言模型和大型多模态模型。腾飞在悉尼大学计算机科学学院完成了博士学位学习,在那里他专注于使用各种模式进行医疗深度学习。他还是哈佛大学成像数学实验室(LMI)的访问博士候选人,在那里他研究了复杂几何数据的三维计算机视觉。



