LWM(LargeWorldModel)大世界模型-可文字可图片可视频-多模态LargeWorld-详细安装记录

news2025/1/11 18:43:11

说明

Large World Model(LWM)是一个通用的大环境多模态自回归模型,它利用了一个技术名为RingAttention,通过在大型的多样化视频和图书数据集上的训练,实现了对语言、图像和视频的理解与生成能力。
在github上已有4.2k star!
在这里插入图片描述

  • github主页:https://largeworldmodel.github.io/
  • 代码仓库:https://github.com/LargeWorldModel/LWM
  • huggingface:https://huggingface.co/LargeWorldModel

功能概述

LWM主要解决的问题是,当前的语言模型在理解那些难以用言语描述的世界方面存在短板,并且在处理复杂、长篇任务时表现不佳。视频序列提供了语言和静态图像中缺失的宝贵时间信息,这对于与语言的联合建模而言十分有吸引力。这些模型可以发展对人类文本知识和物理世界的理解,为人类提供更广泛的AI能力。但是,从数百万个视频和语言序列的标记中学习面临着内存限制、计算复杂性和数据集有限等挑战。为了解决这些挑战,LWM整合了大量多样化视频和图书的数据集,使用RingAttention技术在长序列上可扩展地训练,并逐步将环境大小从4K增加到1M标记。

应用场景

LWM可以在以下情况下使用:

  • 知识检索与回答问题:LWM能够在1M的环境中准确地检索事实,这使其能够回答基于覆盖范围极广数据的复杂问题,例如,在长达一小时的YouTube视频中找到特定信息。
  • 与图像的对话:LWM不仅能够理解和生成语言,还可以与图像“对话”。这意味着它可以理解图像内容,并根据图像内容生成文本回应。
  • 从文本生成视频和图像:LWM能够将文本描述转换成图像或视频,这在内容创作、游戏开发和其他需要将文本想法可视化的领域具有巨大应用潜力。

安装步骤

  • 先创建虚拟环境:
conda create -n lwm python=3.10
conda activate lwm
  • 安装pytorch和cudnn
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia
  • 如果上步骤没有安装起cudnn,可以按以下方式手动安装cudnn
    在nvidia下载对应的cudnn压缩包文件:https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/
    这里下载的是:https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
    上传到服务器,解压,安装:
tar -xvf  cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz

sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include 
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64 
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

安装完成后,可进入python环境,查看各版本:

import torch
# pytorch版本
torch.__version__
# cuda版本
torch.version.cuda
# cudnn版本
torch.backends.cudnn.version()
  • 安装jax0.4.23版本
    直接执行安装:
pip install -U "jax[cuda12_pip]==0.4.23"

如果后续运行报错,尝试使用whl文件安装:
在网站https://storage.googleapis.com/jax-releases/jax_cuda_releases.html下载对应jax版本的whl:https://storage.googleapis.com/jax-releases/cuda12/jaxlib-0.4.23+cuda12.cudnn89-cp310-cp310-manylinux2014_x86_64.whl
然后上传服务器,安装:

pip install jaxlib-0.4.23+cuda12.cudnn89-cp310-cp310-manylinux2014_x86_64.whl
  • 安装项目依赖
    下载项目源码,进入项目目录,安装依赖:
pip install -r requirements.txt
  • 下载模型
    从https://huggingface.co/LargeWorldModel/LWM-Chat-32K-Jax/tree/main下载模型,放到服务器上
    也可使用huggingface镜像站点直接下载,运行python代码:
import os
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
os.system('huggingface-cli download --resume-download LargeWorldModel/LWM-Chat-32K-Jax --local-dir ~/software/lwm-model')

项目运行

修改scripts/run_vision_chat.sh中的模型路径,将自己的输入视频传入:

export llama_tokenizer_path="/root/software/lwm-model/tokenizer.model"
export vqgan_checkpoint="/root/software/lwm-model/vqgan"
export lwm_checkpoint="/root/software/lwm-model/params"
export input_file="/root/software/seasons_of_china.mp4"

然后“–mesh_dim=‘!1,-1,32,1’”这句要删除
然后运行:bash run_vision_chat.sh
然后报错:
在这里插入图片描述

GPU不足,看到issue上有说到这个配置:
在这里插入图片描述

暂无对应设备,作罢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1459764.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

医疗在线问诊小程序:开启数字化医疗新篇章

随着科技的飞速发展,医疗行业正逐步向数字化转型。其中,医疗在线问诊小程序作为一种新型的医疗健康服务模式,为人们提供了更为便捷、高效的医疗咨询服务。本文将探讨医疗在线问诊小程序的发展背景、优势及应用场景,以期为医疗行业…

视频生成模型:构建虚拟世界的模拟器 [译]

原文:Video generation models as world simulators 我们致力于在视频数据上开展生成模型的大规模训练。具体来说,我们针对不同时长、分辨率和宽高比的视频及图像,联合训练了基于文本条件的扩散模型。我们采用了一种 Transformer 架构&#…

第三百五十七回

文章目录 1. 概念介绍2. 使用方法2.1 List2.2 Map2.3 Set 3. 示例代码4. 内容总结 我们在上一章回中介绍了"convert包"相关的内容,本章回中将介绍collection.闲话休提,让我们一起Talk Flutter吧。 1. 概念介绍 我们在本章回中介绍的内容是col…

第3.2章:Doris-2.0数据导入——Compaction机制

目录 一、Compaction概述 1.1 LSM-Tree概述 1.2 Compaction概述 1.3 Rowset数据版本 1.4 Compaction优点 1.5 Compaction问题 1.5.1 Compaction速度低 1.5.2 写放大问题 1.6 Compaction调优 1.6.1 业务侧 1.6.2 运维侧 二、Compaction执行方式 2.1 Vertical Com…

【Unity】【VR开发】Unity云同步功能使用心得

【背景】 有时出差,旅行等等也带着电脑,晚上想要继续编辑项目,就需要用到云同步功能。目前实践下来,发现有些内容可以同步,有些内容则是不可以同步的,总结如下。 【如何云同步一个本地项目】 UnityHub的项目面板中有两个选项卡:项目和云端项目。 鼠标挪动到想要云同步…

Linux——信号(3)

经过前两部分的介绍,我们现在已经认识了信号是如何产生的,并且知道无 论信号是如何产生的,最终只能由操作系统来对特定进程发送信号,而发送 信号其实也就是写信号,往内核数据结构(pending表)中写…

STM32引脚重定义问题

最近在搞资源管理,发现有些引脚不能用 比如这个PE引脚。我想用他输出PWM,但是不能用,我也重定义了,还是不能用。回去翻看了技术手册。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //重映射引脚功能,需…

Java面试题:volatile专题

王有志,一个分享硬核Java技术的互金摸鱼侠 加入Java人的提桶跑路群:共同富裕的Java人 今天是《面霸的自我修养》第4篇文章,我们一起来看看面试中会问到哪些关于volatile的问题吧。数据来源: 大部分来自于各机构(Java之父,Java继父,某灵,某泡,某客)以及各博主整理文档…

解决Ubuntu中vscode右键没有create catkin package

右键发现没有这个create catkin package 解决方案: 查了一会发现安装个拓展就可以了 效果:

最新Unity游戏主程进阶学习大纲(2个月)

过完年了,很多同学开始重新规划自己的职业方向,找更好的机会,准备升职或加薪。今天给那些工作了1~5年的开发者梳理”游戏开发客户端主程”的学习大纲,帮助大家做好面试准备。适合Unity客户端开发者。进阶主程其实就是从固定的几个方面搭建好完整的知识体…

【Spring】创建和使用

目 录 一.创建 Spring 项目1.1 创建⼀个 Maven 项目1.2 添加 Spring 框架依赖1.3 手动创建启动类 二.将 Bean 对象存储到 Spring2.1创建Bean对象2.2将 Bean 存储到 Spring 三.获取并使用 Bean 对象3.1 创建 Spring 上下文3.2 获取指定的 Bean 对象3.3 使用 Bean 四.总结 经过前…

Elasticsearch:创建自定义 ES Rally tracks 的分步指南

作者:Alejandro Snchez 按照这个综合教程学习如何制作个性化的 Rally tracks ES Rally 是什么?它的用途是什么? ES Rally 是一个用于在 Elasticsearch 上测试性能的工具,允许你运行和记录比较测试。 做出决策可能很困难&#x…

体感互动游戏定制开发:创新与技术的交融

体感互动游戏是一种结合体感技术和游戏娱乐的新型形式,为玩家提供了更加身临其境的游戏体验。而要开发一款成功的体感互动游戏,需要一支跨学科的团队,他们将创新与技术有机地结合,以满足用户的需求和期待。 首先,游戏…

钉钉小程序 没有调用该接口的权限

钉钉小程序 没有调用该接口的权限 problem 钉钉官方自带免登陆小程序 后端接口报错 {"errcode":60011,"errmsg":"没有调用该接口的权限,接口权限申请参考:https://open.dingtalk.com/document/orgapp-server/add-api-permiss…

Flutter插件开发指南02: 事件订阅 EventChannel

Flutter插件开发指南02: 事件订阅 EventChannel 视频 https://www.bilibili.com/video/BV1zj411d7k4/ 前言 上一节我们讲了 Channel 通道,但是如果你是卫星定位业务,原生端主动推消息给 Flutter 这时候就要用到 EventChannel 通道了。 本节会写一个 1~…

C++ 二维差分 二维前缀和逆运算 差分矩阵

输入一个 n 行 m 列的整数矩阵,再输入 q 个操作,每个操作包含五个整数 x1,y1,x2,y2,c ,其中 (x1,y1) 和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上 c 。 请你将进行完所有操作后的…

mfc140u.dll文丢失导致应用程序无法正常,有哪些解决办法

mfc140u.dll是Microsoft Foundation Classes(MFC)的一个重要组件,它提供了许多用于开发Windows应用程序的功能和工具。然而,当系统或应用程序升级、恶意软件感染或文件损坏以及用户错误操作等情况发生时,mfc140u.dll文…

力扣238和169

一:238. 除自身以外数组的乘积 1.1题目 1.2思路 1.3代码 //左右乘表 int* productExceptSelf(int* nums, int numsSize, int* returnSize) {int* answer (int*)malloc(numsSize*sizeof(int));int i 0;int left[numsSize],right[numsSize];left[0] 1;for(i 1;…

打码半年,开源一款自定义大屏设计软件!

hi,大家好,我是Tduck马马。 最近我们开源了一款大屏软件-TReport,与大家分享。 TReport是一款基于Vue3技术栈的数据可视化系统,支持静态、动态api等数据源;可用于数据可视化分析、报表分析、海报设计使用。 提供自定…