个人学习记录博客
李宏毅《生成式人工智能导论》第十次作业代码(课程提供了源码)的学习参考:https://blog.csdn.net/a131529/article/details/144342428https://colab.research.google.com/drive/1dI_-HVggxyIwDVoreymviwg6ZOvEHiLS?usp=sharing#scrollTo=CnJtiRaRuTFX1 准备工作安装必备的包:pip -q install timm==1.0.7 pip -q install fairscale==0.4.13 pip -q install transformers==4.41.2 pip -q install requests==2.32.3 pip -q install accelerate==0.31.0 pip -q install diffusers==0.29.1 pip -q install einop==0.0.1 pip -q install safetensors==0.4.3 pip -q install voluptuous==0.15.
李宏毅《生成式人工智能导论》第五次作业代码(课程提供了源码)的学习参考:李宏毅 生成式人工智能导论 HW51 准备阶段安装必备包:!pip install bitsandbytes==0.43.0 !pip install datasets==2.10.1 !pip install transformers==4.38.2 !pip install peft==0.9.0 !pip install sentencepiece==0.1.99 !pip install -U accelerate==0.28.0 !pip install colorama==0.4.6 !pip install fsspec==2023.9.2pytorch 版本是:2.6.0+cu118,cu126版本的pytorch似乎和 bitsandbytes 冲突出现bug。加载包:import os import sys import argparse import json import warnings import logging warnings.filterwarnings("ignore
原文:LoRA: Low-Rank Adaptation of Large Language Models1 简介冻结预训练模型的权重,在 Transformer 架构的每一层注入可训练的 秩分解矩阵,从而大大减少了下游任务的可训练参数数量。术语:the input and output dimension size of a Transformer layer: $d_{model}$the query/key/value/output projection matrices in the self-attention module: $W_q,W_k, W_v, W_o$the pretrained weight matrix: $W$ ($W_0$)accumulated gradient update during adaption: $\Delta W$the rank of a LoRA module: $r$Transformer MLP feedforward dimension $d_{ffn} = 4\times d_{model}$问题描述:给定一个由 $\Phi
1 计算机网络和因特网1.1 什么是计算机网络数十亿台互联计算设备主机 = 终端系统运行网络应用程序端系统通过 通信链路 和 分组交换机 连接到一起。通信链路光纤、铜缆、无线电、卫星传输速率:带宽分组交换机 packet switches:转发分组(数据块 chunks of data)路由器 和 链路层交换机因特网:网络的网络 network of networks互联的ISP端系统 通过 因特网服务提供商 (ISP) 接入因特网。协议 控制 消息的发送 和 接收TCP,IP,HTTP,Skype,802.11因特网RFC:征求意见IETF:互联网工程任务组互联网为应用程序提供服务的基础设施网站,VoIP,电子邮件,游戏,电子商务,社交网络等涉及多个相互交换系统的端系统:分布式应用程序。端系统提供 套接字接口 ,该接口规定了运行在一个端系统上的程序请求因特网基础设施向运行在另一个端系统上的特定目的地程序交付数据的方式。互联网为应用程序提供编程接口允许发送和接收应用程序以“连接”到互联网 的 钩子 hooks提供类似于邮政服务的服务选项协议 protocol 的定义:协议 定义了在两个
并行程序设计导论1 为什么要并行化1.1 为什么需要不断提升的性能不断提升的计算能力称为许多飞速发展领域的核心力量气候模拟蛋白质折叠药物发现能源研究数据分析1.2 为什么需要构建并行系统单处理器性能提升的主要原因之一:日益增加的集成电路晶体管密度。通过继续增快继承电路的速度来提高处理器性能的方法变得不再可行。如何利用不断增加的晶体管密度:并行。集成电路制造商:在单个芯片上放置多个处理器。(多核处理器)1.3 为什么需要编写并行程序串行程序改写为并行程序。最好的并行化,可能通过一步步回溯,然后发现一个全新的算法来得到。代码分析:计算 n 数的值再累加求和,串行代码:sum = 0; for(i=0; i<n; i++){ x = Compute_next_value(...); sum += x; }假设有 p 个核,且 p 远小于 n,那么每个核能够计算大约 n/p 个数的值并累加求和,以得到部分和:my_sum = 0; my_first_i = ...; my_last_i = ...; for(my_i = my_first_i; my_i < my_
1 卷积神经网络Convolutional Neural Network (CNN)卷积神经网络由三个主要部分组成:卷积层 (convolutional layers)池化层 (pooling layers)全连接层 (fully connected layers)应用于数字识别的CNN架构[source]1.1 卷积层输入:大小 $W\times H\times C$(W 宽,H 高,C 通道数对于初始的图像,通道数为颜色维度,RGB的 channel size = 3)主要的数学运算:卷积(对图像的像素矩阵应用的滑动窗口函数)卷积操作的目的:从输入图像中提取高级特征。通过应用多个不同的 filter (大小相同) 来提取不同的图像特征。每个 filter 以 一定步长stride 遍历整张图片。以手写数字识别为例,filter 可以用于识别数字的曲线,边缘,数字的整体形状等对输入预处理:padding 填充Valid padding: 不进行任何填充,卷积操作后特征图的尺寸会减小。Same padding: 进行填充,使得卷积操作后特征图的尺寸与输入图像的尺寸相同。使用 $3\ti
1 Denoising Diffusion Probabilistic Models论文地址:Denoising Diffusion Probabilistic ModelsDiffusion Probabilistic Model 是一个可参数化的马尔可夫链,通过变分推理训练,在有限时间内生成与数据匹配的样本。Transitions of this chain are learned to reverse a diffusion process, which is a Markov chain that gradually adds noise to the data in the opposite direction of sampling until signal is destroyed.当 diffusion 由少量高斯噪声组成时,将 sampling chain transitions 设置为条件高斯分布,从而允许实现特别简单的神经网络的参数化。1.1 backgroundDiffusion Model:latent variable models 潜变量模型形式:$$ p
video:https://www.youtube.com/watch?v=lAq96T8FkTwhttps://www.youtube.com/watch?v=NxTFlzBjS-4https://www.youtube.com/watch?v=lWzo8CajF5shttps://zhuanlan.zhihu.com/p/68748778EMA:Exponential Moving Average,指数移动平均,也称权重移动平均(Weighted Moving Average)。假设有 n 个数据:$[\theta_1, \theta_2, ..., \theta_n]$ 计算平均值:$v_t = \beta \cdot v_{t-1} + (1-\beta) \cdot \theta_t$ ,其中 $v_t$ 表示前 $t$ 个数据的平均值,$\beta$ 是加权权重值(一般设为 0.9~0.999),不同的 $\beta$ 值会影响平均值的平滑程度。普通求平均值的方法:$v_t = \cfrac{(n-1)\cdot v_{t-1} + \theta_t}{n}$ ,当 $\b
Generative Adversarial Network GAN学习:李宏毅:GAN GAN的输入包含一个随机变量 z,该变量从一个简单的分布(通常是正态分布)中采样。随机变量 z 的引入使得生成器具有更强的创造性,从而能够生成多样化的输出。Unconditional generation输入:一个低维向量 z,来自正态分布。输出:一个高维向量 y,通常表示为一张图像,具有复杂的分布。输入不同的 z 将导致输出的 y 不相同。Dicriminator 判别器是一个 neural network输入:一张图像输出:一个数值标量,数值越大,代表图像越真实,越小代表图像越假。Generator 和 Discriminator 是相互学习一起进化的。Algorithmgenerator 和 discriminator 是两个网络,首先需要初始化 generator 和 discriminator 两个网络,然后在每个训练步:Step1: 固定 generator G,更新 discriminator D。从正态分布中采样一些向量,作为 Generator 的输入,得到输出图像从真实数据集
学习:李宏毅:自注意力机制和Transformer1 EncoderEncoder 的主要作用是接收一系列输入向量,并输出对应的向量序列。可以使用 RNN 或 CNN 实现编码器,但在 Transformer 中,采用了自注意力机制(Self-Attention)来实现: Encoder 由多个相同的块(block)组成,每个块内部包含多个层(layer),其结构如下:每个块:input vector seq → self-attention → fully connected network → output。每个块的输出作为下一个块的输入,最终生成的输出为一个向量序列。 Transformer 的设计:在上面的结构基础上加入了 residual 和 normalization: 最终的 encoder 架构:2 Decoder2.1 自回归解码 Autoregressive(AT)Decoder 首先接收一个特殊符号,表示开始(start token),然后根据这个符号输出与词汇表大小相同的向量。选择概率最大的词作为最终输出,同时将其作为 Decoder 的新输入。 encode
caroline
计算机专业学生