Commit Graph
472 Commits
Author SHA1 Message Date
LauraGPT 99ef3b727b feat(benchmark): report first nonempty transcript latency
Signed-off-by: LauraGPT <[email protected]>
2026-09-28 13:36:31 +00:00
zhifu gao f027d65110 docs(nano): clarify training speed evidence and release scope
Signed-off-by: zhifu gao <[email protected]>
2026-09-21 11:36:49 +00:00
Hexu Zhao 782a7a99d5 [perf] Fun-ASR-Nano fine-tuning on B200: 0.244 s to 0.068 s per step at 1 GPU, mostly from cuDNN SDPA plan builds on every new batch shape (#3705)
* fun_asr_nano: opt-in scoped SDPA backends and compiled decoder for fine-tuning

* tests: FunASRNano opt-ins leave defaults untouched

* fun_asr_nano: declare the torch 2.3 floor the fine-tuning recipe needs
2026-09-21 10:20:05 +08:00
zhifu gao 3a8a2d0c3f docs: make native Transformers the Nano adoption path
Signed-off-by: zhifu gao <[email protected]>
2026-09-09 17:12:37 +00:00
baofeidyz fdf1d04234 docs: correct local model download wording (#3679)
Correct the single-character typo without changing training commands or links.

Co-authored-by: baofeidyz <[email protected]>
Signed-off-by: zhifu gao <[email protected]>
2026-09-09 12:09:29 +08:00
zhifu gao 4abb706cd5 feat(examples): add MOSS diarization to offline vLLM sample
Signed-off-by: zhifu gao <[email protected]>
2026-09-08 22:11:20 +00:00
zhifu gao cad08344f6 fix(training): rank checkpoints only with valid validation metrics
Signed-off-by: zhifu gao <[email protected]>
2026-09-08 21:07:19 +00:00
zhifu gao 387e3f8782 docs: fix Kubernetes recipes and connect Gradio website guides
Signed-off-by: zhifu gao <[email protected]>
2026-09-07 21:18:26 +00:00
zhifu gao 11198050ce docs: align Gradio guides with isolated MOSS serving profiles
Signed-off-by: zhifu gao <[email protected]>
2026-09-07 19:53:23 +00:00
zhifu gao d91d961e37 feat: add explicit MOSS serving profiles to Gradio client
Signed-off-by: zhifu gao <[email protected]>
2026-09-07 19:12:22 +00:00
zhifu gao 49150dd091 docs: harden authenticated gateway boundaries in security guides
Signed-off-by: zhifu gao <[email protected]>
2026-09-07 18:18:47 +00:00
zhifu gao 6627977d95 docs: harden JavaScript integration recipes and response contracts
Signed-off-by: zhifu gao <[email protected]>
2026-09-07 17:20:48 +00:00
zhifu gao 160494c4c4 docs: clarify low-code workflow deployment and response contracts
Signed-off-by: zhifu gao <[email protected]>
2026-09-07 16:08:47 +00:00
zhifu gao 8d1f5b64db docs: align four-language HTTP service setup and response contracts
Signed-off-by: zhifu gao <[email protected]>
2026-09-07 15:03:23 +00:00
zhifu gao f958aab5b8 docs: rebuild the learning, model and serving documentation system
Signed-off-by: zhifu gao <[email protected]>
2026-09-06 14:11:58 +00:00
zhifu gao 483ca541ea fix(subtitle): preserve more VAD context by default
Signed-off-by: zhifu gao <[email protected]>
2026-09-06 09:28:10 +00:00
zhifu gao 0edb383df8 Merge pull request #3592 from modelscope/codex/qwen3-asr-offline-vllm-3419
feat(qwen3-asr): add offline vLLM example
2026-09-02 14:15:10 +08:00
LauraGPT 4a369fd683 fix(openai-api): support n8n audio alias in example
Signed-off-by: LauraGPT <[email protected]>
2026-09-02 03:24:25 +00:00
LauraGPT 1c9b4b9958 feat(server): support n8n OpenAI audio transcription
Signed-off-by: LauraGPT <[email protected]>
2026-09-02 03:20:13 +00:00
LauraGPT e7ddad713e feat: serve MOSS diarization across deployment stack
Signed-off-by: LauraGPT <[email protected]>
2026-09-01 03:02:33 +00:00
LauraGPT 1bd0b24fa8 feat(qwen3-asr): add offline vLLM example
Signed-off-by: LauraGPT <[email protected]>
2026-08-31 07:11:34 +00:00
LauraGPT fa64d48b2c fix(subtitles): preserve timestamp word boundaries
Signed-off-by: LauraGPT <[email protected]>
2026-08-30 11:45:25 +00:00
LauraGPT b0cdfaa4a9 fix(subtitles): split overlong source cues
Signed-off-by: LauraGPT <[email protected]>
2026-08-30 09:33:49 +00:00
LauraGPT 88a553e709 fix(realtime): avoid false keepalive timeouts under load
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 14:26:58 +00:00
LauraGPT d5e0eeefd1 feat(cli): group readable subtitle cues
Signed-off-by: LauraGPT <[email protected]>
2026-08-28 14:17:41 +00:00
张思远 (ZhangSiYuan)andClaude 0738581f4b feat(nano): support LoRA finetuning of the Qwen3 LLM (#3456)
* feat(nano): support LoRA finetuning of the Qwen3 LLM

The FunASR-Nano model config already declares llm_conf.use_lora and
llm_conf.lora_conf (r/lora_alpha/lora_dropout/target_modules), but nothing
consumed them: use_lora was silently ignored and training fell back to the
full-parameter LLM path. Wire it up:

- When llm_conf.use_lora is true, replace the LLM target Linear layers
  (default q_proj/v_proj) with lora.Linear adapters, sharing the frozen base
  weight and adding trainable lora_A/lora_B. The adapter params are created in
  the base weight's dtype (bf16), so the LoRA path does not depend on autocast.
- Pairs with the existing lora_only / mark_only_lora_as_trainable flow in
  train.py / train_ds.py: lora_only=true freezes every non-LoRA parameter for
  pure-LoRA training; lora_only=false + unfrozen encoder/adaptor conf keeps
  them trainable while LoRA-tweaking only the LLM.
- Checkpoints save the full state dict (unchanged base + adapter params), so a
  LoRA run can be resumed or decoded with the same use_lora=true config; for a
  standalone deployment checkpoint, fold with W' = W + alpha/r * B @ A.
- Add lora_finetune.sh and document the recipe in finetune.md / finetune_zh.md.

Validated end-to-end with the real model: 56 adapters injected (28 Qwen3
layers x q_proj+v_proj), optimizer updates only the 112 LoRA params, and a
2-step smoke training run through funasr-train-ds completes and saves a
checkpoint whose lora keys are bf16 and match the base dtype.

Co-Authored-By: Claude <[email protected]>

* test(nano): add offline unit tests for LoRA injection

Drive FunASRNano._apply_lora_to_llm against a tiny fake LLM mirroring the
Qwen3 parameter layout (layers.<i>.self_attn.{q,k,v,o}_proj / mlp.{gate,up,down}_proj).
No model download needed.

Covers the points requested in review:
1. only configured target modules are replaced;
2. the initial output matches the original linear layers (lora_B init zero);
3. base weights stay frozen while lora_A/lora_B are trainable (llm_conf.freeze
   applied before injection, as in the real init path);
4. a non-zero adapter survives a state-dict save/load round trip and train/eval
   transitions (including the eval-merge / train-unmerge convention);
5. the no-matching-target configuration is an explicit no-op with a warning.

Verified honest: on upstream main (no _apply_lora_to_llm) all 7 fail with
AttributeError; with the fix 7/7 pass. Full nano set: 34 passed.

Co-Authored-By: Claude <[email protected]>

---------

Co-authored-by: Claude <[email protected]>
2026-08-03 14:28:02 +08:00
zhifu gao 02cc93d11f Improve MCP discovery and release 0.1.2 (#3423)
Clarify the FunASR MCP tool contract for agent discovery, update the runtime to FunASR 1.3.29, and prepare the 0.1.2 Registry/GHCR release.
2026-07-26 20:07:31 +08:00
zhifu gao 70c868cf47 fix: limit vLLM VAD segments to 30 seconds (#3420)
Configure FSMN-VAD with a 30-second maximum segment duration and add a regression test. This fixes the long-audio omission reproduced from #3419.
2026-07-26 14:53:00 +08:00
zhifu gaoandzhifu gao 19a903fa87 Use QwenAudio canonical repository links (#3412)
Co-authored-by: zhifu gao <[email protected]>
2026-07-24 19:01:36 +08:00
zhifu gao eff1080856 docs: add SenseVoice continual fine-tuning guide (#3396) 2026-07-23 15:57:15 +08:00
zhifu gao c5fb295bac Document published MCP server release (#3390) 2026-07-23 12:29:34 +08:00
zhifu gao 147a132cf7 Harden MCP registry publication (#3389) 2026-07-23 12:02:35 +08:00
zhifu gaoandLauraGPT de5418575d Add OpenAI API Docker validation helper (#3371)
Co-authored-by: LauraGPT <[email protected]>
2026-07-23 06:49:57 +08:00
zhifu gao ca3ce33ff3 docs: require FunASR 1.3.26 for Nano guides
Align Nano docs with the 1.3.26 server hub fix release.
2026-07-23 00:46:26 +08:00
zhifu gao 876641e10d docs: require FunASR 1.3.25 for Nano guides 2026-07-22 23:29:02 +08:00
zhifu gaoandLauraGPT 5133663a9e feat: add realtime postprocess hotwords (#3317)
Co-authored-by: LauraGPT <[email protected]>
2026-07-22 23:05:54 +08:00
zhifu gao c812c139a1 docs: refresh remaining stale FunASR links
Refresh remaining stale public docs and clone links, with regression coverage.
2026-07-22 22:28:45 +08:00
zhifu gao 2509e13ed5 docs: add canonical Nano finetune Chinese guide path
Add canonical Chinese finetuning guide filename and preserve the old typo path as a pointer.
2026-07-22 22:19:25 +08:00
zhifu gao 82a4d67b12 docs: fix broken markdown links
Fix stale repository-local Markdown links and add a pytest guard for future docs link regressions.
2026-07-22 22:02:41 +08:00
zhifu gaoandLauraGPT 8ca8e03cd9 docs: require FunASR 1.3.23 for Nano guides (#3310)
Co-authored-by: LauraGPT <[email protected]>
2026-07-22 21:26:16 +08:00
zhifu gao 14c75fc1a2 docs: clarify realtime partial and hotword behavior
Clarify realtime WebSocket partial rendering and hotword-bias behavior in the quickstart docs.
2026-07-22 19:40:11 +08:00
zhifu gao f53fe68b1c docs: quote current FunASR install commands
Quote FunASR install specifiers and align Fun-ASR-Nano vLLM/finetune docs with the current 1.3.19 release floor.
2026-07-19 13:29:31 +08:00
zhifu gao d41ca43b33 Release FunASR 1.3.16 (#3246)
* release v1.3.16

* Package realtime WebSocket server
2026-07-18 02:00:57 +08:00
zhifu gaoandLauraGPT bd6e72142f Add client-driven realtime endpoints (#3245)
Co-authored-by: LauraGPT <[email protected]>
2026-07-17 23:14:42 +08:00
vishnupratap3790 ea6ea1e849 docs: separate Nano and MLT-Nano language scope (#3227)
Refs #3226
2026-07-15 07:51:35 +08:00
zhifu gao ddd9a3fada Publish FunASR MCP server to the official Registry (#3228)
Add versioned OCI metadata, GHCR and OIDC release automation, strict container smoke tests, and release documentation.
2026-07-15 05:27:12 +08:00
游雁 c2f2d2ed22 fix(mcp): honor model and language configuration 2026-07-14 11:13:04 +00:00
游雁 51ef095fc9 fix(mcp): use standard newline-delimited stdio 2026-07-14 03:52:38 +00:00
zhifu gao a53497b7ae fix: bound realtime websocket state for long sessions (#3214) 2026-07-14 01:38:15 +08:00
zhifu gao aefddc1088 fix: disable timestamps when CTC weights are missing (#3211)
Fail closed for native, remote-code, and vLLM Fun-ASR-Nano timestamp inference when checkpoint CTC weights are missing, partial, shape-mismatched, DDP-prefixed, or wrapped.

Fixes #3208.
2026-07-13 23:57:17 +08:00