Logo

Willow推理服务器:优化的本地语音和语言处理解决方案

willow-inference-server

什么是Willow推理服务器?

Willow推理服务器(WIS)是一个专注且高度优化的语言推理服务器实现。它的目标是"自动"实现高性能、低成本的自托管,以支持最先进的语音和语言处理任务。WIS主要具有以下特点:

  1. 支持多种任务:自动语音识别(ASR)、文本到语音转换(TTS)和大型语言模型(LLM)。

  2. 优化的性能:针对CUDA进行优化,支持从入门级GPU(如Tesla P4、GTX 1060)到高端GPU(如RTX 4090)。也可以仅使用CPU运行。

  3. 内存优化:在6GB显存内同时加载三个默认Whisper模型(base、medium、large-v2)并支持TTS。LLM支持默认为int4量化。

  4. 多种传输方式:支持REST、WebRTC和WebSocket。

  5. 灵活配置:用户可以根据应用需求动态选择和配置Whisper模型和参数。

Willow Inference Server Architecture

主要功能

自动语音识别(ASR)

WIS对Whisper模型进行了高度优化,以实现高质量、近实时的语音识别。它支持多种输入方式,包括Willow设备、WebRTC、文件上传等。对于大多数预期的语音任务,处理时间可以控制在数百毫秒以内。

文本到语音转换(TTS)

WIS提供TTS功能,主要用于助手任务(如Willow!)和视障用户。它还支持自定义TTS语音,只需较小的音频录音即可创建和管理自定义语音。

大型语言模型(LLM)

WIS可以选择性地将输入通过配置的LLM进行处理,用于问答、聊天机器人和助手任务。目前支持LLaMA衍生模型,特别推荐使用Vicuna(13B版本)。内置支持量化到int4以节省GPU内存。

WebRTC支持

WIS对WebRTC进行了大量优化,支持从浏览器或WebRTC应用程序实时流式传输音频,以优化质量和响应时间。它还针对长时间运行的会话进行了优化,使用WebRTC音轨管理技术,可以将会话保持开放数天,同时实现数百毫秒内的自托管ASR转录,并节省网络带宽和CPU资源。

硬件要求和性能

WIS主要针对CUDA进行优化,因为便宜GPU(如Tesla P4和GTX 1060)的性能、成本和功耗优势太好了,不容忽视。目前支持的最低硬件配置为GTX 1060 3GB(ASR和TTS需要6GB)。

以下是一些性能基准测试结果:

设备模型Beam大小语音时长(ms)推理时间(ms)实时倍数
RTX 4090large-v25384014027x
GTX 1060large-v25384011143x
GTX 1070medium138404249x
GTX 1070base138407054x

可以看到,实时倍数随着语音片段的延长而显著增加。使用WebRTC或Willow时,浏览器/Willow和支持的应用程序中的端到端延迟是上述数字加上网络延迟响应时间。

Willow Inference Server Performance

部署和配置

安装依赖

对于CUDA支持,您需要为支持的硬件安装NVIDIA驱动程序。推荐使用Nvidia驱动程序版本530。

# 克隆仓库:
git clone https://github.com/toverainc/willow-inference-server.git && cd willow-inference-server

# 确保安装了nvidia-container-toolkit而不是nvidia-docker
# 在Arch Linux上:
yay -S libnvidia-container-tools libnvidia-container nvidia-container-toolkit docker-buildx

# Ubuntu:
./deps/ubuntu.sh

安装、配置和启动WIS

# 安装
./utils.sh install

# 生成自签名TLS证书(或在nginx/key.pem和nginx/cert.pem放置"真实"证书)
./utils.sh gen-cert [your hostname]

# 启动WIS
./utils.sh run

配置

系统运行时可以通过在WIS根目录放置一个.env文件来覆盖utils.sh设置的任何变量进行配置。您还可以通过复制settings.pycustom_settings.py来更改更多WIS特定参数。

使用场景和应用

  1. 家庭助手集成:将WebRTC与Home Assistant仪表板集成,支持直接从桌面或移动设备的HA仪表板流式传输音频。

  2. 桌面/移动转录应用:开发独立的语音转文本应用程序。

  3. 桌面/移动助手应用:将Willow集成到各种设备和平台中。

  4. 自定义语音助手:利用WIS的ASR、TTS和LLM功能,构建个性化的语音交互系统。

  5. 实时字幕生成:为视频会议、直播等场景提供实时语音转文字服务。

  6. 多语言支持:随着Meta发布支持1000多种语言的MMS模型,WIS未来可以扩展到更多语言的语音识别和合成。

未来展望

  1. 更好的TTS:正在寻求社区反馈,以选择更优秀的TTS实现和语音。

  2. TTS缓存:支持TTS输出的磁盘缓存,以实现闪电般快速的TTS响应时间。

  3. 支持更多语言:随着Meta发布MMS,WIS计划支持更多语言的语音转文本和文本转语音。

  4. 代码重构和模块化:在1.0版本发布之前,WIS将进行代码重构、模块化和文档改进。

  5. 功能链接(应用程序):可能支持用户定义模块,将多个支持的任务链接在一个请求中,例如:

    • 语音输入 -> LLM处理 -> 语音输出
    • 语音输入 -> 调用任意API -> 语音输出

总的来说,Willow推理服务器为开发者和用户提供了一个强大、灵活且高效的语音和语言处理平台。通过其优化的性能、多样的功能和开放的架构,WIS为构建下一代智能语音应用开辟了新的可能性。无论是家庭自动化、辅助技术,还是企业级语音服务,WIS都为创新提供了坚实的基础。

最新项目

Project Cover
豆包MarsCode
豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。
Project Cover
AI写歌
Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。
Project Cover
商汤小浣熊
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。
Project Cover
有言AI
有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。
Project Cover
Kimi
Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。
Project Cover
吐司
探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。
Project Cover
SubCat字幕猫
SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。
Project Cover
AIWritePaper论文写作
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。
Project Cover
稿定AI
稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。
投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号