深度学习
文章平均质量分 90
舒克与贝克
AI 学习与生活
展开
-
FLUX.1 当前支持FLUX.1的Lora模型
首先,我们来梳理一下本次Xlabs-AI团队放出的七款Lora模型,分别是(但是目前该模型还不支持ComfyUI)和。每种模型都经过精心训练,能够为 Flux 模型带来卓越的风格转换能力。下载地址目前不建议从上面下载,建议从modelscope上面下载。这里提醒一下小伙伴,只使用ComfyUI的小伙伴,可以只下载带的文件,下载后放入ComfyUI对应的文件夹即可。原创 2024-08-21 21:00:21 · 540 阅读 · 0 评论 -
如何在M3 Max MacBook Pro上运行Flux Schnell
【代码】如何在M3 Max MacBook Pro上运行Flux Schnell。原创 2024-08-14 19:30:15 · 1099 阅读 · 0 评论 -
FastGPT+ollama 搭建私有AI大模型智能体工作流-Mac
1. 降低任务门槛:工作流可以将复杂任务分解成多个小任务,降低每个任务的复杂度,从而减少对提示词和大模型推理能力的依赖。这样可以提升大模型处理复杂任务的性能和容错能力。2. 提升任务效率:工作流可以实现自动化处理,减少重复劳动和纠正。只需提供必要元素,工作流就可以直接输出结果,提高效率和稳定性。3. 提高任务的一致性:工作流可以确保任务的执行是一致的,减少人为错误和偏差,提高任务的可靠性和质量。4. 实现任务的可重复性:工作流可以实现任务的可重复性,减少重复劳动和开发时间,提高开发效率和生产力。原创 2024-08-20 14:09:45 · 597 阅读 · 0 评论 -
LLM分布式训练---混合并行(2D 3D)
近年来,随着Transformer、MOE架构的提出,使得深度学习模型轻松突破上万亿规模参数,传统的单机单卡模式已经无法满足超大模型进行训练的要求。因此,我们需要基于单机多卡、甚至是多机多卡进行分布式大模型的训练。而利用AI集群,使深度学习算法更好地从大量数据中高效地训练出性能优良的大模型是分布式机器学习的首要目标。为了实现该目标,一般需要根据硬件资源与数据/模型规模的匹配情况,考虑对计算任务、训练数据和模型进行划分,从而进行分布式存储和分布式训练。原创 2024-05-08 09:47:03 · 1176 阅读 · 0 评论 -
[LLM]大模型训练DeepSpeed(二)
在单节点情况下,DeepSpeed的配置更多地集中在指定的节点内,因此不需要显式指定hostfile,而可以通过命令行参数更灵活地控制使用的GPU资源。DeepSpeed模型训练的核心在于DeepSpeed引擎,它能够包装任意类型为torch.nn.module的模型,并提供了一组最小的API用于训练和模型检查点。在这些设置步骤中,DeepSpeed的启动脚本提供了多种命令行选项,使用户能够根据需求有效地控制分布式训练作业在多节点或单节点上使用的节点和GPU数量。原创 2023-12-31 11:34:24 · 6463 阅读 · 0 评论 -
[LLM]大模型训练DeepSpeed(一)-原理介绍
DeepSpeed是由Microsoft提供的分布式训练工具,旨在支持更大规模的模型和提供更多的优化策略和工具。与其他框架相比,DeepSpeed支持更大规模的模型和提供更多的优化策略和工具。其中,主要优势在于支持更大规模的模型、提供了更多的优化策略和工具(例如 ZeRO 和 Offload 等)原创 2023-05-17 18:51:10 · 30258 阅读 · 3 评论 -
FLOPS的理解
在描述GPU的性能的时候,我们常常用到FLOPS进行描述。FLOPS是Floating-point Operations Per Second的简写,即每秒所能够进行的浮点运算数目(每秒浮点运算量). 在以往形容GPU的运算性能的时候也常常用到其他单位,比如Triangles Per Second每秒所能够渲染的三角型数目,以及Pixels Per Second 每秒所能够渲染的像...原创 2018-10-30 12:52:38 · 16312 阅读 · 1 评论 -
LLM分布式训练---流水线并行
所谓流水线并行,就是由于模型太大,无法将整个模型放置到单张GPU卡中;因此,将模型的不同层放置到不同的计算设备,降低单个计算设备的显存消耗,从而实现超大规模模型训练。流水线并行PP(Pipeline Parallelism),是一种最常用的并行方式,也是最初Deepspeed和Megatron等大模型训练框架都支持的一种并行方式。如下图所示,模型共包含四个模型层(如:Transformer层),被切分为三个部分,分别放置到三个不同的计算设备。原创 2024-05-06 14:00:53 · 1593 阅读 · 0 评论 -
[LLM]大模型训练DeepSpeed(三)
在训练脚本中导入 DeepSpeed 模块:在训练脚本中导入 Trainer 模块:创建 Trainer 对象,将模型、训练数据集、优化器等参数传入:args=args,使用 DeepSpeed 命令行工具运行训练脚本(单机):其中,--num_gpus表示使用的 GPU 数量。hostfile增加hostfile文件,填写host的相应的gpu数量(slots=4代表有4个gpu)include参数,指定机器和gpu,如下代表使用host1机器的3号和host2的2、3号gpu。原创 2024-04-28 12:59:26 · 1759 阅读 · 0 评论 -
[LLM]大模型基础知识点--大模型与LLM
定义:LLM是一种特定类型的大模型,专门用于处理和理解自然语言。大型语言模型(LLM)是基于人工智能的先进模型,经过训练,它可以密切反映人类自然交流的方式处理和生成人类语言。这些模型利用深度学习技术和大量训练数据来全面理解语言结构、语法、上下文和语义。特点:LLM通过学习庞大的文本数据集,能够执行多种语言任务,如文本生成、翻译、摘要、问答等。示例:ChatGPT的GPT-3是一个典型的LLM,它拥有1750亿个参数,能够处理各种复杂的语言任务。原创 2024-03-20 14:22:35 · 1264 阅读 · 0 评论 -
[LLM]大模型八股知识点(一)
LLM(Large Language Model,大型语言模型)是指基于大规模数据和参数量的语言模型。具体的架构可以有多种选择,以下是一种常见的大模型LLM的架构介绍:Transformer架构:大模型LLM常使用Transformer架构,它是一种基于自注意力机制的序列模型。Transformer架构由多个编码器层和解码器层组成,每个层都包含多头自注意力机制和前馈神经网络。这种架构可以捕捉长距离的依赖关系和语言结构,适用于处理大规模语言数据。原创 2024-03-19 20:55:45 · 3222 阅读 · 0 评论 -
[LLM]大模型八股知识点(六)
💡提示学习(Prompting)是一种在机器学习中使用人类编写的提示或示例来辅助模型进行学习和推理的技术。在自然语言处理任务中,提示通常是一段文字或问题,用于指导模型生成或理解特定的输出。提示学习可以用于各种自然语言处理任务,包括文本分类、命名实体识别、情感分析、机器翻译等。在这些任务中,模型需要根据输入的文本来进行预测或生成输出。通过提供明确的提示,可以引导模型关注特定的信息或完成特定的任务。提示可以采用不同的形式,例如:通过提示学习,可以改善模型的性能,提高其准确性和鲁棒性。原创 2024-03-20 14:09:36 · 853 阅读 · 0 评论 -
[LLM]大模型八股知识点(五)
位置编码是一种用于在序列数据中为每个位置添加位置信息的技术。在自然语言处理中,位置编码通常用于处理文本序列。由于传统的神经网络无法直接捕捉输入序列中的位置信息,位置编码的引入可以帮助模型更好地理解和处理序列数据。在Transformer模型中,位置编码通过为输入序列中的每个位置分配一个固定的向量来实现。这些向量会与输入序列中的词向量相加,以融合位置信息。位置编码的设计目的是使模型能够区分不同位置的输入。在Transformer模型中,使用了一种特殊的位置编码方式,即正弦和余弦函数的组合。原创 2024-03-20 14:06:02 · 1060 阅读 · 0 评论 -
[LLM]大模型八股知识点(四)
大语言模型进行推理时,显存涨得很多且一直占着显存不释放的原因主要有以下几点:模型参数占用显存:大语言模型通常具有巨大的参数量,这些参数需要存储在显存中以供推理使用。因此,在推理过程中,模型参数会占用相当大的显存空间。输入数据占用显存:进行推理时,需要将输入数据加载到显存中。对于大语言模型而言,输入数据通常也会占用较大的显存空间,尤其是对于较长的文本输入。中间计算结果占用显存:在推理过程中,模型会进行一系列的计算操作,生成中间结果。这些中间结果也需要存储在显存中,以便后续计算使用。原创 2024-03-20 14:03:04 · 1331 阅读 · 0 评论 -
[LLM]大模型八股知识点(三)
PEFT(Performance Estimation and Modeling for Fine-Tuning)是一种用于微调任务的性能估计和建模方法。它的目的是帮助研究人员和从业者在微调过程中更好地理解和预测模型的性能,并进行更有效的模型选择和调优。PEFT的主要思想是通过预测模型在微调任务上的性能,提供对不同模型和参数设置的性能估计。这样可以避免在大规模数据集上进行昂贵的微调实验,从而节省时间和计算资源。原创 2024-03-20 13:59:54 · 1146 阅读 · 0 评论 -
[LLM]大模型八股知识点(二)
查询内容:根据文档的特点和领域知识,确定用户可能会查询的内容。总之,通过领域特定训练、增加领域知识、优化检索算法、数据增强和样本平衡、引入外部知识库以及收集用户反馈和迭代优化等方法,可以改进基于LLM和向量库的文档对话在垂直领域中的表现。微调和优化:使用预训练的模型作为起点,通过在特定任务上进行微调和优化,使模型能够更好地理解query和context,并生成更准确、连贯的response。评估和反馈:定期评估模型的性能,使用一些评估指标,如BLEU、ROUGE等,来衡量生成的response的质量。原创 2024-03-20 09:59:03 · 790 阅读 · 0 评论 -
[LLM] 大模型基础|预训练|有监督微调SFT | 推理
向量来屏蔽不希望计算loss的部分,下面就是数据构造的一个示意:做的事情就是拼接prompt和answer,并在answer两侧添加一个开始和结束的符号,算一下prompt/instruction的长度,以及后面需要pad的长度,然后生成一个mask向量,answer部分为1,其他部分为0。,也就是transformer(X)的维度还是(1,10,768),接下来就是基于它来进行预测了,因为要预测哪个词,词的可能情况就是词表的大小,所以做的就是一个。通常LLM的预训练是无监督的,但微调过程往往是有监督的。原创 2024-03-18 16:45:22 · 4073 阅读 · 3 评论 -
[LLM]大语言模型文本生成—解码策略(Top-k & Top-p & Temperature)
在大模型训练好之后,如何对训练好的模型进行解码(decode)是一个火热的研究话题。在自然语言任务中,我们通常使用一个预训练的大模型(比如GPT)来根据给定的输入文本(比如一个开头或一个问题)生成输出文本(比如一个答案或一个结尾)。为了生成输出文本,我们需要让模型逐个预测每个 token ,直到达到一个终止条件(如一个标点符号或一个最大长度)。在每一步,模型会给出一个概率分布,表示它对下一个单词的预测。原创 2024-03-18 12:59:03 · 3800 阅读 · 0 评论 -
[深度学习]让你的PyTorch模型更快地训练的一些技巧
This blog post outlines techniques for improving the training performance of your PyTorch model without compromising its accuracy. To do so, we will wrap a PyTorch model in a LightningModule and use the Trainer class to enable various training optimization原创 2023-05-04 18:27:14 · 123 阅读 · 0 评论 -
[深度学习]人工智能论文阅读网站
一个读人工智能的论文网站:Paperswithcodepaperswithcode.com/https://link.zhihu.com/?target=https%3A//paperswithcode.com/类别丰富,涵盖了各个人工智能的方向文章,当然也包括各领域的经典论文原创 2022-06-09 16:36:19 · 2405 阅读 · 1 评论 -
[深度学习] AutoDis --- KDD2021 连续特征的Embedding学习框架
论文名:An Embedding Learning Framework for Numerical Features in CTR Prediction开源代码:AutoDis1. 背景介绍在CTR预估模型中,大多数模型都遵守Embedding & Feature Interaction(FI)的范式。以往的大多数研究都聚焦于网络结构的设计,以更好的捕获显式或隐式的特征交互,如Wide&Deep的wide部分,DCN中的CrossNet, DeepFM的FM部分,DIN的注意原创 2021-10-19 14:45:59 · 2085 阅读 · 2 评论 -
[深度学习] FM & FFM 算法基本原理
在推荐系统和计算广告业务中,点击率CTR(click-through rate)和转化率CVR(conversion rate)是衡量流量转化的两个关键指标。准确的估计CTR、CVR对于提高流量的价值,增加广告及电商收入有重要的指导作用。无论使用什么类型的模型,点击率这个命题可以被归纳到二元分类的问题,我们通过单个个体的特征,计算出对于某个内容,是否点击了,点击了就是1,没点击就是0。对于任何二元分类的问题,最后我们都可以归结到逻辑回归上面。早期的人工特征工程 + LR(Logisti...原创 2021-06-23 10:39:41 · 1632 阅读 · 1 评论 -
资源 | 普通程序员如何自学机器学习
机器学习工程师自学指南 本文将会介绍机器学习的方方面面,从简单的线性回归到最新的神经网络,你不仅仅能学会如何使用它们,并且还能从零进行构建。 以下内容以计算机视觉为导向,这是学习一般知识的最快方法,并且你从中获得的经验可以很容易地迁移到机器学习的其他领域。 本文我们将会使用TensorFlow作为机器学习框架。 学习是一个多维因素作用的结果,所以如果能基于学习资料,...原创 2018-01-14 20:10:08 · 952 阅读 · 0 评论 -
[深度学习]CTR模型如何加入稠密连续型|多值类别特征
CTR预估任务中除了广泛使用的稀疏离散型特征外,还会用到稠密连续型以及一些序列类型的特征,本文为大家简要梳理几种特征的处理方式一 稠密连续类型特征的处理在点击率预估问题中,可以尝试的几种方法 归一化后直接拼接到embedding向量侧dnn部分,不参与fm部分交叉 不归一化经过bn后直接拼接到embedding向量侧dnn部分,不参与fm部分交叉 离散化后作为id feature 类别特征, embedding后与其他sparse feature的embedding 一起参原创 2020-11-24 11:40:24 · 3027 阅读 · 1 评论 -
[深度学习] DeepFM 介绍与Pytorch代码解释
1. DeepFM算法的提出由于DeepFM算法有效的结合了因子分解机与神经网络在特征学习中的优点:同时提取到低阶组合特征与高阶组合特征,所以越来越被广泛使用。在DeepFM中FM算法负责对一阶特征以及由一阶特征两两组合而成的二阶特征进行特征的提取 DNN算法负责对由输入的一阶特征进行全连接等操作形成的高阶特征进行特征的提取具有以下特点:结合了广度和深度模型的优点,联合训练FM模型和DNN模型,同时学习低阶特征组合和高阶特征组合。 端到端模型,无需特征工程。 DeepFM 共享相同的原创 2020-10-21 11:02:31 · 5528 阅读 · 1 评论 -
[深度学习] Deep & Cross Network (DCN)
Deep & Cross Network(DCN)在 2017 年由 google 和 Stanford 共同发表的一篇论文中被提出,类似于Wide & Deep Network(WDL),是用复杂网络预估CTR的一种方法。特征工程一直是许多预测模型成功的关键。许多有效的特征都来自于原始特征的交叉组合。在WDL中,wide侧的交叉组合特征依然需要依靠hand-craft来完成。而DCN能对sparse和dense的输入自动学习特征交叉,可以有效地捕获有限阶(bounded degrees原创 2020-10-15 17:17:36 · 5305 阅读 · 0 评论 -
[深度学习] 面试常见问题+解析汇总
一、为什么深层神经网络难以训练?1、梯度消失。梯度消失是指通过隐藏层从后向前看,梯度会变得越来越小,说明前面层的学习会显著慢于后面层的学习,所以学习会卡主,除非梯度变大。梯度消失的原因:学习率的大小,网络参数的初始化,激活函数的边缘效应等。在深层神经网络中,每一个神经元计算得到的梯度都会传递给前一层,较浅层的神经元接收到的梯度受到之前所有层梯度的影响。如果计算得到的梯度值非常小,随着...原创 2020-04-07 17:14:55 · 3879 阅读 · 0 评论 -
[NLP] 自然语言处理 --- NLP入门指南
NLP的全称是Natuarl Language Processing,中文意思是自然语言处理,是人工智能领域的一个重要方向自然语言处理(NLP)的一个最伟大的方面是跨越多个领域的计算研究,从人工智能到计算语言学的多个计算研究领域都在研究计算机与人类语言之间的相互作用。它主要关注计算机如何准确并快速地处理大量的自然语言语料库。什么是自然语言语料库?它是用现实世界语言表达的语言学习,是从文本和语言...原创 2019-12-15 11:01:55 · 58167 阅读 · 3 评论 -
[LLM] 自然语言处理 --- Self-Attention(一) 基本介绍
一 Self AttentionSelf Attention也经常被称为intra Attention(内部Attention),最近一年也获得了比较广泛的使用,比如Google最新的机器翻译模型内部大量采用了Self Attention模型。在一般任务的Encoder-Decoder框架中,输入Source和输出Target内容是不一样的,比如对于英-中机器翻译来说,Source是英文句...原创 2019-10-22 13:38:34 · 4234 阅读 · 1 评论 -
[NLP]自然语言处理 --- ELMo
原文链接:Deep contextualized word representationsELMO,是Embedding from Language Model的缩写( Peters等人,2018年),通过无监督预训练多层双向LSTM模型来学习带上下文信息的(Contextualized)单词表示。1. Motivation词向量在目前NLP技术发展和应用中具有重要作用,高质量的词向量...原创 2019-09-24 17:53:30 · 3634 阅读 · 1 评论 -
[LLM] 自然语言处理---Transformer实现(二)
目录Encoder-Decoder框架一 整体架构动态流程图二 Encoder2.1 Encoder Layer和残差网络Residual Connection2.2 AttentionSelf AttentionMulti-head Attention2.3 Add & NormLayerNormalization 层归一化2.4 前馈网络...原创 2019-08-02 13:27:07 · 7141 阅读 · 6 评论 -
[深度学习] 自然语言处理 --- 文本分类模型总结
文本分类包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMO,BERT等)的文本分类fastText 模型 textCNN 模型 charCNN 模型 Bi-LSTM 模型 Bi-LSTM + Attention 模型 RCNN 模型 Adversarial LSTM 模型 Transformer 模型 ELMO 预训练模型 BERT 预训练模型...原创 2019-07-23 21:59:03 · 16208 阅读 · 1 评论 -
[深度学习] 自然语言处理 --- 基于Attention机制的Bi-LSTM文本分类
Peng Zhou等发表在ACL2016的一篇论文《Attention-Based Bidirectional Long Short-Term Memory Networks for Relation Classification》。论文主要介绍了在关系分类任务中应用双向LSTM神经网络模型并加入Attention机制,从而避免了传统工作中复杂的特征工程,并在该任务中取得比较优秀的效果。一...原创 2019-07-21 15:26:47 · 18049 阅读 · 5 评论 -
[深度学习] Pytorch nn.CrossEntropyLoss()和nn.NLLLoss() 区别
函数 Softmax(x) 是一个 non-linearity, 但它的特殊之处在于它通常是网络中一次操作. 这是因为它接受了一个实数向量并返回一个概率分布.其定义如下.定义 x 是一个实数的向量(正数或负数都无所谓, 没有限制). 然后, 第i个 Softmax(x) 的组成是输出是一个概率分布: 每个元素都是非负的, 并且所有元素的总和都是1.NLLLoss...原创 2019-07-17 10:48:49 · 7180 阅读 · 0 评论 -
[深度学习] RNN对于变长序列的处理方法, 为什么RNN需要mask
一 Padding文本数据在处理的时候,由于各样本的长度并不一样,有的句子长有的句子短。抛开动态图、静态图模型的差异,由于需要进行矩阵运算,句长需要是等长的才可以,这就需要padding操作。padding一般是用最长的句子长度为最大长度,然后其他样本补0到最大长度,这样样本就是等长的了。但是注意padding后的样本如果不作处理只用普通的循环神经网络来做的话其实是有影响的,因为即使输入...原创 2019-07-08 11:56:42 · 15000 阅读 · 0 评论 -
[NLP] PyTorch 实现双向LSTM 情感分析
一 前言情感分析(Sentiment Analysis),也称为情感分类,属于自然语言处理(Natural Language Processing,NLP)领域的一个分支任务,随着互联网的发展而兴起。多数情况下该任务分析一个文本所呈现的信息是正面、负面或者中性,也有一些研究会区分得更细,例如在正负极性中再进行分级,区分不同情感强度.文本情感分析(Sentiment Analysis)是自...原创 2019-07-05 19:10:37 · 25534 阅读 · 12 评论 -
[深度学习] Normalization 模型
目录一 Batch Normalization“Internal Covariate Shift”问题训练阶段如何做BatchNormBatchNorm的好处二 LayerNormalization一 Batch NormalizationBatchNormalization的出现无疑是广大AI调参侠的福音,将大家从繁琐的权重初始化、学习率调节中释放出来。它不仅...原创 2019-10-23 14:53:30 · 895 阅读 · 1 评论 -
PyTorch常用代码段整理合集
本文代码基于PyTorch 1.0版本,需要用到以下包import collectionsimport osimport shutilimport tqdmimport numpy as npimport PIL.Imageimport torchimport torchvision1. 基础配置检查PyTorch版本torch.__version__ ...原创 2019-05-16 10:53:02 · 2919 阅读 · 0 评论 -
PyTorch1.0 教程 例子和书籍
PyTorch1.0-Zero-To-Allpytorch-handbookLearning PyTorch with Examples(官方中文)1. Deep Learning with PyTorch: a 60-minute blitz (1.x)https://pytorch.org/tutorials/beginner/deep_learning_6...原创 2019-04-30 16:17:00 · 1761 阅读 · 0 评论 -
[深度学习] 分布式Tensorflow 2.0 介绍(二)
[深度学习] 分布式模式介绍(一)[深度学习] 分布式Tensorflow 2.0介绍(二)[深度学习] 分布式Pytorch 1.0介绍(三)[深度学习] 分布式Horovod介绍(四)一 单GPU训练 vs 多GPU训练单GPU训练 一般代码比较简单,并且能满足我们的基本需求,通常做法是设定变量CUDA_VISIBLE_DEVICES的值为某一块GPU来Mask我们机...原创 2019-04-26 14:45:00 · 13489 阅读 · 1 评论