通义万相2.1-文生视频-1.3b 本地部署

模型与算力

讲清通义万相文生视频小参数量版本在本地跑起来的环境准备、权重获取、推理脚本与显存排查顺序,不给跑分和价格。

你大概是在试一个轻量文生视频模型:模型卡看了、权重也下了一半,结果卡在 CUDA 版本对不上、依赖装完跑不起来、或者一跑就显存爆掉。这篇按本地部署的真实顺序走一遍——先确认硬件和驱动底线,再装环境、拉权重、跑通最小推理,最后给一套显存和速度的排查清单。不承诺任何机器都能跑,也不给死数字,凡是要看当下版本的,都告诉你去站内哪一页核对。

你大概是在试一个轻量文生视频模型:模型卡看了、权重也下了一半,结果卡在 CUDA 版本对不上、依赖装完跑不起来、或者一跑就显存爆掉。这篇按本地部署的真实顺序走一遍,只讲怎么把流程跑通,不给具体数值。

思路很简单:先确认硬件和驱动底线,再装环境、拉权重、跑通最小推理,最后给一套显存和速度的排查清单。不承诺任何机器都能跑;凡是要看当下版本、体积、体积档位的地方,都告诉你去站内哪一页核对。开头说的「先别急着装依赖」,是因为这三个前置条件任何一个不达标,后面全是白干。

先搞清楚你手上这台机器够不够

把「能跑」拆成三件事:显卡显存、系统驱动与 CUDA 版本、磁盘剩余空间。三者任一不达标,都会在装依赖那一步白费功夫。轻量版模型对硬件要求低,不等于随便一台机器都能跑,先花十分钟确认底线,比装两小时依赖再报错划算。

  • 显存估算别拍脑袋:按参数量乘以精度位数,再留出激活和视频帧缓存的余量。具体算法和对照表到 /models/deploy 按你的卡算一遍。
  • 磁盘要同时装下权重文件、缓存和输出视频。权重体积随精度档位变化,先看模型库页面当时标注的文件大小,再决定放哪块盘。
  • Windows 和 Linux 的坑不一样:Windows 更多是驱动和编译工具链问题,Linux 更多是权限和系统库版本问题,排查方向别搞反。
显存下限
能建张量并搬上卡、能跑完最小推理,这两个动作跑得过才算够。
驱动版本
要和你要装的框架版本匹配,不是越新越好,先去 /ai-dict/category/tech 对一遍关系。
磁盘余量
除了权重,还要给缓存和输出留地方,缓存目录最容易把盘撑满。

Python 环境与深度学习框架安装

这一步的目标只有一个:搭出一个能随时删掉重来的独立环境。别装在系统 Python 里,conda 和 venv 任选,关键是隔离干净。框架版本要和显卡驱动匹配,装之前先把 CUDA、驱动、框架三者关系对清楚,别照抄别人的版本号。

  1. 建虚拟环境conda 或 venv 创建独立环境,激活后确认 python 路径指向环境内部,不是系统路径。
  2. 配好镜像源国内装包慢是常态,先配好镜像源再动手。中途换源会导致依赖解析结果不一致,出现「别人能跑我不能」的玄学问题。
  3. 安装框架按显卡驱动对应的 CUDA 档位选安装方式,装完立刻做自检:能否识别到显卡、能否建张量并搬到显卡上算一次。这一步不过就别往下走。
  4. 冻结依赖装完导出一份依赖清单存档,日后重装或换机器直接按清单来,避免版本漂移。

如果自检时报找不到显卡,先别改代码。按「驱动 → CUDA 运行时 → 框架安装方式」的顺序往回查,多半是其中一环没对上,顺序错了会把时间浪费在无关环节。

权重与代码怎么拿、放哪里

权重和推理代码分开管理:代码用版本控制,权重单独放一个目录并记录来源,方便以后换档位或回滚。从官方模型库页面获取时,先看清许可范围再决定用在什么场景,拿不准就以模型页当时的声明为准,判断方法可参照 /open-weight-license-basics。

  • 下载中断是家常便饭,用支持断点续传的方式拉,别用浏览器裸下大文件。
  • 目录结构写成固定的:模型目录、输出目录、缓存目录分开,缓存目录特别占地方,别和系统盘混在一起。
  • 第一次下载完成后校验文件完整性,缺文件的权重加载时会报出莫名其妙的键不匹配错误。
  • 记录一次下载来源和获取方式,换机器时能复用同一套流程,不用重新摸索。
目录类型放什么典型坑
模型目录权重文件与配置文件放在系统盘,空间不够时影响系统
输出目录生成的视频文件和缓存混放,清理时误删结果
缓存目录编译缓存、临时文件长期不清理,占用持续增长
代码目录推理脚本与配置文件把权重塞进来,版本控制变得极慢

目录定好之后,以后换模型档位、换卡测试、重装环境,都只是在同一套结构里替换内容,不会因为路径混乱反复踩坑。

跑通第一次推理:从小参数开始

第一次别追求画质和时长,先用最少帧数、最低分辨率跑通端到端流程,确认数据能从提示词走到视频文件。这一步的意义不在于结果好看,而在于证明整条链路是通的。链路通了,再往上加参数才有意义。

  1. 写配置文件把提示词、随机种子、帧数、分辨率、步数写进一个配置文件,不写死在代码里。后续复现和调参都靠它。
  2. 选常见输出格式输出格式和编码器选常见的,避免播放器打不开,让你误判成模型没出结果。
  3. 跑一次最小推理用最低配置跑一次,观察日志里每个阶段是否都正常走完,重点看模型加载和采样两段。
  4. 记录基线第一次成功之后,立刻把这次的环境版本和参数原样记下来。这是你后面所有排查的基线,没有基线就没法判断变化来自哪里。

显存吃紧和生成太慢怎么办

显存不够时,排查顺序很重要:先降分辨率和帧数,再降精度档位,再开注意力优化类的内存节省选项,最后才考虑卸载到内存。顺序倒过来会让你误以为模型不行,其实是没找到真正的瓶颈。

现象优先怀疑先做什么
一跑就显存爆分辨率与帧数太高先降到最小配置,确认能跑通再逐步加
跑到一半崩缓存没释放或并发叠加清掉上一次占用,关闭多余进程
加载特别慢磁盘读写或权重格式换本地盘、核对权重格式
单次生成慢步数与分辨率偏高固定分辨率,只调步数看耗时变化

速度慢要分清是模型加载慢还是一次生成慢:加载慢多数是磁盘和权重格式问题,生成慢多数是步数和分辨率问题。推理加速手段不是越多越好,叠加之后容易互相冲突,一次只改一个变量并记录耗时。同卡不同精度的取舍可对照 /quantization-tier-choice 的思路,先确定你能接受的质量底线再调。

常见报错按这个顺序查

排查报错有一条通用原则:先看报错最后几行,别从头读。绝大多数问题在最后一行的异常类型里,前面几十行通常只是调用栈的铺垫。按下面这个顺序过一遍,能省不少来回。

  • 显存相关的非法内存或溢出:先怀疑并发和缓存没释放,把上一次输出占用的显存清掉再跑。
  • 找不到算子或编译失败:多数是框架版本和显卡算力不匹配,回去重装而不是改代码。
  • 权重加载不匹配:先把权重清单和模型配置对一遍,别急着改代码里的层名。
  • 依赖冲突:回到虚拟环境重建,别在原环境里逐个降级,越改越乱。

如果按这个顺序查完还是不通,就把完整日志、环境版本、最小复现配置整理好再去提问,这比只贴一句报错能被更快定位。

什么情况下不该在本地跑这个

本地部署有明确的不适用场景,提前想清楚比装到一半放弃省事得多。下面这些情况,不是模型不行,是路线选择的问题。

  • 只是想试效果、产出量不稳定时,本地部署的时间成本很难回本,先看 /local-video-model-picking 里列的其他路线再决定。
  • 没有独显或只有集显的机器,不建议硬上,体验会很差,不如把精力放在调用侧。
  • 团队里只有你一个人维护环境时,升级驱动和框架都要自己扛,先想清楚有没有人能接手。
  • 对输出时长和分辨率有硬性要求时,轻量版模型的上限要先确认清楚,别做到一半才发现不行。

这几条不是劝退,而是让你在投入之前把预期定准。如果主要目标是快速出片、机器也不是主力工作站,调用侧方案往往更省事。

一份可照抄的部署清单

把前面的内容压缩成一份打勾清单,安装过程中每完成一项就划掉一项,出问题时也能快速定位是哪一环没做完。

  • 硬件确认:显卡型号、显存、磁盘剩余空间、驱动版本四项逐条打勾。
  • 环境确认:虚拟环境创建成功、框架能用上显卡、依赖装完无冲突。
  • 权重确认:文件完整、目录固定、许可范围清楚。
  • 运行确认:最小配置跑通一次、参数写进配置文件、基线记录在案。
  • 运维确认:缓存和输出目录有清理策略、升级前能回滚。

清单里任何一项没打勾就先别进入下一步。本地部署最耗时的从来不是装包,而是顺序错了之后反复返工。要核对当下各模型在部署门槛上的差异,去 /models/deploy 看当时的整理即可,不用记死数字。

下一步部署跑通之后,建议顺手做两件事:到 /tools/speed-test 记一次你这台机器在最小配置下的实际耗时,作为以后调参的参照;再到 /sites 看看同类模型和中转方案的现状,判断哪些需求留在本地、哪些交给调用。这两步都不费时间,但能帮你把「本地跑什么、调什么」的分界线划清楚。

常见问题

没有独立显卡,用核显能跑吗?

技术上可以尝试,但体验通常很差:生成一次要等很久,分辨率也上不去。如果你只是想看效果,直接用在线服务或租卡试更省事;真想本地跑,至少先确认显卡显存能不能满足最低档位,到 /models/deploy 按你的配置算一遍再决定。

权重文件多大、要留多少磁盘?

权重体积取决于精度档位,不同档位差距不小,而且下载过程中还会占缓存空间。别按别人的截图估算,直接看模型库页面当时标注的文件大小,再按两倍留余量;输出视频和缓存目录单独放一块盘,避免占满系统盘。

跑起来提示显存不足,第一步改什么?

先降分辨率和帧数,这两个对显存的影响最直接;还不行再降精度档位,最后才考虑把部分计算卸载到内存。每次只改一个变量并记下耗时,不然你不知道是谁起的作用。显存不够的完整排查顺序可以参照 /vram-optimization-guide。

生成的视频只有几帧或者播放不了,是模型没跑成功吗?

多半是参数或编码器问题,不是模型没出结果。先确认配置文件里的帧数是不是设得太低,再换一个通用的视频编码器和容器格式,用系统自带播放器试一次。如果文件大小正常但打不开,问题就在编码环节。

本地跑和在线用,什么时候该选哪个?

看你的约束条件:数据不能出内网、需要批量自动化、或者要反复调同一组参数,本地更合适;只是偶尔试效果、或者对时长分辨率要求高,先用调用侧更划算。两条路的成本分界线可以对照 /self-host 的思路自己算一遍。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。