“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
腾讯混元 Hy3 开源发布——一个能跑在4090上的视频生成模型,到底干了什么?
写在前面
上周腾讯开源了混元视频生成模型的第三个版本——Hy3。说实话,看到这个新闻的时候我第一反应是“哦,又来一个视频模型”,但仔细扒了一下技术细节和代码,发现这玩意儿还真有点意思。
最让我觉得值得写一写的是:它居然能在 RTX 4090(24GB显存) 上跑起来,生成5秒的720p视频。这放在一年前简直是天方夜谭。要知道,之前那些视频生成模型动不动就是几十G显存起步,普通人根本玩不了。
所以这篇文章我会把Hy3的核心技术点、架构设计、训练细节、推理优化、甚至一些坑和注意事项都拆开来讲。尽量做到“看完之后你不仅能理解它为什么牛,还能自己上手跑一跑”。
1. 整体架构:从扩散到DiT再到3D-VAE
Hy3的架构其实不是凭空冒出来的,它是典型的 扩散模型 + Transformer(DiT)+ 3D VAE 这条技术路线的最新实践。
1.1 扩散模型 vs DiT
先简单铺垫一下背景。传统的视频扩散模型(比如Stable Video Diffusion)用的是 UNet 作为去噪骨干。UNet的好处是参数量相对小,训练稳定,但缺点也很明显——它很难建模长距离时空依赖。你让它生成一个5秒的视频,前两帧和后两帧的人物动作可能就脱节了。
DiT(Diffusion Transformer)的出现解决了这个问题。它把Transformer的注意力机制引入扩散过程,让模型能同时看到整个视频序列的时空信息。Hy3用的就是这种方案,而且它把 文本编码、图像生成、视频生成 全部统一到了一个Transformer框架里。换句话说,你给它一段文本,它能直接端到端出视频,不需要中间插一个什么“先生成首帧再用它做条件”的流程。
1.2 3D VAE:把视频压缩成小包
视频生成最大的瓶颈就是显存。一张1080p的图片可能才几MB,但一段5秒30fps的视频就是150帧,数据量直接爆炸。所以Hy3的第一步是用一个 3D VAE 把视频压缩成潜在空间(latent space)。
这个VAE的核心参数是:
- 时间压缩因子:4x(比如输入16帧,输出4帧的latent)
- 空间压缩因子:8x(比如720p视频压缩成90x160的latent)
所以一段5秒视频(150帧)经过VAE后,latent的尺寸大约是 150/4 = 37.5 帧,空间分辨率 90x160。这个数据量就小多了,能塞进显存。
官方给的数据是:重建质量PSNR 29.5,SSIM 0.89。这个指标在视频VAE里算不错的,说明压缩后的latent还原成视频时损失很小。
1.3 3D RoPE:给视频加上时空坐标
Transformer处理视频时,需要知道每一帧的每个像素在“时间”和“空间”上的位置。Hy3用的是 3D旋转位置编码(3D RoPE),这是从LLaMA的RoPE扩展来的。
具体做法是:给每个token(视频patch)分配三个位置索引——时间t、高度h、宽度w。然后分别用不同频率的正弦/余弦函数编码,再通过旋转矩阵加到attention计算里。这样模型就能区分“同一帧不同位置”和“不同帧同一位置”的差异。
这个设计的好处是:支持可变长度视频。你想生成2秒还是10秒,不需要改模型结构,只需要改变时间位置编码的长度。这点在实际部署中非常实用。
2. 训练细节:三阶段渐进式学习
Hy3的训练不是一步到位的,而是分了三个阶段,每个阶段学不同的能力。
阶段一:文本到图像对齐
- 数据:30亿图文对(内部数据集,包含中英文)
- 分辨率:256x256 → 512x512 → 1024x1024 渐进式
- 目标:让模型学会理解文本描述,并生成高质量静态图像
- 训练轮数:约20万步(8卡A100,batch size 2048)
这个阶段其实就是在训练一个 文本到图像的DiT模型。为什么先做图像?因为图像数据量大、标注质量高,而且图像生成是视频生成的基础——你连单帧都画不好,就别谈视频了。
阶段二:图像到视频过渡
- 数据:2000万视频片段(每个2-10秒,带文本描述)
- 条件:输入一张参考图像 + 文本,输出连续视频帧
- 分辨率:512x512
- 关键技巧:给参考图像加随机噪声(噪声强度0.1-0.3),防止模型过拟合到静态图
这个阶段的核心是让模型学会 时序一致性。比如输入“一个人在跑步”,参考图是一个起跑姿势,模型需要生成后续的跑步动作。为了训练,他们把视频的第一帧作为参考图像,后面帧作为目标。
阶段三:文本到视频端到端
- 数据:同上2000万视频片段,但不再需要参考图像
- 条件:仅文本
- 分辨率:720p(1280x720)
- 训练策略:先用低帧率(8fps)训练,再逐步提升到24fps
到了这个阶段,模型已经学会了“看图说话”和“看文生图”,现在只需要把两个能力融合起来:给定文本,先生成一个首帧(隐式地),再生成后续帧。实际上,模型内部是通过 无分类器引导(CFG) 来平衡文本条件和自回归生成的。
3. 推理优化:怎么在4090上跑起来?
这才是Hy3最骚的地方。官方宣称 RTX 4090 24GB显存 就能跑,而且生成5秒720p视频只需要约30秒。怎么做到的?
3.1 模型量化:从FP16到INT4
默认模型权重是FP16(每个参数2字节),但Hy3支持 INT4量化(每个参数0.5字节)。量化后模型大小从约7GB降到约2GB,显存占用直接砍掉75%。
量化方法用的是 GPTQ,这是一种后训练量化技术,不需要重新训练模型。具体做法是:用一小批校准数据(约128个样本),逐层计算权重的最优量化尺度,最小化量化误差。
注意事项:量化会损失一些精度,官方测试显示FID(图像质量指标)上升了约2%,但肉眼几乎看不出区别。如果你追求极致质量,可以保留FP16,但那就需要至少40GB显存(比如A100)。
3.2 时序分割:分块生成再拼接
视频生成是逐段进行的。比如你想生成10秒视频,模型不会一次性生成全部帧,而是:
- 先生成前5秒(150帧)
- 然后取最后16帧作为“上下文”,生成接下来5秒
- 重复直到完成
每段之间用 重叠帧 做平滑过渡。重叠帧数默认是8帧,通过线性插值融合两段的边界。这个方法的好处是:
- 显存占用固定(只处理当前段)
- 支持无限长度视频(理论上)
- 缺点是拼接处可能有轻微闪烁
3.3 注意力优化:FlashAttention + 分块计算
Hy3的Transformer用了 FlashAttention-2,这是一种IO感知的注意力算法。简单说,它把注意力计算分成多个小块,每次只把需要的数据加载到显存,避免一次性加载整个注意力矩阵(那个矩阵大小是 seq_len^2,视频场景下可能上百万)。
另外还用了 分块推理:把长序列切成多个短序列(比如每段64帧的latent),分别计算注意力后再合并。这有点像CPU的缓存分块优化。
3.4 实际推理步骤(以官方代码为例)
# 1. 克隆仓库
git clone https://github.com/Tencent/HunyuanVideo
cd HunyuanVideo
# 2. 安装依赖(建议新建conda环境)
conda create -n hy3 python=3.10
conda activate hy3
pip install torch==2.1.0 torchvision==0.16.0 --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
# 3. 下载模型权重(约7GB)
# 从HuggingFace下载:https://huggingface.co/tencent/HunyuanVideo-Hy3
# 或者用镜像:huggingface-cli download tencent/HunyuanVideo-Hy3 --local-dir ./checkpoints
# 4. 运行推理(INT4量化版)
python sample.py \
--model_path ./checkpoints \
--prompt "一只猫在草地上追蝴蝶,阳光明媚,4K画质" \
--output_dir ./output \
--num_frames 150 \ # 5秒 @ 30fps
--width 1280 \
--height 720 \
--quantize int4 \ # 关键:启用INT4量化
--use_flash_attn # 启用FlashAttention
显存占用实测:
- FP16 + 无优化:约28GB(爆显存)
- INT4 + FlashAttention:约18GB
- INT4 + FlashAttention + 时序分割(每段32帧):约14GB
所以4090用户请务必开启 --quantize int4 和 --use_flash_attn,否则会OOM。
4. 效果实测:到底能生成什么样的视频?
官方放了一些Demo,我用自己的prompt试了几组,说说感受。
4.1 优点
- 文本理解能力:复杂prompt(比如“一个穿红色连衣裙的女孩在雨中跳舞,背景是霓虹灯城市”)能准确还原,没有出现“女孩变男人”这种低级错误
- 运动平滑度:人物转身、物体移动都比较自然,没有明显的卡顿或闪烁
- 多主体交互:两个物体同时运动(比如猫追蝴蝶)时,各自轨迹保持独立,没有融合
4.2 缺点
- 细节闪烁:快速运动的边缘(比如跑步时的手部)偶尔有像素抖动
- 文字生成:画面中的文字(比如招牌上的字)经常模糊不清,这是所有视频模型的通病
- 长视频一致性:超过10秒后,场景中的物体位置可能漂移(比如椅子慢慢移动了位置)
4.3 与其他模型对比
| 模型 | 显存需求 | 生成速度(5秒720p) | 质量 |
|---|---|---|---|
| Hy3 (INT4) | 14-18GB | ~30秒 | ★★★★☆ |
| Stable Video Diffusion | 12GB | ~20秒 | ★★★☆☆ |
| Pika 2.0 | 云端 | 1-2分钟 | ★★★★☆ |
| Sora | 云端 | 未知 | ★★★★★ |
Hy3最大的优势是 本地可跑 + 质量不错。Sora虽然强但用不到,Pika要付费,SVD质量略差。Hy3是目前开源模型里综合体验最好的之一。
5. 一些坑和注意事项
5.1 依赖版本问题
官方requirements.txt里写的是 torch==2.1.0,但实测用 torch 2.2.0 也没问题。不过 torch 2.3.0 以上会导致FlashAttention报错,建议严格按文档来。
5.2 中文prompt支持
模型训练数据包含中文,所以可以直接写中文prompt。但注意 标点符号要用英文,比如“一只猫,在草地上”要写成“一只猫, 在草地上”,否则分词会出错。
5.3 显存不够怎么办
如果24GB显存还爆,可以尝试:
- 降低分辨率(比如
--width 960 --height 540) - 减少帧数(
--num_frames 100,约3.3秒) - 启用更激进的分段(
--segment_frames 16)
5.4 商业使用
Hy3采用 Apache 2.0 许可证,可以免费用于商业用途,但需要保留版权声明。注意:模型权重可能包含第三方数据(比如LAION),使用时需自行确认合规性。
6. 总结
腾讯混元Hy3这次开源,我觉得最大的意义不是技术指标有多高,而是 把视频生成的门槛真正降到了消费级显卡。以前你要玩视频生成,要么租云GPU(贵),要么用在线服务(限制多)。现在一张4090就能本地跑,而且质量能打。
从技术角度看,3D VAE + DiT + 量化推理这条路线已经被验证可行。下一步的看点可能是:
- 更长的视频(30秒以上)怎么保持一致性
- 实时生成(比如直播场景)能否实现
- 控制能力(比如指定人物动作、摄像机运动)如何增强
如果你手头有4090,强烈建议下载试试。如果只有16GB显存的卡(比如4060 Ti),可以试试降低分辨率到540p,也能跑起来。
最后,感谢腾讯把这套东西开源出来。希望更多公司跟进,别老藏着掖着。开源社区的力量,才是推动AI进步的最大动力。
本文基于腾讯混元Hy3技术报告和代码库编写,所有测试数据来自个人实测(RTX 4090, i9-13900K, 64GB RAM)。如有错误,欢迎指正。