零一万物开源Yi-VL多模态大模型,魔搭社区推理&微调最佳实践来啦!

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 近期,零一万物Yi系列模型家族发布了其多模态大模型系列,Yi Vision Language(Yi-VL)多模态语言大模型正式面向全球开源。

导读


近期,零一万物Yi系列模型家族发布了其多模态大模型系列,Yi Vision Language(Yi-VL)多模态语言大模型正式面向全球开源。凭借卓越的图文理解和对话生成能力,Yi-VL模型在英文数据集MMMU和中文数据集CMMMU上取得了领先成绩,展示了在复杂跨学科任务上的强大实力。


基于Yi语言模型的强大文本理解能力,只需对图片进行对齐,就可以得到不错的多模态视觉语言模型——这也是Yi-VL模型的核心亮点之一。



在架构设计上,Yi-VL模型基于开源 LLaVA架构,包含三个主要模块:

  • Vision Transformer(简称ViT)用于图像编码,使用开源的OpenClip ViT-H/14模型初始化可训练参数,通过学习从大规模"图像-文本"对中提取特征,使模型具备处理和理解图像的能力。
  • Projection模块为模型带来了图像特征与文本特征空间对齐的能力。该模块由一个包含层归一化(layer normalizations)的多层感知机(Multilayer Perceptron,简称MLP)构成。这一设计使得模型可以更有效地融合和处理视觉和文本信息,提高了多模态理解和生成的准确度。
  • Yi-34B-Chat和Yi-6B-Chat大规模语言模型的引入为 Yi-VL 提供了强大的语言理解和生成能力。该部分模型借助先进的自然语言处理技术,能够帮助 Yi-VL 深入理解复杂的语言结构,并生成连贯、相关的文本输出。


以下为大家带来魔搭社区推理、微调最佳实践教程。



环境配置与安装


本文使用的模型为Yi-VL-6B模型,可在ModelScope的Notebook的环境(这里以PAI-DSW为例)的配置下运行(显存24G) 。


环境配置与安装

本文主要演示的模型推理代码可在魔搭社区免费实例PAI-DSW的配置下运行(显存24G) :


点击模型右侧Notebook快速开发按钮,选择GPU环境:


打开Terminal环境:



模型链接和下载


Yi系列模型现已在ModelScope社区开源,包括:

Yi-VL-34B模型:

https://modelscope.cn/models/01ai/Yi-VL-34B/summary


Yi-VL-6B模型:

https://modelscope.cn/models/01ai/Yi-VL-6B/summary


社区支持直接下载模型的repo:

from modelscope import snapshot_download
model_dir = snapshot_download("01ai/Yi-VL-6B", revision = "master")



Yi多模态模型推理


安装环境

使用方式参考:https://github.com/01-ai/Yi/tree/main/VL


安装环境

git clone https://github.com/01-ai/Yi.git
cd Yi/VL
export PYTHONPATH=$PYTHONPATH:$(pwd)
pip install -r requirements.txt


模型推理

CUDA_VISIBLE_DEVICES=0 python single_inference.py --model-path /model-path --image-file /mnt/workspace/test.png --question "图里有几只羊?"


选择了几张图,试下效果:


显存占用情况如下:



Yi系列模型微调和微调后推理


我们使用SWIFT来对模型进行微调, swift是魔搭社区官方提供的LLM&AIGC模型微调推理框架. 微调代码开源地址: https://github.com/modelscope/swift

我们使用数据集coco-mini-en-2进行微调. 任务是: 描述图片中的内容。


环境准备:

git clone https://github.com/modelscope/swift.git
cd swift
pip install .[llm]


微调脚本: LoRA

# https://github.com/modelscope/swift/tree/main/examples/pytorch/llm/scripts/yi_vl_6b_chat
# Experimental environment: V100, A10, 3090
# 18GB GPU memory
CUDA_VISIBLE_DEVICES=0 \
swift sft \
    --model_type yi-vl-6b-chat \
    --sft_type lora \
    --tuner_backend swift \
    --template_type AUTO \
    --dtype AUTO \
    --output_dir output \
    --dataset coco-mini-en \
    --train_dataset_sample -1 \
    --num_train_epochs 1 \
    --max_length 2048 \
    --check_dataset_strategy warning \
    --lora_rank 8 \
    --lora_alpha 32 \
    --lora_dropout_p 0.05 \
    --lora_target_modules DEFAULT \
    --gradient_checkpointing true \
    --batch_size 1 \
    --weight_decay 0.01 \
    --learning_rate 1e-4 \
    --gradient_accumulation_steps 16 \
    --max_grad_norm 0.5 \
    --warmup_ratio 0.03 \
    --eval_steps 100 \
    --save_steps 100 \
    --save_total_limit 2 \
    --logging_steps 10 \
    --use_flash_attn false \


训练过程支持本地数据集,需要指定如下参数:

--custom_train_dataset_path xxx.jsonl \
--custom_val_dataset_path yyy.jsonl \


自定义数据集的格式可以参考:

https://github.com/modelscope/swift/blob/main/docs/source/LLM/自定义与拓展.md#注册数据集的方式


微调后推理脚本: (这里的ckpt_dir需要修改为训练生成的checkpoint文件夹)

# Experimental environment: V100, A10, 3090
CUDA_VISIBLE_DEVICES=0 \
swift infer \
    --ckpt_dir "output/yi-vl-6b-chat/vx_xxx/checkpoint-xxx" \
    --load_dataset_config true \
    --max_length 2048 \
    --use_flash_attn false \
    --max_new_tokens 2048 \
    --temperature 0.5 \
    --top_p 0.7 \
    --repetition_penalty 1. \
    --do_sample true \
    --merge_lora_and_save false \


训练后生成样例:



[PROMPT]This is a chat between an inquisitive human and an AI assistant. Assume the role of the AI assistant. Read all the images carefully, and respond to the human's questions with informative, helpful, detailed and polite answers. 这是一个好奇的人类和一个人工智能助手之间的对话。假设你扮演这个AI助手的角色。仔细阅读所有的图像,并对人类的问题做出信息丰富、有帮助、详细的和礼貌的回答。
### Human: [-100 * 1]
please describe the image.
### Assistant:
[OUTPUT]A large airplane is on display in a museum. 
###
[LABELS]People walking in a museum with a airplane hanging from the celing.
[IMAGES]['https://xingchen-data.oss-cn-zhangjiakou.aliyuncs.com/coco/2014/val2014/COCO_val2014_000000492132.jpg']


[PROMPT]This is a chat between an inquisitive human and an AI assistant. Assume the role of the AI assistant. Read all the images carefully, and respond to the human's questions with informative, helpful, detailed and polite answers. 这是一个好奇的人类和一个人工智能助手之间的对话。假设你扮演这个AI助手的角色。仔细阅读所有的图像,并对人类的问题做出信息丰富、有帮助、详细的和礼貌的回答。
### Human: [-100 * 1]
please describe the image.
### Assistant:
[OUTPUT]A bowl of fruit and cake next to a cup of coffee. 
###
[LABELS]a bowl of fruit and pastry on a table
[IMAGES]['https://xingchen-data.oss-cn-zhangjiakou.aliyuncs.com/coco/2014/val2014/COCO_val2014_000000558642.jpg']


点击直达模型卡片:

https://modelscope.cn/models/01ai/Yi-VL-34B/summary

相关文章
|
12天前
|
机器学习/深度学习 存储 缓存
加速LLM大模型推理,KV缓存技术详解与PyTorch实现
大型语言模型(LLM)的推理效率是AI领域的重要挑战。本文聚焦KV缓存技术,通过存储复用注意力机制中的Key和Value张量,减少冗余计算,显著提升推理效率。文章从理论到实践,详细解析KV缓存原理、实现与性能优势,并提供PyTorch代码示例。实验表明,该技术在长序列生成中可将推理时间降低近60%,为大模型优化提供了有效方案。
97 15
加速LLM大模型推理,KV缓存技术详解与PyTorch实现
|
12天前
|
机器学习/深度学习 人工智能 算法
小米7B参数推理大模型首次开源!Xiaomi MiMo:数学代码双杀,超越32B巨头
小米开源的MiMo推理大模型通过联动预训练与强化学习算法,在7B参数规模下实现数学推理与代码生成能力的突破性提升,技术报告显示其性能超越部分32B级模型。
306 74
小米7B参数推理大模型首次开源!Xiaomi MiMo:数学代码双杀,超越32B巨头
|
12天前
|
人工智能 自然语言处理 DataWorks
DataWorks Copilot 集成Qwen3-235B-A22B混合推理模型,数据开发与分析效率再升级!
阿里云DataWorks平台正式接入Qwen3模型,支持最大235B参数量。用户可通过DataWorks Copilot智能助手调用该模型,以自然语言交互实现代码生成、优化、解释及纠错等功能,大幅提升数据开发与分析效率。Qwen3作为最新一代大语言模型,具备混合专家(MoE)和稠密(Dense)架构,适应多种应用场景,并支持MCP协议优化复杂任务处理。目前,用户可通过DataWorks Data Studio新版本体验此功能。
130 20
DataWorks Copilot 集成Qwen3-235B-A22B混合推理模型,数据开发与分析效率再升级!
|
5天前
|
测试技术 UED
全新开源通义千问Qwen3,它来了!
Qwen3是通义千问系列的最新模型,融合推理与非推理模式,兼具QwQ和Instruct模型能力。提供多种尺寸,包括235B-A22B、30B-A3B及六个Dense模型,大幅提升数学、代码、逻辑推理和对话能力,达到业界领先水平。旗舰模型Qwen3-235B-A22B在多场景测试中表现优异,小型模型如Qwen3-4B性能媲美大模型。用户可在阿里云百炼平台免费体验各100万Token。
全新开源通义千问Qwen3,它来了!
|
6天前
|
人工智能 并行计算 监控
在AMD GPU上部署AI大模型:从ROCm环境搭建到Ollama本地推理实战指南
本文详细介绍了在AMD硬件上构建大型语言模型(LLM)推理环境的全流程。以RX 7900XT为例,通过配置ROCm平台、部署Ollama及Open WebUI,实现高效本地化AI推理。尽管面临技术挑战,但凭借高性价比(如700欧元的RX 7900XT性能接近2200欧元的RTX 5090),AMD方案成为经济实用的选择。测试显示,不同规模模型的推理速度从9到74 tokens/秒不等,满足交互需求。随着ROCm不断完善,AMD生态将推动AI硬件多元化发展,为个人与小型组织提供低成本、低依赖的AI实践路径。
89 1
在AMD GPU上部署AI大模型:从ROCm环境搭建到Ollama本地推理实战指南
|
12天前
|
弹性计算 机器人 应用服务中间件
AppFlow支持Qwen3开源版本调用
近期,Qwen3正式发布并开源全部8款“混合推理模型”,包括两款MoE模型(Qwen3-235B-A22B与Qwen3-30B-A3B)和六个Dense模型。目前,AppFlow已支持上述所有模型调用,您可在钉钉或微信等多渠道使用这些模型满足业务需求。本文将介绍如何配置及集成这些模型至钉钉机器人和企业微信应用中,包括创建应用、设置权限、生成连接流以及配置相关参数的详细步骤。完成配置后,用户可通过钉钉或企业微信直接与Qwen3应用互动交流。
AppFlow支持Qwen3开源版本调用
|
13天前
|
自然语言处理 测试技术 Serverless
Qwen3开源发布:Think Deeper, Act Faster!社区推理、部署、微调、MCP调用实战教程来啦!
Qwen3开源发布:Think Deeper, Act Faster!社区推理、部署、微调、MCP调用实战教程来啦!
321 22
|
4天前
|
测试技术 API 开发者
LiveBench放榜:Qwen3斩获全球开源冠军
最新一期LiveBench榜单显示,阿里云旗舰模型Qwen3-235B-A22B荣登全球开源模型冠军,小尺寸Qwen3-32B位列Top3。千问3在指令遵循能力上超越多个顶级闭源模型,位居全球第一。该评测由图灵奖得主Yann LeCun发起,采用动态防污染机制,确保公平性。千问3支持119种语言,具备混合推理架构与强大Agent能力,现已上线阿里云百炼平台,提供免费体验与API调用。
|
9天前
|
缓存 并行计算 测试技术
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
阿里云PAI-全模态模型Qwen2.5-Omni-7B推理浅试
78 12
|
12天前
|
机器学习/深度学习 人工智能 自然语言处理
全新开源通义千问Qwen3上架阿里云百炼
Qwen3是Qwen系列大型语言模型的最新成员,作为混合推理模型,其旗舰版本Qwen3-235B-A22B在代码、数学和通用能力测试中表现出色,与顶级模型DeepSeek-R1、o1、o3-mini等相比具有竞争力。小型MoE模型Qwen3-30B-A3B激活参数仅为QwQ-32B的10%,性能更优,甚至小规模模型Qwen3-4B也能匹敌Qwen2.5-72B-Instruct。Qwen3支持思考与非思考两种模式,可根据任务需求灵活调整推理深度,并支持119种语言,Qwen3在推理、工具调用及多语言处理等方面显著提升,目前已开源并在阿里云百炼平台上线,提供便捷体验。

热门文章

最新文章