Appearance
Matador Inference Engine
当前,各类团体或组织正在使用人工智能(AI,特别是大语言模型 LLM)开发强大的新分析能力,这些能力跨越多种使用模式,从计算机视觉和对象检测,到自然语言处理(LLM),拟人化的语音对话(ASR/TTS)等,持续改进人机交互。在与 AI 相关的任何业务的核心都是复杂的模式识别和分类能力,这些能力是未来革命性应用和洞察力的发源地。
基于企业在 AI 方面的高难度诉求,我们提供更易于访问,更高性能,更低成本的 AI 推理平台,其中搭载了 Matador Inference Engine,通过我们的平台可以为企业快速部署一个全面优化和支持的各类语言/多模态模型的 AI 平台。
INFO
DoDO 平台的核心澎湃动力由 Matador Training / Inference Engine 支持
Distributed Inference
分布式推理
推理任务可分布在多 GPU 卡或节点,多 CPU 核之上。
在真实推理场景下,不能单考虑待推理模型的大小与单 GPU 卡或 GPU 节点的显存大小的关系,更多注意力应该评价你想获得怎么样的推理速度,以及整体推理集群可以提供多少的并发能力,后 2 者指标会显著影响你的 AI 应用,如果对此您仍然有些模糊,请联系 Matador 供应商获得最佳资源匹配,或者直接使用 Matador 推理模版,并根据您的业务需要适当增加或减少模版部署的实例数量。
Hardware 支持
芯片支持
支持全球顶级算力加速芯片,国产头部加速芯片。
Matador 的安装过程因硬件而异。支持的主要硬件是 NVIDIA GPU,具有 x86_64 CPU 架构;我们为该组合提供预构建的推理模版。如果您使用其他类型的硬件,则可能需要咨询我们并为您制作适配您硬件特性的定制化推理模版。
- Nvidia 全系列 GPU 👌
- Intel IDC GPU 系列 👌
- Google TPU 👌
- AWS Inferentia/Trainium 👌
- AVX2/AVX512/ppc64le CPU 👌
- AMD GPU 👌
- 华为 910B 👌
OpenAI-compatible API
API 兼容
引擎对外接入兼容 OpenAI API ,使得 AI 应用可以快速部署,支持文本/聊天完成、视觉和批处理 API。
API 出入参与使用规范请参阅 OpenAI API 参考(https://platform.openai.com/docs/api-reference),引擎支持除一下参数外的所有参数:
WARNING
在 /v1/chat/completions 中:tools 和 tool_choice 在 /v1/completions 中:suffix 在 /v1/chat/completions 中的 tool 调用补充:
Matador 仅支持/v1/chat/completions API 中的命名函数调用。tool_choice 选项 auto 和 required 尚不受支持,后续会支持。
要使用命名函数,您需要在 tools 参数中定义该函数并在 tools_choice 参数中调用它。调用者有责任向模型提示工具信息;Matador 不会自动修改提示.
Matador 将使用引导解码来确保响应与 tools 参数中 JSON 架构定义的工具参数对象相匹配。请参阅 OpenAI API 参考了解更多信息。
Continuous Batching
通过异步方式连续集合 request 请求。
Hugging Face 生态支持
HuggingFace 支持
几乎可以无缝运行大部分的**Hugging Face 托管模型。
Decoder-only Language Models
| Architecture | Example HF Model |
|---|---|
AquilaForCausalLM | BAAI/AquilaChat-7B |
ArcticForCausalLM | Snowflake/snowflake-arctic-instruct |
BaiChuanForCausalLM | baichuan-inc/Baichuan2-13B-Chat |
BloomForCausalLM | bigscience/bloomz |
ChatGLMModel | THUDM/chatglm3-6b |
CohereForCausalLM | CohereForAI/c4ai-command-r-v01 |
DbrxForCausalLM | databricks/dbrx-instruct |
DeciLMForCausalLM | DeciLM/DeciLM-7B |
FalconForCausalLM | tiiuae/falcon-7b |
GemmaForCausalLM | google/gemma-7b |
Gemma2ForCausalLM | google/gemma-2-9b |
GPT2LMHeadModel | gpt2 |
GPTBigCodeForCausalLM | bigcode/starcoder |
GPTJForCausalLM | pygmalionai/pygmalion-6b |
GPTNeoXForCausalLM | EleutherAI/pythia-12b |
InternLMForCausalLM | internlm/internlm-7b |
InternLM2ForCausalLM | internlm/internlm2-7b |
JAISLMHeadModel | core42/jais-13b |
JambaForCausalLM | ai21labs/Jamba-v0.1 |
LlamaForCausalLM | meta-llama/Meta-Llama-3.1-8B |
MiniCPMForCausalLM | openbmb/MiniCPM-2B-dpo-bf16 |
MistralForCausalLM | mistralai/Mistral-7B-v0.1 |
MixtralForCausalLM | mistralai/Mixtral-8x7B-v0.1 |
MPTForCausalLM | mosaicml/mpt-7b |
NemotronForCausalLM | nvidia/Minitron-8B-Base |
OLMoForCausalLM | allenai/OLMo-7B-hf |
OPTForCausalLM | facebook/opt-66b |
OrionForCausalLM | OrionStarAI/Orion-14B-Chat |
PhiForCausalLM | microsoft/phi-2 |
Phi3ForCausalLM | microsoft/Phi-3-medium-128k-instruct |
Phi3SmallForCausalLM | microsoft/Phi-3-small-128k-instruct |
PersimmonForCausalLM | adept/persimmon-8b-chat |
QwenLMHeadModel | Qwen/Qwen-7B |
Qwen2ForCausalLM | Qwen/Qwen2-72B |
Qwen2MoeForCausalLM | Qwen/Qwen1.5-MoE-A2.7B |
StableLmforCausalLM | stabilityai/stablelm-3b-4e1t |
Starcoder2ForCausalLM | bigcode/starcoder2-3b |
XverseForCausalLM | xverse/XVERSE-65B-Chat |
Multimodal Language Models
| Architecture | Supported Modalities | Example Model |
|---|---|---|
Blip2ForConditionalGeneration | Image | Salesforce/blip2-opt-6.7b |
ChameleonForConditionalGeneration | Image | facebook/chameleon-7b |
FuyuForCausalLM | Image | adept/fuyu-8b |
InternVLChatModel | Image | OpenGVLab/InternVL2-8B |
LlavaForConditionalGeneration | Image | llava-hf/llava-v1.5-7b-hf |
LlavaNextForConditionalGeneration | Image | llava-hf/llava-v1.6-mistral-7b-hf |
PaliGemmaForConditionalGeneration | Image | google/paligemma-3b-pt-224 |
Phi3VForCausalLM | Image | microsoft/Phi-3.5-vision-instruct |
MiniCPMV | Image | openbmb/MiniCPM-V-2_6 |
Quantization 支持
量化
为了极致低成本且高效推理,引擎通过优化量化 kernel,支持业内最前沿的模型量化技术。
Matador 支持不同硬件的不同量化表现:
| Quantization Method | Volta | Turing | Ampere | Ada | Hopper | AMD GPU | Intel GPU | x86 CPU | AWS Inferentia | Google TPU |
|---|---|---|---|---|---|---|---|---|---|---|
| AQLM | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| AWQ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| GPTQ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| Marlin (GPTQ/AWQ/FP8) | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| INT8 (W8A8) | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| FP8 (W8A8) | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| BitsAndBytes | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| DeepspeedFP | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| GGUF | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| SqueezeLLM | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| QuIP# | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| EETQ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| QQQ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
KV Cache Quantization
FP8_E5M2P8_E4M3
Prompt Caching
Prompt Caching
即时缓存或自动前缀缓存 (简称 APC) 会缓存现有查询的 KV 缓存,这样,如果新查询与某个现有查询共享相同的前缀,则可以直接重用 KV 缓存,从而允许新查询跳过共享部分的计算。
Speculative Decoding
新加速推理技术
使用各种最先进的规范解码方法加速推理。
推测解码是一种通过使用较小模型来加速大型语言模型推理的技术。其思想是使用较小的模型生成一组候选标记,然后使用较大的模型对这些候选标记进行评分。
简而言之,推测解码是一种推理优化技术,它在生成当前标记的同时对未来标记做出有根据的猜测,所有这些都在一次前向传递中完成。它结合了一种验证机制来确保这些推测标记的正确性,从而保证推测解码的整体输出与原始解码的输出相同。优化大型语言模型 (LLM) 的推理成本可以说是降低生成式 AI 成本和增加其采用率的最关键因素之一。为了实现这一目标,可以使用各种推理优化技术,包括自定义内核、输入请求的动态批处理和大型模型的量化。
总之 Matador 提供了此方向的技术。
Adapters
LoRA支持
使用 Punica 和 PEFT 风格的 Prompt 适配器高效部署数百或数千个 LoRA。
Low-rank Adaptation (LoRA)
如果您的模型支持 LoRA ,Madator 会通过适配器提供此项功能。
Matador 融合了 S-LoRA 技术,可为数千个并发 LoRA 适配器提供服务,以高效地为数千名用户提供 LoRA 模型服务。
Soft prompts
Soft prompts
与 LoRA 类似,Soft prompts是另一种无需完全训练所有参数即可调整 LLM 行为的方法。Soft prompts是可学习的张量,与输入嵌入连接在一起,可以针对数据集进行优化;缺点是它们不是人类可读的,因为您没有将这些“虚拟标记”与真实单词的嵌入相匹配。
TIP
此项技术在特定业务场景下可以发挥作用,对于不了解的用户可以暂时忽略,或进一步咨询 Matador 供应商。