2026-03-05
深度学习
00

Qwen3-Omni 视频与音频 Token 机制详解

基于 Qwen3-Omni-30B-A3B-Instruct 模型,ms-swift 4.1.0.dev0 训练框架分析。


一、整体架构概览

Qwen3-Omni 处理视频+音频输入时,token 序列的整体结构为:

展开代码
<|im_start|>user <|vision_start|><|audio_start|> [视频token与音频token交叉排列] <|audio_end|><|vision_end|> 用户的文本 prompt... <|im_end|> <|im_start|>assistant 模型回复... <|im_end|>
2026-03-05
深度学习
00

Qwen3-Omni 多模态 Token 计算深度解析:从训练到推理

本文以一个真实的视频剪辑教学样本为例,深入拆解 Qwen3-Omni 模型在 ms-swift 训练和 vLLM 推理中,视频帧采样、图像 resize、视频 token、音频 token 的完整计算过程,并对比两者的差异。

2026-03-05
深度学习
00

根据 vllm / vllm-omni 源码,视频请求在 Omni 里的处理方式可以总结如下。

2026-03-03
深度学习
00

OpenCode 源码解析:从用户提问到生成回答的完整工作流程

本文基于 OpenCode 源码分析,带你深入理解这个 AI 编程助手从接收用户输入到返回结果的完整链路。

整体架构

OpenCode 采用客户端-服务端分离架构,即使在 CLI 模式下也是如此。TUI(终端 UI)运行在主线程,Server 运行在 Worker 线程,二者通过 HTTP + SSE 通信:

2026-02-27
Vanblog
00
2026-02-10
ms-swift
00

Megatron SFT 长上下文训练显存优化指南

针对 Qwen3-Omni-30B-A3B-Instruct 模型,60K tokens 长上下文 Megatron SFT 训练场景。 基于 ms-swift 源码分析,所有参数引用均标注源码位置。

2026-02-10
ms-swift
00

针对于我修改后的代码,可以这么统计每个样本的实际 token 长度:

随机抽 200 条(默认)

bash
展开代码
IMAGE_MAX_TOKEN_NUM=5000 USE_AUDIO_IN_VIDEO=true VIDEO_MAX_PIXELS=307200 \ python scripts/count_token_lengths.py \ --model /mnt/cpfs/model/Qwen3-Omni-30B-A3B-Instruct \ --dataset /mnt/cpfs/datasets/ShortsTemplateEdits/anno_jianying_mp4_seed18_train.jsonl \ --num_samples 200 \ --dataset_num_proc 16

抽 500 条

... --num_samples 500

全量统计

... --num_samples 0

输出 CSV

... --output_csv /tmp/lengths.csv

2026-02-10
深度学习
00

模型代理配置

代码直连配置(使用自己的 API)

1. 编辑 ~/.claude/settings.json

新建或覆盖为以下内容,并替换为自己的 API Key 和 Base URL:

json
展开代码
{ "env": { "ANTHROPIC_API_KEY": "your-api-key-here", "ANTHROPIC_BASE_URL": "https://example.com", "ANTHROPIC_MODEL": "route/claude-haiku-4-5-20251001-thinking" }, "model": "route/claude-haiku-4-5-20251001-thinking" }
2026-02-10
工具使用
00

项目是什么

CC Switch 是面向 Claude CodeCodexGemini CLI 的一体化配置管理工具,基于 Tauri 2(Rust + React)构建,支持 Windows、macOS 和 Linux。

2026-02-10
ms-swift
00

在训练之前可以使用swift export进行 token 缓存,使用这个指令:

展开代码
IMAGE_MAX_TOKEN_NUM=5000 USE_AUDIO_IN_VIDEO=true VIDEO_MAX_PIXELS=307200 USE_AUDIO_IN_VIDEO=true \ swift export \ --model /mnt/cpfs/model/Qwen3-Omni-30B-A3B-Instruct \ --dataset /mnt/cpfs/datasets/ShortsTemplateEdits/anno_jianying_mp4_seed18_train.jsonl \ --split_dataset_ratio 0 \ --dataset_num_proc 72 \ --to_cached_dataset true \ --max_length 20000 --truncation_strategy left \ --output_dir /mnt/cpfs/datasets/ShortsTemplateEdits/pack_cached_cpfs/anno_jianying_mp4_seed18_train_len20k

truncation_strategy split 策略只允许用于预训练(pre-training),不允许用于 SFT