书生浦语大模型实战营第二期 第四次课笔记

XTuner 微调 LLM:1.8B、多模态、Agent

课程文档

XTuner 背景

XTuner 是一个由 MMRazor 和 MMDeploy 联合开发的大语言模型微调工具箱。它旨在简化大型语言模型(LLM)的微调过程,使其对非专业人员也易于操作。XTuner 支持多种开源的大型语言模型,包括但不限于 InternLM、Llama、Llama2、ChatGLM2、ChatGLM3、Qwen、Baichuan 等。支持LoRA和QLoRA等多种微调方式。

XTuner也支持对多模态大模型进行微调。

XTuner 微调个人小助手认知

  1. 开发机准备:同上。

  2. 快速上手:了解XTuner运行原理,包括环境安装、前期准备、启动微调。

  3. 环境安装:克隆XTuner源码,安装依赖库。

  4. 前期准备

    • 数据集准备:创建数据集,包含自我介绍的对话数据。
    • 模型准备:使用InternLM2-Chat-1.8B模型,复制或链接模型文件。
    • 配置文件选择:选择合适的配置文件并复制到指定位置。
  5. 配置文件修改:根据实际情况调整配置文件中的参数。

  6. 模型训练

    • 常规训练:使用XTuner训练指令启动训练。
    • 使用deepspeed加速训练:结合deepspeed加速训练过程。
  7. 模型转换、整合、测试及部署

    • 模型转换:将训练得到的PTH模型转换为HuggingFace格式。
    • 模型整合:将转换后的模型与原模型整合。
    • 对话测试:使用XTuner提供的对话脚本测试模型。可以看出微调后的模型能够认识到它是我的小助手,只是也灾难性地遗忘了所有知识。
    • Web demo部署:使用streamlit部署网页端对话界面。
  8. 总结:本节内容涉及XTuner完整流程,包括数据集和模型使用、配置文件制作、训练、转换及整合。

XTuner多模态训练与测试

  1. 多模态LLM原理简介

    • 文本单模态:输入文本,通过文本Embedding模型得到文本向量,然后由LLM生成输出文本。
    • 文本+图像多模态:除了文本向量,还包括图像向量,通过Image Projector得到,与文本向量一起输入LLM。
  2. LLaVA方案简介

    • LLaVA训练阶段:使用文本+图像问答对训练Image Projector。
    • LLaVA测试阶段:利用训练好的Image Projector和文本单模态LLM,对输入图像生成描述性文本。

快速上手

  1. 环境准备

    • 开发机准备:在InternStudio创建开发机,选择Cuda11.7-conda镜像,配置30% A100 * 1资源。
    • XTuner安装:根据平台不同,克隆环境或创建新的conda环境,并安装XTuner。
  2. 概述:构造自己的<question text><img>--<answer text>数据对,基于InternLM2_Chat_1.8B模型,使用LLaVA方案训练Image Projector。

  3. Pretrain阶段:使用图片+简单文本数据对,使LLM理解图像中的普遍特征。

  4. Finetune阶段

    • 训练数据构建:创建包含id、image、conversation的JSON格式数据集。
    • 准备配置文件:创建并修改配置文件,指定模型路径、数据集路径等。
    • 开始Finetune:使用XTuner训练配置文件,进行Finetune。
  5. 对比Finetune前后的性能差异:展示Finetune前后模型对图像的响应能力。

可以看出微调后不只会打标题了,还能够详细地描述图片。

  • 21
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值