Snowflake 发布高「企业智能」模型 Arctic,专注于企业内部应用。
刚刚,数据管理和仓库提供商 Snowflake 宣布加入 LLM 混战,发布了一款专注于企业级应用的顶级大型语言模型(LLM)——Snowflake Arctic。
作为一家云计算公司推出的 LLM,Arctic 主要具备以下两个方面的优势:
现在,你可以在 Hugging Face 上访问 Arctic 模型。Snowflake 表示:用户很快可以通过一些模型库获取,包括 Snowflake Cortex、AWS、微软 Azure、NVIDIA API、Lamini、Perplexity、Replicate 和 Together 等。
Hugging Face:https://huggingface.co/Snowflake/snowflake-arctic-instruct
Arctic 的上下文窗口设置为 4K,研究团队正在研发基于注意力池(attention-sink)的滑动窗口实现,在未来几周内将支持无限序列生成,并在不久的将来扩展到 32K 注意力窗口。
Snowflake 的研究团队从企业客户的 AI 需求和使用案例中看到了一个一致的模式:企业希望使用 LLM 构建对话式 SQL 数据 copilot、代码 copilot 和 RAG 聊天机器人。
这意味着 LLM 需要在 SQL、代码、复杂指令遵循和生成具体响应方面表现出色。Snowflake 将这些能力融合成一个称为「企业智能」的单一指标,具体方式是对编码(HumanEval + 和 MBPP+)、SQL 生成(Spider)和指令遵循(IFEval)性能水平取平均值。
Arctic 在开源 LLM 中达到了顶级的「企业智能」水平,而且是在大约不到 200 万美元的训练计算成本(少于 3K GPU 周)的情况下做到的。这意味着 Arctic 比其他使用类似计算成本训练的开源模型能力更强。
更重要的是,即使与那些使用远高于其的计算成本训练的模型相比,Arctic 在企业智能方面也表现出色。Arctic 的高训练效率意味着 Snowflake 的客户和整个 AI 社区可以以更经济的方式训练定制模型。
如图 1 所示,Arctic 在企业智能指标上与 LLAMA 3 8B 和 LLAMA 2 70B 不相上下,而使用的训练计算成本不到一半。并且,尽管仅使用 1/17 倍的计算成本,Arctic 在编码(HumanEval + 和 MBPP+)、SQL(Spider)和指令遵循(IFEval)等指标上可与 Llama3 70B 媲美,即 Arctic 在保持整体性能竞争力的同时做到了这一点。
此外,Snowflake 还在学术基准上评估了 Arctic,涉及世界知识、常识推理和数学能力,完整评估结果如下图所示:
为了达到上述训练效率,Arctic 采用一种独特的 Dense-MoE 混合 transformer 架构。它将一个 10B 的密集 transformer 模型与一个 128×3.66B 的残差 MoE MLP 结合起来,总共有 480B 参数和 17B 活跃参数,使用 top-2 gating 来进行选择。
设计和训练 Arctic 时,研究团队使用了以下三个关键的见解和创新:
2021 年底,DeepSpeed 团队证明了 MoE 可以应用于自回归 LLM,从而显著提高模型质量而不增加计算成本。在设计 Arctic 时,研究团队注意到,基于这个思路,模型质量的提高主要取决于 MoE 模型中的专家数量和总参数量,以及这些专家的组合方式数量。
基于此,Arctic 被设计为在 128 个细粒度(fine-grained)专家之间分布 480B 参数,并使用 top-2 gating 来选择 17B 活跃参数。
在强大的 AI 训练硬件上训练具有大量专家的基本 MoE 架构非常低效,因为专家之间的全连接通信开销很高。Snowflake 发现,如果通信可以与计算重叠,就可以省去这种开销。
因此,Arctic 将密集 transformer 与残差 MoE 组件相结合(图 2),通过通信计算重叠,使训练系统能够实现良好的训练效率,隐藏了通信开销的大部分。
在代码生成和 SQL 等企业级指标上表现出色需要与通用指标截然不同的数据课程学习(Curriculum Learning)。通过数百次小规模的消融实验,该团队了解到通用技能,如常识推理,可以在初始阶段学习;而编码、数学和 SQL 等更复杂的指标可以在训练后期有效学习。
这可以类比于人类的生活教育,从简单到困难逐步获取能力。因此,Arctic 使用一个三阶段的课程学习,每个阶段的数据构成都不同,第一阶段侧重于通用技能(1T token),后两个阶段侧重于企业技能(1.5T 和 1T token)。
推理效率也是模型高效的一个重要方面,影响到模型是否可以在低成本下进行实际部署。
Arctic 代表了 MoE 模型规模的一次飞跃,它比任何其他开源自回归 MoE 模型都使用了更多的专家和总参数。因此,Snowflake 需要几个创新思路来确保 Arctic 能够高效推理:
a) 在批大小较小的交互推理中,例如批大小为 1,MoE 模型的推理延迟受制于读取所有活跃参数的时间,推理是受内存带宽限制的。在这种批大小下,Arctic(17B 活跃参数)的内存读取量仅为 Code-Llama 70B 的 1/4、Mixtral 8x22B(44B 活跃参数)的 2/5,从而具备更快的推理速率。
b) 当批大小显著增加,例如每次前向传递数千个 token 时,Arctic 从内存带宽受限转变为计算受限,推理受到每个 token 的活跃参数的限制。在这方面,Arctic 的计算量是 CodeLlama 70B 和 Llama 3 70B 的 1/4。
为了实现计算受限的推理和与 Arctic 中少量活跃参数相匹配的高吞吐量,需要一个较大的批大小。实现这一点需要有足够的 KV 缓存来支持,同时还需要足够的内存来存储模型的近 500B 参数。
虽然具有挑战性,但 Snowflake 通过使用两个节点进行推理,并结合 FP8 权重、split-fuse 和连续批处理、节点内张量并行以及节点间 pipeline 并行等系统优化来实现。
研究团队已与 NVIDIA 展开密切合作,针对由 TensorRT-LLM 驱动的 NVIDIA NIM 微服务进行推理优化。同时,研究团队还与 vLLM 社区合作,内部开发团队也将在未来几周内为企业用例实现 Arctic 的高效推理。
文章来自微信公众号“机器之心”
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】MindSearch是一个模仿人类思考方式的AI搜索引擎框架,其性能可与 Perplexity和ChatGPT-Web相媲美。
项目地址:https://github.com/InternLM/MindSearch
在线使用:https://mindsearch.openxlab.org.cn/
【开源免费】Morphic是一个由AI驱动的搜索引擎。该项目开源免费,搜索结果包含文本,图片,视频等各种AI搜索所需要的必备功能。相对于其他开源AI搜索项目,测试搜索结果最好。
项目地址:https://github.com/miurla/morphic/tree/main
在线使用:https://www.morphic.sh/