ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
单卡跑Llama 70B快过双卡,微软硬生生把FP6搞到了A100里 | 开源
6518点击    2024-04-29 20:17

FP8和更低的浮点数量化精度,不再是H100的“专利”了!


老黄想让大家用INT8/INT4,微软DeepSpeed团队在没有英伟达官方支持的条件下,硬生生在A100上跑起FP6



测试结果表明,新方法TC-FPx在A100上的FP6量化,速度接近甚至偶尔超过INT4,而且拥有比后者更高的精度


在此基础之上,还有端到端的大模型支持,目前已经开源并集成到了DeepSpeed等深度学习推理框架中。


这一成果对大模型的加速效果也是立竿见影——在这种框架下用单卡跑Llama,吞吐量比双卡还要高2.65倍。


一名机器学习研究人员看了后表示,微软的这项研究简直可以用crazy来形容。



表情包也第一时间上线,be like:


英伟达:只有H100支持FP8。


微软:Fine,我自己搞定。



那么,这个框架到底能实现什么样的效果,背后又采用了什么样的技术呢?


用FP6跑Llama,单卡比双卡还快


在A100上使用FP6精度,带来的是内核级的性能提升


研究人员选取了不同大小的Llama模型和OPT模型之中的线性层,在NVIDIA A100-40GB GPU平台上,使用CUDA 11.8进行了测试。


结果相比于英伟达官方的cuBLAS(W16A16)和TensorRT-LLM(W8A16),TC-FPx(W6A16)速度提升的最大值分别是2.6倍和1.9倍。


相比于4bit的BitsandBytes(W4A16)方法,TC-FPx的最大速度提升则是达到了8.9倍。


(W和A分别代表权重量化位宽和激活量化位宽)



同时,TC-FPx内核还减少了对DRAM内存的访问,并提高了DRAM带宽利用率和Tensor Cores利用率,以及ALU和FMA单元的利用率。



在TC-FPx基础之上设计的端到端推理框架FP6-LLM,也给大模型带来了显著的性能提高。


以Llama-70B为例,用FP6-LLM在单卡上的运行吞吐量,比FP16在双卡上还要高出2.65倍,在16以下的批大小中的延迟也低于FP16。



而对于参数量小一些的模型OPT-30B(FP16也使用单卡),FP6-LLM同样带来了明显的吞吐量提升和延迟降低。


而且单卡FP16在这种条件下最多支持的批大小只有4,FP6-LLM却可以在批大小为16的情况下正常运行。



那么,微软团队是怎样实现在A100上运行FP16量化的呢?


重新设计内核方案


为了实现对包括6bit在内精度的支持,TC-FPx团队设计了一个统一的内核方案,可以支持不同位宽的量化权重。


相比于传统的双内核方法,TC-FPx通过将去量化和矩阵乘法融合在单个内核中,减少了内存访问次数,提高了性能。


实现低精度量化的核心奥义则是通过去量化方式,将FP6精度的数据“伪装”成FP16,然后按照FP16的格式交给GPU进行运算。



同时团队还利用了位级预打包技术,解决GPU内存系统对非2的幂次位宽(如6-bit)不友好的问题。


具体来说,位级预打包是在模型推理之前对权重数据进行重新组织,包括将6-bit量化的权重重新排列,以便它们能够以GPU内存系统友好的方式进行访问。


此外,由于GPU内存系统通常以32位或64位的块进行数据访问,位级预打包技术将还会6-bit权重打包,使得它们能够以这些对齐的块的形式存储和访问。



预打包完成后,研究团队使用SIMT核心的并行处理能力,对寄存器中的FP6权重执行并行去量化,生成FP16格式的权重。


去量化后的FP16权重在寄存器中被重构,然后送入Tensor Core,使用重构后的FP16权重执行矩阵乘法运算,完成线性层的计算。


在此过程中,团队利用了SMIT核心的位级并行性,提高了整个去量化过程的效率。



而为了权重重构任务能够并行运行,团队还使用了一种并行权重拼接技术。


具体来说,每个权重被分割成几个部分,每个部分的位宽是2的幂次(如把6分割成2+4或4+2)


在去量化之前,权重首先从共享内存加载到寄存器中。由于每个权重被分割成多个部分,需要在运行时在寄存器级别重构完整的权重。


为了减少运行时的开销,TC-FPx提出了一种并行提取和拼接权重的方法。这种方法使用两组寄存器来存储32个FP6权重的片段,并行地重构这些权重。


同时,为了并行提取和拼接权重,需要确保初始数据布局满足特定的顺序要求,因此TC-FPx通过在运行前对权重片段进行重排。



此外,TC-FPx还设计了一个软件流水线,将去量化步骤与Tensor Core的矩阵乘法操作融合在一起,通过指令级并行性提高了整体的执行效率。



本文来自微信公众号”量子位“



关键词: Llama 70B , H100 , AI硬件 , Llama模型
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
AI数据分析

【开源免费】DeepBI是一款AI原生的数据分析平台。DeepBI充分利用大语言模型的能力来探索、查询、可视化和共享来自任何数据源的数据。用户可以使用DeepBI洞察数据并做出数据驱动的决策。

项目地址:https://github.com/DeepInsight-AI/DeepBI?tab=readme-ov-file

本地安装:https://www.deepbi.com/

【开源免费airda(Air Data Agent)是面向数据分析的AI智能体,能够理解数据开发和数据分析需求、根据用户需要让数据可视化。

项目地址:https://github.com/hitsz-ids/airda