Instella – 开源语言模型的新标杆

Instella 是什么

Instella 是 AMD 推出的系列 30 亿参数的开源语言模型。它完全从零开始在 AMD Instinct™ MI300X GPU 上训练而成,基于自回归 Transformer 架构,包含 36 个解码器层和 32 个注意力头,支持最长 4096 个标记的序列。经过多阶段训练,包括大规模预训练、监督微调和偏好优化,Instella 在自然语言理解、指令跟随和对话能力等方面表现出色,且在多个基准测试中超越现有的开源模型,与最先进的开源权重模型具有竞争力。AMD 完全开源其模型权重、训练配置、数据集和代码,旨在促进 AI 社区的合作与创新。

核心功能

  • 自然语言理解 :能够理解复杂的自然语言文本,处理多种语言任务,如问答、文本生成及语义分析等,可准确把握用户问题的核心要点,为后续的回答生成奠定基础。
  • 指令跟随 :基于监督微调(SFT)及直接偏好优化(DPO),能准确理解并执行用户指令,生成符合人类需求和偏好的回答,无论是简单的内容生成还是复杂的逻辑操作指令,都能较好地完成。
  • 多轮对话能力 :支持多轮交互,可根据上下文维持连贯的对话,使交流更加自然流畅,如同人类之间的对话,增强用户体验。
  • 问题解决能力 :在数学问题、逻辑推理和知识问答等任务中表现出色,能够运用所学知识和逻辑推理能力,为用户提供高级、准确的解决方案。
  • 多领域适应性 :凭借多样化的训练数据,适应学术、编程、数学及日常对话等多个领域,满足不同用户在各种场景下的需求。

技术原理

  • Transformer 架构 :基于自回归 Transformer 架构,包含 36 个解码器层,每层有 32 个注意力头,可处理最长 4096 个标记的序列长度,这种架构能够有效捕捉文本中的长距离依赖关系,为模型的强大的语言理解和生成能力提供基础。
  • 高效训练技术 :采用 FlashAttention-2、Torch Compile 和 bfloat16 混合精度训练等技术,优化内存使用和计算效率,在有限的硬件资源下实现更快的训练速度和更高的模型性能。
  • 多阶段训练 :先使用 4.065 万亿标记进行大规模预训练,建立基础语言理解能力;再在此基础上使用额外的 575.75 亿标记进一步训练,以增强特定任务能力;接着通过监督微调(SFT)利用高质量的指令 - 响应对数据提升指令跟随能力;最后基于人类偏好数据进行直接偏好优化(DPO),让输出更符合人类价值观。
  • 分布式训练 :基于完全分片数据并行(FSDP)技术,将模型参数、梯度和优化器状态在节点内分片,在节点间复制,实现大规模集群训练,提高训练效率,使模型能够处理海量数据并快速收敛。

支持平台

Instella 主要面向支持 AMD Instinct™ MI300X GPU 的平台,同时也可在其他兼容的硬件平台上运行,但可能需要进行一定的配置和优化。对于 AMD GPU,可以从 rocm/pytorch docker 开始,按照官方提供的安装指南进行环境搭建和依赖安装。

团队介绍

Instella 由 AMD GenAI 团队开发。AMD 作为一家在图形处理单元(GPU)和计算技术领域深耕多年的公司,拥有强大的研发实力和丰富的技术经验,其团队成员在深度学习、自然语言处理等领域具有深厚的专业知识和创新能力,能够为 Instella 的开发和优化提供有力支持。

项目资源

业务场景

  • 智能客服 :自动回答客户问题,提供个性化服务,提高客户服务效率和满意度,降低人工客服成本。
  • 内容创作 :为内容创作者提供灵感和辅助,生成文案、故事、新闻报道等各种类型的文本内容,提高创作效率和质量。
  • 教育辅导 :解答学术问题,提供学习建议和指导,辅助学生学习,帮助他们更好地理解和掌握知识。
  • 编程辅助 :生成代码片段,提供编程建议和解决方案,帮助开发者快速定位和修复代码问题,提高编程效率。
  • 企业知识管理 :整合企业内部知识,提供智能检索和问答功能,方便员工获取所需信息,提升企业协作效率和知识共享水平。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注