Willow Inference Server 项目介绍
概述
Willow Inference Server(简称 WIS)是一款高度优化的语言推理服务器。其核心目标是便捷地自助搭建并运行尖端的语音和语言模型,以实现高效的语音识别(ASR)、文本转语音(TTS)以及大语言模型(LLM)等任务。这款服务器主要针对 CUDA 加速进行优化,同时也能在低端设备,如 Tesla P4 和 GTX 1060 上运行。
功能特点
-
硬件支持广泛:WIS 对 CUDA 设备进行了优化,并支持低端设备。即使是在高端设备,如 RTX 4090 上,其表现也非常出色。此外,还可以在纯 CPU 环境下运行。
-
内存优化:服务器支持在 6GB VRAM 内同时加载三种 Whisper 模型(base、medium、large-v2),并配备 TTS 功能。ASR、STT、TTS 加上 Vicuna 13B 模型需要约 18GB VRAM。
-
语音识别(ASR):对实时性极高的语音识别做了特别优化。例如,通过各种方式(Willow、WebRTC、POST 文件等)进行集成,使语音识别结果能在数百毫秒内返回。
-
文本转语音(TTS):主要应用于助理任务及辅助视觉障碍用户,支持自定义的 TTS 声音创建。
-
大语言模型(LLM)支持:可选择性地将输入通过 LLM 进行处理,用于问答、聊天机器人及助手任务。支持对 LLM 的 int4 量化以节省 GPU 内存。
-
多传输协议支持:REST、WebRTC 和 Web Sockets 均被支持,特别是在实时音频流输入时,WebRTC 传输方式能够极大地优化质量和响应时间。
-
性能及内存优化:通过使用 CTranslate2 和 AutoGPTQ 技术,对 Whisper 和 LLM 模型的处理进行了优化。
环境依赖与安装
环境依赖
- 对于 CUDA 支持,需要安装相应版的 NVIDIA 驱动(推荐 530 版本)。
安装步骤
-
克隆项目代码:
git clone https://github.com/toverainc/willow-inference-server.git && cd willow-inference-server
-
确保安装了 nvidia-container-toolkit,然后根据系统选择安装脚本,比如在 Ubuntu 上可以运行:
./deps/ubuntu.sh
-
安装和启动 WIS:
./utils.sh install ./utils.sh gen-cert [your hostname] //生成自签名 TLS 证书 ./utils.sh run
未来规划
- 更好的 TTS:正在收集社区反馈,以增强 TTS 功能。
- TTS 缓存:支持将重复文本的 TTS 结果缓存到磁盘,以提高响应速度。
- 更多语言支持:包括最新发布的支持超过 1000 种语言的 Meta MMS。
- 功能链:计划支持用户定义的模块,将多个任务链接在一起实现复杂任务,例如语音输入-LLM处理-语音输出。
Willow Inference Server 旨在以经济实惠的方式提供高度优化的语音和语言服务,通过自动检测可用的硬件资源,自主进行功能优化或禁用。对于技术爱好者或有需要的开发者来说,WIS 是一个值得探索的工具。