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

大模型(LLMs)加速篇

  1. 当前优化模型最主要技术手段有哪些?
  • 算法层面:蒸馏、量化
  • 软件层面:计算图优化、模型编译
  • 硬件层面:FP8(NVIDIA H系列GPU开始支持FP8,兼有fp16的稳定性和int8的速度)

  1. 推理加速框架有哪一些?都有什么特点?
  • FasterTransformer:英伟达推出的FasterTransformer不修改模型架构而是在计算加速层面优化 Transformer
    的 encoder 和 decoder 模块。具体包括如下:
    • 尽可能多地融合除了 GEMM 以外的操作
    • 支持 FP16、INT8、FP8
    • 移除 encoder 输入中无用的 padding 来减少计算开销

    • TurboTransformers:腾讯推出的 TurboTransformers 由 computation runtime 及 serving framework 组成。加速推理框架适用于 CPU 和 GPU,最重要的是,它可以无需预处理便可处理变长的输入序列。具体包括如下:
      • 与 FasterTransformer 类似,它融合了除 GEMM 之外的操作以减少计算量
      • smart batching,对于一个 batch 内不同长度的序列,它也最小化了 zero-padding 开销
      • 对 LayerNorm 和 Softmax 进行批处理,使它们更适合并行计算
      • 引入了模型感知分配器,以确保在可变长度请求服务期间内存占用较小

  1. vLLM 篇
    1. vLLM的 功能有哪些?

  • Continuous batching:有iteration-level的调度机制,每次迭代batch大小都有所变化,因此vLLM在大量查询下仍可以很好的工作;
  • PagedAttention:受操作系统中虚拟内存和分页的经典思想启发的注意力算法,这就是模型加速的秘诀
  1. vLLM 的 优点有哪些?
  2. 文本生成的速度:实验多次,发现vLLM的推理速度是最快的;
  3. 高吞吐量服务:支持各种解码算法,比如parallel sampling, beam search等;
  4. 与OpenAIAPI兼容:如果使用OpenAI API,只需要替换端点的URL即可;
  5. vLLM 的 缺点有哪些?
  6. 添加自定义模型:虽然可以合并自己的模型,但如果模型没有使用与vLLM中现有模型类似的架构,则过程会 变得更加复杂。例如,增加Falcon的支持,这似乎很有挑战性;
  7. 缺乏对适配器(LoRA、QLoRA等)的支持:当针对特定任务进行微调时,开源LLM具有重要价值。然而, 在当前的实现中,没有单独使用模型和适配器权重的选项,这限制了有效利用此类模型的灵活性。
  8. 缺少权重量化:有时,LLM可能不需要使用GPU内存,这对于减少GPU内存消耗至关重要。
  9. vLLM 离线批量推理?
  10. # Start the server:
    python -m vllm.entrypoints.api_server --env MODEL_NAME=huggyllama/llama-13b
    # Query the model in shell:
    curl http://localhost:8000/generate \
    -d '{
    "prompt": "Funniest joke ever:",
    "n": 1,
    "temperature": 0.95,
    "max_tokens": 200
    }'
    vLLMAPIServer?
  11. Text generation inference 篇
  12. 介绍一下 Textgenerationinference?
    Text generation inference是用于文本生成推断的Rust、Python和gRPC服务器,在HuggingFace中已有LLM 推理
    API使用。
  13. Text generation inference 的 功能有哪些?
  • 内置服务评估:可以监控服务器负载并深入了解其性能;
  • 使用flash attention(和v2)和Paged attention优化transformer推理代码:并非所有模型都内置了对这些优化的支持,该技术可以对未使用该技术的模型可以进行优化;
  1. Text generation inference 的 优点有哪些?
  • 所有的依赖项都安装在Docker中:会得到一个现成的环境;
  • 支持HuggingFace模型:轻松运行自己的模型或使用任何HuggingFace模型中心;
  • 对模型推理的控制:该框架提供了一系列管理模型推理的选项,包括精度调整、量化、张量并行性、重复惩 罚等;
  1. Text generation inference 的 缺点有哪些?
  • 缺乏对适配器的支持:需要注意的是,尽管可以使用适配器部署LLM(可以参考
    https://www.youtube.com/watch?v=HI3cYN0c9ZU),但目前还没有官方支持或文档;
  • 从源代码(Rust+CUDA内核)编译:对于不熟悉Rust的人,将客户化代码纳入库中变得很有挑战性;
  • 文档不完整:所有信息都可以在项目的自述文件中找到。尽管它涵盖了基础知识,但必须在问题或源代码中 搜索更多细节;
  1. Textgenerationinference的 使用docker运行webserver?

docker run --gpus all --shm-size 1g -p 8080:80 \

-v data:/data http://ghcr.io/huggingface/text-generation-inference:0.9 \

--model-id huggyllama/llama-13b \

--num-shard 1

http://www.xdnf.cn/news/187957.html

相关文章:

  • Ubuntu 20.04 上安装 最新版CMake 3.31.7 的详细步骤
  • MongoDB的增删改查操作
  • 如何搭建spark yarn模式的集群
  • vite项目tailwindcss4的使用
  • 检查IBM MQ SSL配置是否成功
  • 代码片段存储解决方案ByteStash
  • 每日算法-250428
  • 跨境电商店铺矩阵布局:多账号运营理论到实操全解析
  • JVM 内存分配策略
  • 深海科技服务博客简介
  • 说一下react更新的流程
  • Meta 推出 WebSSL 模型:探索 AI 无语言视觉学习,纯图训练媲美 OpenAI CLIP
  • 详解RabbitMQ工作模式之工作队列模式
  • 盒子模型
  • 图像处理篇---信号与系统的应用
  • Golang|分布式索引架构
  • DDD(领域驱动设计)详解
  • 【C++类与对象高频面试问题总结2】
  • 在VS2022中使用Lua与c交互(二)
  • 读书笔记--华为从偶然到必然之创新与技术开发阅读有感
  • 交换机配置DHCP
  • 使用python实现自动化拉取压缩包并处理流程
  • 深入理解CSS3:Flex/Grid布局、动画与媒体查询实战指南
  • Python初学 有差异的知识点总结(一)
  • 构建“云中”高并发:12306技术改造的系统性启示
  • mac 基于Docker安装minio
  • Flutter介绍、Flutter Windows Android 环境搭建 真机调试
  • ETL架构、数据建模及性能优化实践
  • GPU 架构入门笔记
  • git pull报错error: cannot lock ref ‘refs/remotes/origin/feature/xxx