llama-160m-accelerator项目介绍
llama-160m-accelerator是一个旨在加速JackFram/llama-160m模型的加速器项目。该项目借鉴了Medusa推测解码架构的思想,是为vLLM CI测试构建的示例加速器。
项目核心特性
-
多阶段MLP:该加速器将原始MLP修改为多阶段MLP结构。每个阶段基于状态向量和先前阶段的采样token来预测草稿中的单个token。
-
上下文感知:基础模型的状态向量为加速器提供上下文信息,而对先前采样token的条件化则允许它生成更高质量的草稿n-gram。
-
通用架构:底层的MLP推测器是一种通用架构,可以与任何生成模型一起训练以加速推理。
-
轻量级训练:训练过程轻量级,根据基础模型的大小和速度,通常可以在几天内完成。
安装与使用
项目可以通过以下步骤从源代码安装:
git clone https://github.com/foundation-model-stack/fms-extras
cd fms-extras
pip install -e .
在生产环境中使用
该项目提供了在IBM生产TGIS和Huggingface TGI中使用的示例。用户可以通过Docker镜像快速部署和运行模型。
IBM生产TGIS环境
用户需要设置HF_HUB_CACHE、HF_HUB_TOKEN和TGIS_IMAGE等环境变量,然后通过Docker命令下载和运行模型。
Huggingface TGI环境
用户可以通过Docker运行服务器,并使用curl命令进行请求。
相关资源
项目提供了以下相关资源的链接:
注意事项
- 所有示例都要求环境能够访问CUDA。
- 首次提示可能会较慢,因为存在预热时间。
- 对于张量并行,需要添加--num-shard参数。
总的来说,llama-160m-accelerator项目为llama-160m模型提供了一个高效的加速解决方案,具有良好的通用性和易用性,适用于各种生产环境。