大模型微调实验记录(一)数据探索

news2025/5/20 5:49:00

文章目录

    • 概要
    • 整体架构流程
    • 前期的技术探索
    • 技术构造
    • 技术细节
    • 小结

概要

根据之前博客使用的docker技术,如果换公司了,我可能就要重新搭建环境了,哎,公司没资源给我,给我一台带不走的电脑,哎,这可是我这种数据科学人调试好的电脑,这套服务就值几千了。
算了,留着给他们玩吧,深度学习他们姑且也听不懂,和天书一样,我现在要实现一个RAG和一个简单的模型微调,ChatGLM6B,感谢清华团队的开源,让我这种穷逼也能玩一下大模型,我还是非常尊敬知识的。

虽然知道模型的架构什么样,但是我不配玩,所以我现在在创造大模型方面一点经验都没有。

目前,为了纪念我离开这家经过我父亲推荐我过来的这家公司,我会做一个接入公司文档的服务给他们用,本来我还在想要不要做一整套GIS服务的系统给他们,不过看这边的技术人员都走的差不多了,那我还不如趁此把大模型微调的经验积累一下,然后离开这家让我成长但在工资待遇上没有给我太多帮助的公司,我首先还是要感谢我的父母,至少我还是成长了,不然我就要用技术开发AI黑客攻击了,我有这个实力,不过现在我也释然了,一切的命运都有定数罢了,既然不让我在这个国家过的好,估计后面我会在国外玩起来吧,死在国外我也不拍,死了就死了而已,人生对我来说就是玩。

不过想想也是,我总算知道李白为什么那么痛苦了,人生得意须尽欢,有了技术就是搞破坏,反正我有技术用不到正途,那就用到别处去。

整体架构流程

搜索资料以及问AI这构思玩意,主要提到的技术有

RAG技术
大模型微调技术
前后端技术

主要功能

RAG技术建立公司文档知识库,每天定时任务,处理所有文档并使用WordVec进行向量化导入到PostgresSQL。

前期的技术探索

了解什么是模型?
先随便了解一下Qwen1.5B模型的架构
在这里插入图片描述
门控卷积,MLP,以及输出头,Embadding这些玩意都需要一个一个了解,不过这些东西只是架构罢了,他们也是一点一点证明这些架构有什么用的,聚合信息,跳转信息,都是实验的结果,想了解这些架构得自己看实验结果去,基本上每人会去研究这些架构,全是一些调用API的玩意,技术也就只有业务技术了,全是死玩意。

q,k,v,o这个架构很经典,想学深一点可以去学学,我玩图像的深度学习的时候玩出花来。

tokenizer这个东西,怎么看?
我用代码来解释一下,这玩意你可以称之为“翻译官”,模型就是“歪果仁”
在这里插入图片描述
里面raw_input的句子被变成了机器种族的数字语言,然后我又叫翻译官给我又翻译回来,数字上的零就是翻译官翻译时的pad,意思是填充,attention_mask,就是指注意力掩码,像填充的pad就是0,意思是不配被注视。

想微调模型要学会什么?

答案是做数据集,不过我们要先尝试,后续再把数据处理流程给写光,不过如果是以前,人们都要苦于怎么做dataset,但是transformer有它的DataCollatorWithPadding,这极大的帮助了人们,但不知道的就要遭罪喽。
在这里插入图片描述
这个数据集,只有句子1,句子2,标签(情感分析的标签),以及有利于管理的idx。
通过tokenier翻译官把数据集变成机器种族的语言,就能开始我们的训练了,这也叫微调。

训练是什么玩意?
额,没亲手写过代码的肯定不清楚训练干了什么,如果连训练的概念都不知道,我只能说,别学这玩意了,因为人家一点机会都不给你,早早就封装了这个库,几行代码就可以开始训练和微调。
在这里插入图片描述
前沿的技术已经决定了如何更好的更深刻的了解大模型,不过我也没办法,大模型太大了我玩不了,我只能玩小模型。

技术构造

我有看过大模型微调,似乎现在用到的是LLama-Factory,所以我直接docker给它拉过来
在这里插入图片描述
进入容器并启动WebUI
在这里插入图片描述
打开后就是微调、训练等的界面
在这里插入图片描述

点开模型可以看到那群公司要的Deepseek
在这里插入图片描述

说实话,没学过训练的可能都能来训练,至于设备会不会坏就不是我的事了,把数据集准备好,模型下载好,参数和一些方法选一下,一个简单的训练器就完成了,如果说是个水硕出来,当当调参侠也挺好的,只是不会怎么写这种代码而已,不过这个东西已经是集成了很多优点了,小孩子只要会选择,就能当一个大模型的微调师傅,叫手下人把参数都选好,当最后那个点击训练的人哈哈哈。
在这里插入图片描述

技术细节

我肯定不会写一些烂技术,不过这个技术可以给人培养兴趣,毕竟只有看到了结果,才有可能有兴趣去做事。

主要技术内容:提示工程、RAG、微调、更换大模型、使用多模态大模型

在这里插入图片描述
我用PPT随便画了一个架构图
后续我会开发一个基于ChatGLM来做的模型微调实验,供大家伙有一个模型微调的经验

小结

前期的探索已完成,后续直接进行开发系统

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb-社区版Idea安装配置

idea配置 一,下载idea社区版 百度搜索IntelliJ IDEA,点击下载链接。 二,全局配置 前提安装好jdk,这一步不再赘述。进入引导页,把可以配置的东西都先配置上,这个配置是全局的,省的之后&#…

商城系统单商户开源版源码

环境配置 1.软件安装 宝塔安装系统软件:Nginx、MySQL5.6、PHP( PHP用7.1-7.4版本)、phpMyAdmin(Web端MySQL管理工具)。 2.配置mysql 设置mysql,在已安装的软件里面找到 mysql点击进行设置 3.修改sql-mode 选择左侧配置修改,找到里面的sql-mode&…

Python PDF文件拆分-详解

目录 使用工具 将PDF按页数拆分 将PDF的每一页拆分为单独的文件 将PDF按指定页数拆分 根据页码范围拆分PDF 根据指定内容拆分PDF 将PDF的一页拆分为多页 在日常生活中,我们常常会遇到大型的PDF文件,这些文件可能难以发送、管理和查阅。将PDF拆分成…

ubuntu部署gitlab-ce及数据迁移

ubuntu部署gitlab-ce及数据迁移 进行前梳理: 在esxi7.0 Update 3 基础上使用 ubuntu22.04.5-server系统对 gitlab-ce 16.10进行部署,以及将gitlab-ee 16.9 数据进行迁移到gitlab-ce 16.10 进行后总结: 起初安装了极狐17.8.3-jh 版本(不支持全局中文,就没用了) …

Y3学习打卡

网络结构图 YOLOv5配置了4种不同大小的网络模型,分别是YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,其中 YOLOv5s 是网络深度和宽度最小但检测速度最快的模型,其他3种模型都是在YOLOv5s的基础上不断加深、加宽网络使得网络规模扩大,在增强…

英码科技携昇腾DeepSeek大模型一体机亮相第三届北京人工智能产业创新发展大会

2025年2月28日,第三届北京人工智能产业创新发展大会在国家会议中心隆重开幕。本届大会以"好用、易用、愿用——以突破性创新加速AI赋能千行百业”为主题,重点展示人工智能技术创新成果与产业化应用实践。作为昇腾生态的APN伙伴,英码科技…

JS禁止web页面调试

前言 由于前端在页面渲染的过程中 会调用很多后端的接口,而有些接口是不希望别人看到的,所以前端调用后端接口的行为动作就需要做一个隐藏。 禁用右键菜单 document.oncontextmenu function() {console.log("禁用右键菜单");return false;…

modbus 协议的学习,谢谢老师

(1)谢谢这位老师 ,谢谢老师的教导 (2) 谢谢

题解 | 牛客周赛82 Java ABCDEF

目录 题目地址 做题情况 A 题 B 题 C 题 D 题 E 题 F 题 牛客竞赛主页 题目地址 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ 做题情况 A 题 判断字符串第一个字符和第三个字符是否相等 import java.io.*; import java.math.*; import java.u…

命名管道——进程间通信

个人主页:敲上瘾-CSDN博客 匿名管道:进程池的制作(linux进程间通信,匿名管道... ...)-CSDN博客 一、命名管道的使用 1.创建命名管道 1.1.在命令行中: 创建: mkfifo 管道名 删除&#xff1a…

高频 SQL 50 题(基础版)_1141. 查询近30天活跃用户数

1141. 查询近30天活跃用户数 select activity_date day,count(distinct user_id) active_users from Activity where (activity_date<2019-07-27 and activity_date>DATE_sub(2019-07-27,INTERVAL 30 DAY)) group by(activity_date)

Yocto + 树莓派摄像头驱动完整指南

—— 从驱动配置、Yocto 构建&#xff0c;到 OpenCV 实战 在树莓派上运行摄像头&#xff0c;在官方的 Raspberry Pi OS 可能很简单&#xff0c;但在 Yocto 项目中&#xff0c;需要手动配置驱动、设备树、软件依赖 才能确保摄像头正常工作。本篇文章从 BSP 驱动配置、Yocto 关键…

计算最大海岛面积

最大海岛面积问题的不同解法 问题举例 给定一个包含了一些 0 和 1 的非空二维数组 matrix 。 一个岛屿是由一些相邻的 1 (代表土地) 构成的组合&#xff0c;这里的「相邻」要求两个 1 必须在水平或者竖直方向上相邻。你可以假设matrix的四个边缘都被 0&#xff08;代表水&am…

Spark核心之02:RDD、算子分类、常用算子

spark内存计算框架 一、目标 深入理解RDD弹性分布式数据集底层原理掌握RDD弹性分布式数据集的常用算子操作 二、要点 ⭐️1. RDD是什么 RDD&#xff08;Resilient Distributed Dataset&#xff09;叫做**弹性分布式数据集&#xff0c;是Spark中最基本的数据抽象&#xff0c…

[Windows] 批量为视频或者音频生成字幕 video subtitle master 1.5.2

Video Subtitle Master 1.5.2 介绍 Video Subtitle Master 1.5.2 是一款功能强大的客户端工具&#xff0c;能够批量为视频或音频生成字幕&#xff0c;还支持批量将字幕翻译成其他语言。该工具具有跨平台性&#xff0c;无论是 mac 系统还是 windows 系统都能使用。 参考原文&a…

进来了解一下python的深浅拷贝

深浅拷贝是什么&#xff1a;在Python中&#xff0c;理解深拷贝&#xff08;deep copy&#xff09;和浅拷贝&#xff08;shallow copy&#xff09;对于处理复杂的数据结构&#xff0c;如列表、字典或自定义对象&#xff0c;是非常重要的。这两种拷贝方式决定了数据在内存中的复制…

解锁GPM 2.0「卡顿帧堆栈」|代码示例与实战分析

每个游戏开发者都有一个共同的愿望&#xff0c;那就是能够在无需复现玩家反馈的卡顿现象时&#xff0c;快速且准确地定位卡顿的根本原因。为了实现这一目标&#xff0c;UWA GPM 2.0推出了全新功能 - 卡顿帧堆栈&#xff0c;旨在为开发团队提供高效、精准的卡顿分析工具。在这篇…

微服务,服务治理nacos,负载均衡LOadBalancer,OpenFeign

1.微服务 简单来说&#xff0c;微服务架构风格[1]是一种将一个单一应用程序开发为一组小型服务的方法&#xff0c;每个服务运行在 自己的进程中&#xff0c;服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并 且可通过全自动部署机制独立部署。这…

栈和队列的模拟实现

文章目录 一. 回顾栈和队列二. stack的模拟实现stack.hstack.cpp 三. queue的模拟实现queue.htest.cpp 四. 了解dequeuevector和list都有各自的缺陷deque 总结 一. 回顾栈和队列 回顾一下栈和队列 栈&#xff1a;stack&#xff1a;后进先出 _ 队列&#xff1a;queue&#xf…

unity pico开发 四 物体交互 抓取 交互层级

文章目录 手部设置物体交互物体抓取添加抓取抓取三种类型抓取点偏移抓取事件抓取时不让物体吸附到手部 射线抓取交互层级 手部设置 为手部&#xff08;LeftHandController&#xff09;添加XRDirInteractor脚本 并添加一个球形碰撞盒&#xff0c;勾选isTrigger,调整大小为0.1 …