- 博客(35)
- 收藏
- 关注
原创 Qwen2-1.5B-Instruct Lora微调
最近做了一个基于Qwen2-1.5B-Instruct模型的比赛,记录一下自己的微调过程。怕自己以后忘了我就手把手一步一步来记录了。大多数都是给小白看的,如果你是小白建议你用jupyter运行,按照我这个模块一块一块运行,如果你是高手单纯的想找一个训练代码直接看模块10,我在提供了完整代码。
2024-07-24 17:40:18 1721 5
原创 Tiny-universe-taks3-Tiny-Agent
在计算机科学和人工智能中,Agent是一种自主软件实体,能够在某个环境中感知、推理、决策和执行任务。它们可以根据环境状态和目标做出独立决策,通常具有学习和适应能力。Agent的特点:自主性:Agent能够自主执行任务,无需用户的持续干预。感知能力:Agent可以通过传感器(如用户输入、API数据等)获取环境信息,比如通过Agent调用一些天气相关的API让模型可以得到实时的天气信息。智能决策:基于获取的信息和预设的规则或学习到的知识,Agent可以进行推理和决策。
2024-09-27 20:16:11 360
原创 Tiny-universe-taks1-LLama3模型原理
如下图,根据原始的输入通过可学习的线性变换得到三个矩阵Wq、Wk、Wv,分别将输入映射得到Q、K、V,让不同通道间的Q、K计算内积,得到的结构在进行softmax得到一个注意力得分,在乘上V,就得到了注意力加权后的模型。就像下面这个图里,embeding其实做的事可以看成两步,首先经过词汇表把汉字或单词转化成一维的索引序列,然后再通过你所指定的hidden_size来对序列映射,假如hidden_size=512,那么你每一个索引就是512维的向量。通过矩阵乘法计算查询和键的点积,得到注意力权重。
2024-09-19 19:56:51 677
原创 DataWhale AI夏令营-《李宏毅深度学习教程》笔记-task3
所以把正向的网络在输入xt 的时候跟逆向的网络在输入 xt 时,都丢到输出层产生 yt,产生 yt+1,yt+2,以此类推。其实前面提到过了RNN架构,书中给出的例子如下图,其实也就是之前提到过的每一层的输出不知取决于当前层的输入还有上一层的输出有关,书中给出的解释是,上一层的输出结果会储存在记忆层中,这时候当前隐藏层预测结果会同时考虑当前的输入与记忆层的内容。由图可知RNN的输入来自于上一层的输出结果和当前层的输入,所以RNN常被用来预测金融市场、气象等领域,通过分析过去的数据序列预测未来的趋势。
2024-09-03 20:38:02 730
原创 DataWhale AI夏令营 2024大运河杯-数据开发应用创新赛-task3
多的不说少的不唠,之前说过初赛基本就是比谁的数据好了,因为原始数据的质量太低了想跑到0.25都很难所以需要使用一些数据增强策略以及收集一些新的数据集。
2024-08-31 16:46:27 1144
原创 DataWhale AI夏令营 2024大运河杯-数据开发应用创新赛-task2
后经历了两次迭代,到yolov3凭借其快速准确的优势迅速统治目标检测领域,后来好像是美军把他的模型应用到武器方面,作者宣布不在迭代新的版本。先说一下这几天跑下来个人感觉吧,就是数据太差了,细致观察数据可以发现主办方给出标注数据的视频大多都是同一个场景,我甚至看到两个黄色共享电动车的出现在2/5的数据里面也就是50个视频20个有这俩哥们(我自己标了一遍数据,现在看到共享电动我都反胃)。所以,初赛的上分思路截止到目前不建议大家去更换模型修改模型了就,没什么意义,因为数据决定了你80%的成功。
2024-08-29 19:52:25 490
原创 DataWhale AI夏令营-《李宏毅深度学习教程》笔记-task2
卷积层:机器人先学习“看”图像的小部分,比如耳朵、眼睛的形状、胡须的样子等等。这部分看书的时候感觉云里雾里的,好在之前学过一些卷积神经网络、全链接、感受野的概念,我就用自己的理解阐述一篇笔记吧,当复习了。全连接层:最后,机器人会综合所有这些信息,得出结论:“嗯,这只动物有尖尖的耳朵、圆圆的眼睛、长长的胡须,应该是一只猫!池化层:然后,机器人会把这些特征简化,找到最具代表性的部分,好比你在一个小尺寸的缩略图中还认得出这些部分。就像下图一样,有一个3×3的框,在原始6×6的图像上滑动,来捕捉一些信息。
2024-08-28 22:06:46 421
原创 DataWhale AI夏令营-《李宏毅深度学习教程》笔记
之前一直接触的LLM大模型做一些应用,或者传统的自然语言处理,都是直接拿别人的模型用,要不就是在网上找些源码自己改,还有一些视觉识别任务,大多都是应用层面的知识,刚好DataWhale有这次机会可以补充一下深度学习的基础知识。书籍地址:https://github.com/datawhalechina/leedl-tutorial也非常建议大家购买纸质版书籍,必看pdf方便多了。
2024-08-25 18:33:52 744
原创 DataWhale AI夏令营-天池-可图Kolors-LORA风格故事挑战赛
时文末提出的技巧一样,datawhale社区贡献者们在task2中主要也是使用这种方式----使用大模型对文生图的提示词进行生成,在当今主流的敲代码或者编写一些提示词的方式,慢慢的大多数都被交给大模型来处理“科技就是生产力”,不仅能提高我们的效率,而且可能会比我们自己写的更好一些。除了通义千问我还试了一下gpt4o-mini模型,不吹不黑确实是通义要强一些哈(这里我就不放和正常的4o对比的了,毕竟那个是付费的肯定强一些),国产加油!效果展示,图片的质量还是不错的,场景信息也都还行,大家可以多用大模型调试。
2024-08-14 20:29:08 299
原创 DataWhale AI夏令营-天池-可图Kolors-LORA风格故事挑战赛
文生图有很多模型架构其实,比如GAN、Flow-based等,这里我主要介绍两种比较能打的分别是DALL·E和Diffusion。其中本次DataWhale的学习也是围绕Diffusion模型开展的,很喜欢一句话在这里引用一下" 高斯去噪,扩散称王。
2024-08-11 17:52:58 886
原创 DataWhale AI夏令营-催化反应速率预测(机器学习方向思路)
[TOC](DataWhale AI夏令营-催化反应速率预测(机器学习方向思路))(无特征工程)
2024-08-03 21:52:28 543
原创 DataWhale AI夏令营-催化反应速率预测(更换模型)
开始训练,这个部分是我血与泪的教训,建议大家无论用什么条参方法千万少写参数范围,因为官方提供的阿里云机器跑太久了总会出现奇怪的错误导致你白跑。学习率参数能够更好的减小模型过拟合的风险,并且梯度提升回归模型对超参数更为敏感,通过网格搜索、贝叶斯搜索等自动化调参方法更容易拿到高一些的分数。这里我还是使用的传统的网格搜索的方式,大家感兴趣的话可以尝试其他方法。加油吧,祝你取得心仪的分数哦,后面我可能会继续尝试新模型,因为特征工程做起来感觉比较麻烦,暂时不想考虑(打工人没时间,唉!读取数据并转化为分子指纹。
2024-07-30 19:06:03 415
原创 DataWhale AI夏令营-大模型技术实践
以下是个人从本次学习中,学习到的一些技巧,以及对于大模型应用类任务调优的心得。其实对于大模型应用,主要注重两个方面,一是提示词工程(Prompt工程),二是模型微调。话不多说接下来我将从这两个方面分享我通过本次学习收获的知识。
2024-07-29 00:12:39 743
原创 DataWhale AI夏令营-催化反应速率预测
报名的时候没仔细看,报错赛道了。。。不过还好,DataWhale与传统的竞赛不同的是对新手非常有好,并且提供了很详细的baseline的流程,和代码讲解,很快能让人上手。对于本次竞赛还是收获较多的,以前接触的比较多的都是计算机视觉(CV),自然语言处理(Nlp)和大模型(LLM)应用之类相关的项目,刚好借此次机会学习一些基础的机器学习知识。
2024-07-28 15:54:11 607
原创 昇思25天学习打卡
图像语义分割(semantic segmentation)是图像处理和机器视觉技术中关于图像理解的重要一环,AI领域中一个重要分支,常被应用于人脸识别、物体检测、医学影像、卫星图像分析、自动驾驶感知等领域。FCN全卷网络,舍弃了传统的全连接层,仅使用卷积和池化等操作完成,end-to-end的像素集预测网络。这个就不用过多赘述了,目标检测是画框,语义分割就是把目标从图里面抠出来。下载预训练VGG-16模型。
2024-07-25 21:08:29 372
原创 昇思25天学习打卡
无论全局context是设置成静态图模式还是动态图模式,被jit修饰的部分始终会以静态图模式进行运行。动态图的特点是计算图的构建和计算同时发生(Define by run),其符合Python的解释执行方式,在计算图中定义一个Tensor时,其值就已经被计算且确定,因此在调试模型时较为方便,能够实时得到中间结果的值,但由于所有节点都需要被保存,导致难以对整个计算图进行优化。模式下,基于图优化、计算图整图下沉等技术,编译器可以针对图进行全局的优化,获得较好的性能,因此比较适合网络固定且需要高性能的场景。
2024-07-23 21:00:20 521
原创 昇思25天学习打卡
除Checkpoint外,MindSpore提供了云侧(训练)和端侧(推理)统一的中间表示(Intermediate Representation,IR)。上节主要介绍了如何调整超参数,并进行网络模型训练。在训练网络模型的过程中,实际上我们希望保存中间和最后的结果,用于微调(fine-tune)和后续的模型推理与部署,本章节我们将介绍如何保存与加载模型。已有的MindIR模型可以方便地通过load接口加载,传入nn.GraphCell即可进行推理。要加载模型权重,需要先创建相同模型的实例,然后使用。
2024-07-23 17:39:42 419
原创 昇思25天学习打卡
这里构建一个基础的神经网络nn.ReLU(),nn.ReLU(),超参(Hyperparameters):可以调整的参数,可以控制模型训练优化的过程,不同的超参数值可能会影响模型训练和收敛速度。训练轮次(epoch):训练时遍历数据集的次数。批次大小(batch size):数据集进行分批读取训练,设定每个批次数据的大小。batch size过小,花费时间多,同时梯度震荡严重,不利于收敛;
2024-07-23 17:20:33 900
原创 昇思25天学习打卡
为了优化模型参数,需要求参数对loss的导数:此时我们调用mindspore.grad函数,来获得function的微分函数。MindSpore使用函数式自动微分的设计理念,提供更接近于数学语义的自动微分接口grad和value_and_grad。完成后,由于需要使用函数式自动微分,需要将神经网络和损失函数的调用封装为一个前向计算函数。完成后,我们使用value_and_grad接口获得微分函数,用于计算梯度。mindspore这门课程中把它叫做函数自动微分,其实就是反向传播。fn:待求导的函数。
2024-07-22 19:19:53 418
原创 昇思25天学习打卡
构建神经网络nn.ReLU(),nn.ReLU(),在第一次打卡中我们详细的介绍过每一层的含义,并且举例对比过torch框架第一次打卡。完成构建后可以通过实例化,检查网络Network
2024-07-22 18:48:12 400
原创 昇思25天学习打卡
模块提供一系列针对文本数据的Transforms。与图像数据不同,文本数据需要有分词(Tokenize)、构建词表、Token转Index等操作。这里简单介绍其使用方法。数据传入神经网络前一般需要进行一些处理,类似torch框架下的数据处理比如数据增强(翻转等操作),mindspore也使用transforms进行数据增强等操作。mindspore.dataset.vision模块提供一系列针对图像数据的Transforms。Compose接收一个数据增强操作序列,然后将其组合成单个数据增强操作。
2024-07-20 22:33:16 232
原创 昇思25天学习打卡
数据是深度学习的基础,高质量的数据输入将在整个深度神经网络中起到积极作用。MindSpore提供基于Pipeline的数据引擎,通过数据集(Dataset)和数据变换(Transforms)实现高效的数据预处理。通过指定url的方式对数据进行下载。
2024-07-20 20:26:10 377
原创 Linux内核源码编译过程
对于驱动的添加相对复杂的过程是编写他的Makefile文件,这时候可以借助Cmake直接生成对应驱动的Makefile文件,能大大的降低驱动编写的难度。顶层得Makefile调用底层的Makefile→最后把文件都链接成镜像文件。“g++ *o -o test” 编译所有.o文件生存可执行文件test。执行完成后会生成一个test文件执行文件使用指令“ ./test ”Makefile→针对所有源码的Makefile文件。“g++ 文件名 -c” 会先生产.o文件。“./test” 执行文件。
2024-01-23 20:57:24 413
原创 设备驱动添加到源代码
①.找到驱动对应的drivers里面的文件夹(对应好你选择的设备例如字符驱动就到char文件夹里面)cd drivers/char。添加 obj - $(CONFIG_HELLO) +=helloDev.o(你自己的.o文件名)设置default模式y/m/n(直接模仿里面现成的就行)③在drivers/char中vi Makefile。②在Kconfig中添加设备vi Kconfig。“bool:只支持编译到内核里,也就是y/n”参数“tristate:表示三态y/m/n”
2024-01-19 14:22:00 363 1
原创 Linux设备驱动学习打卡5
1969年发布的RS-232修改版RS-232C是嵌入式系统应用最广泛的串行接口,它为连接DTE(数据终端设备)与DCE(数据通信设备)而制定。RS-232C标准接口有25条线(4条数据线、11条控制线、3条定时线、7条备用线和未定义线),常用的数据线有9根,他们是RTS/CTS(请求发送/清除发送流控制)、RxD/TxD(数据收发)、DSR/DTR(数据终端就绪/数据设置就绪流控制)、DCD(数据载波检测)Ringing-RI(振铃指示)、SG(信号地)信号。由于发烧,今天的笔记先写到这吧。
2023-12-30 17:01:38 353 1
原创 Linux设备驱动学习打卡4
NOR(或非)和NAND(与非)是市场上两种主要的Flash闪存技术。两种Flash与CPU的接口方式也各有不同,NOR Flash与CPU的接口方式是类SRAM接口(包括:数据总线、地址总线、读信号、写信号、片选、字节使能、就绪/忙、中断);NAND Flash接口包括:I/O总线(地址、指令和数据通过这组总线传输,一般为8位或16位)、芯片启动(CE)、写使能、读使能、指令锁存使能、地址锁存使能、就绪/忙(Ready/Busy,R/B#:如果NAND器件忙,R/B#信号将变为低电平。
2023-12-29 14:59:15 398 1
原创 Linux设备驱动开发学习打卡3
网络处理器是一种可编程器件,他应用于电信领域的各种任务,如包处理、协议分析、路由查找、声音/数据的汇聚、防火墙、QoS等。因此,改进的哈佛结构针对程序和数据,其实没有独立的总线,而是使用公用数据总线来完成程序存储模块或数据存储模块与CPU之间的数据传输,公用的地址总线来寻址程序和数据。数字信号处理器包括,定点DSP、浮点DSP。从指令集角度讲,中央处理器可以分为RISC(精简指令集计算机)、CISC(复杂指令集计算机)两类,CISC强调增强指令的能力、减少目标代码数量,但是指令复杂,指令周期长;
2023-12-28 21:42:39 424
原创 Linux驱动开发学习2
编写Linux设备驱动要求工程师具有非常好的硬件基础,懂得SRAM、Flash、SDRAM、磁盘的读写方式,UART、I2C、USB等设备的接口及轮询、中断、DMA的原理等等。除网络设备外,字符设备和块设备都被映射到Linux文件系统的文件和目录,通过文件系统的系统调用接口即可访问字符设备和块设备。*编写Linux设备驱动要求工程师有一定的Linux内核基础,但不需要深入研究,只要明白驱动和内核的接口即可。*编写Linux设备驱动要求工程师有非常好的多任务并发控制和同步的基础。
2023-12-27 12:10:11 352 1
原创 Linux设备驱动开发学习打卡1
此时,需要设备的驱动设计有面向操作系统内核的接口,把原本单一的“驱使硬件设备行动”变成了操作系统内与硬件交互的模块,对外呈现为操作系统的API,此时应用软件工程师需要调用操作系统的API接口间接的访问驱动实现对硬件的控制。设备驱动充当了硬件和软件之间的纽带,他让本难以沟通的应用软件和硬件之间可以变得更好的相互促进相互协同。并不是所有的计算机系统都一定要有操作系统,对于一些功能单一控制比较简单的系统是不需要使用操作系统的。这个时候需要应用软件工程师直接调用设备驱动的接口,设备驱动来直接完成对硬件的控制。
2023-12-26 15:32:19 350
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人