0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Hugging Face大语言模型优化技术

jf_WZTOguxH 来源:AI前线 2023-10-09 16:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

大语言模型的生产部署存在两个主要的挑战,一个是需要大量的参数,一个是需要处理非常长的用于表示上下文信息的输入序列。Hugging Face 基于他们提供大模型服务的经验分享了一些克服这些障碍的技术。

Patrick von Platen 在文中介绍的 Hugging Face 研究的三种技术是降低数值精度、使用一种叫作 Flash Attention 的注意力算法,以及使用专门的推理架构。

大语言模型需要大量的 VRAM 来加载,从几十 (bigcode/starcoder) 到数百 GB (Llama、Bloom、GPT3)。第一个优化手段是从 float32 切换到 bfloat16 精度:

现在几乎所有的模型都是基于 bfloat16 训练的,如果你的 GPU 支持 bfloat16,就没有理由基于全 float32 精度运行模型。float32 不会给出比训练模型所使用的精度更好的推理结果。

这可以使总体内存消耗减少一半,但可惜的是,在许多情况下仍然需要很大的内存。一种更激进的方法是将模型权重量化为 8 位或 4 位,这已经被证明不会导致显著的性能下降。

量化对于文本生成来说特别有效,因为我们所关心的是选择最有可能的下一个标记集合,而不是下一个标记 Logit 分布的确切值。

这将进一步减少所需的内存,使得在只有 16GB VRAM 的 GPU 上运行较小的模型成为可能,尽管代价是推理时间稍长。

von Platen 写道,使用 Flash Attention 是另一相关键的优化,它是大语言模型用来理解输入标记上下文关系的自注意力层的一种算法,有可能打破输入标记数量的二次增长。

因为该算法太过复杂,无法在这里描述,但可以这么说,它利用了 softmax 规范化统计数据和一些数学手段,在只需要随输入标记线性增长的内存的情况下提供相同的输出。推理性能也得益于算法使用了更快的 SRAM 而不是更慢的 GPU VRAM。

在实践中,目前绝对没有理由不使用 Flash Attention。该算法在数学层面给出了相同的输出,并且速度更快,内存效率更高。

Here recent research can help to make the right choice with two components that quickly become bottlenecks, says von Platen,positional embeddingsand thekey-value cache.

在生产环境中部署大语言模型的第三项优化措施是选择正确的架构,让它们能够有效地处理长文本输入。von Platen 写道,最近的研究有助于我们如何对两个很快成为瓶颈的组件做出选择——一个是 _ 位置嵌入 (positional embeddings)_,一个是 _ 键值缓存 _。

位置嵌入通过将每个标记的位置编码为数字表示来帮助语言大模型理解序列顺序。对于需要处理大型文本输入任务的大语言模型,应该使用 RoPE 和 ALiBi 等相对位置嵌入技术进行训练。

RoPE 和 ALiBi 位置编码都可以外推到训练期间未遇到过的输入长度,而事实证明,与 RoPE 相比,外推对于开箱即用的 ALiBi 的效果要好得多。

目前的许多大语言模型中已经在使用这两种算法。

键值缓存可以作为对对话上下文进行编码的一种方法。键值缓存在发生每个新交互时增加一个元素,这比为每个请求编码 / 解码上下文的方法要有效得多。von Platen 详细介绍了两类键值缓存,即 Multi-Query-Attention (MQA) 和 Grouped-Query-Attention(GQA) 。

von Platen 的文章所涵盖的内容不只有本文所概述的这些,他的文章中还提供了实际的例子来证明他的观点,所以请不要错过他的文章。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • gpu
    gpu
    +关注

    关注

    28

    文章

    5099

    浏览量

    134455
  • 语言模型
    +关注

    关注

    0

    文章

    570

    浏览量

    11254
  • 大模型
    +关注

    关注

    2

    文章

    3440

    浏览量

    4964

原文标题:Hugging Face 大语言模型优化技术

文章出处:【微信号:AI前线,微信公众号:AI前线】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NVIDIA推出面向语言、机器人和生物学的全新开源AI技术

    NVIDIA 秉持对开源的长期承诺,推出了面向语言、机器人和生物学的全新开源 AI 技术,为构建开源生态系统做出贡献,扩展 AI 的普及并推动创新。NVIDIA 正将这些模型、数据和训练框架贡献给
    的头像 发表于 11-06 11:49 688次阅读

    NVIDIA开源Audio2Face模型及SDK

    NVIDIA 现已开源 Audio2Face 模型与 SDK,让所有游戏和 3D 应用开发者都可以构建并部署带有先进动画的高精度角色。NVIDIA 开源 Audio2Face 的训练框架,任何人都可以针对特定用例对现有
    的头像 发表于 10-21 11:11 542次阅读
    NVIDIA开源Audio2<b class='flag-5'>Face</b><b class='flag-5'>模型</b>及SDK

    什么是AI模型的推理能力

    NVIDIA 的数据工厂团队为 NVIDIA Cosmos Reason 等 AI 模型奠定了基础,该模型近日在 Hugging Face 的物理推理
    的头像 发表于 09-23 15:19 832次阅读

    欧洲借助NVIDIA Nemotron优化主权大语言模型

    NVIDIA 正携手欧洲和中东的模型构建商与云提供商,共同优化主权大语言模型 (LLM),加速该地区各行业采用企业级 AI。
    的头像 发表于 06-12 15:42 924次阅读

    如何基于Android 14在i.MX95 EVK上运行Deepseek-R1-1.5B和性能

    Internet,或者您可以手动下载模型。按“ ”并选择 “从Hugging Face添加” 并搜索1.5B,找到deepseek-R1-1.5B模型,下载
    发表于 04-04 06:59

    利用英特尔OpenVINO在本地运行Qwen2.5-VL系列模型

    近期阿里通义实验室在 Hugging Face 和 ModelScope 上开源了 Qwen2.5-VL 的 Base 和 Instruct 模型,包含 3B、7B 和 72B 在内的 3 个
    的头像 发表于 03-12 13:42 2285次阅读
    利用英特尔OpenVINO在本地运行Qwen2.5-VL系列<b class='flag-5'>模型</b>

    从OpenVINO™ 2019_R3下载的face-detection-retail-0004模型,运行时报错怎么解决?

    从 OpenVINO™ 2019_R3 下载的 face-detection-retail-0004 模型。 构建开源OpenVINO™版本 2020.1 运行 Interactive
    发表于 03-05 06:00

    语言模型的解码策略与关键优化总结

    本文系统性地阐述了大型语言模型(LargeLanguageModels,LLMs)中的解码策略技术原理及其实践应用。通过深入分析各类解码算法的工作机制、性能特征和优化方法,为研究者和工
    的头像 发表于 02-18 12:00 1068次阅读
    大<b class='flag-5'>语言</b><b class='flag-5'>模型</b>的解码策略与关键<b class='flag-5'>优化</b>总结

    添越智创基于 RK3588 开发板部署测试 DeepSeek 模型全攻略

    在 AI 技术日新月异的当下,新的模型与突破不断涌现。近期,DeepSeek(深度求索)模型以其卓越性能和亲民成本,迅速在全球开发者圈子里引发热议。作为一款强大的语言
    发表于 02-14 17:42

    DeepSeek模型为何掀起如此大的波澜

    DeepSeek-R1 是中国初创公司 DeepSeek 推出的人工智能模型,不久前,在人工智能开源平台 Hugging Face 上发布数小时,便跃居下载量和活跃度最高模型的榜首;同
    的头像 发表于 02-11 09:13 969次阅读

    Hugging Face推出最小AI视觉语言模型

    Hugging Face平台于1月23日发布博文,推出了两款令人瞩目的轻量级AI模型——SmolVLM-256M-Instruct和SmolVLM-500M-Instruct。 其中
    的头像 发表于 01-24 14:15 1432次阅读

    【「基于大模型的RAG应用开发与优化」阅读体验】+Embedding技术解读

    生成回答。在特定领域或任务中,可以通过微调Embedding模型来提高检索的相关性和准确性。Embedding在大模型RAG技术中发挥着至关重要的作用。它不仅实现了文本向量化,还为信息检索和文本生成提供了基础。通过不断
    发表于 01-17 19:53

    【「基于大模型的RAG应用开发与优化」阅读体验】+大模型微调技术解读

    今天学习<基于大模型的RAG应用开发与优化>这本书。大模型微调是深度学习领域中的一项关键技术,它指的是在已经预训练好的大型深度学习模型
    发表于 01-14 16:51

    语言模型管理的作用

    要充分发挥语言模型的潜力,有效的语言模型管理非常重要。以下,是对语言模型管理作用的分析,由AI部
    的头像 发表于 01-02 11:06 573次阅读

    AI大语言模型开发步骤

    开发一个高效、准确的大语言模型是一个复杂且多阶段的过程,涉及数据收集与预处理、模型架构设计、训练与优化、评估与调试等多个环节。接下来,AI部落小编为大家详细阐述AI大
    的头像 发表于 12-19 11:29 1214次阅读