Qwen2.5-0.5B siglip 预训练 / 微调实验

news/2025/2/27 22:31:02/文章来源:https://www.cnblogs.com/isumi/p/18742184

前言

视频 | 仓库

跟着教程做的,记录学习过程。

环境

  • 双卡 3090 24G
  • CUDA 12.2
  • transformers 4.49

概述

通过在 Qwen2.5-0.5B 和 siglip 之间训练一个中间层构造 VLM。作者提到首次微调时,只冻结了视觉模型的参数,导致阶梯状的 loss 曲线,即发生过拟合。应冻结文本和视觉模型的全部参数,只训练中间层。

实验

预训练

未改动参数,跑了 5 小时左右,共 5 epoch,最终 loss 在 3.6 左右。

微调

教程用的是四卡 A100,双 3090 只能咬牙跑了。微调比预训练阶段费时一些,也需要更多的显存。首次实验跑到 33% 左右的样本爆显存了,第二次实验时改小了 batch_size,没什么效果。

测试

直接用微调到当前进度的模型进行测试,还是答出来了。

2025-02-27 17:04:50.278186: I tensorflow/core/util/port.cc:110] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
2025-02-27 17:04:50.323774: I tensorflow/core/platform/cpu_feature_guard.cc:182] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: AVX2 AVX512F AVX512_VNNI FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2025-02-27 17:04:51.275953: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Could not find TensorRT
老虎在水里

TODO

后续应多看看代码,看看模型是如何构造的。重写数据集的 DataLoader 也是基本功,应予以重视。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025.2.27(Java的输出换行)

如图输出println,这个ln相当于输出完后自动换一次行。如图输出print,去掉ln不换行。

优化职工信息系统文件读写错误

该系统取自于大一时期的一个同班同学的期末大作业,该职工信息系统分别实现了职工信息的增删改查,以及计算职工的总工资和平均工资等功能。但是在编写了该系统之后,出现了一些问题,其中一个文件读写的问题我觉得需要进行改进,这个代码不能自己创建文本文档在指定的文件夹,…

PL端DDR4的MIG IP核配置及example design分析(个人记录)

第一种配置方法如下。按最高2666MHz配置,这边输入的参考时钟看个人板卡情况,我这边输入是200MHz。第二种配置方法如下。按2400MHz配置(需要换芯片型号),这边输入的参考时钟看个人板卡情况,我这边输入是200MHz。这边是输入时钟设置及输出时钟设置。我这边输入是差分时钟,…

Linux上部署deepseek-r1:7b模型

通过ollama在debian上安装部署deepseek-r1:7b模型。一、安装ollama框架 访问 ollama 官网,点击下载,选择 Linux,复制安装命令执行即可。二、下载并运行模型 选择 deepseek:7b 模型,复制安装命令执行即可。 (这里的模型参数大小,可根据自己的显存大小选择,可简单安装 0.5b…

LVI_SAM虚拟机安装复现(二)

0. 前言 前一篇文章里面,已经完成了 Ubuntu 18.04 和 ROS Melodic 的安装。 还没有安装好的读者,可以回去看这一篇文章。 前情概要: LVI_SAM虚拟机安装复现(一) 本文主要记录了GTSAM源码编译安装过程中经历的坑 警告:并非从零开始零基础教你安装 GTSAM 哦 GTSAM是一个开源…

逆向软件设计—网上购书结账系统

一、作业要求找一个已有的项目(同学、高年级同学、网络下载),阅读分析,找出软件尚存的缺陷, 改进其软件做二次开发,并将这个过程整理成一份博客。 二、原项目介绍 本次课程设计我逆向开发的软件是一个使用c++编写的网上购书结账系统,原作者是22软工2班的熊知宇学长,学号…

学生管理系统二次开发与优化实践

在软件开发中,对现有项目进行优化和二次开发是一种常见的任务。本次实验中,我选择了一个基于C++开发的学生管理系统作为优化对象。该系统实现了学生信息的增删改查功能,并支持学号排序和模糊查找等功能。通过分析原项目,我发现了几个可以改进的地方,并对系统进行了优化。以…

逆向软件工程

一、来源 本次实验项目来源于c++课程设计:线上图书购买系统 二、运行环境及运行结果 运行环境:vs 2022 Windows 11 运行结果:代码展示: `#include include include "Order.h" include "Book.h" void displayMenu() { std::cout << "1. Ad…

基于MPPT最大功率跟踪的离网光伏发电系统Simulink建模与仿真

1.课题概述 基于MPPT最大功率跟踪的离网光伏发电系统Simulink建模与仿真。2.系统仿真结果 (完整程序运行后无水印)3.核心程序与模型 版本:MATLAB2022a4.系统原理简介基于最大功率点跟踪(Maximum Power Point Tracking, MPPT)的离网光伏发电系统是利用太阳光直接转换为电能…

[Black Watch 入群题]PWN(栈迁移)

先检查一下保护,32位的分析一下代码,发现buf距离ebp为0x18(24),但是read只溢出0x20(32),也就是只溢出8个字节,刚好覆盖到ret。 第一个read读取0x200到s(.bss段)两个write会打印m1和m2,点击m1,m2查看因为溢出不够,这时候我们可以考虑栈迁移expfrom pwn import * f…

WC Java 实现

一.来源 WC Java 实现(Pramy) https://www.cnblogs.com/pramy/p/9607743.html 二.运行环境及运行结果 运行环境:Visual Studio Code 运行结果截图:* 三.主要问题 1.异常处理不够详细: 在处理文件时,如果文件不存在或无法读取,程序会抛出异常,但没有提供详细的错误信息或…