大家好,我是飞哥!
之前不少人都以为大模型只能处理文本。但自从今年 2 月 16 日 OpenAI 在其官网发布了基于文字生成视频的模型 Sora 后,让所有人都认识到了即使对对于复杂的视频信息,大模型仍然是具备对其进行理解,以及进行 AIGC 创作的能力。
相对于 Sora 的一直的画大饼,其他家的产品发布和上市的节奏倒是要快的多。在刚刚过去的 7 月 26 号智谱上线了 CodeVideoX。该模型在业内首次开放了API接口,而且还开源了,相比其它家的画饼诚意十足。
源码地址:https://huggingface.co/spaces/THUDM/CogVideoX
我刚刚用 CodeVideoX 接口生成了几个视频玩了一下,挺有意思。
CodeVideoX 的内部实现是参考了 Sora 的算法,也是一个 Diffusion Transformer(DiT) 架构。生成视频的原理是大致分为训练过程和生成过程。对于训练过程:
首先这一步中搜集大量的视频数据,并对视频进行降维处理与文本标注
将训练使用的视频压缩转换成一个更低维度的数据,不仅能空间上压缩,也可以在时间上压缩视频长度。最后生成的压缩视频数据作为 DiT 的拟合对象
将压缩数据转换成一维数据序列后,提供给 Transformer 模型进行处理(Transformer 只能处理一维序列数据),最后得到训练好的扩散模型
对于生成过程
理解用户输入的提示词,将用户提示词转化成更丰富的描述性文本
在训练好的扩散模型中,利用Transformer 的注意力机制不断循环判断噪声处理结果是否符合提示词要求,最终计算出结果数据
对结果数据进行解码,将低维空间数据转换为可输出的视频数据
另外在内容的连贯性上,智谱 AI 自研高效三维变分自编码结构器(3D VAE),将原视频压缩至 2% 大小,配合3D RoPE位置编码模块,建立起视频的长程依赖。
原理就是这样,效果待会我来带大家体验一下。CodeVideoX 比较好的一点是给开发者提供了 API,生成起来不用排队,很方便。而且还可供你集成到你自己的系统中。
目前 CodeVideoX 支持生成的视频时长是 6 秒,清晰度是 1440*960,帧率是 16 fps。
首先 打开智谱官网 https://bigmodel.cn/ 直接使用手机号注册即可。在注册并登录后,在后台的右上角可以看到一个“API秘钥”的选项,点击后将会出来供接口鉴权使用的 API 秘钥。
有了秘钥后,接口请求方式有两种,一种是使用 HTTP 接口,另外一种是使用官方提供的 SDK。我为了方便给大家演示,采用的是 HTTP 接口方式。如果你在项目中使用,更推荐安装 SDK。
在 HTTP 接口中,重要的参数是
HTTP接口地址:这里是 https://open.bigmodel.cn/api/paas/v4/videos/generations
接口鉴权:这里填你上面获取的秘钥
大模型类型:由于我们要生成视频,所以选择 cogvideox
prompt:这里输入你给大模型发送的 promt
image_url:如果是用图来生成视频的话,这里需要传入图片的 url 或者是图片的 base64 编码。
我们先来个简单的 demo 感受一下。
# curl --location 'https://open.bigmodel.cn/api/paas/v4/videos/generations' \
--header 'Authorization: Bearer {这里填写你的秘钥}' \
--header 'Content-Type: application/json' \
--data '{
"model": "cogvideox",
"prompt": "人类的星际战舰已经开到了火星上,向着火星人发起了最后的总攻"
}'
由于生成视频需要一点时间。所以在命令行执行完这一行访问,智谱服务器端的会一个id,而不是直接返回的结果。把这个id复制下来,放到下面的 url 地址中。(同样要记得携带 Authorization Header)
# curl --location 'https://open.bigmodel.cn/api/paas/v4/async-result/{id}' \
--header 'Authorization: Bearer {你的秘钥}'
如果视频生成完毕,就会返回含有视频封面图和视频MP4文件的URL地址。然后直接访问 URL 下载即可。
{
"model": "cogvideox",
"request_id": "8893032770717091555",
"task_status": "SUCCESS",
"video_result": [
{
"cover_image_url": "https://sfile.chatglm.cn/testpath/video_cover/911fad1c-b99c-5dbc-9f8b-5da7c6b7e408_cover_0.png",
"url": "https://sfile.chatglm.cn/testpath/video/911fad1c-b99c-5dbc-9f8b-5da7c6b7e408_0.mp4"
}
]
}
上面的输出结果告诉我的生成结果是在 https://sfile.chatglm.cn/testpath/video/0ce21419-d714-552c-a409-68ae54c5dce7_0.mp4 ,直接复制后浏览器中打开即可观看和下载。
除了可以直接根据文本生成视频外,CodeVideoX 还支持根据图片生成视频。在上面的输入中,把输入图片的 url 或者 base64 编码传递过去即可。我用我的微信头像试了一下,效果还挺出乎我意料的。
AI 帮我添加了虚化背景中人物的走动,还自动帮我把背后的张家界玻璃栈道上的雾气突出了仙雾缭绕的感觉。还让风把我的衣服和头发给吹动了。它真的是理解了真实世界里的某些规律。
我用它生成了狮子王的视频
我让他帮我手机里的一张小桥流水的照片给变活了
不过翻车的视频也有。AI,我就想问你,你是咋把哥的这条两条腿给无缝切换合并成一条的,你是咋想的?
还有这个奔跑中的羽毛球运动员,单看每一帧没问题,但是连起来看你会发现跑步双腿交换的过程特别的诡异。
总体来说,AI 生成视频的能力已经不错了。类似于植物、动物、建筑、动漫人物都生成的很棒。而且根据刘慈欣的技术大爆炸理论,这个爆炸才刚刚开始。未来会发展成什么样子,谁也不知道。
但可以肯定的是,AIGC 技术一定会给这个社会带来相当大的技术变革。我们能做的唯有就是在这场变革中抓住这股技术力量,让它为我们强大的工具。
总结
**文章总结**:飞哥在文章中介绍了大模型在视频生成领域的最新进展,特别是OpenAI的Sora模型和智谱AI的CodeVideoX。CodeVideoX作为首个开放API接口并开源的模型,展现了强大的AIGC创作能力。其内部采用Diffusion Transformer(DiT)架构,通过训练过程和生成过程实现视频生成。训练时,模型收集并压缩视频数据,转化为低维序列供Transformer处理;生成时,模型根据用户提示词,利用Transformer的注意力机制逐步去噪,最终解码成视频。
CodeVideoX支持生成6秒长、1440*960分辨率、16fps的视频,并提供HTTP接口和SDK供开发者使用。飞哥通过实际操作演示了如何使用CodeVideoX根据文本和图片生成视频,并分享了生成的有趣视频和遇到的“翻车”案例。虽然存在部分瑕疵,但AI生成视频的能力已相当可观,特别是在处理植物、动物、建筑和动漫人物等方面表现出色。
飞哥认为,AIGC技术正处于技术大爆炸的初期,未来充满无限可能。他鼓励大家抓住这股技术力量,使其成为强大的工具,推动社会变革。