MLC LLM
submodules in MLC LLM
大模型(LLM)好性能通用部署方案,陈天奇(tvm发起者)团队开发.
项目链接
docs: https://llm.mlc.ai/docs/
github: https://github.com/mlc-ai/mlc-llm
支持的平台和硬件
platforms & hardware
支持的模型
|
Architecture
|
Prebuilt Model Variants
|
| — | — |
|
Llama
|
Llama-2, Code Llama, Vicuna, WizardLM, WizardMath, OpenOrca Platypus2, FlagAlpha Llama-2 Chinese, georgesung Llama-2 Uncensored
|
|
GPT-NeoX
|
RedPajama
|
|
GPT-J
|
|
|
RWKV
|
RWKV-raven
|
|
MiniGPT
|
|
|
GPTBigCode
|
WizardCoder
|
|
ChatGLM
|
|
|
ChatGLM
|
|
接口API 支持
Javascript API, Rest API, C++ API, Python API, Swift API for iOS app, Java API & Android App
量化(Quantization) 方法支持
4-bit, LUT-GEMM, GPTQ
ref: https://llm.mlc.ai/docs/compilation/configure_quantization.html
其他
最大的特点是可以快速部署大模型到iOS 和 Android 设备上, 浏览器上运行文生图模型(sd1.5/2.1)和大模型, 推理框架基于tvm-unity.
vLLM
快速简单易用的大模型推理框架和服务,来自加州大学伯克利分校
vLLm 运行大模型非常快主要使用以下方法实现的:
-
先进的服务吞吐量
-
通过PageAttention 对attention key & value 内存进行有效的管理
-
对于输入请求的连续批处理
-
高度优化的CUDA kernels
项目链接
docs: Welcome to vLLM!
github: https://github.com/vllm-project/vllm
支持的平台和硬件
NVIDIA CUDA, AMD ROCm
支持的模型
vLLM seamlessly supports many Hugging Face models, including the following architectures:
-
Aquila & Aquila2 (BAAI/AquilaChat2-7B, BAAI/AquilaChat2-34B, BAAI/Aquila-7B, BAAI/AquilaChat-7B, etc.)
-
Baichuan & Baichuan2 (baichuan-inc/Baichuan2-13B-Chat, baichuan-inc/Baichuan-7B, etc.)
-
BLOOM (bigscience/bloom, bigscience/bloomz, etc.)
-
ChatGLM (THUDM/chatglm2-6b, THUDM/chatglm3-6b, etc.)
-
Falcon (tiiuae/falcon-7b, tiiuae/falcon-40b, tiiuae/falcon-rw-7b, etc.)
-
GPT-2 (gpt2, gpt2-xl, etc.)
-
GPT BigCode (bigcode/starcoder, bigcode/gpt_bigcode-santacoder, etc.)
-
GPT-J (EleutherAI/gpt-j-6b, nomic-ai/gpt4all-j, etc.)
-
GPT-NeoX (EleutherAI/gpt-neox-20b, databricks/dolly-v2-12b, stabilityai/stablelm-tuned-alpha-7b, etc.)
-
InternLM (internlm/internlm-7b, internlm/internlm-chat-7b, etc.)
-
LLaMA & LLaMA-2 (meta-llama/Llama-2-70b-hf, lmsys/vicuna-13b-v1.3, young-geng/koala, openlm-research/open_llama_13b, etc.)
-
Mistral (mistralai/Mistral-7B-v0.1, mistralai/Mistral-7B-Instruct-v0.1, etc.)
-
MPT (mosaicml/mpt-7b, mosaicml/mpt-30b, etc.)
-
OPT (facebook/opt-66b, facebook/opt-iml-max-30b, etc.)
-
Phi-1.5 (microsoft/phi-1_5, etc.)
-
Qwen (Qwen/Qwen-7B, Qwen/Qwen-7B-Chat, etc.)
-
Yi (01-ai/Yi-6B, 01-ai/Yi-34B, etc.)
接口API支持
OpenAI-compatible API server
分布式推理和服务(支持Megatron-LM’s tensor parallel algorithm)
可以使用SkyPilot 框架运行在云端
可以使用NVIDIA Triton 快速部署
可以使用LangChain 提供服务
量化(Quantization)方法
4-bit: AutoAWQ
OpenLLM
促进实际生产过程中的大模型的部署,微调,服务和监测.
项目链接
github: GitHub - bentoml/OpenLLM: Operating LLMs in production
支持的平台和硬件
GPU
支持的模型
|
model
|
| — |
|
Baichuan
|
|
ChatGLM
|
|
DollyV2
|
|
Falcon
|
|
FlanT5
|
|
GPTNeoX
|
|
Llama
|
|
Mistral
|
|
MPT
|
|
OPT
|
|
Phi
|
|
Qwen
|
|
StableLM
|
|
StarCoder
|
|
Yi
|
接口API支持 & Integrations
Serve LLMs over a RESTful API or gRPC with a single command. You can interact with the model using a Web UI, CLI, Python/JavaScript clients, or any HTTP client of your choice.
BentoML,OpenAI’s Compatible Endpoints,LlamaIndex,LangChain, andTransformers Agents.
量化(Quantization)方法
-
LLM.int8(): 8-bit Matrix Multiplication through bitsandbytes
-
SpQR: A Sparse-Quantized Representation for Near-Lossless LLM Weight Compression through bitsandbytes
-
AWQ: Activation-aware Weight Quantization,
-
GPTQ: Accurate Post-Training Quantization
-
SqueezeLLM: Dense-and-Sparse Quantization.
支持多个Runtime, 主要为使用 vllm 和 pytorch backend.
DeepSpeed-MII
MII architecture
针对DeepSpeed 模型实现的,专注于高吞吐量,低延迟和成本效益的开源推理框架
MII(Model Implementations for Inference) 提供加速的文本生成推理通过Blocked KV Caching, Continuous Batching, Dynamic SplitFuse 和高性能的CUDA Kernels, 细节请参考:https://github.com/microsoft/DeepSpeed/tree/master/blogs/deepspeed-fastgen
项目链接
https://github.com/microsoft/DeepSpeed-MII
支持的平台和硬件
NVIDIA GPUs
支持的模型
MII model support
接口API支持
RESTful API
TensorRT-llm
组装优化大语言模型推理解决方案的工具,提供Python API 来定义大模型,并为 NVIDIA GPU 编译高效的 TensorRT 引擎.
TensorRT-LLM is a toolkit to assemble optimized solutions to perform Large Language Model (LLM) inference. It offers a Python API to define models and compile efficientTensorRTengines for NVIDIA GPUs. It also contains Python and C++ components to build runtimes to execute those engines as well as backends for theTriton Inference Serverto easily create web-based services for LLMs. TensorRT-LLM supports multi-GPU and multi-node configurations (through MPI).
项目链接
docs: https://github.com/NVIDIA/TensorRT-LLM/tree/main/docs/source
github: https://github.com/NVIDIA/TensorRT-LLM
支持的平台和硬件
NVIDIA GPUs (H100, L40S, A100, A30, V100)
支持的模型
-
Baichuan
-
Bert
-
Blip2
-
BLOOM
-
ChatGLM
-
Falcon
-
Flan-T5
-
GPT
-
GPT-J
-
GPT-Nemo
-
GPT-NeoX
-
InternLM
-
LLaMA
-
LLaMA-v2
-
Mistral
-
MPT
-
mT5
-
OPT
-
Qwen
-
Replit Code
-
SantaCoder
-
StarCoder
-
T5
-
Whisper
接口API支持
Python API, Pytorch API, C++ API, NVIDIA Triton Inference Server,
量化(Quantization)方法
INT8 SmoothQuant (W8A8), NT4 and INT8 Weight-Only (W4A16 and W8A16), GPTQ and AWQ (W4A16), FP8 (Hopper)
添加图片注释,不超过 140 字(可选)
ref: https://github.com/NVIDIA/TensorRT-LLM/blob/main/docs/source/precision.md
其他
TensorRT-LLM 主要特色:
-
Multi-head Attention(MHA)
-
Multi-query Attention (MQA)
-
Group-query Attention(GQA)
-
In-flight Batching
-
Paged KV Cache for the Attention
-
Tensor Parallelism
-
Pipeline Parallelism
-
INT4/INT8 Weight-Only Quantization (W4A16 & W8A16)
-
SmoothQuant
-
GPTQ
-
AWQ
-
FP8
-
Greedy-search
-
Beam-search
-
RoPE
如何系统的去学习大模型LLM ?
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料
包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享]👈
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。