当前位置: 首页 > article >正文

【多模态】从零学习多模态——2024学习笔记总结

从零学习多模态——2024学习笔记总结

  • 前言
  • 1. preliminary
  • 2. Transformer和NLP基础
  • 3. 多模态模型原理和架构学习
  • 4. 动手实验多模态模型
    • 第一步尝试
    • Swift框架使用
    • 数据验证
  • 5. 总结

前言

  2024快结束啦,半年抽空学了学多模态还挺好玩的,学习和踩坑记录记一下,方便大家少走弯路~
学习记录的完整PPT在这里
在这里插入图片描述

1. preliminary

  最基础的ML入门可以看李航的《统计学习方法》,看完学完前8章,纸笔再算一算例题,敲一敲代码实现基础的模型,不使用sklearn实现感知机、线性回归、逻辑回归、决策树、SVM、MLP。

2. Transformer和NLP基础

  1. 首先原理和代码阅读,推荐“基于transformers的自然语言处理(NLP)入门”,链接为这个,【看不懂的地方可以追问通义千问,通义千问很会!】

  2. 在了解了基本原理之后,实践部分可以参考下面:

  • 手把手带你实战Transformers, b站地址为这个
  • 手把手带你实战Transformers,代码地址为这个:
  • 同时可以看huggingface的官方NLP的tutorial熟悉各种NLP流程,地址为这个
  1. 在了解了基本的使用流程之后,可以到阿里的天池比赛平台上找数据测一下找找感觉:
  • gpu可以在各种云平台上租赁(1r/h不到),或者用colab的V100-16GB(每周3小时),跑通流程够用
  • 天池提供了很多学习赛,也有其他人提供的baseline,比如医疗诊疗对话意图识别挑战赛、中文NLP地址要素解析、医学搜索Query相关性判断
  • 借助比赛数据集可以熟悉文本分类、实体识别等任务的流程,以及transformer和bert的使用

3. 多模态模型原理和架构学习

  学习现有多模态模型原理架构等,可以先搜论文作者在会议的报告ppt、汇报视频等,经典架构很多大学课堂ppt都挺好,可以在必应里面用英文搜索"xxxx ppt"或者"xxxx slide",然后再浏览一遍论文,最后过源代码,代码里面不明白的很多地方都可以一遍遍问通义千问。

  • ViT,学习笔记见:【多模态】ViT模型技术学习
  • CLIP,学习笔记见:【多模态】CLIP模型技术学习
  • BLIP,学习笔记见:【多模态】BLIP模型技术学习
  • BLIP2,学习笔记见:【多模态】BLIP-2模型技术学习
  • Flagmingo,学习笔记见:【多模态】Flamingo模型技术学习
  • MiniCPM-V-2.6 学习笔记见:【多模态】ViT模型技术学习
  • InternVL2(和minicpm-v架构类似)
  • qwen2-vl(没有用q-former,直接mlp连接和压缩)

4. 动手实验多模态模型

第一步尝试

  • 玩一下cogvlm、cogvlm2、qwen2-vl和minicpm-v的demo,当时minicpm-v-2.5还是最强的
  • 感觉minicpm-v的文档和各种支持是最好的,群里面群友们和阿丹老师也超级热心,先上手的minicpm-v-2.6,超流畅,流程可以见cpm的官方飞书文档
  • minicpm-v的使用和踩坑记录——【多模态】MiniCPM-V多模态大模型使用学习(官方教程和支持非常好基本上没踩坑,官方b站也有相关的视频教程特别好可以看一下),官方群和文档在git上有

Swift框架使用

  • 使用swift的2号版本swift2可以很方便的训练、量化、RLHF、推理加速等,swift2的文档也写得比较好,群里面大家也是很热心基本上没踩坑,使用记录——【多模态】swift框架使用qwen2-vl
  • 在12月,swift进行了大更新,只有swift3支持internvl2.5,3号版本swift3和swift2很多不兼容,但是swift3对batch inference、vllm的支持更好,以及swift3数据加载升级了速度确实快很多,但是目前是很多不兼容&文档不太好所以踩了很多坑,踩坑记录——【多模态】多模态模型使用实践——swift3框架使用
  • Swift的不同版本官方文档和群在ms-swift的git上有——ms-swift官网,如果找不到进官方群问

数据验证

  • 正好天池有多模态的比赛,可以用这个数据验证: https://tianchi.aliyun.com/competition/entrance/532277
  • 天池上也有其它长期比赛的数据一直开放

5. 总结

  不明白的地方多问问会比较节省时间,一开始minicpm-v-int4的qlora微调一直报错卡了很久,群里问丹老师一句话的事情就解决了👍
  不明白的地方多问问会比较节省时间,卡了老半天swift3训练和推理就是不收敛,原来是swift3不像2中有默认的学习率和warm和梯度累积等参数,swift3也不支持对swift2训的模型的推理,也是群里面问飞鱼老师一句话的事情👍


http://www.kler.cn/a/457968.html

相关文章:

  • Niushop商城商业插件_cps联盟_包装转换_视频购物_同城配送_上门预约等插件的安装方法
  • (二)当人工智能是一个函数,函数形式怎么选择?ChatGPT的函数又是什么?
  • C++访问数据库
  • 大模型系列17-RAGFlow搭建本地知识库
  • UE5.3 虚幻引擎 Windows插件开发打包(带源码插件打包、无源码插件打包)
  • ASA第六天笔记
  • Mono 和 IL2Cpp的区别
  • 算法学习(19)—— 队列与 BFS
  • 短视频矩阵系统后端源码搭建实战与技术详解,支持OEM
  • Move AI技术浅析(五):动作识别与分类
  • JMeter 如何并发执行 Python 脚本
  • 14. HDFS基准测试
  • C++软件设计模式之命令模式
  • DataWhale之工作流
  • 基于Golang的记账系统的服务端的设计与实现
  • sentinel-请求限流、线程隔离、本地回调、熔断
  • 算法题(18):删除有序数组中的重复项2
  • 数据的简单处理——pandas模块——选择数据
  • Linux系统离线部署MySQL详细教程(带每步骤图文教程)
  • 常见的排序算法过程和比较分析
  • NLP基础知识 - 向量化
  • 人工智能-Python网络编程-HTTP
  • MNER多模态实体识别论文介绍,有关大模型和chatgpt
  • 《机器学习》从入门到实战——线性回归
  • 使用seata实现分布式事务管理
  • 【畅购商城】购物车模块之修改购物车以及结算