Willow Inference Server简介
Willow Inference Server (WIS)是一个专注且高度优化的语言推理服务器实现。它的目标是实现高性能、低成本的自托管语音和语言任务,支持最新的开源模型。
主要特性包括:
-
主要针对CUDA优化,支持从Tesla P4、GTX 1060等低端GPU到RTX 4090等高端GPU。也可以仅使用CPU运行。
-
内存优化,6GB显存即可同时加载3个Whisper模型(base、medium、large-v2)及TTS支持。LLM默认使用int4量化以节省GPU内存。
-
高质量、接近实时的语音识别(ASR),延迟仅数百毫秒。
-
支持TTS,主要用于语音助手和视障用户。
-
可选LLM支持,用于问答、聊天机器人等任务。默认使用Vicuna模型。
-
支持多种传输方式:REST、WebRTC、WebSocket等。
-
性能和内存优化,利用CTranslate2和AutoGPTQ等技术。
-
支持Willow项目,为Willow用户提供推理服务。
-
WebRTC支持流式音频,优化长时间会话的带宽和CPU使用。
-
支持自定义TTS语音。
快速开始
安装依赖
- 克隆仓库:
git clone https://github.com/toverainc/willow-inference-server.git
cd willow-inference-server
-
安装NVIDIA驱动(推荐530版本)
-
安装nvidia-container-toolkit:
# Arch Linux:
yay -S libnvidia-container-tools libnvidia-container nvidia-container-toolkit docker-buildx
# Ubuntu:
./deps/ubuntu.sh
安装和启动WIS
# 安装
./utils.sh install
# 生成自签名TLS证书
./utils.sh gen-cert [your hostname]
# 启动WIS
./utils.sh run
配置
- 在WIS根目录创建
.env
文件可覆盖utils.sh
中的变量 - 复制
settings.py
为custom_settings.py
可修改WIS特定参数
使用说明
- Willow设备配置:
https://[your host]:19000/api/willow
- WebRTC演示客户端:
https://[your host]:19000/rtc
- REST API文档:
https://[your host]:19000/api/docs
性能基准测试
WIS在各种GPU上都有出色的性能表现,详细数据可查看GitHub仓库的基准测试部分。
相关资源
WIS是一个强大而灵活的语音和语言推理服务器,可以为Willow等项目提供高性能的后端支持。它正在快速发展中,欢迎社区参与贡献!