民治做网站的公司,vs做的本地网站,备案后网站打不开,wordpress企业主题下载00-前序 随着ChatGPT、GPT-4等大语言模型的出现#xff0c;彻底点燃了国内外的学者们与企业家们研发LLM的热情。国内外的大语言模型如雨后春笋一般的出现#xff0c;这些大语言模型有一部分是开源的#xff0c;有一部分是闭源的。 伴随着大语言模型的出现#xff0c;国内外…00-前序 随着ChatGPT、GPT-4等大语言模型的出现彻底点燃了国内外的学者们与企业家们研发LLM的热情。国内外的大语言模型如雨后春笋一般的出现这些大语言模型有一部分是开源的有一部分是闭源的。 伴随着大语言模型的出现国内外基于大语言模型的上层应用产品更是层出不穷Huggingface上每天都会有大量新奇的应用出现在我们的眼前。对于任何一个大语言模型产品而言都会涉及到一个很关键的步骤如何低成本、稳定、高效的将某个大语言模型部署在特定的硬件平台上面为了完成大语言模型的部署LLM推理框架应运而生 与传统的AI推理框架不同基于LLM的推理框架的硬件规模更大、底层算子的复杂度更高、上层的推理形态更加多样。随着众多优质的大语言模型逐渐开源算法端的门槛正在逐步降低因而不同厂家的产品壁垒主要体现在不同的LLM推理框架上面。 虽然当前已经出现了众多开源的LLM推理框架但是不同的LLM推理框架有着不同的侧重点有着不同的特点。为了更好的节约项目成本、提升项目开发效率根据自己的项目需求选择一个合适的LLM推理框架成为了一个至关重要的问题由于大家可能都有自己的圈层每个人知道或者了解到的LLM推理框架不尽相同但是你并不能保证你了解到的就一定是最适合你的LLM推理框架本文小编耗费了大量的精力帮你把国内外主流的LLM推理框架整理了出来更多的细节请看下文。 01-vLLM
01.01-简介
链接-https://github.com/vllm-project/vllm 上图展示了vLLM的整体架构。vLLM采用集中式调度器来协调分布式GPU工作程序的执行。KV缓存管理器通过PagedAttention以分页方式有效地管理KV缓存。具体来说KV缓存管理器通过集中式调度器发送的指令来管理GPU工作程序上的物理KV缓存
01.02-特点 推理速度足够快 支持PagedAttention 连续Batch请求 支持CUDA/HIP图 支持GPTQ、AWQ、SequeezeLLM、FP8 KV Cache 足够灵活与简单 与主流的Hugging face模型无缝结合 具有各种解码算法的高吞吐量服务包括并行采样、波束搜索等 支持分布式推理的张量并行 兼容OpenAI的API服务器 支持NVIDIA与AMD GPU 支持多种模型架构
01.03-样例代码
# 1-离线推理from vllm import LLM
prompts [Hello, my name is, The capital of France is] # Sample prompts.llm LLM(modellmsys/vicuna-7b-v1.3) # Create an LLM.outputs llm.generate(prompts) # Generate texts from the prompts.
# 2-在线推理python -m vllm.entrypoints.openai.api_server --model lmsys/vicuna-7b-v1.3 02-TensorRT-LLM
02.01-简介
链接-https://github.com/NVIDIA/TensorRT-LLM TensorRT-LLM为用户提供了一个易于使用的Python API用来定义大型语言模型LLM并构建包含最先进优化的TensorRT引擎从而在NVIDIA GPU上高效地执行推理。TensorRTLLM包含用于创建执行这些TensorRT引擎的Python和C运行时的组件。它还包括一个与NVIDIA Triton推理服务器集成的后端为LLM服务的生产质量体系。使用TensorRT LLM构建的模型可以在各种配置上执行从单个GPU到具有多个GPU的多个节点使用Tensor并行性和/或管道并行性。 TensorRT-LLM的Python API的架构类似于PyTorch API。它为用户提供了一个包含einsum、softmax、matmul或view等功能的功能模块。layers模块捆绑有用的构建块来组装LLM如注意力块、MLP或整个Transformer层。特定于模型的组件如GPTTAttention或BertTAttention可以在模型模块中找到。 为了最大限度地提高性能并减少内存占用TensorRT LLM允许使用不同的量化模式执行模型。TensorRT LLM支持INT4或INT8权重以及FP16激活也就是仅支持INT4/INT8权重以及SmoothQuant技术的完整实现。
02.02-特点 丰富的预定义模型和易于使用Python API支持的新模型 提供高度优化的内核FMHA、XQA for GQA、MQA 提供系统级调度优化、支持In-flight Batching、分页KV缓存机制等 支持张量并行、流水线并行 支持权重INT4/INT8量化W4A16和W8A16 支持SmoothQuant、GPTQ、AWQ、FP8等多种量化方式 支持贪婪搜索与波束搜索 具有产品级的用户支持
02.03-执行流程 步骤1-将源模型转换为TensorRT LLM支持的格式支持HuggingFace、NeMo、AMMO、Jax等多种格式量化过程可选。 步骤2-利用统一的trtllm Build命令构建TensorRT LLM引擎 步骤3-利用TensorRT LLM引擎来执行模型的推理或评估操作。 03-Lightllm
03.01-简介
链接-https://github.com/ModelTC/lightllm LightLLM是一个基于Python的LLM大型语言模型推理和服务框架以其轻量级设计、易于扩展和高速性能而闻名。LightLLM利用了许多备受好评的开源实现包括但不限于FasterTransformer、TGI、vLLM和FlashAttention。如上图所示该框架主要包含httpserver、Router、带有Token注意力的模型后端、detokenization4部分组成。
03.02-特点 ️三进程异步协作--标记化、模型推理和去标记化是异步执行的这大大提高了GPU的利用率。 ️NopadUnpad--支持跨多个模型的Nopad注意力操作以有效处理长度差异较大的请求。 ️动态批处理--启用请求的动态批处理调度。 ️FlashAttention--结合FlashAttendance以提高速度并减少推理过程中GPU内存占用。 ️张量并行性--利用多个GPU上的张量并行性进行更快的推理。 ️令牌注意力--实现令牌式的KV缓存内存管理机制允许在推理过程中零内存浪费。 ️高性能路由器--与Token Attention合作精心管理每个令牌的GPU内存从而优化系统吞吐量。 ️Int8KV缓存--此功能将使令牌的容量几乎增加一倍。只有LLAMA支持。
03.03-样例代码
# 1-运行服务python -m lightllm.server.api_server --model_dir /path/llama-7B \ --host 0.0.0.0 \ --port 8080 \ --tp 1 \ --max_total_token_num 120000
# 2-通过Python Queryimport timeimport requestsimport json
url http://localhost:8080/generateheaders {Content-Type: application/json}data { inputs: What is AI?, parameters: { do_sample: False, ignore_eos: False, max_new_tokens: 1024, }}response requests.post(url, headersheaders, datajson.dumps(data))if response.status_code 200: print(response.json())else: print(Error:, response.status_code, response.text) 04-Text Generation Inference
04.01-简介
链接-https://github.com/huggingface/text-generation-inference 文本生成推理TGI是一个用于部署和服务大型语言模型LLM的工具包。TGI能够为最流行的开源LLM实现高性能文本生成包括Llama、Falcon、StarCoder、BLOOM、GPT-NeoX等。它可以支持多种硬件具体包括NVIDIA GPU、AMD GPU、inferentia、Intel GPU、Habana Gaudi。
04.02-特点 可以快速运行多种主流LLM的服务 在多个GPU上实现张量并行性来实现更快的推理 高度优化的transformer代码用于在最流行的架构上使用Flash Attention和Paged Attention进行推理 支持bitsandbytes、GPT-Q、EETQ、AWQ等多种量化方法 安全的权重装载、能为大模型添加水印 指定输出格式以加快推理速度并确保输出在某些规范有效 通过提供自定义提示来指导模型的输出从而轻松生成文本 支持微调支持即利用微调模型执行特定任务以实现更高的精度和性能
04.03-架构 上图展示了Text Generation Inference的整体架构主要包括Web Server、Buffer、Batcher、gRPC、NCCL等。详细的步骤如下所示 首先若干个客户端同时请求Web Server的“/generate”服务 然后服务端会将这些请求在“Buffer”组件处整合为一个Batch并通过gRPC协议转发请求给GPU推理引擎执行计算。 最后通过NCCL通信来响应单个或者多个Model Shard的请求这是因为显存容量有限或出于计算效率考虑需要多张GPU进行分布式推理。 05-CTranslate2
05.01-简介
链接-https://github.com/OpenNMT/CTranslate2 CTranslate2是一个C和Python库用于使用Transformer模型执行高效推理。该项目实现了一个自定义运行时该运行时应用了许多性能优化技术如权重量化、层融合、批量重新排序等用来加速和减少CPU和GPU上Transformer模型的内存使用。当前支持以下3中架构的模型 编解码器架构--Transformer base/big、M2M-100、NLLB、BART、mBART、Pegasus、T5、Whisper 仅解码器架构--GPT-2、GPT-J、GPT NeoX、OPT、BLOOM、MPT、Llama、Mistral、Gemma、CodeGen、GPTBigCode、Falcon 仅编码器架构--BERT, DistilBERT, XLM-RoBERTa
05.02-特点 ⚡️支持在CPU和GPU上快速高效地执行 ⚡️支持FP16、BF16、INT16、INT8多种量化方式 ⚡️支持X86、AArch64/ARM64等多种CPU架构支持英特尔MKL、oneDNN、OpenBLAS、Ruy和Apple Accelerate多种后端 ⚡️根据后端CPU架构自动检测和代码调度 ⚡️支持使用多个GPU或CPU内核并行和异步处理多个批处理 ⚡️支持动态内存 ⚡️几乎没有依赖项并在Python和C中公开了简单的API以满足大多数集成需求 ⚡️支持分布式推理阶段的张量并行
05.03-样例代码
import ctranslate2import sentencepiece as spm
translator ctranslate2.Translator(ende_ctranslate2/, devicecpu)sp spm.SentencePieceProcessor(sentencepiece.model)
input_text Hello world!input_tokens sp.encode(input_text, out_typestr)
results translator.translate_batch([input_tokens])
output_tokens results[0].hypotheses[0]output_text sp.decode(output_tokens)
print(output_text) 06-OpenLLM
06.01-简介
链接-https://github.com/bentoml/OpenLLM OpenLLM是一个开源平台旨在促进大型语言模型LLM在现实世界应用程序中的部署和应用。它支持轻松地微调、服务、部署和监控任何LLM。使用OpenLLM您可以在任何开源LLM上运行推理将其部署在云或本地并构建强大的人工智能应用程序。 OpenLLM是为人工智能应用程序开发人员设计的他们致力于基于LLM构建可用于生产的应用程序。它提供了一套全面的工具和功能用于微调、服务、部署和监控这些模型简化了LLM的端到端部署工作流程。
06.02-特点 最先进的LLM--支持各种开源LLM和模型运行时包括但不限于Llama 2、StableLM、Falcon、Dolly、Flan-T5、ChatGLM和StarCoder等。 灵活的API--使用单个命令通过RESTful API或gRPC为LLM提供服务。您可以使用Web UI、CLI、Python/JavaScript客户端或你选择的任何HTTP客户端与模型交互。 ⛓️ 构建自由--对LangChain、BentML、LlamaIndex、OpenAI端点和Huggingface的一流支持使你能够通过将LLM与其他模型和服务组合来轻松创建自己的人工智能应用程序。 优化部署--通过自动生成LLM服务器Docker镜像或部署为无服务器端点☁️ BentCloud可以轻松管理GPU资源根据流量进行扩展并确保成本效益。 ️ 带上你自己的LLM--支持微调任何LLM来满足你的需求。你可以加载LoRA层来微调模型以获得特定任务的更高精度和性能。模型的统一微调API即将推出。 ⚡ 量化--支持LLM.int8、SpQRint4、AWQ、GPTQ和SqueezeLLM等量化技术以较少的计算和内存成本运行推理。 流式传输--支持通过服务器发送的事件SSE进行令牌流式传输。您可以使用/v1/generate_stream端点从LLM流式传输响应。 --通过vLLM支持连续批处理以提高总吞吐量。
06.03-代码样例
import transformers
agent transformers.HfAgent(http://localhost:3000/hf/agent) # URL that runs the OpenLLM serveragent.run(Is the following text positive or negative?, textI dont like how this models is generate inputs)07-RayLLM
07.01-简介
链接-https://github.com/ray-project/ray-llm RayLLM以前称为Aviary是一种LLM服务解决方案可以轻松地部署和管理基于Ray Serve的各种开源LLM。 除了LLM服务它还包括一个CLI和一个web前端Aviary Explorer您可以使用它们直接比较不同型号的输出按质量对其进行排名获得成本和延迟估计等等。 RayLLM通过与vLLM集成支持连续批处理和量化。与静态批处理相比连续批处理可以获得更好的吞吐量和延迟。量化使您能够部署硬件需求更低、推理成本更低的压缩模型。有关在RayLLM上运行量化模型的更多详细信息请参阅量化指南。 RayLLM利用了Ray Serve后者对自动缩放和多节点部署提供了本机支持。RayLLM可以扩展到零并根据需求创建新的模型副本每个副本由多个GPU工作人员组成。
07.02-特点 提供一套广泛的预配置开源LLM默认值开箱即用。 支持托管在Hugging Face Hub或本地磁盘上的Transformer模型。 简化多个LLM的部署简化新LLM的添加提供独特的自动缩放支持包括缩放到零。 完全支持多GPU和多节点模型部署。 提供高性能功能如连续批处理、量化和流式传输。 提供一个类似于OpenAI的REST API使其易于迁移和交叉测试。 支持开箱即用的多个LLM后端包括vLLM和TensorRT LLM。
07.03-代码样例
# 部署RayLLMcache_dir${XDG_CACHE_HOME:-$HOME/.cache}
docker run -it --gpus all --shm-size 1g -p 8000:8000 -e HF_HOME~/data -v $cache_dir:~/data anyscale/ray-llm:latest bash# Inside docker containerserve run ~/serve_configs/amazon--LightGPT.yaml 08-MLC-LLM
08.01-简介
链接-https://github.com/mlc-ai/mlc-llm 大型语言模型的机器学习编译MLC LLM是一种高性能的通用部署解决方案它允许使用编译器加速的本地API对任何大型语言模型进行本地部署。该项目的使命是使每个人都能使用ML编译技术在每个人的设备上本地开发、优化和部署人工智能模型。MLC-LLM项目由三个不同的子模块组成模型定义、模型编译和运行时。 利用Python定义模型。MLC提供各种预定义的体系结构例如Llama例如Llama2、Vicuna、OpenLlama、Wizard、GPT-NeoX例如RedPajama、Dolly、RNN例如RWKV和GPT-J例如MOSS。模型开发人员可以仅用纯Python定义模型而不必涉及代码生成和运行时。 利用Python执行模型编译。模型由TVM Unity编译器编译其中编译是用纯Python配置的。MLC LLM量化并导出基于Python的模型到模型库和量化的模型权重。量化和优化算法可以在纯Python中开发以压缩和加速特定用例的LLM。 基于某平台运行。每个平台上都提供了MLCChat的变体C用于命令行Javascript用于webSwift用于iOSJava用于Android可通过JSON聊天配置进行配置。应用程序开发人员只需要熟悉平台天真的运行时就可以将MLC编译的LLM集成到他们的项目中。
08.02-特点 ⚙️支持Huggingface、LLAMA、GPT-Neox等多种模型定义 ⚙️支持Linux、Window、macOS、Web浏览器、IOS、Android等多种 操作系统 ⚙️支持AMD GPU、NVIDIA GPU、Apple GPU、Intel GPU、 Adreno GPU等 ⚙️支持FP32、FP16、BF16、INT16、INT8、INT4等多种量化方式
08.03-代码样例
from mlc_llm.callback import StreamToStdout
cm ChatModule( modeldist/Llama-2-7b-chat-hf-q4f16_1-MLC, model_lib_pathdist/prebuilt_libs/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-cuda.so # Vulkan on Linux: Llama-2-7b-chat-hf-q4f16_1-vulkan.so # Metal on macOS: Llama-2-7b-chat-hf-q4f16_1-metal.so # Other platforms: Llama-2-7b-chat-hf-q4f16_1-{backend}.{suffix})cm.generate(promptWhat is the meaning of life?, progress_callbackStreamToStdout(callback_interval2))
上图展示了利用MLC-LLM的python接口调用Llama-2-7b模型下图展示了相应的输出结果。09-DeepSpeed-FastGen
09.01-简介
链接-https://github.com/microsoft/DeepSpeed/tree/master DeepSpeed FastGen是一个推理系统框架可以为大型语言模型LLM实现简单、快速和负担得起的推理。从通用聊天模型到文档摘要从自动驾驶到软件栈每一层大规模部署和服务这些模型的需求激增。DeepSpeed FastGen利用动态分割使用技术来解决为这些应用程序提供服务的独特挑战并提供比vLLM等其他最先进的系统更高的有效吞吐量。
09.02-特点 支持新的模型家族。作者在DeepSpeed FastGen中引入了对MixtralMoE、Falcon和Phi-2模型族的支持。与vLLM等其他最先进的框架相比作者对这些模型的推理优化提供了高达2.5倍的有效吞吐量改进。 性能优化。大大降低了Dynamic SplitFuse的调度开销并提高了令牌采样的效率。因此我们看到了更高的吞吐量和更低的延迟尤其是在处理来自许多客户端的并发请求时。 功能增强。DeepSpeed FastGen包含一组丰富的功能用于运行许多不同模型族和20000多个HuggingFace托管模型的推理。作者为所有模型扩展了这一功能集以包括RESTful API、更多的生成选项以及对使用安全张量检查点格式的模型的支持。
09.03-架构 如上图所示DeepSpeed FastGen将DeepSpeed MII和DeepSpeed推理的协同组合在一起。这两个软件包一起提供了系统的各种组件包括前端API、使用Dynamic SplitFuse调度批处理的主机和设备基础设施、优化的内核实现以及构建新模型实现的工具。 DeepSpeed MII主要包括Mll前端与Mll后端前端支持各种API后端支持各种优化技术。DeepSpeed Inference包括了一些针对CUDA Kernel的优化实现、基于块的KV-Cache机制和张量并行机制。 10-InferLLM
10.01-简介
链接-https://github.com/MegEngine/InferLLM InferLLM 是一个非常轻量的 LLM 模型推理框架主要参考和借鉴了 llama.cpp 工程。llama.cpp 几乎所有核心代码和 kernel 都放在一两个文件中并且使用了大量的宏阅读和修改起来都很不方便对开发者有一定的门槛。InferLLM 主要有以下特点 结构简单方便上手开发和学习把框架部分和 Kernel 部分进行了解耦 运行高效将 llama.cpp 中大多数的 kernel 都进行了移植 定义了专门的 KVstorage 类型方便缓存和管理 可以兼容多种模型格式支持 alpaca 中文和英文的 int4 模型 目前支持 CPU 和 GPU专门为 Armx86CUDAriscv-vector平台优化可以在手机上部署速度在可以接受的范围 总而言之InferLLM 是一个简单高效的 LLM CPU 推理框架可以本地部署 LLM 中的量化模型推理速度还不错。
10.02-代码样例
# 步骤1-从https://huggingface.co/kewin4933/InferLLM-Model/tree/main下载模型# 步骤2-编译InferLLMmkdir buildcd buildcmake ..make
# 步骤3-在本地X86上面执行./llama -m chinese-alpaca-7b-q4.bin -t 4
# 步骤4-输出效果见下图 11-llama.cpp
11.01-简介
链接-https://github.com/ggerganov/llama.cpp llama.cpp是一个针对Meta的LLaMA等模型的纯C/C中实现版本。llama.cpp的主要目标是在本地和云中的各种硬件上以最小的设置和最先进的性能实现LLM推理。它具有如下特点 无任何依赖性的纯C/C实现 针对Apple silicon深度优化-通过ARM NEON、Accelerate和Metal框架 支持x86架构下的AVX、AVX2和AVX512优化 支持1.5位、2位、3位、4位、5位、6位和8位整数量化用来实现更快的推理和更少的内存使用量 在NVIDIA GPU上自定义CUDA内核并运行LLM通过HIP支持AMD GPU 支持Vulkan、SYCL和部分OpenCL后端 支持CPUGPU混合推理部分加速大于VRAM总容量的模型
11.02-效果 上面的视频展示了llama-2-7b模型在苹果Pixel 5手机上面的演示效果。 12-rtp-llm
12.01-简介
链接-https://github.com/alibaba/rtp-llm rtp-llm 是阿里巴巴大模型预测团队开发的 LLM 推理加速引擎。rtp-llm 在阿里巴巴内部被广泛使用支持了包括淘宝、天猫、闲鱼、菜鸟、高德、饿了么、AE、Lazada 等多个部门的大模型推理业务。
12.02-特点 实战验证 在多个LLM场景中得到实际应用与检验 高性能 使用高性能的 CUDA kernel, 包括 PagedAttention、FlashAttention、FlashDecoding 等 WeightOnly INT8 量化加载时自动量化 自适应 KVCache 量化 框架上对动态凑批的 overhead 进行了细致优化 对 V100 进行了特别优化 灵活易用 与HuggingFace 无缝对接支持 SafeTensors/Pytorch/Megatron 等多种权重格式 单模型实例同时部署多 LoRA 服务 多模态(图片和文本混合输入) 多机/多卡 Tensor 并行 P-tuning 模型 高级加速 剪枝后的不规则模型加载 多轮对话上下文 Prefix Cache System Prompt Cache Speculative Decoding Medusa
12.03-代码样例
# 读取Huggingface模型
from maga_transformer.pipeline import Pipelinefrom maga_transformer.model_factory import ModelFactory
if __name__ __main__: model ModelFactory.from_huggingface(Qwen/Qwen-1_8B-Chat) pipeline Pipeline(model, model.tokenizer) for res in pipeline([|im_start|user\nhello, whats your name|im_end|\n|im_start|assistant\n], max_new_tokens 100): print(res.batch_response) pipeline.stop() 13-PowerInfer
13.01-简介
链接-https://github.com/SJTU-IPADS/PowerInfer PowerInfer是一种在配备单一消费级GPU的个人计算机PC上的高速大型语言模型LLM推理引擎。PowerInfer设计的关键是利用LLM推理中固有的高局部性其特征是神经元激活中的幂律分布。 这种分布表明一小部分神经元称为热神经元在输入时始终被激活而大多数神经元冷神经元则根据特定输入而变化。PowerInfer利用这一见解设计了GPU-CPU混合推理引擎热激活神经元被预加载到GPU上以实现快速访问而冷激活神经元则在CPU上进行计算从而显著减少GPU内存需求和CPU-GPU数据输。 PowerInfer进一步集成了自适应预测器和神经元感知稀疏算子优化了神经元激活的效率和计算稀疏性。评估显示PowerInfer在单个NVIDIA RTX 4090 GPU上的各种LLM包括OPT-175B中的平均代币生成率为13.20代币/s峰值为29.08代币/s仅比顶级服务器级A100 GPU低18%。这显著优于llama.cpp高达11.69倍同时保持了模型的准确性。
13.02-特点 利用稀疏激活和“热”/“冷”神经元概念进行有效的LLM推理 整合了CPU和GPU的内存/计算能力实现了平衡的工作负载和更快的处理 兼容流行的ReLU稀疏模型 针对消费级硬件上的本地部署进行了设计和深度优化实现了低延迟LLM推理 兼容llama.cpp 支持Windows、Linux、Macos
13.03-性能评估 上图展示了作者在一个RTX 409024GGPU上面评估了PowerInfer与llama.cpp在长度为64的输入下的一系列FP16 ReLU模型结果如下所示。PowerInfer在Falcon 40B上实现了高达11倍的加速在Llama 2 70B上实现高达3倍的加速。 14-XInference
14.01-简介
链接-https://github.com/xorbitsai/inference/ Xorbits InferenceXinference是一个性能强大且功能全面的分布式推理框架。可用于大语言模型LLM语音识别模型多模态模型等各种模型的推理。通过 Xorbits Inference你可以轻松地一键部署你自己的模型或内置的前沿开源模型。无论你是研究者开发者或是数据科学家都可以通过 Xorbits Inference 与最前沿的 AI 模型发掘更多可能。
14.02-特点 模型推理轻而易举--大语言模型语音识别模型多模态模型的部署流程被大大简化。一个命令即可完成模型的部署工作。 ⚡️ 前沿模型应有尽有--框架内置众多中英文的前沿大语言模型包括 baichuanchatglm2 等一键即可体验内置模型列表还在快速更新中 异构硬件快如闪电--通过 ggml同时使用你的 GPU 与 CPU 进行推理降低延迟提高吞吐 ⚙️ 接口调用灵活多样--提供多种使用模型的接口包括 OpenAI 兼容的 RESTful API包括 Function CallingRPC命令行web UI 等等。方便模型的管理与交互。 集群计算分布协同--支持分布式部署通过内置的资源调度器让不同大小的模型按需调度到不同机器充分使用集群资源。 开放生态无缝对接--与流行的三方库无缝对接包括 LangChainLlamaIndexDify以及 Chatbox。 15-FastChat
15.01-简介
链接-https://github.com/lm-sys/FastChat FastChat是一个用于培训、服务和评估基于大型语言模型的聊天机器人的开放平台。FastChat为聊天机器人竞技场提供动力为50多个LLM提供超过600万个聊天请求。Chatbot Arena从LLM的并排战斗中收集了超过20万张人类选票编制了一个在线LLM Elo排行榜。FastChat的核心功能包括1最先进模型如Vicuna、MT Bench的培训和评估代码。2一个分布式多模型服务系统具有web UI和与OpenAI兼容的RESTful API。
15.02-模型推理 # 单一GPU运行 Vicuna-7B需要14G显存执行Vicuna-13B需要28G显存python3 -m fastchat.serve.cli --model-path lmsys/vicuna-7b-v1.5
# 多GPU执行python3 -m fastchat.serve.cli --model-path lmsys/vicuna-7b-v1.5 --num-gpus 2
# 这只在CPU上运行不需要GPU。Vicuna-7B需要大约30GB的CPU内存Vicuna-13B需要大约60GB的CPU存储器。python3 -m fastchat.serve.cli --model-path lmsys/vicuna-7b-v1.5 --device cpu 16-PPL_LLM
16.01-简介
链接-https://github.com/openppl-public/ppl.nn.llm ppl.nn.llm是基于ppl.nn的大型语言模型llm推理引擎的集合。如上图所示整个系统包含4个部分 ppl.pmx--算子实现、模型仓库、模型转换和模型导出 ppl.llm.serving--llm服务框架处理用户输入并调度模型推理引擎 ppl.nn.llm--llm推理引擎负责llm的单步推理。 ppl.llm.kernel--提供优化的llm算子基础内核实现。
16.02-特点 支持Flash注意力机制 支持Split-k注意力机制 支持组注意力机制 支持动态batch或者In-flight Batching 支持张量并行 支持图优化 支持INT8分组KV缓存数值精度非常接近FP16) 支持INT8每个令牌每个通道量化W8A8
16.03-性能评估 17-BentoML
17.01-简介
链接-https://github.com/bentoml/BentoML BentML是一个用于构建可靠、可扩展和经济高效的人工智能应用程序的框架。它提供了模型服务、应用程序打包和生产部署所需的一切。 BentML提供了使用您的团队喜欢的任何工具构建任何人工智能应用程序的灵活性和易用性。无论您是想从任何模型中心导入模型还是想自带使用PyTorch和TensorFlow等框架构建的模型您都可以使用BentML的本地模型库来管理它们并在此基础上构建应用程序。BentML为大型语言模型LLM推理、生成人工智能、嵌入创建和多模式人工智能应用程序提供原生支持。
17.02-特点 Bento是人工智能应用程序的容器 支持自由构建任何人工智能模型 ️ 支持人工智能应用的推理与优化 简化现代人工智能应用架构 用户可以随时随地部署
17.03-部署流程
步骤1-安装依赖
git clone https://github.com/bentoml/quickstart.gitcd quickstartpip install -r requirements.txt步骤2-创建BentoML服务
from __future__ import annotationsimport bentomlfrom transformers import pipeline
EXAMPL_INPUT Breaking News: In an astonishing turn of events, the small town of Willow Creek has been taken by storm as local resident Jerry Thompsons cat, Whiskers, performed what witnesses are calling a miraculous and gravity-defying leap. Eyewitnesses report that Whiskers, an otherwise unremarkable tabby cat, jumped a record-breaking 20 feet into the air to catch a fly. The event, which took place in Thompsons backyard, is now being investigated by scientists for potential breaches in the laws of physics. Local authorities are considering a town festival to celebrate what is being hailed as The Leap of the Century.
bentoml.service( resources{cpu: 2}, traffic{timeout: 10},)class Summarization: def __init__(self) - None: self.pipeline pipeline(summarization)bentoml.api def summarize(self, text: str EXAMPLE_INPUT) - str: result self.pipeline(text) return result[0][summary_text]
步骤3-运行BentoML服务
bentoml serve service:Summarization
步骤4-执行交互操作
curl -X POST \ http://localhost:3000/summarize \ -H accept: text/plain \ -H Content-Type: application/json \ -d { text: Breaking News: In an astonishing turn of events, the small town of Willow Creek has been taken by storm as local resident Jerry Thompson\s cat, Whiskers, performed what witnesses are calling a \miraculous and gravity-defying leap.\ Eyewitnesses report that Whiskers, an otherwise unremarkable tabby cat, jumped a record-breaking 20 feet into the air to catch a fly. The event, which took place in Thompson\s backyard, is now being investigated by scientists for potential breaches in the laws of physics. Local authorities are considering a town festival to celebrate what is being hailed as \The Leap of the Century. } 18-fastllm
18.01-简介
链接-https://github.com/ztxz16/fastllm fastllm是一个纯c实现无第三方依赖的高性能大模型推理库。6~7B级模型在安卓端上也可以流畅运行。6B级int4模型单4090延迟最低约5.5ms6B级fp16模型单4090最大吞吐量超过10000 token/s6B级int4模型在骁龙865上速度大约为4~5 token/s。
18.02-特点 纯c实现便于跨平台移植可以在安卓上直接编译 ARM平台支持NEON指令集加速X86平台支持AVX指令集加速NVIDIA平台支持CUDA加速各个平台速度都很快就是了 支持浮点模型FP32), 半精度模型(FP16), 量化模型(INT8, INT4) 加速 支持多卡部署支持GPU CPU混合部署 支持Batch速度优化 支持并发计算时动态拼Batch 支持流式输出很方便实现打字机效果 支持python调用 前后端分离设计便于支持新的计算设备 目前支持ChatGLM系列模型各种LLAMA模型(ALPACA, VICUNA等)BAICHUAN模型QWEN模型MOSS模型MINICPM模型等
18.03-运行Demo
# 步骤1-编译运行环境cd fastllmmkdir buildcd buildcmake .. -DUSE_CUDAON # 如果不使用GPU编译那么使用 cmake .. -DUSE_CUDAOFFmake -j
# 步骤2-安装python包cd tools # 这时在fastllm/build/tools目录下python setup.py install
# 步骤3-运行demo# 这时在fastllm/build目录下# 命令行聊天程序, 支持打字机效果 (只支持Linux./main -p model.flm
# 简易webui, 使用流式输出 动态batch可多路并发访问./webui -p model.flm --port 1234 # python版本的命令行聊天程序使用了模型创建以及流式对话效果python tools/cli_demo.py -p model.flm
# python版本的简易webui需要先安装streamlit-chatstreamlit run tools/web_demo.py model.flm 19-JittorLLM
19.01-简介
链接-https://github.com/Jittor/JittorLLMs
JittorMML是一个计图大模型推理库它的目标是让没有显卡的笔记本电脑也能跑大模型。该框架具有如下特点 成本低--相比同类框架本库可大幅降低硬件配置要求减少80%没有显卡2G内存就能跑大模型人人皆可在普通机器上实现大模型本地部署是目前已知的部署成本最低的大模型库 支持广--目前支持了大模型包括ChatGLM大模型鹏程盘古大模型BlinkDL的ChatRWKVMeta的LLaMA/LLaMA2大模型MOSS大模型Atom7B大模型 后续还将支持更多国内优秀的大模型统一运行环境配置降低大模型用户的使用门槛。 可移植--用户不需要修改任何代码只需要安装Jittor版torch(JTorch)即可实现模型的迁移以便于适配各类异构计算设备和环境。 速度快--大模型加载速度慢Jittor框架通过零拷贝技术大模型加载开销降低40%同时通过元算子自动编译优化计算性能相比同类框架提升20%以上。
19.02-架构 上图展示了JittorLLM的整体框架。它的最底层是硬件层当前支持NVIDIA GPU、AMD GPU、Ascend GPU、天数智芯、中科海光和摩尔线程。它支持动态swap机制即在显存、内存与硬盘之间动态swap它可以进一步的提升算法的运行速率。Jittor具有NLP生态底层包含了一些基础算子库、FastNLP库和Transformer加速库等。基于这些底层基建JittorLLM上层可以支持ChatGLM、ChatRWKV、华为盘古、LLaMA、复旦的MOSS等多种大模型。
19.03-部署方法
# 步骤1-安装运行环境# 国内使用 gitlink clonegit clone https://gitlink.org.cn/jittor/JittorLLMs.git --depth 1# github: git clone https://github.com/Jittor/JittorLLMs.git --depth 1cd JittorLLMs# -i 指定用jittor的源 -I 强制重装Jittor版torchpip install -r requirements.txt -i https://pypi.jittor.org/simple -I
# 步骤2-运行Demopython cli_demo.py [chatglm|pangualpha|llama|chatrwkv|llama2|atom7b] 20-LMDeploy
20.01-简介
链接-https://github.com/InternLM/lmdeploy/ LMDeploy 由 MMDeploy 和 MMRazor 团队联合开发是涵盖了 LLM 任务的全套轻量化、部署和服务解决方案。LMDeploy支持 2.种推理引擎即urboMind和 PyTorch它们侧重不同。前者追求推理性能的极致优化后者用纯Python开发着重降低开发者的门槛。这个强大的工具箱提供以下核心功能 高效的推理LMDeploy 开发了 Persistent Batch(即 Continuous Batch)Blocked K/V Cache动态拆分和融合张量并行高效的计算 kernel等重要特性。推理性能是 vLLM 的 1.8 倍 可靠的量化LMDeploy 支持权重量化和 k/v 量化。4bit 模型推理效率是 FP16 下的 2.4 倍。量化模型的可靠性已通过 OpenCompass 评测得到充分验证。 便捷的服务通过请求分发服务LMDeploy 支持多模型在多机、多卡上的推理服务。 有状态推理通过缓存多轮对话过程中 attention 的 k/v记住对话历史从而避免重复处理历史会话。显著提升长文本多轮对话场景中的效率。 LMDeploy TurboMind 引擎拥有卓越的推理能力在各种规模的模型上每秒处理的请求数是 vLLM 的 1.36 ~ 1.85 倍。在静态推理能力方面TurboMind 4bit 模型推理速度out token/s远高于 FP16/BF16 推理。在小 batch 时提高到 2.4 倍。
20.02-架构 上图展示了TurboMind 推理引擎的整体框架它是一款关于 LLM 推理的高效推理引擎基于英伟达的 FasterTransformer 研发而成。它的主要功能包括LLaMa 结构模型的支持persistent batch 推理模式和可扩展的 KV 缓存管理器。 除了上文中提到的功能外TurboMind 相较于 FasterTransformer 还有不少差别。譬如不少 FasterTransformer 的功能在 TurboMind 中都被去掉了这其中包括前缀提示词、 beam search 、上下文 embedding、稀疏化 GEMM 操作和对应 GPT 或 T5 等结构的模型的支持等等。
20.03-代码样例
# 步骤1-安装pip install lmdeploy
# 步骤2-离线批处理# LMDeploy 默认从 HuggingFace 上面下载模型如果要从 ModelScope 上面下载模型请通过命令 pip install modelscope 安装ModelScope并设置环境变量export LMDEPLOY_USE_MODELSCOPETrueimport lmdeploypipe lmdeploy.pipeline(internlm/internlm-chat-7b)response pipe([Hi, pls intro yourself, Shanghai is])print(response) 21-OneDiffusion
21.01-简介
链接-https://github.com/bentoml/OneDiffusion OneDiffusion是一个开源的一站式仓库用于促进任何扩散模型在生产中的部署。它专门满足了扩散模型的需求支持使用LoRA适配器的预训练和微调扩散模型。目前OneDiffusion支持以下型号SDv1.4、v1.5和v2.0、SDXL v1.0稳定扩散XL Turbo。 OneDiffusion是为人工智能应用程序开发人员设计的他们需要一个强大而灵活的平台来在生产中部署扩散模型。该平台提供了有效微调、服务、部署和监控这些模型的工具和功能简化了扩散模型部署的端到端工作流程。
21.02-特点 强大的兼容性--它支持预训练和LoRA自适应的扩散模型为各种图像生成任务选择和部署合适的模型提供了灵活性。 优化的性能和可扩展性--支持自动选择最佳优化如半精度权重或xFormers以实现开箱即用的最佳推理速度。 ⌛️ 动态加载LoRA适配器--根据每个请求动态加载和卸载LoRA适配器提供更大的适应性并确保模型对不断变化的输入和条件保持响应。 对BentML的强力支持--与BentML生态系统无缝集成允许您构建Bentos并将其推送到BentoCloud。
21.03-代码样例
# 步骤1-安装OneDiffusionpip install onediffusion
# 步骤2-执行stable-diffusion服务onediffusion start stable-diffusion
# 步骤3-这将在http://0.0.0.0:3000/启动服务器.您可以通过访问web UI与它进行交互也可以通过curl发送请求。curl -X POST \ http://0.0.0.0:3000/text2img \ -H accept: image/jpeg \ -H Content-Type: application/json \ --output output.jpg \ -d { prompt: a bento box, negative_prompt: null, height: 768, width: 768, num_inference_steps: 50, guidance_scale: 7.5, eta: 0} 22-Neural Compressor
22.01-简介
链接-https://www.github-zh.com/projects/281528773-neural-compressor 英特尔的神经网络压缩器旨在为主流框架如TensorFlow、PyTorch、ONNX Runtime和MXNet以及英特尔扩展如TensorFlow的英特尔扩展和PyTorch的英特尔扩展提供流行的模型压缩技术如量化、修剪稀疏性、蒸馏和神经架构搜索。特别是该工具提供了以下关键特性 支持多种英特尔硬件。如经过广泛测试的英特尔至强可扩展处理器、英特尔至强CPU Max系列、英特尔数据中心GPU Flex系列和英特尔数据中心GPU Max系列通过ONNX Runtime支持AMD CPU、ARM CPU和NVidia GPU并进行有限的测试通过零代码优化解决方案神经编码器和自动精度驱动的量化策略 通过利用零代码优化解决方案神经编码器和自动精度驱动的量化策略来支持主流的LLM如LLama2、Falcon、GPT-J、Bloom、OPT以及来自流行模型中心的10000多个广泛模型如Stable Diffusion、BERT Large和ResNet50如Huggingface、Torch Vision和ONNX模型仓库。 与谷歌云平台、亚马逊网络服务和Azure等云市场阿里云、腾讯TACO和微软Olive等软件平台以及Huggingface、PyTorch、ONNX、ONNXRuntime和Lightning AI等开放人工智能生态系统合作。
22.02-架构 上图展示了Neural Compressor的整体架构。该框架支持不同格式的模型如图中的TF模型、PT模型、ONNX模型和MXNet模型。一旦将不同的模型导入之后用户就可以执行一系列的优化操作主要的优化策略包括PTQ与QAT量化、裁剪/稀疏化、蒸馏、混合精度等。除此之外还包含一个自动微调优化策略。紧挨着的是不同框架的适配器包括TensorFlow、PyTorch、ONNXRuntime、MXNet等。最底层的硬件层包含了Intel的CPU与GPU。
22.03-工作流 上图展示了Neural Compressor的量化元件的具体工作流。该模块的输入包括FP32格式的模型文件、标定数据、评估矩阵。优化阶段会利用一些微调策略来微调搜索空间即通过标定、量化与评估3个步骤来循环优化直到满足精度指标。该模块的输出是量化好的模型文件。 23-TACO-LLM
23.01-简介
链接-https://cloud.tencent.com/developer/article/2359653 TACO-LLM 是基于腾讯云异构计算产品推出的一款大语言模型推理加速引擎用于提高语言模型的推理效能。通过充分利用计算资源的并行计算能力TACO-LLM能够同时处理更多的语言模型推理请求已成功为客户提供了兼顾高吞吐和低时延的优化方案吞吐性能提高了78%。TACO-LLM可以减少生成结果的等待时间提高推理流程效率助您优化业务成本。需要注意的是该推理引擎当前并没有开源哈 TACO-LLM适用于生成式语言模型的推理加速业务可满足多种业务场景下推理提效的需求。以下是一些典型业务场景1) 时延敏感的在线对话系统; 2) 高吞吐的离线文本生成; 3)高并发的搜索工具辅助。
23.02-特点 基于批处理的Lookahead Cache 一次预测批量请求 根据batch-size和各个请求的命中率对copy_len自适应惩罚 基于森林的多分支预测方法 支持TurboAttention 基于Paged Attention 借鉴融合FlashAttention节省显存同时解耦片上资源 Lookahead将向量和矩阵运算转化为矩阵和矩阵的运算有效 leverage GPU tensor-core加速 在Head维使用Double Buffer实现访存与计算overlap同时将片上资源与head-size大小解耦。 24-MindSpore
24.01-简介
链接-https://www.mindspore.cn/ MindSpore是一种适用于端边云场景的新型开源深度学习训练/推理框架。它提供了友好的设计和高效的执行旨在提升数据科学家和算法工程师的开发体验并为Ascend AI处理器提供原生支持以及软硬件协同优化。 MindSpore则采用的是代码变换法。一方面它支持自动控制流的自动微分因此像PyTorch这样的模型构建非常方便。另一方面MindSpore可以对神经网络进行静态编译优化以获得更好的性能。 MindSpore自动微分的实现可以理解为程序本身的符号微分。MindSpore IR是一个函数中间表达式它与基础代数中的复合函数具有直观的对应关系。复合函数的公式由任意可推导的基础函数组成。MindSpore IR中的每个原语操作都可以对应基础代数中的基本功能从而可以建立更复杂的流控制。
24.02-特点 ⌛️ 支持训推一体 ⌛️ 支持细粒度调度、虚拟KV缓存、PD混合部署、前后处理Pipeline并行等 ⌛️ 支持LIama2、GLM2、GPT2、Baichuan2、Qwen、SD等多种主流LLM ⌛️ 支持多维混合并行、内存优化、执行序编排等调度能力 ⌛️ 支持自研的大模型量化、剪枝等方法压缩率提升10倍 ⌛️ 支持10个大算子融合极大的降低了带宽负载
24.03-架构 上图展示了MindSpore的整体架构。第一层展示了该框架的应用层它为用户提供了众多的工具链具体包括视觉、NLP、Audio等模型仓库、强化学习扩展工具、科学计算扩展工具、性能调试与分析工具等。 第二层是API接口层它为用户提供了全场景统一的API接口主要包括NN、Ops、数据装载、模型训练与推理、Julia前端等。 第三层是性能优化层它为用户提供了众多的模型优化手段主要分为数据优化与AI编译器优化两个主要的模块。前者关注于数据的加载、格式化、加速与增强后者更关注于量化、蒸馏、剪枝、并行、微分、图融合等策略。 第四层是Runtime运行层该层用来给用户提供一个全场景统一部署的运行环境用户可以利用它快速的将训练好的模型部署到不同的硬件平台上面。 最后一层是驱动硬件层它支持云边端等多种不同类型的硬件具体包括CPU、GPU以及NPU。大到高性能的云服务器中到各种各样的边缘计算设备小到各种各样的端侧运行设备。 25-HuggingFace
25.01-简介
链接-https://huggingface.co/ HuggingFace是一家总部位于纽约的聊天机器人初创服务运营商,他们的初衷是打算创业做聊天机器人并在github上开源了一个Transformers库。虽然聊天机器人业务并没有搞起来但是它们的这个Transformer库在ML社区得到了快速的发展。目前已经共享了超400k个预训练模型、150k的应用和100k个数据集。 他之所以能够取得如此大的成功主要归功于两个方面1它的上手门槛比较低可以让很多甲方企业的小白尤其是入门者也能快速用得上科研大佬们训练出的大模型。2另一方面是它所倡导的开放的文化与态度深度的吸引了很多人。
25.02-特点 开源模型库--它里面包含了许多领先的预训练语言模型,如BERT、GPT等,开发者可以直接使用这些模型,也可以基于已有模型进行进一步训练。 支持在线模型查询--提供模型在线查询接口,可以查看模型详情、引用信息等。 支持在线模型训练--直接在HuggingFace平台上完成模型的参数训练任务,也支持自定义模型的训练与分享。 支持项目管理--支持开发者管理项目、模型版本、实验记录等。 提供多种SDK支持--提供Python和JavaScript SDK,方便开发者在应用中快速加载和应用预训练模型。 良好的社区支持--拥有活跃的开发者社区,包括文档、论坛、Jupyter Notebook等资源。 支持企业服务--面向企业客户提供定制AI服务和技术支持。 通过整合领先的AI技术和开源模型,HuggingFace大幅降低了NLP模型的开发门槛,帮助研发人员快速实现产品化。它也致力于构建开放和共享的AI社区生态。
25.03-代码样例
# 样例1-一个快速使用流水线去判断正负面情绪的例子 from transformers import pipeline
# 使用情绪分析流水线 classifier pipeline(sentiment-analysis) classifier(We are very happy to introduce pipeline to the transformers repository.)[{label: POSITIVE, score: 0.9996980428695679}]
# 样例2-从给定文本中抽取问题答案 from transformers import pipeline
# 使用问答流水线 question_answerer pipeline(question-answering) question_answerer({... question: What is the name of the repository ?,... context: Pipeline has been included in the huggingface/transformers repository... }){score: 0.30970096588134766, start: 34, end: 58, answer: huggingface/transformers 26-AITemplate
26.01-简介 AITemplateAIT是一个Python框架它可以将深度神经网络转换为CUDANVIDIA GPU/HIPAMD GPUC代码用于快速的推理服务。AITemplate亮点包括 高性能在主要型号上接近屋顶线fp16 TensorCoreNVIDIA GPU/MatrixCoreAMD GPU的性能包括ResNet、MaskRCNN、BERT、VisionTransformer、Stable Diffusion等。 统一、开放、灵活。适用于NVIDIA GPU或AMD GPU的无缝fp16深度神经网络模型。完全开源乐高风格易于扩展的高性能基元支持新模型。与两种GPU平台的现有解决方案相比支持更全面的融合。
26.02-特点 优秀的兼容能力--AITemplate不依赖于第三方库或运行时如cuBLAS、cuDNN、rocBLAS、MIOpen、TensorRT、MIGraphX等。每个模型都被编译成一个自包含的可移植二进制文件可以在具有相同硬件的任何软件环境中使用。 支持水平融合--AITemplate提供独特的水平融合功能。AITemplate可以将并行的GEMM、LayerNorm和其它具有不同输入形状的操作符融合到单个GPU内核中。 支持垂直融合--AITemplate提供强大的垂直融合功能。AITemplate可以将大量操作融合到TensorCore/MatrixCore操作中例如元素操作、缩减和布局排列。AITemplate还提供背靠背式TensorCore/MatrixCore操作融合。 支持内存融合--AITemplate提供创新的内存融合能力。AITemplate可以将GEMM、LayerNorm和其他运算符融合到一个运算符中然后将内存操作如串联、拆分和切片融合到单个运算符中。 不依赖PyTorch--AITemplate生成的Python运行时可以将PyTorch张量作为输入和输出而无需额外的副本。对于没有PyTorch的环境AITemplate Python/C运行时是自包含的。 不受扩展的影响--AITemplate提供了一种在代码生成中进行扩展的直接方法。要在AITemplate中添加新的运算符或新的融合内核大多数时候只需要添加两个Python文件一个用于图形节点定义另一个用于后端代码生成。文本头文件中的CUDA/HIP内核可以直接用于编解码器中。
26.03-代码样例
# 步骤1-下载SD模型python3 scripts/download_pipeline.py \--model-name stabilityai/stable-diffusion-2-1-base
# 步骤2-变异AIT模块python3 scripts/compile.py --width 512 --height 512
# 步骤3-执行pipelinepython3 scripts/demo_alt.py \--hf-hub-or-path stabilityai/stable-diffusion-2-1 \--ckpt v2-1_768-ema-pruned.ckpt
# 步骤4-运行Benchmarkpython3 src/benchmark.py
# 步骤5-运行模型python3 scripts/demo.py --width 512 --height 512 27-总结 vLLM适用于大批量Prompt输入并对推理速度要求比较高的场景。 实际应用场景中TensorRT-LLM通常与Triton Inference Server结合起来使用NVIDIA官方能够提供更适合NVIDIA GPU运行的高效Kernel。 LightLLM比较轻量、易于扩展、易于上手集成了众多优化的开源实现。 Text generation inference依赖HuggingFace模型并且不需要为核心模型增加多个adapter的场景。 CTranslate2支持用户在多种CPU架构上面进行LLM的高效推理。 OpenLLM为核心模型添加adapter并使用HuggingFace Agents不完全依赖PyTorch支持轻松的微调、服务、部署和监控任何LLM。 RayLLM支持连续批处理可以获得更好的吞吐量和延时支持多种LLM后端。 MLC-LLM不仅支持GPU支持在多种边缘设备Android或iPhone平台上本地部署LLM但是当前支持的模型比较有限。 DeepSpeed-FastGen将DeepSpeed MII与DeepSpeed结合在一起提供了多种多样的系统组件拥有多种优化机制。 虽然InferLLM基于llama.cpp但是它比llama.cpp更轻量、更简洁、更容易上手。 llama.cpp是一个支持纯C/C实现的推理库无任何依赖当前已经从仅支持LLAMA扩展到支持其它的LLM。 rtp-llm是一个已经商业应用的LLM推理框架支持了淘宝、天猫、菜鸟、高德等多个部门的LLM推理业务。 PowerInfer利用了LLM推理中固有的高局部特性比llamca.cpp的推理速度更快、精度更高。 XInference不仅支持LLM的推理还支持文生图模型、文本嵌入模型、语音识别模型、多模态模型等。 FastChat是一个用于培训、服务和评估基于大语言模型的聊天机器人的开放平台。 PPL-LLM基于ppl.nn支持多种注意力机制、支持动态batch。 BentoML是一个用于构建可靠、可扩展的LLM推理框架。它提供了模型服务、应用程序打包和生产部署所需要的一切。 fastllm是一个纯c实现、无第三方依赖的高性能LLM推理库支持INT4量化。 JittorLLM可以支持在一些低性能的端侧设备上面执行LLM推理模型迁移能力强。 LMDeploy是由MMDeploy和MMRazor团队联合开发提供了一个涵盖了LLM任务的全套轻量化、部署和服务解决方案。 OneDiffusion是一个开源的一站式仓库用于促进任何扩散模型的快速部署。 Neural Compressor提供了多种模型压缩技术包括量化、裁剪、蒸馏、神经网络搜索。 TACO-LLM是基于腾讯云异构计算产品推出的一套LLM推理框架用来提升LLM的推理效能。 MindSpore是一种适用于端边云场景的开源LLM训练与推理框架。支持多种并行优化策略支持自研的LLM量化与剪枝方法。 HuggingFace初衷是为了做聊天机器人业务最终却成了一个优秀的开源社区支持400k个预训练模型、150k个应用和100k种数据集。 AITemplateAIT是一个Python框架它可以将深度神经网络转换为CUDANVIDIA GPU/HIPAMD GPUC代码用于快速的推理服务。它当前支持的大模型并不多但是它小而美 这是我自己运营的微信公众号“AI产品汇”专注于AI与AIGC前沿算法会持续输出干货内容欢迎感兴趣的朋友关注