写点什么

大模型时代,计算创新如何为应用性能提升开启新路径

  • 2024-02-02
    北京
  • 本文字数:5071 字

    阅读完需:约 17 分钟

大模型时代,计算创新如何为应用性能提升开启新路径

引言:数据库一直是 IT 基础设施的核心组件之一,在云计算和大数据时代,数据库的重要性更加凸显。随着生成式 AI 应用开始广泛流行,企业更加需要海量数据来为大模型提供充足的数据养分。


对于大模型而言,模型所需的数据都经过了向量化(Vector embedding)过程,经过向量化的数据可以大幅提升模型的知识查找效率,使模型可以支持更长的上下文,同时降低训练和推理成本。因此,传统数据库不适合作为大模型的知识库,这就需要新一代向量数据库来满足大模型的数据需求。如今,行业内已经涌现了一批能力出色、为大模型应用做了充分优化的向量数据库产品,腾讯云向量数据库就是其中的佼佼者之一。作为一款全托管的自研企业级分布式数据库服务,其能为多维向量数据提供高效的存储、检索和分析能力,具备完善的嵌入功能,兼具高性能、高可用性,稳定性、可靠性,且使用简单,成本低廉。借助上述优势与特性,腾讯云向量数据库正成为用户构建能力时的强力后援团。


对于向量数据库而言,只有具备极高的性能水平,才能为规模迅速扩大的模型和上层应用提供充足的知识查询吞吐量和极低的查询延迟。然而,仅靠软件端的优化来提升性能是不够的,软硬协同才是增强向量数据库性能的最佳路径。为此,腾讯云与英特尔公司展开了深度合作,将英特尔第五代可扩展至强处理器的诸多优势特性融入腾讯云向量数据库的软件设计中,从而显著提升性能水平。


腾讯云向量数据库能与 LLM 模型配合使用,为 LLM 模型提供知识库图片及相关介绍援引自腾讯云官网介绍,详情请参阅:https://cloud.tencent.com/product/vdb


对于向量数据库而言,只有具备极高的性能水平,才能为规模迅速扩大的模型和上层应用提供充足的知识查询吞吐量和极低的查询延迟。然而,仅靠软件端的优化来提升性能是不够的,软硬协同才是增强向量数据库性能的最佳路径。为此,腾讯云与英特尔公司展开了深度合作,将英特尔第五代可扩展至强处理器的诸多优势特性融入腾讯云向量数据库的软件设计中,从而显著提升性能水平。


向量数据库,全新架构带来的硬件性能挑战


AI 任务中所用的各类数据通常会以向量形式表示。向量(Vector)是一种具有大小和方向的数据表示,其包含多个维度的信息,且每个维度都会用来表示一个特征或属性。正因如此,以向量形式来构建的模型知识库无疑将更具效率,例如在图像处理任务中,图像可表示为像素值的向量;而自然语言处理任务中,文本可表示为词向量或句子向量。


数据的向量化是借助词向量模型、卷积神经网络等模型,经过嵌入(Embedding )环节将文本、图像、音视频等不同数据转换为向量后存入向量数据库中,而向量查询则是通过对向量之间的相似度计算来完成。在实践中,向量数据库可作为知识库,通过与语言、图像等 AI 模型的结合来有效降低用户的模型训练成本,提升 AIGC 等应用的信息输出准确度和及时性。同时向量数据库还可用于模型预训练数据的分类、去重和清洗,相比传统方式实现效率的大幅提升。


向量数据库检索向量的方法主要是相似度度量,也就是通过计算来确定向量数据库中两个向量的相似程度,并最终找出与给定查询向量最相似的向量。常见的计算方法包括内积、欧式距离和余弦相似度,而处理器在运行这些计算方法时,主要涉及大量的密集矩阵向量运算过程,同时还需要提供足够高的访存吞吐量。当处理器有很多核心时,核心之间的互联指标也会影响整体的计算效率。相比之下,传统数据库的查询操作主要是非向量化计算过程,属于非密集运算,其对处理器的需求与向量数据库有着巨大差异。显然,为传统数据库优化的处理器和软件设计对于向量数据库来说效率就很难令人满意。为此,处理器需要全新的硬件设计,大幅加强密集向量运算性能、内存吞吐量、多核互联性能等指标,结合软件层面的深度优化,才能为向量数据库提供充足的能力基础。


突破传统算力增长瓶颈,新一代处理器的性能提升秘籍


2017 年,计算机体系架构宗师 David Patterson 与 John Hennessy 在斯坦福大学发表著名演讲,指出针对特定应用场景的针对性性能加速设计将是下一个十年中芯片领域的主要命题。两位宗师将这种定制加速设计称为 DSA 领域加速计算。正如这次演讲预言的那样,过去几年来行业内的芯片性能提升更多来自各类定制化加速方案,诸如 GPGPU、TPU 等。而在 CPU 层面,扩展指令集和专用加速引擎也已成为 CPU 和上层软件提升性能的快捷路径。进入大模型时代,领域加速计算创新更能大大缓解处理器通用计算能力遭遇瓶颈带来的挑战,使得 CPU 同样可以在 AI 时代焕发全新动能,继续承担算力基础设施的核心角色。


作为 CPU 行业的领军企业,英特尔公司一直非常重视 CPU 扩展指令集和专用加速引擎的研发和创新探索,英特尔第五代可扩展至强处理器内置的英特尔 AVX-512 指令集与英特尔 AMX 高级矩阵扩展加速引擎就是这些探索的最新成果。这两种加速设计可以帮助腾讯云向量数据库在更高的性价比前提下构筑更高密度的算力输出,深度优化其向量检索算法的执行效率,大幅提升检索性能。腾讯云向量数据库支持适合不同场景下的多种算法,而 AVX512 可以为包含 FP32 在内的多种数据格式的向量检索的计算提供 SIMD 的加速支持,   AMX 更是支持 BF16 和 int8 数据格式的矩阵运算 从而进一步加速向量检索,实现更高的性能。二者可以适用于不同的场景下数据计算需求,  为客户提供了更多的选择。


作为一种单指令多数据(SIMD)指令集,英特尔 AVX-512 在密集型计算负载中有着得天独厚的优势。得益于其 512 位的寄存器宽度和两个 512 位的融合乘加(FMA)单元,指令集能并行地执行 32 次双精度、64 次单精度浮点运算,或操作 8 个 64 位和 16 个 32 位整数。在腾讯云向量数据库所需的向量相似度计算中,假设数据类型是 FP32,输入向量 x 中的 16 个维度数据和数据库中向量 y 的 16 个维度数据,都可以一次性被加载到英特尔 AVX-512 的寄存器中,从而实现一次处理 16 个维度的并行运算,效率提升极为可观。由于在各类向量检索算法中类似计算需求的比重往往很高,向量数据库的性能由此可获得巨大提升。


* 英特尔®SSE、英特尔®AVX2 和英特尔® AVX-512 之间的寄存器大小和计算效率的差异说明


另一项可为腾讯云向量数据库带来显著加速的是英特尔 AMX 加速引擎。这一技术引入了一种用于矩阵处理的新框架(包括了两个新的组件,一个二维寄存器文件,其中包含称为 tile 的寄存器,以及一组能在这些 tile 上操作的加速器),从而能高效地处理各类 AI 任务所需的大量矩阵乘法运算,提升其在训练和推理时的效能。例如在向量检索的过程中,如存在 n 个 batch 任务,进行相似度计算时就需要对 n 个输入向量 x 和 n 个数据库中向量 y 进行比对,这其中的距离计算会产生大量的矩阵乘法, 而英特尔 AMX 能针对这一场景实现有效加速。


英特尔® AMX 架构由 2D 寄存器文件 (TILE) 和 TMUL 组成


单纯依靠 AVX-512 扩展指令集和 AMX 加速引擎也是不够的,为了充分发挥这两种技术的加速能力,处理器的通用算力、单核性能、多核互联水平、访存性能都需要很高的水平,以避免成为密集向量和矩阵运算的瓶颈。而英特尔第五代可扩展处理器最大规格可拥有 64 个核心,通用计算性能相比上一代在相同能耗下提升 21%,内存带宽提升 16%,UPI 互联性能提升 25%,单核性能也有明显提升,因此 AVX-512 和 AMX 加速引擎的输出效率相比上代能有高达 40% 的增强。


硬件性能的巨大进步,需要软件层面的充分优化才能在实际应用中发挥作用。为此,腾讯云与英特尔一起,针对腾讯云向量数据库常用的计算库进行了专门优化。包括:


  • FAISS:方案中针对其不同的索引提出了不同的优化方案,包括面向 IVF-FLAT 算法的单次读取和离散化两种优化思路,以及借助英特尔 AVX-512 加速 IVF-PQFastScan 算法和 IVF-SQ 索引的优化方案;


  • HNSWlib:方案借助英特尔 AVX-512,对 HNSWlib 的向量检索性能进行加速。同时方案也针对增删数据后的性能和召回率抖动的问题进行了专向优化,使 HNSWlib 的性能和召回率可以保持较平稳状态。


  • 英特尔还为腾讯云向量数据库提供了英特尔 FMAL 加速库。暴力搜索在海量向量数据场景非常常用,但这一场景对算力需求非常高。作为针对向量暴力搜索场景开发的算法库,英特尔 FMAL 在英特尔 AVX-512 和英特尔 AMX 的加持下,能对相似度计算进行加速并提供了相似度计算和 top-K 查询的 API 接口,英特尔 AMX 还能帮助英特尔 FMAL 对 INT8 数据类型提供更好的性能输出。同时,英特尔 FMAL 还能在多线程并发下对处理器资源进行合理调配,以便让用户充分挖掘最新处理器所具备的多核心优势。除此之外,加速库也提供了对内存的非一致内存访问架构优化和缓存数据对齐功能,这些都进一步提升了腾讯云向量数据库的性能。


为验证第五代英特尔至强可扩展处理器基于英特尔 AVX-512 及英特尔 AMX 为腾讯云向量数据库中向量检索任务提供的助力,腾讯云与英特尔携手开展了验证测试,测试分为两个场景:第一个场景中,使用英特尔 AVX-512 优化后,使用 IVF-PQFastscan 算法执行向量检索时的 QPS 性能相比基于第三代至强可扩展处理器的基准组提升了高达 230%。第二个场景中,同样使用第五代至强可扩展处理器的算力平台上,使用英特尔 AMX 加速数据格式为 INT8 的测试场景对比使用英特尔 AVX-512 加速数据格式为 FP32 的测试场景,性能提升高达 5.8 倍之多,显示英特尔 AMX 可以进一步大幅提升 INT8 数据格式下的腾讯云向量数据库向量检索效率。


以上实测对比显示,领域加速技术已经成为新一代处理器大幅增强 AI 等创新应用场景性能的秘籍。值得一提的是,英特尔的加速技术不仅可以显著提升数据库吞吐量,还可以有效降低查询延迟,缩短每个查询需要的时间。除了复杂度较高的向量计算外,腾讯云向量数据库同时还提供了 AI 套件实现一站式文档检索解决方案, 包含自动化文档解析、信息补充、向量化、内容检索等能力,并拥有丰富的可配置项。向量数据库的应用场景还会涉及到不同的集合大小、维度数、数据类型、查询召回精度、延迟的要求, 这对 CPU 通用算力、加速算力、访存性能各项综合能力都提出了更高更快的要求。 而英特尔第五代至强处理器的单核通用算力、内存速度和带宽、L3 缓存等指标相比此前的至强都有了广泛的提升,以满足向量数据库在不同场景下的算力要求,结合极强的领域加速能力,助力向量数据库打通性能瓶颈,为大模型的高效训练和推理工作奠定坚实基础。


在软件优化层面,英特尔为客户提供了模块化的代码优化方案,非常方便客户根据自身的实际场景快速集成,已经有一些客户将这些优化代码成功集成到自身产品中,给出了良好的反馈。


计算创新,为生成式 AI 时代构筑算力底座


向量数据库并不是领域加速计算大展身手的唯一场景。事实上,英特尔第五代至强可扩展处理器就凭借英特尔 AVX-512 和英特尔 AMX,在诸多科学计算、AI 推理、AI 训练等场景中取得了非常优秀的表现。例如,某互联网厂商的实际测试中,第五代至强可扩展处理器的 AI 推理和训练性能相比上代就有 40% 提升,HPC 应用则有 39% 提升。如果与未引入上述加速技术的第三代至强可扩展处理器相比,第五代至强可扩展处理器的 AI 推理性能最高提升可达 14 倍之多。


腾讯云与英特尔公司长期以来一直在软硬件优化方面有着深度合作,腾讯云也在与英特尔携手将更多先进计算产品和技术应用到 AI 等领域中,在竞争激烈的市场中取得更为领先的优势。与腾讯云类似,还有更多企业都在与英特尔公司展开类似合作,不仅利用英特尔 AVX-512 和英特尔 AMX 加速技术提升 AI 场景效能,还会应用英特尔 TDX 机密计算技术来改善 AI 大模型云端部署时的企业敏感数据安全性,或者利用第五代至强可扩展处理器在内存扩展性方面的优势增强智能推荐等场景的性能,等等。英特尔公司在软件生态层面的深耕成果,以及英特尔公司与各家客户的深度合作,也帮助这些企业以更低的资源投入就能快速享受到硬件新特性的收益。


正是包括英特尔 AVX-512 和英特尔 AMX 在内的一系列计算创新技术,让 CPU 在生成式 AI 大规模普及的时代依旧能够一马当先,为企业带来显著的生产力提升和竞争优势。可以认为,引入领域加速技术等创新的 CPU 在生成式 AI 浪潮中仍将肩负基础算力底座的重任,发挥不可或缺的作用。在 CPU 的创新探索支持下,我们也将看到生成式 AI 应用更快走入社会生产生活,在各行各业中焕发新的光彩。



第五代英特尔®至强®可扩展处理器助腾讯云向量数据库成为大模型时代数据中枢,点击下方链接,即刻查看详情!


阅读原文】:https://www.intel.cn/content/www/cn/zh/customer-spotlight/cases/tencent-cloud-vector-db-data-hub-era-big-models.html?wapkw=%E5%90%91%E9%87%8F?cid=soc&source=Wechat&article_id=5252

2024-02-02 16:1113897
用户头像
王强 技术是文明进步的力量

发布了 822 篇内容, 共 428.5 次阅读, 收获喜欢 1749 次。

关注

评论

发布
暂无评论

ONES CTO 冯斌 | 大型软件研发团队如何实践高效项目管理?

万事ONES

团队管理 ONES Project 研发团队

详解Vue八大生命周期钩子函数

华为云开发者联盟

Vue 对象 函数 Vue实例 八大生命周期

浪潮云说丨云应用容灾:四大关键能力,护航业务连续性

云计算

【译】JavaScript 代码整洁之道-概述篇

KooFE

JavaScript 大前端 6月日更 整洁代码

缓存的世界Redis(一)

卢卡多多

redis 缓存 6月日更

并发王者课-黄金3:雨露均沾-不要让你的线程在竞争中被“饿死”

MetaThoughts

Java 多线程 并发 并发王者课

什么是Python中的套接字编程?

华为云开发者联盟

Python 编程 socket 网络 套接字

极光开发者周刊【No.0611】

极光JIGUANG

【Flutter 专题】127 图解基础 Image 小组件

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

Pandas高级教程之:Dataframe的重排和旋转

程序那些事

Python 数据分析 pandas 程序那些事

[译] Android 的 Java 9,10,11,12 的支持

Antway

6月日更

推荐学Java——应该了解的前端内容

逆锋起笔

Java 大前端 后端 JAVA开发

docker搭建Nginx和Tomcat负载均衡

叫我阿柒啊

nginx Docker 负载均衡

EasyRecovery用法进阶--高阶设置使用技巧

淋雨

数据恢复 EasyRecovery 文件恢复 硬盘恢复

【LeetCode】山脉数组的峰顶索引Java题解

Albert

算法 LeetCode 6月日更

EMQ映云科技边缘计算里程碑—Kuiper加入LF Edge基金会

EMQ映云科技

开源 云端 边缘流式数据 emq LF Edge

云图说|华为云自研云数据库GaussDB NoSQL,兼容多款NoSQL接口的数据库服务

华为云开发者联盟

nosql Influxdb Cassandra mongo GaussDB NoSQL

Apache Drill 1.19.0 发布集锦

MPP Apache Drill 联邦查询和分析

你应该知道的数仓安全

华为云开发者联盟

数据加密 数仓安全 透明加密 SQL函数加密

【21-7】Grafana如何配置Thanos 查询历史数据

耳东@Erdong

Grafana Prometheus Thanos query 6月日更

Java中生成随机数的4种方式!

王磊

Java 随机数

你有一份Rx编程秘籍请签收

vivo互联网技术

响应式编程 大前端 函数编程 RXJS

react源码解析12.状态更新流程

全栈潇晨

React

ONES CTO 冯斌 | 升级项目管理体系,加速金融行业数字化转型

万事ONES

项目管理 研发管理 数字经济 ONES

算法之异位词字符处理

Skysper

算法

【Vue2.x 源码学习】第十四篇 - 生成 ast 语法树 - 模板解析

Brave

源码 vue2 6月日更

Java 字符串 split 踩坑记

mghio

6月日更

网络安全逐渐成为程序员的必备技能

学神来啦

Linux 程序员 安全 渗透

让前端小姐姐愉快地开发表单

蛋先生DX

vue.js 表单 动态表单 6月日更

ARTS 打卡第11周

steve_lee

Go 语言学习路线来啦

roseduan

学习 Go 语言

大模型时代,计算创新如何为应用性能提升开启新路径_大数据_王强_InfoQ精选文章