自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 收藏
  • 关注

原创 【LLM训练系列】从零开始训练大模型之Phi2-mini-Chinese项目解读

一、前言本文主要是在复现和实践Phi2-mini-Chinese后,简要分析下Phi2-mini-Chinese这个项目,做一个学习实战总结。原文发布于知乎:https://zhuanlan.zhihu.com/p/718307193,转载请注明出数。Phi2-mini-Chinese简介Phi2-Chinese-0.2B 从0开始训练自己的Phi2中文小模型,支持接入langchain...

2024-09-09 23:52:00 1094

原创 【LLM训练系列】NanoGPT源码详解和中文GPT训练实践

本文是【训练LLM系列】的第一篇,主要重点介绍NanoGPT代码以及中文、英文预训练实践。最新版参见我的知乎:https://zhuanlan.zhihu.com/p/716442447除跑通原始NanoGPT代码之外,分别使用了《红楼梦》、四大名著和几十本热门网络小说,进行了字符级、自行训练tokenizer以及使用Qwen2的Tokenizer的中文GPT训练尝试,并展示了续写的效果。可...

2024-08-25 23:28:00 827

原创 大模型高效微调-LoRA原理详解和训练过程深入分析

博客首发于我的知乎,详见:https://zhuanlan.zhihu.com/p/702629428一、LoRA原理LoRA(Low-Rank Adaptation of LLMs),即LLMs的低秩适应,是参数高效微调最常用的方法。LoRA的本质就是用更少的训练参数来近似LLM全参数微调所得的增量参数,从而达到使用更少显存占用的高效微调。1.1 问题定义LoRA与训练目标是解耦的,...

2024-06-11 21:50:00 2256

原创 大模型高效微调详解-从Adpter、PrefixTuning到LoRA

一、背景目前NLP主流范式是在大量通用数据上进行预训练语言模型训练,然后再针对特定下游任务进行微调,达到领域适应(迁移学习)的目的。指令微调是预训练语言模型微调的主流范式其目的是尽量让下游任务的形式尽量接近预训练任务,从而减少下游任务和预训练任务之间的Gap, 实现预训练语言模型适应下游任务,而非下游任务去适应模型。指令微调的效果要优于基于Zero/Few-shot的提示词工程的上...

2024-05-06 23:40:00 582 1

原创 【LLM实战】 基于QLoRA对微软Phi-2进行对话摘要任务微调

本文将在DialogSum数据集上使用2张T4卡对2.7B的microsoft/phi2进行LORA微调。博客翻译自Kaggle项目 fine-tuning-llm-for-dialogue-summarizationhttps://www.kaggle.com/code/aisuko/fine-tuning-llm-for-dialogue-summarization一、安装依赖首先...

2024-03-13 22:32:00 541

原创 【预训练语言模型】 使用Transformers库进行BERT预训练

基于 HuggingFace的Transformer库,在Colab或Kaggle进行预训练。鉴于算力限制,选用了较小的英文数据集wikitext-2目的:跑通Mask语言模型的预训练流程一、准备1.1 安装依赖!pip3 install --upgrade pip!pip install -U datasets!pip install accelerate -U注意:在Kagg...

2024-03-13 22:25:00 976

原创 【预训练语言模型】使用Transformers库进行GPT2预训练

基于 HuggingFace的Transformer库,在Colab或Kaggle进行预训练。本教程提供:英文数据集wikitext-2和代码数据集的预训练。注:可以自行上传数据集进行训练目的:跑通自回归语言模型的预训练流程一、准备1.1 安装依赖!pip install -U datasets!pip install accelerate -U注意:在Colab上训练时,最好...

2024-03-13 22:21:00 765

原创 【大语言模型基础】60行Numpy教你实现GPT-代码与图解

写在前面本文主要是对博客 https://jaykmody.com/blog/gpt-from-scratch/ 的精简整理,并加入了自己的理解。中文翻译:https://jiqihumanr.github.io/2023/04/13/gpt-from-scratch/#circle=on项目地址:https://github.com/jaymody/picoGPT本文将用60行代码...

2023-12-26 00:49:00 1054 1

原创 【大语言模型】LLM学习路径-从入门到精通

简述根据如下两本书:1)大规模语言模型:从理论到实践 -- 张奇、桂韬、郑锐、黄萱菁2)ChatGPT原理与实战按更合理的顺序总结了学习路径,实际可按需学习,后续每个目录将给出相应学习资料和资源(参见Github仓库链接)。学习目录第1章 技术发展与需求分析1.1 市场需求分析 1.1.1、初识大型语言模型LLM 1.1.2、需求和就业市场分析(职位与技术需求分析)...

2023-11-21 00:32:00 2138

原创 大语言模型基础-Transformer模型详解和训练

一、Transformer概述Transformer是由谷歌在17年提出并应用于神经机器翻译的seq2seq模型,其结构完全通过自注意力机制完成对源语言序列和目标语言序列的全局依赖建模。Transformer由编码器和解码器构成。图2.1展示了该结构,其左侧和右侧分别对应着编码器(Encoder)和解码器(Decoder)结构,它们均由若干个基本的 Transformer Encoder/D...

2023-10-24 23:53:00 936

原创 LLM实践-在Colab上使用免费T4 GPU进行Chinese-Llama-2-7b-4bit推理

一、配置环境1、打开colab,创建一个空白notebook,在[修改运行时环境]中选择15GB显存的T4 GPU.2、pip安装依赖python包!pip install --upgrade accelerate!pip install bitsandbytes transformers_stream_generator!pip install transformers !pip ...

2023-10-06 23:24:00 1781 1

原创 微型神经网络库MicroGrad-基于标量自动微分的类pytorch接口的深度学习框架

一、MicroGradMicroGrad是大牛Andrej Karpathy写的一个非常轻量级别的神经网络库(框架),其基本构成为一个90行python代码的标量反向传播(自动微分)引擎,以及在此基础上实现的神经网络层。其介绍如下:A tiny scalar-valued autograd engine and a neural net library on top of it with...

2023-07-03 00:02:00 339

原创 优化算法-从梯度下降到深度学习非凸优化

一、数学优化1.1 定义Mathematical Optimization(数学优化)问题,亦称最优化问题,是指在一定约束条件下,求解一个目标函数的最大值(或最小值)问题。根据输入变量 ???? 的值域是否为实数域,数学优化问题可以分为离散优化问题和连续优化问题.在连续优化问题中,根据是否有变量的约束条件,可以将优化问题分为无约束优化问题和约束优化问题.1.2 线性优化和非线性优化如果...

2023-05-05 00:07:00 931

原创 数据结构-C语言实现动态扩容数组

// resizable array/*Think about a set of functions that provide a mechanism of resizable array of int. • Growable • Get the current size • Access to the elements*//*the Interfa...

2023-05-04 23:51:00 414

原创 KMeans算法与GMM混合高斯聚类

一、K-MeansK-Means是GMM的特例(硬聚类,基于原型的聚类)。假设多元高斯分布的协方差为0,方差相同。K-Means算法思想对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个簇。让簇内的点尽量紧密的连在一起,而让簇间的距离尽量的大。N个d维样本,时间复杂度 O(kLNd)初始K个类(簇心)E步:对每个样本,计算到K个类的欧式距离,并分配类标签 O(kN...

2023-04-16 22:46:00 280

原创 深度学习正则化之Dropout

一、Dropout 丢弃法(Dropout Method):在训练一个深度神经网络时,可以随机丢弃一部分神经元(同时丢弃其对应的连接边)来避免过拟合。训练时,每次选择丢弃的神经元是随机的,这些随机选出隐藏层的神经元将被删除,它们将不再传递信号。常规dropout(训练测试不一致,测试时调整输入保持一致) 设置一个固定的概率????,对每一个神经元都以概率???? 来判定不要...

2023-04-16 22:35:00 225

原创 批量归一化 BatchNormalization

一、Batch Normalization 如果设定了合适的权重初始值,则各层的激活值分布会有适当的广度,从而可以顺利地进行学习。为了使各层拥有适当的广度(激活值分布不能太广,易饱和),Batch Normalization 试图在学习过程中“强制性”地调整激活值的分布会怎样呢?缓解内部协变量偏移。 直观地说,机器学习就是要拟合数据的分布。在训练过程中,神经网络参数...

2023-04-16 22:29:00 249

原创 基于GPT3.5的代码编辑器Cursor试用-你的智能代码编辑助手

一、安装和使用官网下载安装Cursor,然后创建一个代码文件。Ctrl + K生成, Ctrl + L提问。默认每小时30词。# 1. Try generating with command K on a new line. Ask for a pytorch script of a feedforward neural network# 2. Then, select the ...

2023-04-16 21:46:00 607

原创 GPT模型: Generative Pre-training 生成式无监督预训练

GPT,GPT-2,GPT-3 论文精读【论文精读】_哔哩哔哩_bilibiliELMo:将上下文当作特征,但是无监督的语料和我们真实的语料还是有区别的,不一定符合我们特定的任务,是一种双向的特征提取。OpenAI GPT: 通过transformer decoder学习出来一个语言模型,不是固定的,通过任务 fine-tuning,用transfomer代替ELMo的LSTM。OpenA...

2023-04-15 23:24:00 470

原创 预训练模型-从BERT原理到BERT调包和微调

一、BERT原理BERT取名来自 Bidirectional Encoder Representations from Transformers。架构为:预训练 + fine-tuning(对于特定的任务只需要添加一个输出层)。1、引言 通过预训练语言模型可显著提高NLP下游任务。限制模型潜力的主要原因在于现有模型使用的都是单向的语言模型,无法充分了解到单词所在的上下文结构...

2023-04-15 23:16:00 2762

原创 信息论之从熵、惊奇到交叉熵、KL散度和互信息

一、熵(PRML)考虑将A地观测的一个随机变量x,编码后传输到B地。这个随机变量有8种可能的状态,每个状态都是等可能的。为了把x的值传给接收者,需要传输⼀个3⽐特的消息。注意,这个变量的熵由下式给出:⾮均匀分布⽐均匀分布的熵要⼩。如果概率分布非均匀,同样使用等长编码,那么并不是最优的。相反,可以根据随机变量服从的概率分布构建Huffman树,得到最优的前缀编码。可以利⽤⾮均匀分布这...

2023-04-15 23:01:00 237

原创 Transformer网络-Self-attention is all your need

一、TransformerTransformer最开始用于机器翻译任务,其架构是seq2seq的编码器解码器架构。其核心是自注意力机制: 每个输入都可以看到全局信息,从而缓解RNN的长期依赖问题。输入:(待学习的)输入词嵌入 + 位置编码(相对位置)编码器结构: 6层编码器: 一层编码器 = 多头注意力+残差(LN) + FFN+残差(LN)输出:每一个位置上输出预测概率分布(K类类...

2023-04-15 22:51:00 178

原创 数据结构之哈夫曼树与哈夫曼编码

一、背景编码是信息处理的基础(重新表示信息)。普通的编码是等长编码,例如7位的ASCIL编码,对出现频率不同的字符都使用相同的编码长度。但其在传输和存储等情况下编码效率不高。可使用不等长编码,来压缩编码:高频字符编码长度更短,低频字符编码长度更长。[例] 将百分制的考试成绩转换成五分制的成绩按顺序分别编码。按频率分别编码(高频短编码,类似于香农熵衡量随机变量的编码长度下界)。...

2023-04-15 22:41:00 734

原创 期望最大化算法(EM)简介

Expectation Maximization,EM算法是带有隐变量的概率模型参数的极大似然估计(MLE为给定参数,观测数据出现/生成的可能性)。如下为《统计机器学习》中对应EM算法的笔记。观测数据Y和隐变量X合称,完全数据观测数据Y称,不完全数据E步:(期望步)求Q函数(上一轮参数固定,模型参数为变量的函数),即期望(原始似然函数的下界)M步:(极大步)求Q函数的局部极...

2023-04-15 21:49:00 131

原创 从矩阵的谱半径到神经网络梯度消失

一、矩阵的范数二、矩阵的谱半径虽然,谱半径小于等于任意矩阵范数。但是,也必存在一个算子范数,小于等于谱半径+一个小的正数从线性方程组的迭代法的收敛性到矩阵的幂的收敛。谱半径小于1,也必存在一个算子范数,小于1;若矩阵的范数小于1, 当k趋于无穷时,矩阵任意范数的k次幂肯定趋近于0,这就使x(k)逼近其解。也就是说,矩阵的幂趋近于0矩阵。三、深度神经网络的...

2023-02-18 22:09:00 560

原创 C和Python实现快速排序-三数中值划分选择主元(非随机)

一、快排基础 1.1 快排的流程将数组A进行快速排序的基本步骤-quick_sort(A):递归基础情况:如果A中的元素个数是1或0,则返回。选取主元:取A中的任意一个元素v,作为主元(pivot)。交换策略:将A-{v}即A中剩余元素,划分成两个不相交的集合(多重集)A1和A2,递归处理:递归调用quick_sort(A1),再调用quick_sort(A2)伪代码可视化快...

2023-02-08 20:19:00 528 1

原创 LeetCode 239 滑动窗口最大值- Python手撕最大堆

手撕版最大堆的完全实现, 堆中元素为二元组(num, idx),比较时用数值,赋值或交换时用整个元组。class Heap: def __init__(self, arr, capacity): # 容量和大小 self.size = len(arr) self.arr = [None] * capacity self....

2023-02-06 21:35:00 112

原创 图卷积的演变-从谱图卷积到GCN

从基于频域谱图卷积的方法,到Graph Convolutional Networks

2023-02-06 12:55:19 483

原创 数据结构-详解优先队列的二叉堆(最大堆)原理、实现和应用-C和Python

一、堆的基础1.1 优先队列和堆优先队列(Priority Queue):特殊的“队列”,取出元素顺序是按元素优先权(关键字)大小,而非元素进入队列的先后顺序。若采用数组或链表直接实现优先队列,代价高。依靠数组,基于完全二叉树结构实现优先队列,即堆效率更高。一般来说堆代指二叉堆。 优先队列的完全二叉树(堆)表示1.2 堆堆序性: 父节点元素值比孩子节点大(小)最大堆(M...

2023-02-01 23:51:00 1334

原创 Pytorch-geometric: Creating Message Passing Networks 构建消息传递网络教程

根据Pytorch-geometric官方文档,介绍如何使用自带Message Pass基类,构建消息传递网络,如GCN和EdgeConv

2023-01-19 10:30:13 471 1

原创 Adversarial Active Learning based Heterogeneous GNN for Fake news Detection-ICDM20

一、摘要假新闻的爆炸性增长,以及对政治、经济和公共安全的破坏性影响,增加了对假新闻检测的需求。社交媒体上的假新闻并不是以文章的形式独立存在的。许多其他实体,如新闻创造者、新闻主题等,都存在于社交媒体上,并与新闻文章有关系。不同的实体和关系可以被建模为一个异构信息网络(HIN)。在本文中,我们试图在基于新闻的HIN的支持下解决假新闻检测问题。我们提出了一种新的假新闻检测框架,即基于对抗性主动学...

2023-01-16 16:19:00 211

原创 Neural Dynamics on Complex Networks-KDD20

一、摘要学习复杂网络上的连续时间动态对于理解、预测和控制科学和工程中的复杂系统至关重要。然而,由于高维系统结构中的组合复杂性、它们难以捉摸的连续时间非线性动力学以及它们的结构-动力学依赖性,使得这项任务非常具有挑战。为了解决这些挑战,我们提出将常微分方程系统(ODEs)和图神经网络(GNNs)相结合,以数据驱动的范式来学习复杂网络上的连续时间动态变化。我们用GNN来建模微分方程系统。我们并...

2023-01-16 15:48:00 315

原创 A Representation Learning Framework for Property Graphs-KDD19

一、摘要图上的表示学习,也称为图嵌入,已经证明了它对一系列机器学习应用程序的重大影响,如分类、预测和推荐。然而,现有工作在很大程度上忽略了那些可以被表示为属性图的现代应用程序中的节点以及边的属性中所包含的丰富信息,例如,那些由属性图所表示的信息。到目前为止,大多数现有的图嵌入方法要么只关注具有图拓扑结构的普通图,要么只考虑节点上的属性。为此,本文提出了一个图表示学习框架PGE,它将节点和边...

2023-01-16 15:01:00 68

原创 Embracing Domain Differences in Fake News- Cross-domain Fake News Detection using Multimodal Data-AA...

一、摘要随着社交媒体的快速发展,假新闻已经成为一个重大的社会问题,它无法通过人工调查及时解决。这激发了大量关于自动假新闻检测的研究。大多数研究探索了基于新闻记录中不同模态信息(如文本、图像和传播网络)的有监督模型来识别假新闻。然而,如果新闻记录来自不同的领域(如政治、娱乐),特别是在训练时未见过的或很少见过的领域,这些方法的效果通常会下降。本文经过探索性数据分析发现,来自不同领域的新闻记录...

2023-01-16 14:32:00 181

原创 QSAN: A Quantum-probability based Signed Attention Network for Explainable False Information Detecti...

一、摘要在社交媒体上的虚假信息检测具有挑战性,因为它通常需要烦冗的证据收集,但又缺乏可用的比较信息。从用户评论中挖掘出的线索作为群体智慧,可能对这项任务有相当大的好处。然而,考虑到内容和评论的隐式相关性,捕获复杂的语义是很简单的。虽然深度神经网络具有较好的表达能力,但缺乏可解释性是其主要的缺点。本文主要关注如何从社交媒体上的帖子内容和相关评论中学习,以更有效地理解和检测虚假信息,并具有可解...

2023-01-16 07:44:34 159 1

原创 IntentGC-A Scalable Graph Convolution Framework Fusing Heterogeneous Information for Recommendation-...

一、摘要网络嵌入的显著进步导致了最先进的推荐算法。然而,网站上的用户-物品交互(即显式偏好)的稀疏性仍然是预测用户行为的一个很大的挑战。虽然,已经有研究利用了一些辅助信息(如用户间的社会关系)来解决这个问题,但现有的丰富的异构辅助关系仍未得到充分利用。此外,以往的工作依赖于线性组合的正则化器,并优于参数量大导致调参代价高昂。在这项工作中,我们从常见的用户行为和项目信息中收集了丰富的关系,并...

2023-01-14 23:58:00 111

原创 Masked Label Prediction: Unified Message Passing Model for Semi-Supervised Classification-IJCAI21

一、背景消息传递模型(Message Passing Model)基于拉普拉斯平滑假设(邻居是相似的),试图聚合图中的邻居的信息来获取足够的依据,以实现更鲁棒的半监督节点分类。图神经网络(Graph Neural Networks, GNN)和标签传播算法(Label Propagation, LPA)均为消息传递算法,其中GNN主要基于传播特征来提升预测效果,而LPA基于迭代式的标签传播来...

2022-10-29 11:15:00 353

原创 读书笔记-《纳瓦尔原理》第一章 积累财富

如何不靠运气致富-Wealth赚钱不是一件想做就能做的事情,而是一门需要学习的技能。“赚钱”这门技巧跟工作的努力程度没什么必然联系。即使每周在餐厅拼命工作80个小时,也不可能发财。选择大于努力: 要想获得财富,你就必须知道做什么、和谁一起做、什么时候做与埋头苦干相比,更重要的是理解和思考。当然,努力非常重要,不能吝啬自己的努力,但必须选择正确的方式。如果还不知道自己应该做什么,...

2022-10-12 23:23:00 250

原创 深度学习基础-基于Numpy的循环神经网络实现和反向传播训练

本文是《深度学习进阶:自然语言处理》、《神经网络与深度学习》和《动手学深度学习》的读书笔记。本文将介绍基于Numpy的循环神经网络的前向传播和反向传播实现,包括RNN和LSTM。一、概述1.1 循环神经网络(RNN)循环神经网络(Recurrent Neural Networks, RNN)是一类具有短期记忆能力的神经网络,其特点是在处理序列数据时,能够记录历史信息。RNN已广泛地用于序列相...

2022-08-01 22:59:00 282

原创 Leetcode 1161 最大层内元素和

一、题目给你一个二叉树的根节点root。设根节点位于二叉树的第1层,而根节点的子节点位于第2层,依此类推。请返回层内元素之和 最大 的那几层(可能只有一层)的层号,并返回其中最小 的那个。示例 1:输入:root = [1,7,0,7,-8,null,null]输出:2解释:第 1 层各元素之和为 1,第 2 层各元素之和为 7 + 0 = 7,第 3 层各元素之和为 7...

2022-07-31 12:08:00 123

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除