当前位置: 首页 > news >正文

中国电信解锁万亿参数大模型:TeleAI的创新与突破

首个由万卡集群训练出来的万亿参数大模型,已被一家央企解锁。

具体而言,为了推动纯国产人工智能的探索,带来这条新路径的正是中国电信人工智能研究院(TeleAI)。

该研究院由中国电信集团的CTO、首席科学家兼院长李学龙教授带领的团队完成了这一壮举。根据了解,训练过程中使用的万卡集群由天翼云上海临港国产万卡算力池提供,基于天翼云自研的“息壤一体化智算服务平台”和电信人工智能公司自研的“星海AI平台”的支持,可以实现万亿参数的稳定训练,平均每周仅有1.5次训练中断,集群训练的稳定性达到了国际领先水平。

此外,TeleAI还开源了由国产深度学习框架训练的千亿参数大模型——星辰语义大模型TeleChat2-115B。TeleChat是央企中首个开源的系列语义大模型,而TeleChat2-115B则在TeleChat的基础上,通过对训练数据量、数据质量、配比和模型架构等多个维度的优化,取得了更为显著的效果提升!在九月份的C-Eval评测Open Access模型综合榜单中,TeleChat2-115B以86.9分的成绩,一举夺得了榜单第一!

这已经不是TeleAI第一次在权威榜单中高居榜首了。早在今年5月份时,其TeleChat系列模型的逻辑推理能力便在OpenCompass测试榜单中取得了开源大模型的第一名。

具体到应用方面,星辰语义大模型在长文本写作方面采用了“大纲写作+正文写作”的模式,更加贴近用户的习惯。

据了解,它还采用逐段生成文本的方式,这有利于实现超长文章的写作。

即使面对超长会议,星辰语义大模型也能够轻松实现实时纪要生成,在准确性、完整性、幻觉问题、逻辑性以及规范性等多个方面都能呈现高质量的结果。

对于大型电子报表,星辰语义大模型支持报表生成、报表问数、报表摘要以及报表对应报告的风格化仿写等功能,能够轻松处理百万行数据!

那么,万卡万参是如何练成的呢?

需要明确的一点是,实现万卡万参并非易事,尤其是实现全国产化的难度显而易见。首先的难点便是提升万卡集群的性能和稳定性。为了提升训练性能,TeleAI采用了多维混合并行的技术,可以通过设置不同的并行模式,实现数据并行、模型并行和流水线并行的自动混合使用,支持万亿模型在万卡集群上的高效分布式训练。在此次训练中,还采用了以下关键技术以进一步提升训练性能:

  • 多副本并行:通过将输入模型的数据按照batch size维度进行切分,使得底层在通信时,另一副本进行计算操作,无需等待,从而显著提升模型性能。

  • 通信优化:通过通信融合和通信子图提取与复用等技术,减少通信耗时,提升训练性能。

  • DryRun仿真:无需真正执行计算,而是在小集群上分析计算图,识别性能瓶颈,如算子融合、显存使用和数据流的效率问题,提前为万卡集群的运行提供优化配置。

  • 灵活重计算配置:结合DryRun的显存使用分析,通过计算选重、通信选重、指定选重等多种配置,在满足单卡显存限制的情况下,找到显存和计算的最优平衡点,以实现性能的最大化。

最终,国产算力万卡集群的性能超过对应GPU的93%以上。此外,为了提升训练的稳定性,TeleAI通过上线训练集群断点续训、CCAE集群监控并快速隔离故障节点、多级存储优化等方法,达成了集群98%的稳定可用性,断点续训成功率超过90%,单次断点续训的时长约为15分钟。

其次的挑战在于训练万亿参数的大模型。在进行超大参数模型训练过程中,TeleAI通过大量小模型的训练,对Scaling Law(尺度定律)展开探索,分析每个模型的噪声空间,并构造正激励噪声来强化训练过程中的噪声管理。正激励噪声作为训练超大参数模型的核心技术,帮助研究人员确定最优模型结构,从而提高模型的整体能力与鲁棒性。

为此,TeleAI采用了“四步走”策略:

  1. 在模型构建方面,利用多项技术进行优化。首先,在位置编码方面,采用Rotary Embedding的编码方法,该方法具备出色的位置外推性,并能够与attention计算加速技术良好配合,从而大幅提升模型的训练速度。

  2. 其次,在激活函数层面,选用SwiGLU激活函数替代GELU激活函数。实验表明,SwiGLU相较于其他激活函数,拥有更好的模型拟合效果。

  3. 在层标准化环节,运用基于RMSNorm的Pre-Normalization。实验发现,该算法在训练进程中具有更佳的稳定性。

  4. 将词嵌入层(embedding)与输出lm head层参数解耦,实验表明,这样能够增强训练的稳定性和收敛性。

  5. 最后,在大参数模型(TeleChat2-115B)上应用GQA,有助于提高模型的训练和推理性能。GQA能大幅降低模型推理过程中的显存使用量,显著提升模型的外推长度和推理性能。

在基础训练数据构建方面,TeleAI在工程实践中借助多级先导模型展开细致的追随训练以及数据调整实验,对数据清洗及数据混合策略的有效性进行了充分评估和验证。

其一,在数据清洗方面,运用语种识别、数据去重、文本格式规范化、无关内容过滤、低质内容过滤等手段来提升预训练数据的质量。同时,建设多模态结构化文档解析工具,有效提取公式和表格内容。实验发现,经过数据清洗后,模型训练损失更低,学习速度更快,能够节约43%的训练时间。

其二,在数据混合方面,采用在线领域采样权重调整算法。在先导模型训练过程中,根据不同数据集的样本损失分布动态更新采样权重,进而获得效果最优的数据混合策略。在模型训练初期,还会根据评测指标变化情况持续调整配比方案。实验表明,增加中文数据比例、增大数学与题库数据比例,有助于提升模型的文本理解和考试能力。

其三,在数据合成方面,针对数学、代码等特定领域任务,梳理细粒度的知识点体系,并构建复杂指令,让大模型生成知识密度高的合成数据,例如试题解析过程、代码功能解释和代码调用关系等。

接下来是SFT(模型微调)专项优化

在低质量过滤方面,运用模型困惑度(PPL)、指令追随难度(IFD)以及可学习度(Learnability)等指标来衡量单条样本的回答难度,进而自动筛选并过滤掉文本格式规范性差、答案标注错误的样本。

对于高质量构建,将SFT划分为逻辑、认知、理解三个能力维度及二十多个子类。通过预先制定的标准评测集,定向筛选出对单项能力指标提升影响最大的高质量数据。

同时,提出基于黄金模板构建问答数据的两阶段标注方案,从规范性、新颖性、逻辑性、丰富性、完整性等维度总结每类问题的最佳模板,再依据模板标注符合要求的最佳答案。

在效果选择上,基于模型困惑度指标,能够快速评估不同版本的模型在小规模验证集上的拟合程度,从而挑选出表现较好的版本,以此降低计算成本。

然后是偏好对齐

为最大程度确保指令数据的全面性与均衡性,TeleAI分类并收集了涵盖总共300个类别的指令数据集。同时,为获取更高质量的指令数据,运用聚类和中心选择算法,从中挑选出具有代表性的指令。

随后,TeleAI将来自不同训练阶段、不同参数大小的TeleChat系列模型的回复,按照安全性、事实性、流畅性等多个维度,归为高质量、中质量、低质量三个不同标签,形成pair-wise数据用于奖励模型的训练。

DPO算法因工程实现简便、易于训练而被广泛应用,在TeleChat训练阶段也采用了这一策略。在数据构建阶段,TeleAI使用指令数据对当前Chat模型进行10至15次推理采样,并利用奖励模型对每个回复进行打分。

TeleAI采用West-of-N的方式构建pair数据,即将模型回答的最高分作为chosen response,最低分作为rejected response,以此确保pair数据具有较强的偏好差别。

在训练阶段,除了使用常规的DPO损失函数外,TeleAI还通过实验发现,引入对chosen response的NLL Loss(负对数似然损失),能够有效稳定DPO训练的效果,防止chosen response的概率降低。

最后,便是基于知识图谱降低语义大模型的事实类幻觉

具体而言,TeleAI是基于图谱结构化信息表示,将知识引入到问题提示中:根据与查询n-gram相似度检索候选实体,随后以此为基础进行随机游走,并计算游走路径与用户原始问题的相关性,选择top路径内容扩充至用户原始问题。以上便是TeleAI“炼”万卡万参的关键过程。

不过现在还有一个问题值得探讨:

为什么中国电信人工智能研究院能够做到这一点?

其实TeleAI在大模型上的布局并非一蹴而就,而是经过了长时间的打磨。

首先,在态度上给予了高度重视。

除了星辰AI大模型之外,在去年11月举行的数字科技生态大会上,TeleAI还发布了12个行业大模型,并推出了“星辰MaaS生态服务平台”,以实现定制化服务。

这一切,都是基于中国电信历经十年的AI能力建设。

其次,有人才的支撑才会有行业大牛的助力。

为了搭建星辰AI大模型,中国电信迅速组建了一支近800人的研发团队。团队成员来自国内外顶尖高校,诸如清华、北大、斯坦福和哥伦比亚等,平均年龄为31.79岁。

这批优秀人才帮助中国电信在对内对外业务中取代外部算法能力,实现核心算法能力的自主可控。

在广泛吸纳基础人才的同时,中国电信也拥有一批行业大牛。其中,去年年底全职加盟中国电信集团担任CTO和首席科学家的李学龙便是其中之一。

作为AI领域的Fellow大满贯选手,李学龙创新性地提出噪声分析是解决大模型等一系列人工智能问题的核心关键,他将这一思想引入到万卡万参项目中,也将带领中国电信人工智能研究院继续开展基础和前沿研究。

在TeleAI成立之际,便围绕“人”、“工”两大要素进行重点打造。

据了解,TeleAI现已引入多位海外TOP高校的教授、国内知名企业的CTO或科学家、科研机构的青年人才以及拥有高影响力开源成果的天才学生。

此外,不仅限于AI和大模型,中国电信在多个技术领域进行了投入,并取得了同行业中的优势,这也正是“工”为基所体现的方面。

例如在量子通信领域,中国电信不久前发布了具备“量子优越性”能力的“天衍”量子计算云平台,此前还开通了国内规模最大、用户最多、应用最全的量子保密通信城域网,并主导制定了中央企业首个牵头立项的7项量子通信行业标准(含团标)中的5项。

再例如在新一代信息通信技术上,中国电信实现了“手机直连卫星”的全面商用,并发布了全球首个支持消费级5G终端直连卫星双向语音和短信的运营级产品。

由此可见,中国电信早已不是大家眼中的传统运营商,在前沿技术上的投入,远比我们认知的要深得多。

这也就不难理解,为什么TeleAI能够率先实现万卡万参。

相关文章:

中国电信解锁万亿参数大模型:TeleAI的创新与突破

首个由万卡集群训练出来的万亿参数大模型,已被一家央企解锁。 具体而言,为了推动纯国产人工智能的探索,带来这条新路径的正是中国电信人工智能研究院(TeleAI)。 该研究院由中国电信集团的CTO、首席科学家兼院长李学龙…...

戴尔PowerEdge R840服务器亮黄灯 不开机

最近接修到一台东莞用户的DELL PowerEdge R840 服务器因为意外断电后,无法正常开机的问题, 大概故障现象是 插上电源线 按卡机按钮无响应,无法开机,无显示输出,工程师到现场检修,经过idrac中日志分析&#…...

【前端安全】js逆向之微信公众号登录密码

❤️博客主页: iknow181 🔥系列专栏: 网络安全、 Python、JavaSE、JavaWeb、CCNP 🎉欢迎大家点赞👍收藏⭐评论✍ 随着发展,越来越多的登录页面添加了密码加密的措施,使得暴力破解变得不在简单&a…...

C# 泛型使用案例_C# 泛型使用整理

一、系统自带常用的泛型 1.字典&#xff0c;集合 //字典 Dictionary<string, int> dic new Dictionary<string, int>(); //泛型集合 List<int> list new List<int>(); 2.泛型委托&#xff0c;输入参数&#xff0c;输出参数 //泛型 委托---输出参…...

Docker 安装 Citus 单节点集群:全面指南与详细操作

Docker 安装 Citus 单节点集群&#xff1a;全面指南与详细操作 文章目录 Docker 安装 Citus 单节点集群&#xff1a;全面指南与详细操作一 服务器资源二 部署图三 安装部署1 创建网络2 运行脚本1&#xff09;docker-compose.cituscd1.yml2&#xff09;docker-compose.cituswk1.…...

Arthas redefine(加载外部的.class文件,redefine到JVM里 )

文章目录 二、命令列表2.2 class/classloader相关命令2.2.3 redefine&#xff08;加载外部的.class文件&#xff0c;redefine到JVM里 &#xff09;举例1&#xff1a;加载新的代码&#xff0c;jad/mc 命令使用举例2&#xff1a;上传 .class 文件到服务器的技巧 本人其他相关文章…...

C++教程(三):c++常用的配置文件类型

目录 1. INI 文件 2. JSON 文件 3. YAML 文件 4. XML 文件 5. TOML 文件 6. 二进制配置文件&#xff08;Protocol Buffers, MessagePack, Avro 等&#xff09; 总结 在 C 项目中&#xff0c;常用的配置文件类型有多种选择&#xff0c;具体选择取决于项目的复杂性、可读性…...

Arduino Uno控制雨滴传感器模块的设计方案

以下是Arduino Uno控制雨滴传感器模块的设计方案&#xff1a; 一、硬件准备&#xff1a; 1. Arduino Uno 开发板一块。 2. 雨滴传感器模块一个。 3. 杜邦线若干。 4. 9V直流电源一个。 二、硬件连接&#xff1a; 1. 将Arduino Uno板的Vin引脚、GND引脚分别连接到9V直流电…...

华为常见命令手册

常见命令 display ip interface brief —> 查看设备上的每个接口的IP地址【地址/掩码/状态】 display interface gi0/0/0 → 查看该接口的MAC 地址 ipconfig → 查看 PC 上面的 IP地址 display arp → 查看设备的 ARP 表 arp -a → 查看 PC 上面的 ARP 表 display m…...

TinyAP:使用TinyML对抗Wi-Fi攻击的智能接入点

论文标题&#xff1a; 英文&#xff1a;TinyAP: An intelligent Access Point to combat Wi-Fi attacks using TinyML中文&#xff1a;TinyAP&#xff1a;使用TinyML对抗Wi-Fi攻击的智能接入点 作者信息&#xff1a; Anand Agrawal 和 Rajib Ranjan Maiti&#xff0c;来自印…...

grafana频繁DataSourceError问题

背景 随着 Grafana 数据量的不断增加&#xff0c;逐渐暴露出以下问题&#xff1a; Grafana 页面加载缓慢&#xff1b;Grafana 告警频繁出现 DatasourceError 错误。 对于第一个问题&#xff0c;大家可以参考这篇文章&#xff1a;Grafana 加载缓慢的解决方案。 不过&#xf…...

python-ds:Python 中的数据结构库(适用于面试的数据结构和算法合集)

在软件开发中&#xff0c;数据结构是组织和存储数据的方式&#xff0c;对算法的效率和程序的性能至关重要。Python 提供了许多内置的数据结构&#xff0c;但在一些复杂的应用场景中&#xff0c;原生数据结构可能无法满足特定需求。这时&#xff0c;一个功能强大、易于使用的数据…...

AccessoriesqueryController

目录 1、 AccessoriesqueryController 1.1、 库存配件查询 1.2、 查询仓库 1.2.1、 //把数据库数据加到表格&#xff1a;跟默认然一行数据进行合并 1.3、 /// 查询 1.3.1、 配件编码查询 1.3.2、 配件名称查询 1.3.3、 配件类型查询 AccessoriesqueryControlle…...

M3u8视频由手机拷贝到电脑之后,通过potplayer播放报错找不到文件地址怎么解决?

该文章前面三节主要介绍M3u8视频是什么&#xff0c;视频播放错误(找不到地址)的解决方法在后面 M3U8是一种多媒体播放列表文件格式&#xff0c;主要用于流媒体播放。 一、文件格式特点 1. 文本文件&#xff1a;M3U8是一个采用 UTF-8 编码的文本文件&#xff0c;这意味着它可…...

【分布式微服务云原生】windows+docker+mysql5.7.44一主一从主从复制

目录 1. 主库设置2. 从库设置3. 验证主从复制内容汇总表格 摘要&#xff1a; 在Windows系统上通过Docker部署MySQL主从复制&#xff0c;以下是详细的步骤和命令&#xff0c;帮助你设置一主一从的MySQL复制环境。 1. 主库设置 步骤1&#xff1a;运行MySQL主库容器 docker run …...

鸿蒙NEXT开发-界面渲染(条件和循环)(基于最新api12稳定版)

注意&#xff1a;博主有个鸿蒙专栏&#xff0c;里面从上到下有关于鸿蒙next的教学文档&#xff0c;大家感兴趣可以学习下 如果大家觉得博主文章写的好的话&#xff0c;可以点下关注&#xff0c;博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…...

TypeScript 设计模式之【状态模式】

文章目录 状态模式&#xff1a;优雅切换的交通信号灯状态模式的奥秘状态模式有什么利与弊?如何使用状态模式来优化你的系统代码实现案例状态模式的主要优点状态模式的主要缺点状态模式的适用场景总结 状态模式&#xff1a;优雅切换的交通信号灯 当你站在繁忙的十字路口&#…...

MongoDB 聚合管道

参考: 聚合管道 - MongoDB 手册 v7.0 介绍 聚合管道由一个或多个处理文档的阶段组成&#xff1a; 每个阶段对输入文档执行一个操作。例如&#xff0c;某个阶段可以过滤文档、对文档进行分组并计算值。 从一个阶段输出的文档将传递到下一阶段。 一个聚合管道可以返回针对文档…...

python-patterns:Python 设计模式大全

python-patterns 是一个开源的 Python 项目&#xff0c;它提供了各种经典的设计模式的 Python 实现。设计模式是一种针对常见软件设计问题的可复用解决方案&#xff0c;通过使用设计模式&#xff0c;开发者可以编写出结构更加合理、易于维护和扩展的代码。 Python 是一门动态语…...

Nginx编译所需基本库pcre、zlib、openssl

一、基本库介绍 pcre&#xff1a;&#xff08;Perl Compatible Regular Expressions&#xff09; 是一个用 C 语言编写的正则表达式库&#xff0c;用于进行文本匹配和搜索。它提供了与 Perl 正则表达式兼容的功能&#xff0c;并且广泛用于许多不同的软件项目中&#xff0c;如网…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中&#xff0c;各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过&#xff0c;在涉及到多个子类派生于基类进行多态模拟的场景下&#xff0c;…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

Go语言多线程问题

打印零与奇偶数&#xff08;leetcode 1116&#xff09; 方法1&#xff1a;使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上&#xff0c;对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...