大模型LLMs推理加速篇
1.当前优化模型最主要技术手段有哪些?
1.算法层面:蒸馏、量化2.软件层面:计算图优化、模型编译3.硬件层面:FP8(NVIDIAH系列GPU开始支持FP8,兼有fp16的稳定性和int8的速度)
2.推理加速框架有哪一些?都有什么特点?
1.FasterTransformer:英伟达推出的FasterTransformer不修改模型架构而是在计算加速层面优化2.尽可能多地融合除了GEMM以外的操作 Transformer的encoder和decoder模块.具体包括如下:3.支持FP16、INT8、FP84.移除encoder输入中无用的padding来减少计算开销5. TurboTransformers: 腾讯推出B的 TurboTransformers 由 putation runtime 及 servingframework组成.加速推理框架适用于CPU和GPU,最重要的是,它可以无需预处理便可处理变 长的输入序列.具体包括如下:6.与FasterTransformer类似,它融合了除GEMM之外的操作以减少计算量7.smart batching,对于-个 batch 内不同长度的序列,它也最小化了zero-padding 开销8.对LayerNorm和Softmax进行批处理,使它们更适合并行计算 9.引入了模型感知分配器,以确保在可变长度请求服务期间内存占用较小
3vLLM篇
3.1vLLM的功能有哪些?
1.Continuous batching:有iteration-level的调度机制,每次选代batch大小都有所变化,因此vLLM2.PagedAttention:受操作系统中虚拟内存和分页的经典思想启发的注意力算法,这就是模型加速的 在大量查询下仍可以很好的工作:秘诀
3.2vLLM的优点有哪些?
1.文本生成的速度:实验多次,发现VLLM的推理速度是最快的;2.高吞吐量服务:支持各种解码算法,比如parallel sampling,beamsearch等;3.与OpenAIAPI兼容:如果使用OpenAIAPI,只需要替换端点的URL即可;
3.3VLLM的缺点有哪些?
1.添加自定义模型:虽然可以合并自己的模型,但如果模型没有使用与VLLM中现有模型类似的架构,则过程会变得更加复杂.例如,增加Falcon的支持,这似乎很有挑战性;3.缺少权重量化:有时,LLM可能不需要使用GPU内存,这对于减少GPU内存消耗至关重要. 的灵活性.
2.缺乏对适配器(LoRA、QLoRA等)的支持:当针对特定任务进行微调时,开源LLM具有重要价值.然而,在当前的实现中,没有单独使用模型和适配器权重的选项,这限制了有效利用此类模型
3.4vLLM离线批量推理?
pipinstallv11m
from v1lm import LLM SamplingParamsprompts =["Funniest joke ever:" "The capitalof France is" "The future of AI is" samp1ing_params = Samp1ingParams(temperature=0.95 top_p=0.95 max_tokens=200)11m = LLM(mode1="huggy11ama/11ama-13b")outputs = 11m.generate(prompts sampling_params)for output in outputs:prompt = output.promptgenerated_text = output.outputs[O].textprint(f"prompt:{prompt!r} Generated text:{generated_text!r}")
3.5vLLMAPIServer?
#Start the server:
python -m v11m.entrypoints.api_server --env MoDEL_NAME=huggy11ama/11ama-13b
#Query the mode1 in shel1:
cur1
“prompt":"Funniest joke ever:" "n": 1 "temperature":0.95 "max_tokens":200
4Textgenerationinference篇
4.1介绍一下Textgenerationinference?
Text generation inference是用于文本生成推断的Rust、Python和gRPC服务器,在HuggingFace中已有LLM推理API使用.
4.2Textgenerationinference的功能有哪些?
1.内置服务评估:可以监控服务器负载并深入了解其性能;2.使用flash attention(和v2)和Paged attention优化transformer推理代码:并非模型都内置了对这些优化的支持,该技术可以对未使用该技术的模型可以进行优化:
4.3Textgenerationinference的优点有哪些?
1.的依赖项都安装在Docker中:会得到一个现成的环境;2.支持HuggingFace模型:轻松运行自己的模型或使用任何HuggingFace模型中心;3.对模型推理的控制:该框架提供了一系列管理模型推理的选项,包括精度调整、量化、张量并行性、重复惩罚等;
4.4Textgenerationinference的缺点有哪些?
1.缺乏对适配器的支持:需要注意的是,尽管可以使用适配器部署LLM(可以参考 源代码中搜索更多细节;
4.5Textgenerationinference的使用docker运行webserver?
mkdir data
-v data:/data /huggingface/text-generation-inference:0.9--mode1-id huggy11ama/11ama-13b peus-nu--