

锐英源软件精品原创,禁止转载和任何形式的非法内容使用,违者必究
📑 本文目录
锐英源软件用YOLO和FastSAM模型进行了算法开发,这是视觉模型。锐英源软件对Python里jieba分词组件和百度千帆文本大模型也进行过应用开发,对输出数据不能满足项目要求,进行了算法级的代码调整,这是文本模型。VLM算是把文本和视觉结合的大模型。VLM(Vision-Language Model,视觉语言模型)是让大模型"看懂图"的关键技术。本文用三段讲清它要解决什么问题、内部怎么工作、以及如何用Unsloth在单卡上完成一次LoRA微调。细节实操将另文展开。
一句话:让语言模型"长出眼睛",让视觉模型"学会说话"。
传统CV模型(分类、检测、分割)输出的是标签、框、掩码,没法用自然语言解释"图里发生了什么、为什么";传统LLM只能读文字,看不见图。VLM把两者打通,使模型能完成:图像描述(Captioning)、视觉问答(VQA)、文档与图表理解、OCR结合上下文推理、视觉定位(Grounding)、多图与视频理解。
对研究生课题而言,VLM的价值在于:用少量图文对做LoRA微调,就能让一个已"看得见"的模型学会你想要的描述口径和回答格式。
核心是"编码—对齐—生成"三步:
1. 视觉编码器(ViT、SigLIP等)把图片切成patch,编码成视觉token;
2. 投影层/连接器(MLP、Q-Former等)把视觉token映射到语言模型的嵌入空间,与文本token同一"语言";
3. 语言模型把图文token序列当作上下文,自回归生成文本。
训练通常分两阶段:大规模图文对做对齐预训练,再用指令-回答数据做监督微调(SFT)。微调时不必更新全部参数,LoRA只训练低秩旁路矩阵,显存和成本大幅下降——这正是Unsloth的用武之地。如果Unsloth报错,可以回退到通用框架。Unsloth是被英伟达认可的框架,兼容性有保证,不过要具体事情具体谈。
以 Qwen2-VL-2B + LoRA + 4bit 为主线,五步走:
第一步,加载模型。VLM要用FastVisionModel,不是FastLanguageModel:
model, processor = FastVisionModel.from_pretrained( "unsloth/Qwen2-VL-2B-Instruct", load_in_4bit=True, use_gradient_checkpointing="unsloth", max_seq_length=2048, )
第二步,挂LoRA,实现VLM微调。VLM多出视觉/语言层开关:
model = FastVisionModel.get_peft_model( model, r=16, lora_alpha=32, finetune_vision_layers=True, finetune_language_layers=True, ... )
第三步,整理数据。每条样本是messages结构,user含text+image,assistant含answer;图片以路径或PIL对象放入image字段,训练时由collator惰性读取,不必一次性全压进内存。
第四步,配置Trainer。必须用UnslothVisionDataCollator,并设置三个参数:remove_unused_columns=False、dataset_text_field=""、dataset_kwargs={"skip_prepare_dataset": True},否则视觉列会被丢弃。
trainer = SFTTrainer( model=model, tokenizer=processor, data_collator=UnslothVisionDataCollator(model, processor), train_dataset=converted_dataset, args=SFTConfig( per_device_train_batch_size=2, gradient_accumulation_steps=4, learning_rate=2e-4, remove_unused_columns=False, dataset_text_field="", dataset_kwargs={"skip_prepare_dataset": True}, ), ) trainer.train() 第五步,保存与推理。只保存LoRA adapter;推理时加载基础模型,用PeftModel.from_pretrained挂回,再用processor打包图片和提示,调用model.generate()解码新token。
这套流程先在小样本上跑通,再上全量数据。后续文章将分三篇展开:微调前的数据准备、数据投喂与训练过程、训练后模型的识别与调用。
AI大模型的常用工作就是数据准备、训练和识别调用,现在AI能开发AI了,普通人做AI视频AI漫剧理解一些术语,容易学会,现在不学AI,就像1990年代不会计算机一样,算半个文盲。
主要来源:Unsloth官方文档与GitHub示例;Qwen2-VL模型卡。本文为系列开篇,细节实操见后续文章。