CPU反超NPU,llama.cpp生成速度翻5倍!LLM端侧部署新范式T-MAC开源

简介: 【9月更文挑战第7天】微软研究院提出了一种名为T-MAC的创新方法,旨在解决大型语言模型在资源受限的边缘设备上高效部署的问题。T-MAC通过查表法在CPU上实现低比特LLM的高效推理,支持混合精度矩阵乘法,无需解量化。其通过位级查表实现统一且可扩展的解决方案,优化数据布局和重用率,显著提升了单线程和多线程下的mpGEMV及mpGEMM性能,并在端到端推理吞吐量和能效方面表现出色。然而,表量化和快速聚合技术可能引入近似和数值误差,影响模型准确性。论文详见:[链接](https://www.arxiv.org/pdf/2407.00088)。

随着大型语言模型(LLM)在智能设备上的广泛应用,如何在资源受限的边缘设备上高效部署LLM成为了一个关键问题。最近,微软研究院提出了一种名为T-MAC的创新方法,通过查表法(LUT)在CPU上实现低比特LLM(即权重量化LLM)的高效推理。T-MAC直接支持混合精度矩阵乘法(mpGEMM),无需解量化,同时消除了所需的乘法和加法。

T-MAC通过将传统的数据类型为中心的乘法转换为位级查表,实现了统一且可扩展的mpGEMM解决方案。具体而言,T-MAC将mpGEMM分解为一系列(等于权重比特宽度)的mpGEMM,其中激活和一位矩阵之间进行乘法,然后累加部分结果。这种方法可以支持任何激活和权重的比特宽度组合。

为了实现高效的位级查表计算,T-MAC提出了一种LUT中心数据布局,以确保LUT驻留在高速片上内存中,并通过轴重排和数据分块来提高数据重用率。此外,T-MAC还提出了表量化和镜像合并等技术,以减少表的大小和限制查表操作的数量。

T-MAC在性能方面表现出色。在单线程mpGEMV(矩阵向量乘法)和多线程mpGEMV的基准测试中,T-MAC的性能显著优于现有的解量化基线。例如,在单线程mpGEMV中,T-MAC在1、2、3和4比特情况下分别实现了最高11.2倍、5.8倍、4.7倍和3.1倍的速度提升。

在多线程mpGEMM的基准测试中,T-MAC的性能主要受限于内存带宽,但仍然实现了显著的速度提升。例如,在2比特情况下,T-MAC在所有四个设备上分别实现了4.0倍、4.0倍、5.31倍和2.5倍的速度提升。

此外,T-MAC还实现了显著的端到端推理吞吐量提升。通过将T-MAC内核集成到llama.cpp中,T-MAC在单线程和多线程情况下都实现了显著的速度提升。例如,在单线程情况下,T-MAC在Raspberry Pi 5上实现了2.8倍、6.7倍和5.8倍的速度提升。

除了计算效率外,T-MAC还具有出色的能效优势。通过在M2 Ultra设备上进行实验,T-MAC在三个模型上分别实现了10.3%、10.3%和17.3%的功率消耗减少,以及20.6%、61.2%和51.3%的总能耗减少。

尽管T-MAC在性能和能效方面表现出色,但也存在一些局限性。首先,T-MAC的表量化技术可能会引入一些算法上的近似误差,这可能会对模型的准确性产生影响。其次,T-MAC的快速聚合技术可能会引入一些数值误差,这可能会对模型的质量产生影响。

论文:https://www.arxiv.org/pdf/2407.00088

目录
相关文章
|
8天前
|
人工智能 自然语言处理 前端开发
CodeArena:在线 LLM 编程竞技场!用于测试不同开源 LLM 的编程能力,实时更新排行榜
CodeArena 是一个在线平台,用于测试和比较不同大型语言模型(LLM)的编程能力。通过实时显示多个 LLM 的代码生成过程和结果,帮助开发者选择适合的 LLM,并推动 LLM 技术的发展。
38 7
CodeArena:在线 LLM 编程竞技场!用于测试不同开源 LLM 的编程能力,实时更新排行榜
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
【AI大模型】LLM主流开源大模型介绍
【AI大模型】LLM主流开源大模型介绍
|
2月前
|
计算机视觉
Deepseek开源多模态LLM模型框架Janus,魔搭社区最佳实践
deepseek近期推出了简单、统一且灵活的多模态框架Janus,它能够统一处理多模态理解和生成任务。让我们一起来了解一下吧。
|
4月前
|
人工智能 PyTorch 算法框架/工具
Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程
【8月更文挑战第6天】Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程
Xinference实战指南:全面解析LLM大模型部署流程,携手Dify打造高效AI应用实践案例,加速AI项目落地进程
|
4月前
|
Linux API 开发工具
LLM大模型部署实战指南:Ollama简化流程,OpenLLM灵活部署,LocalAI本地优化,Dify赋能应用开发
【8月更文挑战第5天】LLM大模型部署实战指南:Ollama简化流程,OpenLLM灵活部署,LocalAI本地优化,Dify赋能应用开发
LLM大模型部署实战指南:Ollama简化流程,OpenLLM灵活部署,LocalAI本地优化,Dify赋能应用开发
|
3月前
|
人工智能 自然语言处理 文字识别
MinerU-大语言语料处理神器,CPU/GPU均可跑,开源免费“敲”好用
在7月4日举行的WAIC 2024科学前沿主论坛上,书生·浦语2.5正式发布,面向大模型研发与应用的全链条工具体系同时迎来升级。
MinerU-大语言语料处理神器,CPU/GPU均可跑,开源免费“敲”好用
|
4月前
|
SQL 存储 缓存
什么?部署ClickHouse的服务器CPU利用率100%了?
什么?部署ClickHouse的服务器CPU利用率100%了?
|
4月前
|
人工智能 云计算 数据中心
云计算演进问题之阿里云自研CPU倚天710的部署如何解决
云计算演进问题之阿里云自研CPU倚天710的部署如何解决
|
4月前
|
数据采集 人工智能 监控
赌你一定想要!OpenDataLab首款大模型多模态标注平台Label-LLM正式开源
Label-LLM 是一款专为大模型训练设计的多模态文本对话标注工具,支持团队协作,让标注工作变得简单高效。它不仅涵盖丰富的任务类型,如回答采集、偏好收集和内容评估等,还支持多模态数据标注,包括图像、视频和音频。Label-LLM具备预标注载入功能,能大幅提升工作效率,并提供全方位的任务管理与可视化分析,确保标注质量。快来体验这款强大的标注平台吧![部署文档](https://github.com/opendatalab/LabelLLM)
827 0
赌你一定想要!OpenDataLab首款大模型多模态标注平台Label-LLM正式开源
|
4月前
|
人工智能 PyTorch 算法框架/工具
AI计算机视觉笔记二:基于YOLOV5的CPU版本部署openvino
本文档详细记录了YOLOv5模型在CPU环境下的部署流程及性能优化方法。首先,通过设置Python虚拟环境并安装PyTorch等依赖库,在CPU环境下成功运行YOLOv5模型的示例程序。随后,介绍了如何将PyTorch模型转换为ONNX格式,并进一步利用OpenVINO工具包进行优化,最终实现模型在CPU上的高效运行。通过OpenVINO的加速,即使是在没有GPU支持的情况下,模型的推理速度也从约20帧每秒提高到了50多帧每秒,显著提升了性能。此文档对希望在资源受限设备上部署高性能计算机视觉模型的研究人员和工程师具有较高的参考价值。
下一篇
DataWorks