网络安全检测|网络安全服务|网络安全扫描-香港墨客投资移动版

主页 > 业界资讯 > imtoken

智源扔出大模型“全家桶”!开源最强中英双语(3)

秉承开源传统,智源不仅带来了强大的 Aquila2 系列模型,全面采用商用许可协议,允许公众广泛应用于学术研究和商业应用;还将相关创新训练算法、实践全面彻底开放。

1、FlagScale 高效并行训练框架

FlagScale 是 Aquila2-34B 使用的高效并行训练框架。提供一站式语言大模型的训练功能。智源团队将 Aquila2 模型的训练配置、优化方案和超参数通过 FlagScale 项目分享给大模型开发者,在国内首次完整开源训练代码和超参数。

FlagScale 基于 Megatron-LM 扩展而来,提供了一系列功能增强,包括分布式优化器状态重切分、精确定位训练问题数据以及参数到 Huggingface 转换等。经过实测,Aquila2 训练吞吐量和 GPU 利用率均达到业界领先水平 [ 1 ] [ 2 ] 。

▲ FlagScale 训练吞吐量与 GPU 利用率(数据来源和计算公式见文末)

lagScale 开源代码仓库:

https://github.com/FlagOpen/FlagScale

此外,FlagScale 采用了多种并行技术如数据并行、张量并行和 1F1B 流水线并行等,加速训练过程,并使用 BF16 进行混合精度进行训练。在性能优化方面,FlagScale 采用了 FlashAttnV2、计算与通信重叠、梯度累积等技术,显著提升了计算效率。

未来,FlagScale 将继续保持与上游项目 Megatron-LM 最新代码同步,引入更多定制功能,融合最新的分布式训练与推理技术以及主流大模型、支持异构 AI 硬件,力图构建一个通用、便捷、高效的分布式大模型训练推理框架,满足不同规模和需求的模型训练任务

2、FlagAttention 高性能 Attention 开源算子集

FlagAttention是首个支持长文本大模型训练、使用 Triton 语言开发的高性能 Attention 开源算子集,针对大模型训练的需求,对 Flash Attention 系列的 Memory Efficient Attention 算子进行扩展。目前已实现分段式 Attention 算子——PiecewiseAttention

FlagAttention 开源代码仓库:

https://github.com/FlagOpen/FlagAttention

PiecewiseAttention 主要解决了带旋转位置编码 Transformer 模型(Roformer)的外推问题。大模型推理时的序列长度超出训练时最大序列长度时,距离较远的 token 之间 attention weight 异常增高。而 Flash Attention 对 Attention Score 的计算采用分段式的处理时无法做到高效实现,因此智源团队自研了分段式 PiecewiseAttention 算子,大模型开发者可利用该开源算子实现更加灵活的 Attention 计算方式。

PiecewiseAttention 主要解决了带旋转位置编码 Transformer 模型(Roformer)的外推问题。大模型推理时的序列长度超出训练时最大序列长度时,距离较远的 token 之间 attention weight 异常增高。而 Flash Attention 对 Attention Score 的计算采用分段式的处理时无法做到高效实现,因此智源团队自研了分段式PiecewiseAttention算子,大模型开发者可利用该开源算子实现更灵活的。

简单来说,PiecewiseAttention 具备如下特性:

通用性:对使用分段式计算 Attention 的模型具有通用性,可以轻松迁移至 Aquila 之外的大语言模型。

易用性:FlagAttention 基于 Triton 语言实现并提供 PyTorch 接口,构建和安装过程相比 CUDA C 开发的 Flash Attention 更加便捷。

扩展性:同样得益于 Triton 语言,FlagAttention 算法本身的修改和扩展门槛较低,开发者可便捷地在此之上拓展更多新功能。

注:Triton 是 OpenAI 开源的编程语言,方便开发者编写高效的 GPU 代码。

基于 Triton 开发的 FlagAttention 具备更好的开源开放能力,轻松适配各种 AI 硬件,目前已在英伟达及天数智芯硬件上完成支持 [ 3 ] 。未来,FlagAttention 项目将继续针对大模型研究需求,支持其他功能扩展的 Attention 算子,进一步优化算子性能,并适配更多异构 AI 硬件。

3、BGE2 新一代语义向量模型

新一代 BGE 语义向量模型将随 Aquila2 同步开源。BGE2 中的 BGE-LLM Embedder 模型集成了 " 知识检索 "、" 记忆检索 "、" 示例检索 "、" 工具检索 " 四大能力,首次实现了单一语义向量模型对大语言模型主要检索诉求的全面覆盖。结合具体的使用场景,BGE-LLM Embedder 将显著提升大语言模型在处理知识密集型任务、长期记忆、指令跟随、工具使用等重要领域的表现。

BGE2 开源地址

paper:

https://arxiv.org/pdf/2310.07554.pdf

model:

https://huggingface.co/BAAI/llm-embedder

repo:https://github.com/FlagOpen/FlagEmbedding/tree/master/FlagEmbedding/llm_embedder

拓展阅读:链接大模型与外部知识,智源开源最强语义向量模型 BGE

参考资料:

(责任编辑:admin)