Skip to content

MOSS-Transcribe-Diarize 对流式并发转录的支持情况及 80-100 路 WebSocket 所需算力 #23

Description

@yanghualv7

您好,感谢开源 MOSS-Transcribe-Diarize。

我们正在评估将该模型用于多路实时语音转录场景,希望了解模型对流式输入、WebSocket 并发以及大规模部署的支持情况。

使用场景

我们的目标场景大致如下:

  • 通过 WebSocket 持续上传麦克风或通话音频;
  • 音频格式预计为 16 kHz、单声道 PCM;
  • 单个会话可能持续数30秒到5分钟;
  • 希望实时或近实时返回:
    • 转录文本;
    • 时间戳;
    • 说话人标签;
  • 目标规模约为 100 路同时在线的 WebSocket 连接;
  • 高峰期可能有接近 100 路音频同时处于说话状态;
  • 期望端到端延迟控制在 0.5 秒左右,至少不产生持续积压。

想咨询的问题

1. 是否支持真正的流式音频输入?

MOSS-Transcribe-Diarize 当前是否支持有状态的流式推理,例如:

  • 音频数据持续分块输入,而不是每次提交完整音频;
  • 复用上一音频块的 encoder、KV Cache 或其他中间状态;
  • 增量返回转录文本、时间戳和说话人信息;
  • 在一个长时间 WebSocket 会话中保持上下文;
  • 避免每次收到新音频块后重新计算之前的全部音频。

目前的 stream=True 是仅支持生成结果逐 token 输出,还是同时支持音频输入侧的原生 streaming?

2. 模型是否支持并发推理或 continuous batching?

针对多个同时进行的流式会话,请问当前推理实现是否支持:

  • 多请求 batching;
  • continuous batching;
  • 多个音频 encoder 请求合并;
  • 多个 decoder 会话共享 batch;
  • paged KV cache;
  • 动态插入和移除实时会话;
  • 多 GPU 或多实例部署?

如果没有 batching,是否意味着同一模型实例上的多个 WebSocket 会话需要串行执行推理?

3. 100 路 WebSocket 是否可行?

我们希望了解以下两个不同指标:

  1. 同时维持约 100 个 WebSocket 连接,但其中只有少部分用户正在说话;
  2. 接近 100 路音频同时持续说话,并且都需要近实时返回结果。

对于第二种情况,单个模型服务实例是否能够支持?还是需要部署多个模型副本进行水平扩展?

是否有官方或内部测试过的并发数据,例如:

  • 1、4、8、16、32、64、100 路并发时的吞吐;
  • 首字延迟;
  • 平均延迟;
  • P95/P99 延迟;
  • 实时率 RTF;
  • 每秒可处理的音频时长;
  • GPU/NPU/统一内存占用;
  • 长时间运行后的稳定性。

4. 大约需要多少算力?

假设配置如下:

  • 100 路同时说话;
  • 每路为 16 kHz 单声道音频;
  • 目标延迟为 0.5秒;
  • 开启转录、时间戳和说话人区分;
  • 使用 BF16、FP16、8-bit 或 4-bit 量化版本。

请问大致需要什么级别的硬件?

例如:

  • 每张 GPU/NPU 大约可以稳定支持多少路实时音频;
  • 是否更受计算能力、显存容量、内存带宽还是 decoder token 吞吐限制;
  • 是否有推荐的生产部署拓扑。

如果目前没有 100 路并发的现成测试数据,能否提供一个容量估算方法?例如根据单路端到端 RTF、并发调度效率和安全余量,推算单机可以承载的实时流数量。

希望获得的建议

我们主要想确认以下几点:

  1. 当前版本是否适合直接用于低延迟流式转录;
  2. 100 路同时说话的 WebSocket 场景是否在模型设计范围内;
  3. 要实现约 100 路并发,推荐的硬件数量和服务架构;
  4. 后续是否有原生 streaming input、并发 batching 或实时服务端实现的开发计划。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions