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

RayRay
Willow Inference ServerASRTTSCUDAWebRTCGithub开源项目

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都为创新提供了坚实的基础。

编辑推荐精选

Pixmax

Pixmax

一站式AI短剧创作平台

Pixmax专注打造下一代“ AI 视觉创作引擎”,整合行业顶尖 AI 大模型、工工业级精准控制及企业级协同管理功能,是全方位的 AI 内容创作平台。

豆包

豆包

字节跳动旗下 AI 智能助手

字节跳动旗下 AI 智能助手

GPT Plus|Pro充值

GPT Plus|Pro充值

GPT充值

支持 ChatGPT Plus / Pro 充值服务,支付便捷,自动发货,售后可查。

GPT Image 2中文站

GPT Image 2中文站

AI 图片生成平台

GPT Image 2 是面向用户的 AI 图片生成平台,支持文生图、图生图及多模型创意工作流。

Vecbase

Vecbase

你的AI Agent团队

Vecbase 是专为 AI 团队打造的智能工作空间,将数据管理、模型协作与知识沉淀整合于一处。算法、产品与业务在同一平台无缝协同,让从数据到 AI 应用的落地更快一步。

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

下拉加载更多