- 博客(84)
- 收藏
- 关注
原创 跟李沐学AI:DALL·E 2 论文精读
如CLIP等基于对比学习的模型,已经学会了如何捕捉一个稳健的、包含语意和风格的图像特征。为了将这种特征利用与图像生成任务,作者团队提出了一个两阶段的模型:1. 一个Prior模型根据给定的文本描述,生成CLIP图像Embedding;2. 一个根据图像Embedding生成图片的Decoder。文本 -> CLIP生成文本特征 -> 根据文本特征生成图像特征(Prior) -> 解码器根据图像特征生成图像作者团队发现。显式地加入文本特征可以在最小损害图像真实性和文本相似性的情况下,提升图像的多样性。
2025-03-27 20:18:34
702
1
原创 深度学习:从零开始的DeepSeek-R1-Distill有监督微调训练实战(SFT)
因为数据集是英文的,所以promt也采用英文,保证语言一致性。
2025-03-19 11:46:59
1542
1
原创 Harmony OS:用户文件操作——图片选择与渲染使用
核心概念:指用户在设备上创建或保存的私有数据,如图片、视频、文档等。应用访问用户文件需要用户授权或由用户主动操作。分为内置存储和外置存储。存储位置详解:内置存储 (不可移除):以媒体文件形式存储(有元数据如拍摄时间地点等),通常以相册/所有文件形式展示,不显示具体存储路径。以媒体文件形式存储(有元数据如专辑、作者等),通常以专辑/所有文件等形式展示,不显示具体存储路径。以普通文件形式存储,包括文本、压缩文件以及以文件形式存储的媒体文件,以目录树形式展示。
2025-03-10 19:05:57
745
原创 HarmonyOS:应用文件概述(通俗易懂解释版)
应用文件:文件所有者为应用,包括应用安装文件、应用资源文件、应用缓存文件等。设备上应用所使用及存储的数据,以文件、键值对、数据库等形式保存在一个应用专属的目录内。该专属目录我们称为“应用文件目录”,该目录下所有数据以不同的文件格式存放,这些文件即应用文件。“应用文件目录”与一部分系统文件(应用运行必须使用的系统文件)所在的目录组成了一个集合,该集合称为“应用沙箱目录”,代表应用可见的所有目录范围。因此“应用文件目录”是在“应用沙箱目录”内的。系统文件及其目录对于应用是只读的;应用仅能保存文件到“
2025-03-10 15:34:42
1180
原创 跟李沐学AI:InstructGPT论文精读(SFT、RLHF)
1. RLHF 的基本概念RLHF 是一种结合强化学习和人类反馈的训练方法,旨在让模型生成更符合人类期望的输出。它通过引入人类的偏好数据来调整模型的行为,使其不仅能够生成语法正确的文本,还能生成语义上更贴合用户意图的内容2. RLHF 的主要步骤(1) 预训练语言模型在 RLHF 流程开始之前,使用一个预训练的语言模型作为基础。预训练的目标是让模型掌握大规模语言知识,但此时的模型尚未经过特定任务的优化(2) 监督微调(Supervised Fine-Tuning, SFT)
2025-02-18 23:05:11
1762
原创 HarmonyOS NEXT:应用程序框架进阶
UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口。一个应用可以包含一个或多个UIAbility组件。例如,在支付应用中,可以将入口功能和收付款功能分别配置为独立的UIAbility。每一个UIAbility组件实例都会在最近任务列表中显示一个对应的任务。如果开发者希望在任务视图中看到一个任务,建议使用“一个UIAbility+多个页面”的方式,可以避免不必要的资源加载。如果开发者希望在任务视图中看到多个任务,或者需要同时开启多个窗口,建议使用多个UIAbility实现不同的功能。
2025-02-04 20:26:01
1204
原创 HarmonyOS NEXT:保存应用数据
关系型数据库基于SQLite组件,适用于存储包含复杂关系数据的场景。关系型数据库对应用提供通用的操作接口,底层使用SQLite作为持久化存储引擎,支持SQLite具有的数据库特性,包括但不限于事务、索引、视图、触发器、外键、参数化查询和预编译SQL语句。
2025-02-01 18:35:31
1139
原创 前端学习:Axios Http请求库入门与实战应用
Promise?Promise是一个表示异步操作最终完成或失败的对象。它允许你更优雅地处理异步操作,避免回调地狱(Callback Hell)。Axios 是一个基于 Promise 的 HTTP 库,用于发送网络请求。它可以在浏览器和 Node.js 环境中使用,支持各种 HTTP 方法(如GETPOSTPUTDELETE等)。它的主要特点包括:简单易用:API 设计直观,易于上手。支持 Promise:与现代 JavaScript 无缝集成。拦截器:可以在请求发送前和响应接收后自定义处理逻辑。
2025-01-31 13:29:01
1066
1
原创 跟李沐学AI:视频生成类论文精读(Movie Gen、HunyuanVideo)
Movie Gen是Meta公司提出的一系列内容生成模型,包含了。
2025-01-30 16:33:27
1826
原创 深度学习:基于MindNLP的RAG应用开发
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合检索(Retrieval)和生成(Generation)的技术,旨在提升大语言模型(LLM)生成内容的准确性、相关性和时效性。基本思想:通过外部知识库动态检索与用户查询相关的信息,并将检索结果作为上下文输入生成模型,辅助生成更可靠的回答。与传统LLM的区别:传统LLM仅依赖预训练参数中的静态知识,而RAG能实时利用外部数据,解决模型幻觉(编造信息)和知识过时的问题。检索阶段(Retrieval)
2025-01-26 18:27:10
868
原创 深度学习:大模型Decoding+MindSpore NLP分布式推理详解
例如,模型可能会预测下一个token是“玩耍”的概率为0.4,“睡觉”的概率为0.3,等等。高概率的token更有可能被采样,而低概率的token也有可能被采样到(尤其是在多样性较高的场景中)。在案例中,Top-k采样会选出概率最高的sat(0.5)和jumped(0.3),随后从这两个token中随机采样出下一个预测的token作为模型的输出。在案例中,Top-p采样回选出sat(0.5),jumped(0.3)和is(0.1),随后对这三个token进行随机采样出下一个token。
2025-01-18 16:48:07
1368
原创 深度学习:基于MindSpore NLP的数据并行训练
数据并行(Data Parallelism, DP)的核心思想是将大规模的数据集分割成若干个较小的数据子集,并将这些子集分配到不同的 NPU 计算节点上,每个节点运行相同的模型副本,但处理不同的数据子集。
2024-12-29 13:55:26
1426
原创 深度学习:基于MindSpore的极简风大模型微调
PEFT(Parameter Efficient Fine-Tuning)是一系列让大规模预训练模型高效适应于新任务或新数据集的技术。PEFT在保持大部分模型权重冻结,只修改或添加一小部份参数。这种方法极大得减少了计算量和存储开销,但保证了大模型在多个任务上的复用性。
2024-12-10 23:13:11
1277
原创 深度学习:MindSpore自动并行
随着模型规模的逐渐增大,需要的算力逐渐增强,但是算力需求增长速度远高于芯片算力增长速度。现在唯一的解决方案只有通过超大规模集群训练大模型。
2024-12-04 19:14:55
919
原创 深度学习:Vision Transformer的相关工作学习笔记
随着Transformer架构在NLP(Natural Language Processing)领域的兴起,不少学者希望将Transformer架构中的技术迁移至CV(Computer Vision)领域以提高模型规模并能处理大规模的数据。CNNs一直在CV领域占据主导地位。受NLP影响,不少学者尝试将自注意力机制加入CNN架构,如替换CNN的部份组件或与CNN一起使用,CNN的整体架构并未改变。
2024-12-01 23:07:12
147
原创 深度学习:代码预训练模型
代码预训练具有如下特点:多语言能力掌握、代码特殊格式处理。评测代码预训练结果主要考虑:追求正确性、功能、逻辑正确实现、实现用户意图。
2024-11-28 18:35:23
659
原创 深度学习:GPT-2的MindSpore实践
GPT-2是一个由OpenAI于2019年提出的自回归语言模型。与GPT-1相比,仍基于Transformer Decoder架构,但是做出了一定改进。GPT-1有117M参数,为下游微调任务提供预训练模型。GPT-2显著增加了模型规模,提供了多种模型,如:124M、355M、774M和1.5BGPT-2训练于数据量约有45GB的WebText数据集。数据集的数据收集于Reddit中的网络文章。
2024-11-27 23:05:37
897
原创 深度学习:GPT-1的MindSpore实践
GPT-1(Generative Pre-trained Transformer)是2018年由Open AI提出的一个结合预训练和微调的用于解决文本理解和文本生成任务的模型。NLP领域的迁移学习:通过最少的任务专项数据,利用预训练模型出色地完成具体的下游任务。语言建模作为预训练任务:使用无监督学习和大规模的文本语料库来训练模型为具体任务微调:采用预训练模型来适应监督任务和BERT类似,
2024-11-22 22:18:09
1049
1
原创 大模型本地部署实践:Ollama+Open-WebUI(MacOS)
Ollama是一个为简化大语言模型本地部署与交互的开源框架。它提供了用户友好的接口,帮助开发者和模型爱好者在没有依赖外部API的基础上高效地运行、管理和定制大语言模型。Ollama支持各种各样的开源大模型,包括但不限于:Llama系列、Mistral系列、Qwen系列、Gemma系列等,可以在官方Library浏览支持的模型:library注意:请保证至少有8GB RAM来运行7B模型,16GB来运行13B模型,33B模型则至少需要32GB RAM。
2024-11-19 23:17:49
3739
原创 深度学习:昇思MindSpore生态桥接工具——MindTorch实践
MindTorch是一款将PyTorch训练脚本高效迁移至MindSpore框架执行的实用工具,旨在不改变原生PyTorch用户的编程使用习惯下,使得PyTorch风格代码能在昇腾硬件上获得高效性能。用户只需要在PyTorch源代码主入口调用torch系列相关的包导入部分(如等)之前调用,加上少量训练代码适配即可实现模型在昇腾硬件上的训练。
2024-11-12 20:50:52
539
原创 跟李沐学AI:BERT
使用预训练好的模型来抽取词、句子的特征:Word2Vec或者预训练好的语言模型。使用预训练好的语言模型,一般不会再对语言模型进行微调,即不进行更新。Word2Vec一般用于替代embedding层但是Word2Vec往往忽略了时序信息,语言模型也往往只看了一个方向,不善于处理长序列。即使下游任务有所不同,使用BERT未调试只需增加输出层即可。不同任务,输入的表示和BERT的特征也会不同。e_Ae_B。
2024-11-05 22:20:56
1317
原创 跟李沐学AI:Transformer
对每个样本的所有feature做归一化。意思是对每个样本独立地计算均值和方差。假设输入为(3, 2)的矩阵,样本归一化对每行计算均值和方差:对第一个样本:均值为(1+2)/2=1.5,方差为。对每行计算并归一化后得到输出Transform的输入一般为一个序列,但是每个序列的有效长度(valid length)有所不同,会导致batch norm不稳定,故不适合batch norm。对每个样本的元素做归一化,在长度变化时更加稳定。
2024-10-12 18:51:44
684
原创 跟李沐学AI:使用注意力机制的seq2seq
Seq2Seq中通过hidden_state在编码器和解码器中传递信息注意力机制可以根据解码器RNN的输出来匹配到合适的柏宁玛琪RNN输出来更有效地传递信息。
2024-10-09 18:09:56
395
原创 深度学习:基于MindSpore实现ResNet50中药分拣
ResNet(Residual Network)是一种深度神经网络架构,由微软研究院的Kaiming He等人在2015年提出,并且在ILSVRC 2015竞赛中取得了很好的成绩。ResNet主要解决了随着网络深度增加而出现的退化问题,即当网络变得非常深时,训练误差和验证误差可能会开始上升,这并不是因为过拟合,而是由于深层网络难以优化。ResNet的核心思想是引入了残差学习框架来简化许多层网络的训练。通过构建“跳跃连接”或称“捷径连接”,允许一层直接与更深层相连接。
2024-10-07 14:09:39
1488
原创 深度学习:CycleGAN图像风格迁移转换
定义ResNet的残差块# 返回 x + out 的做法是实现残差学习的关键。这个设计是为了让网络能够更容易地学习到恒等映射(identity mapping)# 从而帮助解决深层网络训练中的梯度消失问题,并允许网络构建得更深而不会导致性能下降。# 定义基于ResNet的生成器# 数据集图像输入后经过的第一个网络# 随后对数据进行两次下采样# 残差网络有9个残差块# 组装残差网络# 再将图片进行上采样(转置卷积)# 定义输出层else:# 将输出压制(-1, 1)
2024-10-04 02:22:22
2111
原创 深度学习:cGAN和pix2pix图像转换
定义UNet Skip Connection Block'''outer_nc 和 inner_nc 分别表示输出通道数和中间层通道数。in_planes 是输入通道数,如果未指定则默认为 outer_nc。dropout 控制是否在模型中添加 Dropout 层。submodule 是嵌套的子模块,通常是一个更深层的 UNetSkipConnectionBlock。outermost 和 innermost 用于区分当前块是否是最外层或最内层。
2024-10-02 23:29:42
1416
2
原创 深度学习:DCGAN
CDGAN(Deep Convolutional Generative Adversarial Networks),是GAN(Generative Adversarial Networks)的一种变体,它特别使用了卷积神经网络(CNNs)作为生成器和判别器的构建模块。DCGAN使用全卷积网络结构代替传统的池化层和全连接层。在生成器中采用转置卷积(也称为分数步长卷积或反卷积)来逐步增加图像的空间维度。在判别器中使用卷积层来逐步减少空间维度并提取特征。
2024-10-01 20:17:55
864
原创 深度学习:GAN图像生成
生成对抗网络(GAN)的基本原理基于两个神经网络之间的博弈过程:一个生成器(Generator, G)和一个判别器(Discriminator, D)。输入-输出图像对指的是两个相关的图像,其中一个图像是另一个图像经过某种变换后的结果。与cGAN相比,CycleGAN不依赖于明确的条件向量,而是通过两个相互对立的映射函数来实现双向的图像转换,并且通过循环一致性损失来确保转换的质量和可逆性。GAN 框架非常灵活,可以应用于图像、文本、音频等多种类型的数据,并且能够生成多样化的样本。
2024-10-01 00:57:28
1478
原创 跟李沐学AI:自注意力和位置编码
自注意力机制中,query、key、value均来自同一输入。卷积神经网络和自注意力都拥有并行计算的优势。自注意力的最大路径长度最短,但是因为其计算复杂度是关于序列长度的二次方,所以在很长的序列中计算会非常慢。为了使用序列的顺序信息,可以通过在输入表示中添加位置编码,来注入绝对或者相对的位置嘻信息。
2024-09-26 22:05:06
322
原创 跟李沐学AI:注意力机制、注意力分数
心理学认为人通过随意线索和不随意线索选择注意点。注意力机制中通过query(随意线索)和key(不随意线索)来偏向性地选择输入。一般可写作:。其中是注意力权重。注意力分数是query和key的相似度,注意力权重是注意力分数softmax后的结果注意力分数分为加性模型和点积模型。
2024-09-22 21:34:14
1103
原创 跟李沐学AI:序列到序列seq2seq
Seq2Seq从一个句子生成另外一个句子。Seq2Seq的编码器和解码器都是RNN。将编码器最后时间的hidden state作为解码器的初始hidden stae来完成信息传递。seq2seq常用BLEU来衡量生成序列的好坏。
2024-09-13 13:55:20
303
原创 跟李沐学AI:长短期记忆网络LSTM
如果遗忘门始终为1且输入门始终为0, 则过去的记忆元Ct−1 将随时间被保存并传递到当前时间步。只要输出门接近1,我们就能够有效地将所有记忆信息传递给预测部分, 而对于输出门接近0,我们只保留记忆元内的所有信息,而不需要更新隐状态。它们由三个具有sigmoid激活函数的全连接层处理, 以计算输入门、遗忘门和输出门的值。因此,这三个门的值都在(0,1)的范围内。LSTM中,输入门和遗忘门类似GRU中控制输入或遗忘的机制。的新数据,遗忘门用于控制保留多少过去的记忆元。LSTM引入输入门、忘记门和输出门。
2024-09-11 19:44:07
782
1
原创 跟李沐学AI:门控循环单元GRU
GRU是一种在循环神经网络中使用的单元结构。它旨在解决传统RNN在网络处理长序列数据时遇到的梯度消失或梯度爆炸问题。GRU通过引入门控机制来控制信息的流动,从而使得网络能够更好地学习长期依赖性。
2024-09-08 17:20:56
474
原创 跟李沐学AI:循环神经网络RNN
在RNN中,梯度消失的问题尤为显著,因为它们的权重需要通过时间进行反向传播。在每一时间步中,梯度是通过链式法则计算的,这意味着当前时间步的梯度是由前一时间步的梯度乘以前一时间步的权重矩阵得到的。具体来说,当计算出的梯度超过某个预定义的阈值时,可以按比例缩小梯度的值,使得它们不会过于庞大,从而避免梯度爆炸。其中:ht是当前时间步t的隐状态,xt是当前时间步的输入,Wxh和Whh分别是从输入到隐状态和从隐状态到隐状态的权重矩阵,b是偏置项,f(⋅)是激活函数,例如tanh或ReLU等。
2024-09-04 21:58:24
596
1
原创 跟李沐学AI:语言模型
假设在给定长度为T的文本序列中的词元依次为可被人做文本序列在时间步t处的观测或标签。在给定这样的文本序列是,语言模型的目标是估计序列的联合概率。一个理想的与语言模型能够在一次抽取一个词元的情况下基于模型本身生成自然文本。
2024-09-04 20:38:29
500
原创 跟李沐学AI:序列模型
时序模型中,当前数据与之前观测到的数据相关。自回归模型使用自身过去数据预测未来数据。马尔可夫模型假设当前数据之和最近少数数据相关从而简化模型。潜变量模型使用潜变量来概括历史信息。
2024-09-02 21:23:01
280
原创 跟李沐学AI:样式迁移
样式迁移需要两张输入图像:一张是内容图像,另一张是样式图像。我们将使用神经网络修改内容图像,使其在样式上接近样式图像,得到合成图片。类似手机相册中的滤镜效果。
2024-08-24 23:02:44
342
原创 跟李沐学AI:语义分割
语义分割将图片中的每个像素分类到对应的类别。语义分割重点关注于如何将图像分割成属于不同语义类别的区域。语义分割可以识别并理解图像中每一个像素的内容:其语义区域的标注和预测是像素级的。
2024-08-23 00:03:32
265
1
空空如也
vite+vue3+element-plus项目首次运行无法正常加载组件!
2024-01-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人