• [技术干货] 多模态模型如何迈向原生世界
    多模态能力的核心源于文本大模型的知识与推理能力,视觉作为从属的感知源。但近期的一系列工作正在悄然改变这一格局,预示着多模态模型发展的新方向。Gemini 1.5 Pro、LWM(世界模型)和Sora等模型,代表了一个关键的范式转变:从“以语言模型为中心的多模态”向“原生多模态大模型”演进。早期的多模态模型,如Qwen-VL或GPT-4V,其工作流程本质上是将图像、视频等非文本模态“翻译”或“压缩”成LLM能够理解的某种特征序列(视觉token)。在这个过程中,语言模型是绝对的认知核心,视觉信息是服务于它的素材。这解释了为什么模型的知识、逻辑和对话能力主要继承自文本预训练。然而,新一波的研究正在挑战这一架构。Gemini 1.5 Pro的百万级上下文窗口,其革命性意义在于它允许模型直接处理海量的、未经极度压缩的原始多模态数据(如长达一小时的视频)。这意味着模型不再仅仅依赖于从单个图像中提取的、高度抽象的语义特征,而是能够从连续的帧序列中自行发现和理解时序、因果和物理规律。LWM等视频模型直接在大规模视频数据上训练,目标就是学习世界动态变化的通用表示。而Sora这类视频生成模型,则从另一个维度证明,当模型在足够大规模的多模态数据上训练时,它可能内隐地学习到了一个关于物理世界的“渲染引擎”和动态常识,而这不完全是文本描述所能覆盖的。这些进展共同指向了“世界模型”的雏形。它的核心思想是,智能体需要对环境如何演化有一个内在的预测模型。要构建这样的模型,必须依赖于文本之外的第一手、高保真的感知数据。纯文本知识是人类对世界的高度抽象和事后描述,它可能丢失了物理世界最根本的连续、动态和几何属性。例如,一个水杯被碰倒后,液体如何漫溢,这一过程的动力学规律很难用文本完美刻画,但却蕴含在无数的视频帧中。因此,未来的多模态大模型,其能力将不再仅仅是文本知识的投影。通过在海量原生多模态数据(视频、音频、物理传感器数据)上进行训练,模型有望建立起对物理世界更本质、更直接的理解。视觉、声音等模态将不再是文本的“附庸”,而是与文本平起平坐、共同塑造模型世界认知的基石。这将使人工智能不仅是一个“博学的学者”,更逐渐成为一个拥有“常识”的“实践者”,持续刷新我们对智能边界的认知。
  • [技术干货] Qwen-VL基座模型的选择和适配器
    选择Qwen-7B作为语言基座,首要原因是其作为一款性能强劲的中英文双语大模型,与阿里巴巴自身的开发背景高度契合。使用自研模型作为基座,意味着团队对其训练数据分布、架构细节和潜在能力有更深入的理解,这在后续的多模态对齐和调试中能提供显著的便利。其次,在模型规模上,7B参数是一个在能力与推理成本之间取得良好平衡的“甜点区”:它既具备足够的知识容量和推理能力来支撑复杂的视觉语言任务,又不像更大规模的模型那样对计算资源有苛刻的要求。视觉编码器选择OpenCLIP预训练的ViT-bigG,则体现了“站在巨人肩膀上”的实用主义策略。CLIP模型通过海量图文对进行对比学习训练,其视觉编码器已经具备了强大且通用的视觉表征能力,能够将图像有效地映射到一个富含语义的特征空间。直接利用这种高质量的预训练模型,可以避免从零开始训练视觉模块所带来的巨大计算开销和数据需求。特别值得一提的是ViT-bigG这个模型,它在CLIP家族中属于规模较大的版本,拥有更强的特征提取能力,为后续与语言模型的对齐提供了一个高起点的视觉特征基础。Qwen-7B提供了语言理解和生成的核心智能,OpenCLIP ViT-bigG则提供了通用的视觉理解能力。多模态模型的关键挑战就在于如何以高效的方式将这两个独立的“大脑”连接起来,并让它们协同工作。适配器的核心作用,就是充当一位高效的“翻译官”与“协调员”,将视觉专家提取的网格状图像特征,转换成语言专家能够理解的、序列化的“视觉语言”或“视觉提示”。Qwen-VL选择使用一个随机初始化的、单层的交叉注意力模块来承担这一职责。首先,这种极简设计最直接的优势是参数效率极高。相比于设计一个深层的、参数庞大的融合网络(例如早期一些工作使用的多层Transformer解码器),单层注意力模块仅引入极少的额外参数(在Qwen-VL总计9.6B参数中占比微乎其微)。这使得训练过程,尤其是在关键的预训练对齐阶段,优化目标能够更集中地作用于视觉特征到语言模型空间的映射关系上,而不是去学习一个复杂连接器本身的内部逻辑,降低了训练难度和过拟合风险。其次,它巧妙地利用了Transformer架构的同构性。交叉注意力机制本就是LLM核心组件——Transformer解码器的原生部分。因此,这个适配器可以视为为LLM临时增加了一个特殊的“视觉前缀”。在计算时,视觉特征作为Key和Value,语言模型自身解码过程中产生的隐藏状态作为Query,通过这一层交叉注意力进行交互。这相当于让LLM以一种它最熟悉的方式去“查阅”和“参考”视觉信息,过程非常自然。这种设计也使得整个模型在推理时,可以很容易地将处理后的视觉特征序列与文本token序列拼接,作为一个统一的序列输入给后续的LLM层。更重要的是,这种简洁性反而为语言模型的能力释放留下了最大空间。一个过于复杂或能力过强的适配器,可能会试图“替代”LLM进行一部分本应由LLM完成的推理工作,例如,它可能自己将图像特征过度压缩成一个文本描述,再喂给LLM。这反而会限制LLM利用其强大的原生能力对丰富视觉细节进行深度推理。Qwen-VL的单层适配器更像是一个“特征投影与筛选器”,它只负责将视觉特征转换到LLM的语义空间并进行初步的信息浓缩,而将复杂的视觉语言推理和生成任务,最大限度地留给能力更强的Qwen-7B基座模型去完成。在多模态模型中,“更强的基础模型”配合“更精巧的接口设计”是一条行之有效的路径。当视觉编码器和语言模型本身足够强大时,它们之间需要的或许不是一座结构复杂的大桥,而是一个高效、精准的对接协议。
  • [技术干货] Qwen-VL的多模态模型训练路径
    阿里巴巴提出的Qwen-VL是一个典型的多模态大模型案例,其设计思路和训练流程反映了当前视觉语言模型发展的关键方向。该模型以Qwen-7B作为语言基座,结合OpenCLIP预训练的ViT-bigG视觉编码器,并通过一个随机初始化的单层交叉注意力模块作为视觉与语言之间的适配器,整体参数量约为9.6B。这种结构在保证模型表达力的同时,也注重了模块化与训练效率。训练过程分为三个递进阶段,每一阶段目标明确,体现出分阶段训练在多模态对齐中的重要性。第一阶段为预训练,使用大规模图文配对数据,主要对齐视觉与语言表示,同时冻结语言模型参数,避免早期训练干扰语言模型已有的知识。第二阶段进入多任务预训练,采用更高质量、更高分辨率的图像数据,并引入多种视觉语言任务,同时进行全参数更新,以增强模型对复杂多模态输入的理解能力。第三阶段为指令微调,冻结视觉编码器,利用自指令生成数据提升模型的指令遵循与多轮对话能力,这一做法与当前大模型指令微调的常见策略一致。值得注意的是,Qwen-VL在第二和第三阶段中同时引入纯文本数据参与训练,这种做法有效缓解了多模态训练中常见的语言能力退化问题,与LLaVA、BLIP-2等模型中的观察相符,说明多模态训练中语言能力的保持需要显式设计。此外,Qwen-VL的视觉-语言接口极为简洁,仅使用单层注意力池化进行跨模态连接,却在多项任务中表现优于结构更复杂的InstructBLIP。这说明在足够高质量、多阶段、多任务的数据驱动下,轻量适配结构同样能够实现有效的模态融合,为模型设计提供了另一种思路。
  • [技术干货] 识别你的手势,它很有一手
    CNN-RNN 视频动态手势识别人工智能的发展日新月异,也深刻的影响到人机交互领域的发展。手势动作作为一种自然、快捷的交互方式,在智能驾驶、虚拟现实等领域有着广泛的应用。手势识别的任务是,当操作者做出某个手势动作后,计算机能够快速准确的判断出该手势的类型。本文将使用ModelArts开发训练一个视频动态手势识别的算法模型,对上滑、下滑、左滑、右滑、打开、关闭等动态手势类别进行检测,实现类似华为手机隔空手势的功能。算法简介CNN-RNN视频动态手势识别算法首先使用预训练网络InceptionResNetV2逐帧提取视频动作片段特征,然后输入LSTM进行分类。我们使用全栈AI黑客松决赛样例数据对算法进行测试,总共包含108段视频,数据集包含无效手势、上滑、下滑、左滑、右滑、打开、关闭、放大、缩小等9种手势的视频,数据集下载链接如下:https://developer.huaweicloud.com/develop/aigallery/dataset/detail?id=7e9c0d90-461f-4af2-93b3-67a8df76c109代码实现首先我们将采集的视频文件解码抽取关键帧,每隔4帧保存一次,然后对图像进行中心裁剪和预处理,代码如下:def load_video(file_name): cap = cv2.VideoCapture(file_name) # 每隔多少帧抽取一次 frame_interval = 4 frames = [] count = 0 while True: ret, frame = cap.read() if not ret: break # 每隔frame_interval帧保存一次 if count % frame_interval == 0: # 中心裁剪 frame = crop_center_square(frame) # 缩放 frame = cv2.resize(frame, (IMG_SIZE, IMG_SIZE)) # BGR -> RGB [0,1,2] -> [2,1,0] frame = frame[:, :, [2, 1, 0]] frames.append(frame) count += 1 return np.array(frames) 然后我们创建图像特征提取器,使用预训练模型InceptionResNetV2提取图像特征,代码如下:def get_feature_extractor(): feature_extractor = keras.applications.inception_resnet_v2.InceptionResNetV2( weights = 'imagenet', include_top = False, pooling = 'avg', input_shape = (IMG_SIZE, IMG_SIZE, 3) ) preprocess_input = keras.applications.inception_resnet_v2.preprocess_input inputs = keras.Input((IMG_SIZE, IMG_SIZE, 3)) preprocessed = preprocess_input(inputs) outputs = feature_extractor(preprocessed) model = keras.Model(inputs, outputs, name = 'feature_extractor') return model接着提取视频特征向量,如果视频不足40帧就创建全0数组进行补白:def load_data(videos, labels): video_features = [] for video in tqdm(videos): frames = load_video(video) counts = len(frames) # 如果帧数小于MAX_SEQUENCE_LENGTH if counts < MAX_SEQUENCE_LENGTH: # 补白 diff = MAX_SEQUENCE_LENGTH - counts # 创建全0的numpy数组 padding = np.zeros((diff, IMG_SIZE, IMG_SIZE, 3)) # 数组拼接 frames = np.concatenate((frames, padding)) # 获取前MAX_SEQUENCE_LENGTH帧画面 frames = frames[:MAX_SEQUENCE_LENGTH, :] # 批量提取特征 video_feature = feature_extractor.predict(frames) video_features.append(video_feature) return np.array(video_features), np.array(labels) 最后创建LSTM Model,代码如下:def video_cls_model(class_vocab): # 类别数量 classes_num = len(class_vocab) # 定义模型 model = keras.Sequential([ layers.Input(shape=(MAX_SEQUENCE_LENGTH, NUM_FEATURES)), layers.LSTM(64, return_sequences=True), layers.Flatten(), layers.Dense(classes_num, activation='softmax') ]) # 编译模型 model.compile(optimizer = keras.optimizers.Adam(1e-5), loss = keras.losses.SparseCategoricalCrossentropy(from_logits=False), metrics = ['accuracy'] ) return model模型训练体验完整的训练流程可以点击Run in ModelArts运行我发布的Notebook使用云上的免费算力训练,代码链接如下:https://developer.huaweicloud.com/develop/aigallery/notebook/detail?id=e8914ecc-953e-48b1-8e5d-90b37b3bc8e9视频推理首先加载LSTM Model,获取视频类别索引标签:import random # 加载模型 model = tf.keras.models.load_model('saved_model') # 类别标签 label_to_name = {0:'无效手势', 1:'上滑', 2:'下滑', 3:'左滑', 4:'右滑', 5:'打开', 6:'关闭', 7:'放大', 8:'缩小'} 然后使用图像特征提取器InceptionResNetV2提取视频特征:# 获取视频特征 def getVideoFeat(frames): frames_count = len(frames) # 如果帧数小于MAX_SEQUENCE_LENGTH if frames_count < MAX_SEQUENCE_LENGTH: # 补白 diff = MAX_SEQUENCE_LENGTH - frames_count # 创建全0的numpy数组 padding = np.zeros((diff, IMG_SIZE, IMG_SIZE, 3)) # 数组拼接 frames = np.concatenate((frames, padding)) # 取前MAX_SEQ_LENGTH帧 frames = frames[:MAX_SEQUENCE_LENGTH,:] # 计算视频特征 N, 1536 video_feat = feature_extractor.predict(frames) return video_feat最后将视频序列的特征向量输入LSTM进行预测:# 视频预测 def testVideo(): test_file = random.sample(videos, 1)[0] label = test_file.split('_')[-2] print('文件名:{}'.format(test_file) ) print('真实类别:{}'.format(label_to_name.get(int(label))) ) # 读取视频每一帧 frames = load_video(test_file) # 挑选前帧MAX_SEQUENCE_LENGTH显示 frames = frames[:MAX_SEQUENCE_LENGTH].astype(np.uint8) # 保存为GIF imageio.mimsave('animation.gif', frames, duration=10) # 获取特征 feat = getVideoFeat(frames) # 模型推理 prob = model.predict(tf.expand_dims(feat, axis=0))[0] print('预测类别:') for i in np.argsort(prob)[::-1][:5]: print('{}: {}%'.format(label_to_name[i], round(prob[i]*100, 2))) return display(Image(open('animation.gif', 'rb').read())) 运行testVideo()函数,会随机选择一个视频进行预测,并显示模型的预测结果:文件名:hand_gesture/man_005_3_1.mp4 真实类别:左滑 预测类别: 左滑: 78.32% 右滑: 8.54% 下滑: 5.51% 无效手势: 4.33% 上滑: 1.67%文章小结本文介绍了基于CNN-RNN架构的视频动态手势识别算法,通过结合InceptionResNetV2卷积神经网络和LSTM循环神经网络,实现了对多种手势动作(如上滑、下滑、左滑、右滑、打开、关闭等)的高效识别。
  • [技术干货] LeRobot边缘侧部署操控机械臂夹云宝
    LeRobot边缘侧部署操控机械臂夹云宝一、制作镜像首先下载Ubuntu 20.04 LTS官方镜像,这里我们选择Desktop image进行下载,下载地址为:https://releases.ubuntu.com/focal/ 2. 下载Linux镜像的烧录软件balenaEtcher,选择适合自己的操作系统,下载地址为:https://etcher.balena.io/ 3. 启动balenaEtcher,选择我们前面下载好的ubuntu-20.04.6-desktop-amd64.iso镜像,插入U盘作为系统启动盘进行烧录:二、配置环境安装系统后建议安装GPU驱动,在命令行中依次运行:sudo apt update、ubuntu-drivers devices,他推荐的(recommended)驱动是:nvidia-driver-570。== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd00001CBBsv000017AAsd0000225Fbc03sc00i00 vendor : NVIDIA Corporation model : GP107GLM [Quadro P1000 Mobile] driver : nvidia-driver-535 - distro non-free driver : nvidia-driver-390 - distro non-free driver : nvidia-driver-570 - distro non-free recommended driver : nvidia-driver-450-server - distro non-free driver : nvidia-driver-535-server - distro non-free driver : nvidia-driver-470 - distro non-free driver : nvidia-driver-418-server - distro non-free driver : nvidia-driver-470-server - distro non-free driver : nvidia-driver-570-server - distro non-free driver : xserver-xorg-video-nouveau - distro free builtin 在命令行中输入sudo apt install nvidia-driver-570进行安装,安装成功之后重启系统输入nvidia-smi查看当前驱动支持的最高CUDA版本。hou@hou-ThinkPad-P52:~$ nvidia-smi Thu Oct 30 11:41:48 2025 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 570.133.07 Driver Version: 570.133.07 CUDA Version: 12.8 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 Quadro P1000 Off | 00000000:01:00.0 Off | N/A | | N/A 43C P8 N/A / 5001W | 7MiB / 4096MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | 0 N/A N/A 1159 G /usr/lib/xorg/Xorg 4MiB | +-----------------------------------------------------------------------------------------+下载安装Miniconda,在命令行中依次运行如下命令:wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shbash ~/Miniconda3-latest-Linux-x86_64.sh安装成功之后打开一个新的终端安装Pytorch 2.6.0,CUDA的版本要>=12.6。conda clean -i conda create -n lerobot python=3.10.12 -y conda activate lerobot pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu126 python -c "import torch; print(torch.cuda.is_available())" 下载修改后的lerobot代码,支持恩培老师的机械臂🦾。git clone https://github.com/enpeizhao/lerobot_single_student cd lerobot_single_student pip install -e . -i https://mirrors.huaweicloud.com/repository/pypi/simple pip install 'lerobot[feetech]' sudo apt install ffmpeg安装PCAN-Linux驱动,下载地址为:https://peak-system.com.cn/driver/ 下载之后解压进入安装包目录cd peak-linux-driver-8.20.0,依次运行如下命令:sudo apt install libpopt-dev make clean all sudo make install 安装成功之后我们可以加载模块并查看pcan版本信息:sudo modprobe pcan pcaninfo成功打印版本即代表安装成功😌PCAN driver version: 8.20.0 PCAN-Basic version: 4.10.0.4三、ACT 边缘部署我们遥操机械臂采集了100组动作视频用于ACT模型的训练:python -m lerobot.record \ --robot.ip_address="localhost" \ --robot.port=12345 \ --robot.type=enpei_follower \ --robot.id=enpei_follower \ --robot.cameras="{ handeye: {type: opencv, index_or_path: 4, width: 320, height: 240, fps: 30}, fixed: {type: opencv, index_or_path: 2, width: 320, height: 240, fps: 30}}" \ --teleop.type=enpei_leader \ --teleop.port=/dev/ttyACM0 \ --teleop.id=enpei_leader \ --display_data=true \ --enpei_use_radian=true\ --dataset.repo_id=hou/demo_move_toy \ --dataset.push_to_hub=false \ --dataset.num_episodes=100\ --dataset.episode_time_s=15 \ --dataset.reset_time_s=5 \ --dataset.single_task="Put the toy to the white block" \ --dataset.root=/home/hou/workspace/lerobot_single_student/demo_move_toy \ --resume=false2. 云服务器的环境配置与本地被配置基本一致,总共训练200000个steps:python ./src/lerobot/scripts/train.py \ --dataset.repo_id=hou/demo_move_toy_degrees \ --dataset.root=./demo_move_toy_degrees\ --policy.type=act \ --output_dir=outputs/train/demo_move_toy_degrees_act \ --job_name=demo_move_toy_degrees \ --policy.device=cuda \ --policy.push_to_hub=false \ --wandb.enable=false\ --batch_size=32 \ --num_workers=8 \ --steps=200000 3. 我们在Jetson Orin Nano上实现了ACT模型的GPU实时推理,Jetpack的版本>=6.0,最终推理效果如下😜:python -m lerobot.test_policy \ --robot.ip_address="localhost" \ --robot.port=12345 \ --robot.type=enpei_follower \ --robot.id=enpei_follower \ --robot.cameras="{ handeye: {type: opencv, index_or_path: 0, width: 320, height: 240, fps: 30}, fixed: {type: opencv, index_or_path: 2, width: 320, height: 240, fps: 30}}" \ --policy.path=last/pretrained_model\ --fps=30 \ --time_s=120 \ --single_task="Put the toy to the white box" \ --enpei_use_radian=false \ --display_data=true四、小结本文详细介绍了在Ubuntu 20.04 LTS系统上安装配置LeRobot环境的完整流程,包括系统镜像制作、GPU驱动安装、Miniconda与PyTorch环境搭建、LeRobot代码部署及PCAN驱动配置等关键步骤。通过实际案例演示了从数据采集、ACT模型训练到板侧推理的全流程应用,为开展VAL具身智能学习与开发提供了完整的实践指导。
  • 人工智能干货合集(2025年10月)
    1. AI开发平台ModelArts新功能2025年10月份没有发布新功能。2. 人工智能相关直播合集10月份的相关整理如下:昇腾AI算法挑战赛-使用华为开发者空间Versatile一键快速构建 AI Agentcid:link_0昇腾AI算法挑战赛来袭!创想无限,华为面向全球开发者的经典赛事现已开启。本期直播将手把手带你进入华为开发者空间,以及如何利用开发者空间Versatile一键快速构建专属AI Agent,开发者们,速来直播间,获取通关秘籍!其中还有开发者空间对于鸿蒙应用的支持,很值得期待!DeepSeek-R1 RL训练优化实践分享cid:link_1本次直播讲带大家一起探索cann-recipes-train 开源仓库介绍与DeepSeek-R1 RL训练优化实践分享cann-recipes-train是华为昇腾社区推出的开源项目,专注于提供基于昇腾AI处理器的训练配方与最佳实践。该仓库包含了从基础到前沿的多种模型训练示例,涵盖大语言模型、多模态模型等热门方向。通过精心优化的代码实现,它帮助开发者和研究者充分利用昇腾硬件的强大算力,显著提升训练效率并降低部署门槛。在本次分享中,我们将重点解析DeepSeek-R1在强化学习阶段的训练优化实践。作为DeepSeek最新发布的开源模型,R1在推理能力和与人类价值观对齐方面表现出色,其训练过程中的策略优化、价值函数设计和稳定性控制等都是值得深入探讨的技术要点。我们将结合cann-recipes-train提供的技术框架,详细介绍如何利用昇腾平台加速R1的RL训练过程,包括但不限于分布式策略、内存优化、混合精度训练等关键技术的实现方案。无论你是对大模型训练技术感兴趣的研究人员,还是希望深入了解昇腾AI处理器实际应用的开发者,本次直播都将为你提供宝贵的实践洞见和技术参考。不过可能直播回放还没有准备好,所以暂时没有图片介绍。
  • [技术干货] Flamingo模型:主流多模态技术的重要雏形
    DeepMind于2022年发布的Flamingo模型,被视为当前主流多模态技术的重要雏形。它不仅在技术上开创了先河,更深刻地影响了后续发展的方向。🔍 Flamingo的核心突破Flamingo模型的关键在于,它巧妙地将预训练好的、强大的单模态模型(视觉编码器和大型语言模型)组合起来,并让它们能协同工作,而不是从头训练一个全新的多模态模型。架构与关键组件:Flamingo的设计包含几个关键部分:视觉编码器:负责处理图像或视频帧,将其转换为视觉特征向量。感知重采样器 (Perceiver Resampler):这是Flamingo的一个创新模块。它能将视觉编码器输出的、数量可变的视觉特征,“提炼”成固定数量的、包含核心信息的视觉令牌。这解决了将高维视觉特征与语言模型对齐的难题。冻结的大型语言模型:Flamingo使用了一个强大的、预先训练好的语言模型(如Chinchilla)作为其文本生成的核心。模型的主要工作是让视觉信息能够被语言模型“理解”并利用。门控交叉注意力层:这些新引入的层被穿插在冻结的语言模型内部,负责将视觉令牌的信息与文本令牌进行融合。通过这种方式,语言模型在生成文本时,可以动态地关注相关的视觉信息。训练数据与范式:Flamingo模型通过在来自网页的交织图像-文本序列数据、图像-文本对以及视频-文本对混合数据集上进行训练,使其能够同时理解图像和视频上下文。这种训练方式是其成功的关键之一。标志性能力:少样本学习:得益于上述设计,Flamingo展现出强大的少样本甚至零样本学习能力。这意味着,在应对新的多模态任务时,只需在输入中提供少量任务示例(比如几张图片及其描述),模型就能举一反三,生成符合要求的答案,而不需要针对每个任务重新训练模型。这种“看一眼就会”的能力,使其成为多模态领域的GPT-3,为通用人工智能助手铺平了道路。💡 深远的技术影响Flamingo的探索为后续研究指明了方向,其影响主要体现在:技术路径的开创:Flamingo采用的冻结预训练单模态组件、并引入适配器模块进行特征融合的方案,成为后续许多多模态大模型(如BLIP-2、LLaVA)效仿的蓝图。它所展示的交织图文序列作为输入的形式,也成为处理多模态上下文的标准做法之一。催生开源生态:Flamingo的思想催生了像OpenFlamingo这样的开源项目,并进一步启发了RoboFlamingo等机器人操作模型的研究,推动了技术在更广阔领域的应用。揭示演进方向:Flamingo的成功也让社区看到了与OpenAI GPT-4这类更先进多模态模型之间的差距,特别是在复杂推理、与人类意图对齐的指令跟随能力等方面。这激励了后续工作在指令微调、人类反馈强化学习等领域进行深入探索。总而言之,Flamingo模型在技术架构和能力展现上,都为今天我们所见的各种多模态大模型奠定了坚实的基础。
  • [技术干货] 从ViT到多模态大模型
    Vision Transformer的成功,其深远影响远超视觉领域本身。它提供了一种将视觉信号转化为与文本Token同构的序列化表征的通用方法,这为构建真正统一的、端到端的视觉-语言模型扫清了架构上的根本障碍。在此之前,多模态融合需要处理CNN特征与Transformer嵌入之间的“模态鸿沟”;在此之后,视觉和语言可以在同一个Transformer架构内进行无缝交互。这一转变,直接催生了一系列革新性的工作,并逐步将多模态研究推向大模型时代。早期的工作如ViLT,直接继承了ViT的视觉编码方式,并将其理念推向极致。它完全摒弃了任何复杂的视觉Backbone(无论是Faster R-CNN还是ResNet),图像仅通过一个简单的线性投影层转化为Patch嵌入,便与文本Token一同送入共享的Transformer中进行融合。ViLT的意义在于它确立了 “轻视觉、重统一Transformer” 的设计哲学,极大地提升了效率,证明了即使没有强大的视觉编码器,纯Transformer架构也能通过跨模态注意力学习到高质量的联合表征。然而,ViLT这类模型在预训练目标上仍主要沿用图像-文本对比学习、掩码语言建模等传统任务。接下来的工作,如BLIP,则在这一统一架构上对预训练范式进行了系统性增强。BLIP的核心洞察在于数据滤波与多任务协同。它通过引入一个字幕生成器和一个过滤器,从带有噪声的网络数据中自动生成高质量的字幕并清洗数据,从而解决了此前模型严重依赖噪声数据的问题。同时,它巧妙地融合了理解(如图像-文本匹配)与生成(如图说生成)任务于一个模型中,使得模型既能进行高效的视觉-语言检索,又能产生流畅的自然语言描述,极大地增强了模型的通用性和性能。CLIP 由OpenAI在2021年提出,其核心思想是一种颠覆性的代理任务:大规模图像-文本对比学习。它彻底抛弃了传统的、需要人工标注的分类标签,转而直接从互联网上收集的数亿个“图像-文本对”中学习。模型结构上,CLIP采用极其简洁的双塔架构,拥有独立的图像编码器(如ViT)和文本编码器,训练目标仅仅是让配对样本在特征空间中的余弦相似度最大化,而非配对样本的最小化。这种范式带来了几个革命性影响:首先,它学习到的特征空间具有极强的泛化能力,使得模型通过简单的提示工程就能在未见过的视觉概念上实现零样本识别。其次,它证明了从原始网络数据中学习的巨大潜力,为后续大模型的数据策略树立了典范。最后,CLIP模型本身成为了一个强大的“视觉语义接口”,被广泛用作ALBEF、BLIP等后续融合模型的高质量视觉特征提取器,甚至催生了Stable Diffusion等生成模型。VL-BEIT 则代表了另一条技术路径的延伸,即基于掩码建模的生成式预训练。它继承了BEIT的核心思想——使用离散视觉令牌作为重建目标,并将其成功扩展到多模态领域。VL-BEIT的统一预训练任务包含三部分:掩码图像建模、掩码语言建模以及图像-文本匹配。其关键创新在于,它使用一个共享的Transformer,同时处理视觉令牌和文本令牌,并让模型在单一架构下学习重建两种模态的被掩码部分。这种方法迫使模型在共同的潜在空间中理解并生成视觉和语言概念,从而实现深度的模态对齐。VL-BEIT的成功表明,BEIT所代表的生成式、概念式预训练范式同样适用于多模态场景,它为模型提供了一种强大的、内在的语义理解能力,这条路径与CLIP的对比学习路径形成了有力的互补。将这几条线合并观察,我们可以看到多模态预训练的演进全景:ViT提供了统一的视觉序列输入基础;ViLT验证了纯Transformer端到端融合的可行性;CLIP确立了对比学习与大规模网络数据结合的威力;BEIT/MAE深化了生成式预训练在视觉领域的应用;而BLIP/VL-BEIT等则是在此基础上,对数据、任务和架构进行的更精巧的融合与优化。最终,这些工作共同汇聚成BLIP-2这样的技术范式,即利用高质量的特征提取器(如CLIP的视觉塔、BEIT的语义概念)或高效的接口(Q-Former),来桥接并激发大型语言模型的跨模态能力。
  • [技术干货] MAE与BEIT:ViT高效预训练的双重路径
    ViT的成功揭示了一个关键前提: Transformer架构在视觉任务中潜力的释放,严重依赖于大规模数据预训练。这自然引出了下一个核心研究问题:如何设计更高效、更强大的预训练范式,以降低对数据量的极端依赖,并进一步提升ViT的性能。MAE和BEIT正是在这个方向上取得的代表性突破,它们分别从重建原始信号和学习语义概念两个不同角度,革新了ViT的预训练方法。BEIT(Bidirectional Encoder representation from Image Transformers)率先将自然语言处理中的掩码语言建模思想成功迁移到视觉领域,但其关键创新在于将重建目标从原始像素提升到了语义层面。它引入了一个预训练好的图像标记器,将图像块映射为离散的视觉词汇。在预训练时,BEIT随机掩码一部分图像块,然后要求Transformer模型根据上下文预测这些被掩码区域所对应的视觉词汇ID。这种方法的优势在于,它迫使模型学习的是图像的抽象语义表示,而非低层次的像素细节,这与下游任务(如分类、分割)的目标更为一致,为模型提供了更强的语义理解能力。与BEIT的“概念预测”路径不同,MAE(Masked Autoencoders)则回归到了像素重建,但通过一种极其简洁而非对称的编码器-解码器架构,将其效率与效能提升到了新高度。MAE的核心思想是极高的掩码率(如75%),只将极少量的、未被掩码的图像块送入Transformer编码器,从而极大地降低了预训练的计算和内存开销。之后,一个轻量的解码器将编码器输出的潜在特征与被掩码的令牌拼接,负责重建被掩码区域的原始像素值。这种设计使得MAE能够训练非常庞大的模型,并通过让模型从少量线索中推断完整图像,有效地学习了强大的图像表征和结构先验。这两项工作的成就不仅在于它们在当时多个基准任务上取得了领先性能,更在于它们为视觉预训练提供了新的范式。BEIT证明了基于语义概念的掩码建模是可行的,启发了后续一系列以语义驱动为目标的工作。MAE则以其惊人的简洁性和高效性,证明了非对称设计与像素级重建在极大掩码率下依然有效,极大地推动了掩码自编码器在视觉领域的复兴。它们共同表明,在ViT的架构基础上,通过设计更精巧的预训练任务,可以更充分地激发模型的潜力,减少对海量标注数据的依赖,是推动视觉表征学习向前发展的核心动力。
  • [技术干货] Vision Transformer (ViT):纯注意力架构对视觉领域的重塑
    Vision Transformer (ViT) 是2020年由Google Research团队提出,其核心贡献在于首次证明,在无需卷积归纳偏置的情况下,纯Transformer架构在图像分类任务上经过大规模预训练后,能够达到甚至超越当时最先进的卷积神经网络(CNN)的性能。这一发现挑战了计算机视觉领域长期以来的一个基本假设:即局部性、平移不变性等卷积固有的归纳偏置对于视觉表征学习是必不可少的。ViT的设计理念极为直接:它将图像视为一个序列。具体而言,模型将输入图像分割成一系列固定大小的图像块(Patch),将这些图像块线性展平并映射为嵌入向量,再加入可学习的位置嵌入以保留空间信息。随后,这个图像块序列被直接送入一个标准Transformer编码器进行处理,其处理方式与处理文本词嵌入序列完全相同。ViT的成功关键在于其对大数据的依赖。论文明确指出,当在中等规模的数据集(如ImageNet)上训练时,ViT模型的表现会逊于同等规模的CNN(如ResNet),这印证了在没有卷积局部偏置的情况下,模型需要更多的数据来从零学习这些视觉基础规律。然而,当预训练数据集的规模极大(如它们使用的JFT-300M,包含3亿张图像)时,Transformer强大的全局建模能力和可扩展性便得到了充分发挥。模型能够通过自注意力机制,自主学习图像块之间的复杂依赖关系,包括远距离的语义关联和精细的局部结构,从而实现了卓越的性能。ViT的成就与影响是深远的。首先,它打破了CNN在计算机视觉领域的长期垄断,确立了一种全新的、纯粹基于自注意力的视觉主干网络范式。其次,它揭示了“规模”本身作为一种强大驱动力的潜力:足够的数据和模型容量可以弥补甚至超越精心设计的归纳偏置。最后,它为多模态研究(尤其是视觉-语言模型)带来了革命性的便利。在ViT之前,像LXMERT、UNITER等模型需要依赖CNN提取区域或网格特征,再与文本Transformer融合,流程复杂。ViT之后,视觉和语言可以直接在统一的Transformer架构中进行端到端处理,这极大地简化了多模态模型的设计,直接催生了如ViLT、ALBEF等新一代模型,推动了整个领域向更简洁、统一的框架演进。
  • [技术干货] Pixel-BERT:基于网格特征的多模态端到端学习路径
    Pixel-BERT发表于2021年,其核心动机是为了解决当时主流多模态模型(如LXMERT、UNITER)对预提取区域特征(Region Features)的依赖。这种依赖被视为一个关键瓶颈,因为它需要运行复杂的目标检测器(如Faster R-CNN),流程繁琐、计算成本高,且检测器本身在训练数据上的局限性可能制约模型对更广泛视觉概念的感知。Pixel-BERT的提出,标志着从区域特征 到网格特征 的范式转变。该模型的设计思想是“简单与统一”。它摒弃了目标检测器,直接利用CNN骨干网络(如ResNet)最后一层卷积输出的特征图作为视觉输入。这些密集的图像网格特征与文本词嵌入一起,被随机拼接并送入一个统一的Transformer编码器中。在这个共享的Transformer内部,通过自注意力机制同时进行模态内和模态间的融合。这种方法实现了真正的端到端训练,简化了整体流程,并让模型能够从原始像素信息中自主发现并关注有意义的视觉元素。Pixel-BERT的预训练任务也配合了这一架构特点。它主要采用了掩码语言建模和图像-文本匹配。特别值得注意的是,为了应对网格特征噪声更大、语义抽象度更低的问题,它提出了随机图像块采样 策略。即在每轮训练中,随机从完整特征图中采样一部分图像块进行输入,这本质上是一种数据增强,强制模型不能依赖于固定的少数显著区域,而必须学习从更广泛的视觉上下文中整合信息,从而提升了模型的鲁棒性和泛化能力。Pixel-BERT的成就在于它成功地验证了基于网格特征的多模态预训练的可行性。它表明,即使不依赖昂贵且可能带有偏见的预训练检测器,模型同样可以学习到强大的跨模态表示能力,并在VQA、图像检索等任务上达到与基于区域特征的先进模型相媲美的性能。它的重要意义在于为多模态领域开辟了一条新的、更简洁的技术路径,直接启发了后续如ViLT等完全基于Vision Transformer的模型,推动了多模态学习向着更端到端、更统一的方向演进。
  • [技术干货] UNITER:基于区域特征的多模态预训练典范
    UNITER模型由微软研究院在2020年提出,可被视为基于区域特征的多模态预训练方法的集大成者。它在LXMERT等先驱工作的基础上,进行了关键性的优化与统一,将“图像作为区域序列”与文本进行融合的这一技术路线推向了成熟。其核心架构是典型的双流编码器,图像和文本先经过各自的Transformer编码器,再通过多层跨模态Transformer进行深度融合。UNITER的核心突破在于其预训练策略的精细化与系统性。它不仅包含了掩码语言建模、图像-文本匹配等经典任务,还创新性地引入了掩码区域建模 和单词-区域对齐。掩码区域建模要求模型在给定文本的条件下,恢复被遮蔽的图像区域特征,这与掩码语言建模形成了对称的、双向的预训练信号。而单词-区域对齐则通过最优传输理论,在更细的粒度上学习单词与图像区域之间的软对齐关系,极大地增强了对复杂场景中细节关联的建模能力。UNITER的另一个关键成就是其在大规模数据构建与使用上的严谨性。它系统地整合了多个公开数据集,并强调了数据多样性对模型泛化能力的重要性。在训练技巧上,UNITER采用了条件掩码策略,即在执行掩码时,始终以另一个完整模态作为条件,这有效避免了模型在预训练与微调阶段因数据分布差异而出现的性能损失。该模型的成就体现在它在其发布时横扫了包括VQA、NLVR2、Visual Entailment在内的多项主要多模态基准测试,并长时间保持领先,充分证明了其设计理念的有效性。更重要的是,UNITER通过一套极其完整和严谨的框架,为基于区域特征的多模态预训练树立了典范。它清晰地展示了如何通过精心设计的预训练任务、高质量的大规模数据以及稳定的训练方法,将这一路线的性能挖掘到接近极限。尽管后续端到端方法因效率优势逐渐成为主流,但UNITER所确立的许多预训练范式和学习目标,至今仍是多模态领域共享的技术财富。
  • [技术干货] LXMERT:早期视觉-语言深度融合的典范与其技术遗产
    作为2019年诞生的多模态模型,LXMERT的核心贡献在于系统性地验证了通过大规模预训练实现视觉与语言深度融合的可行性。它采用了一个结构清晰的双流编码器架构:视觉和语言输入首先分别通过各自的自注意力层进行模态内表征,随后再经过一系列精心设计的交叉注意力Transformer层进行模态间交互。这种先独立后融合的范式,在当时有效地平衡了模型复杂度和特征交互的深度,为后续研究提供了一个可复现的坚实基线。在预训练任务设计上,LXMERT整合了掩码语言建模、视觉-语言匹配和物体标签预测。这三项任务的组合并非随意,而是旨在从不同粒度迫使模型建立视觉信号与语言符号之间的关联。掩码语言建模让模型学习用图像信息补全文本,视觉-语言匹配要求模型理解图文整体的语义一致性,而物体标签预测则直接推动视觉区域与特定概念词的绑定。这种多任务协同的预训练策略,成为此后多模态预训练工作的标准配置。LXMERT的成就直接体现在其当时在多项基准测试(如VQA、GQA、NLVR2)上取得的领先性能,证明了深度跨模态融合的巨大潜力。然而,其更深远的影响在于为领域留下的技术遗产与明确的发展方向。它的成功启发了VL-BERT、UNITER等一系列同样基于双流和交叉注意力的改进模型,同时,其局限性——例如对预提取视觉特征的依赖以及双流结构带来的计算成本——也清晰地指向了下一个需要攻克的技术节点。这直接推动了后续如ViLT等端到端单流模型的发展,致力于在保持强大融合能力的同时提升效率。因此,LXMERT在学术演进脉络中,更像是一个承前启后的关键路标,它既巩固了一个行之有效的技术路径,也通过自身的设计边界,预示了未来变革的方向。
  • 【话题交流】10月已经结束,大家还在学习新知识嘛?
    【话题交流】10月已经结束,大家还在学习新知识嘛?
  • [新特性] 版本速递 | 华为云Versatile智能体平台 新增特性介绍(2025年10月发布)
     (2025年10月)  < 华为云Versatile智能体平台 体验入口>华为开发者空间--开发平台--Versatile Agent (请在PC端打开)  版本概览  Summary   华为云Versatile智能体平台定位为一站式企业级智能体构建平台,倡导人人都能构建自己的企业级智能体。本次十月版本升级围绕MCP服务、工作流应用、知识库、插件、工作空间等模块实现10+项特性优化,全力为开发者们在创建创意智能体过程中带来更流畅的体验,与开发者合力构建易用、好用、开放的AI Agent平台。   新增重点特性介绍  Introduction     01  资产中心  资产中心 · MCP广场 新增80+官方预置MCP工具,总数累计达100业务价值:丰富MCP资产的类型与数量,开箱即用,降低开发门槛,为用户带来更流畅的开发体验。   02 Agent发布     应用管理 · 支持单智能体应用、工作流应用发布为网页,可在web端打开Agent进行快速交互。业务价值:通过一键发布,生成链接,支持在web端以网页形式快捷访问智能体应用,丰富打开方式。    03  工作流节点   应用管理-工作流应用 · 新增异常节点功能,用户可以根据业务需求自定义异常信息。可通过直接输入或插入创建好的消息模板,在异常码抛出中输入异常信息。业务价值:可由用户自主抛出业务异常。异常节点用于抛出预定义的业务异常码,可传递给中控进行后续处理。   配置管理 · 新增消息模板功能,用户可以自定义消息模板,并在工作流应用的对应节点中使用。(如:异常分类的消息模板可以在异常节点中使用)业务价值:通过将消息完成结构化创建存为模板,实现租户或工作空间内的共享;方便在节点创建时直接选用模板,简化操作。  应用管理-工作流应用 · 工作流应用在编排节点配置时,支持通过搜索栏输入关键词,快速定位所需引用参数业务价值:提供关键词搜索能力,方便用户快速定位所需参数,提升筛选效率。   · 消息节点支持引用流式和非流式输出参数业务价值:丰富消息节点的引用模式。  04  数据能力   知识库 · 知识库新增查看引用功能,提供引用列表,可查看当前知识库被哪些智能体和工作流引用业务价值:提供知识库被引用关系溯源,便于清晰查看知识库被引用的路径,用于判断知识库变更对哪些Agent、检索流产生影响。    05 插件能力   组件库-我的插件 · 创建插件支持多工具管理,一个插件下可以新建多个相关工具业务价值:优化插件创建流程,实现插件的多工具集合管理,通过类别划分支撑插件在智能体选用时更为便捷。  应用管理 · 在智能体及工作流应用中,灵活选择多个插件下的工具或一个插件下的多个工具。业务价值:提高插件选择的便捷性,优化用户体验。   06  工作空间  工作空间 · 工作空间角色优化,增加开发工程师、运维工程师业务价值:通过增加特定角色,优化对团队空间的操作权限细分,方便组织内多岗位成员协作,显著提升团队的工作效率。    07  模型管理  模型调测· 模型服务调测时,支持一键清除输入内容业务价值:一键快速清除,提升模型调测的操作效率。  08  开发中心   应用管理· 单智能体应用、工作流应用在“发布管理”页面支持复制URL业务价值:可一键复制,简化操作,提升用户体验。 · 调用工作流应用接口,增加响应参数业务价值:补充响应参数信息,方便调用查看。 点击可前往>>华为云Versatile智能体平台 官网   
总条数:7864 到第
上滑加载中