大模型基础与对齐 02 Transformer & GPT-3
GPT-3: Next Token Generation
任务:每次预测下一个单词,选择概率最高的作为输出
问题:一词多义,WSD问题。因此需要进行上下文的语义理解
解决方法:通过attention机制来进行上下文的理解
可以通过GPT-3的参数量的计算了解其运行的原理:175B
Word Embedding: update in leanring
最终会形成一个embedding矩阵,并在learning过程中不断更新
在词义空间embedding space中,每个词向量都有方向,且方向表征一定的含义和词义间的关系
例如复数可由cats - cat得到,复数和带复数形式单词的点乘结果会更大(说明其更相关):
每个symbol都会有一个embedding向量:
The output layer: the logits
输出需要是单词,即logits,所以需要unembedding矩阵把embedding转化为logits
转化后的乘积仍为向量,还需要通过softmax层转化为概率形式,选择概率最大的单词输出:
The Attention o ...
Learning PyTorch with Examples 自学笔记
Learning PyTorch with Examples
我们将以使用三阶多项式拟合y=sin(x)的问题作为示例。网络将包含四个参数,并通过梯度下降法进行训练,以最小化网络输出与真实输出之间的欧几里得距离来拟合随机数据
TensorsWarm-up: numpy
在介绍 PyTorch 之前,我们将首先使用 NumPy 来实现这个网络
NumPy 提供了一个 n 维数组对象(ndarray),以及许多用于操作这些数组的函数
NumPy 是一个通用的科学计算框架,它并不了解计算图、深度学习或梯度
然而,我们可以通过手动实现网络的前向传播和反向传播,使用 NumPy 操作来拟合一个三阶多项式到正弦函数
123456789101112131415161718192021222324252627282930313233343536373839# -*- coding: utf-8 -*-import numpy as npimport math# Create random input and output datax = np.linspace(-math.pi ...
Janus-Pro:Unified Multimodal Understanding and Generation with Data and Model Scaling
Janus-Pro: Unified Multimodal Understanding and Generation with Data and Model ScalingAbstract
Janus-Pro是之前工作Janus的进阶版本
Janus-Pro结合了:
优化的训练策略
扩展的训练数据
更大的模型规模
Janus-Pro在多模态理解和文本到图像的指令跟随能力方面取得了显著进展,同时增强了文本到图像生成的稳定性
1. Introduction
Janus在1B参数规模上得到了验证。然而由于训练数据量有限和模型容量相对较小,它表现出一些缺点,例如在短提示图像生成上的性能不佳以及文本到图像生成质量不稳定
Janus-Pro系列包括两种模型规模:1B和7B,展示了视觉编码解码方法的可扩展性
Janus-Pro在多模态理解能力和文本到图像指令跟随性能方面均表现出色
2. Method2.1. Architecture
Janus-Pro的架构如下图所示,与Janus相同,整体架构的核心设计原则是解耦多模态理解和生成的视觉编码
应用独立的编码方法将原始 ...
大模型基础与对齐 01 LLM概述
LLM Introduction什么是大模型
定义:“任何在广泛数据上训练的模型(通常使用大规模的自我监督),可以适应(例如,微调)广泛的下游任务”
Large Language Models
是Transformer架构的扩展,有数百万/数十亿个参数
通常使用大量 “通用” 文本数据(例如 Web 语料库)进行训练
训练目标通常是“下一个标记预测”:P(Wt+1|WT ,WT-1,…,W1)
随着规模的扩大,会涌现出其他能力(例如,思维链推理)
繁重的计算成本(时间、金钱、GPU)
更大的通用类型:“即插即用”,很少或零次学习:训练一次,然后适应其他任务,无需重新训练。例如,上下文学习和提示
Challenges and Weaknesses of NLP
Challenges of NLP:
文本的离散性
更困难的数据增强
文本是“精确”的 - 一个错误的单词会改变句子的全部含义
可能具有较长的上下文长度和记忆(例如对话)
Weaknesses of earlier models/approaches:
文本长度短
“线性”推理 - 没 ...
Janus:Decoupling Visual Encoding for Unified Multimodel Understanding and Generation
Janus:Decoupling Visual Encoding for Unified Multimodel Understanding and Generation(解耦视觉编码以实现统一的多模态理解和生成)
自回归模型(deepseek):自回归模型(Autoregressive Model, AR Model) 是一种统计模型,用于描述时间序列数据或序列数据中当前值与过去值之间的关系。它的核心思想是:当前时刻的值是过去若干时刻值的线性组合,并通过这种依赖关系来预测未来的值。核心特点:
时间依赖性:
序列生成:自回归模型通过逐步预测序列中的下一个值来生成整个序列。例如,在文本生成中,模型根据前一个词预测下一个词,逐步生成完整的句子
Abstract
Janus是一个自回归框架,统一了多模态理解和生成
先前的研究通常依赖于单一视觉编码器来处理这两个任务,然而由于多模态理解和生成所需的信息粒度不同,这种方法可能导致次优性能,尤其是在多模态理解方面
为了解决这个问题,可以将视觉编码解耦为独立的路径,同时仍然利用单一的统一Transformer架构进行处理:
缓解了视觉 ...
DeepSeek-R1:Incentivizing Reasoning Capability in LLMs via Reinforcement Learning
DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement LearningAbstract
DeepSeek-R1-Zero 是一个通过大规模强化学习(RL)训练的模型,没有使用监督微调(SFT)作为初步步骤:
通过 RL,DeepSeek-R1-Zero 自然涌现出许多强大且有趣的推理行为
面临一些挑战,如可读性差和语言混合
DeepSeek-R1在 RL 之前结合了多阶段训练和冷启动数据
1. Introduction
post-training 被证明可以提高推理任务的准确性、与社会价值观对齐并适应用户偏好,同时相对于预训练所需的计算资源较少
OpenAI 的 o1 系列模型首次引入了inference-time scaling,通过增加 Chain-of-Thought(CoT)推理过程的长度:
在数学、编程和科学推理等各种推理任务中取得了显著改进
test-time scaling仍然很大
deepseek迈出了通过纯强化学习(RL)提升语言模型推理能力的第一步
目 ...
计算机视觉 22 Image Generation
自回归模型(Autoregressive Models)显式概率密度估计(Explicit Density Estimation: Autoregressive Models)
目标:得到显式函数p(x) = f(x,W)
给定数据集x(1),x(2),…,x(n),通过极大似然估计来训练模型:
Autoregressive Models:
假设每个 x 由多个子部分(维度)组成:x=(x1,x2,…,xT)
使用链式法则分解概率表达式:
通过将上述方程代入损失函数来求 W∗。给定历史作为已知条件来预测下一个
PixelCNN and PixelRNN
从左上角开始,一次生成一个图像像素,逐像素生成
使用 RNN或CNN计算每个像素的概率,该概率取决于状态和从左侧和上方的 RGB值:
在每个像素处,预测红色,然后预测蓝色,然后预测绿色:softmax到[0,1,…,255]
Generative Pretraining from Pixels
使用自回归模型的Transformer:
变分自编码器(Variational Aut ...
计算机视觉 21 Image Segmentation
Computer Vision Tasks: Semantic Segmentation
语义分割(semantic segmentation):每个像素分配一个标签
物体检测(object detection):每个物体分配一个包围盒,再给每个包围盒赋予一个标签
实例分割(instance segmentation):物体检测+语义分割
Semantic Segmentation
使用类别标签标记图像中的每个像素,输入:照片;输出:语义
不能区别示例,只能给像素标签分类
Semantic Segmentation: Sliding Window
滑动窗口:把窗口中图像块的语义作为中心像素的语义。循环中心像素,为每个像素分类标签
缺点不高效,应该使用共享计算,复用计算
FCNMake a CNN Fully Convolutional
FCN是全连接的CNN
FC(MLP)可以作为特殊的卷积层,可以视为一个大卷积核的卷积层
最后上采样,形成大的feature map
中间的卷积层权重共享,从而更为高效
问题:上采样32倍过大,细节丢失严重
...
计算机视觉 20 RNN and Transformers
RNNRecurrent Neural Networks: Process Sequences
一对多:看图说话,输入一张图片输出一个文字序列,无法用CNN解决
多对一:视频分类,输入一个序列的图片,输出一个标签,无法用CNN解决
异步多对多:翻译,输入一个文字的序列,异步输出一个文字序列,无法用CNN解决
同步多对多:每帧视频分类,输入一个图片序列,输出一个标签序列,无法用CNN解决
RNN用于处理序列问题
Sequential Processing of Non-Sequential Data
对于非序列的数据,可以将其进行序列化转化为序列数据进行RNN
Recurrent Neural Networks
实现思想:维护一个内部状态,随输入输出不断更新
可以通过在每个时间步应用想通的递归公式来处理向量序列x,得到对应位置的y
RNN Computational Graph
初始化隐藏层为0或者随机数来进行学习
在每个时间步长重复使用相同的权重矩阵
而many to many问题的计算图可以表示成:
其中总损失函数是累加而得,因为权重矩阵是相同 ...
计算机视觉 19 Visualizing Models and Generating Images
Visualize Neural NetworksDirectly visualize the neural network weights
将weight折叠成图像的形状,然后将像素值映射到0-255
浅层layer主要学习不同方向的边缘提取,blogs提取特征。更关注形状和颜色特征而非语义
高层layer无法通过这个方法进行可视化,可视化结果维度很高而且效果较差
最后一层layer可以通过最近邻进行可视化:从分类器之前的图层中提取图像的 4096 维特征向量,然后找到最近的邻居
最后一层提取出的特征对颜色鲁棒,而对语义比较敏感
最后一层layer可以进行将为可视化:通过PCA或t-SNE将向量的维数从 4096 维降低到 2 维,可视化 FC7 特征向量的“空间”
Understand Input PixelsMaximally Activating Patches
实现思路:
选择想要可视化的图层和通道
通过神经网络运行许多图像,记录所选通道的值,即激活值feature
计算并裁剪相对应的感受野,可视化与最大激活度相对应的图像块
优点:可以可 ...