自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LLM优化技术——Paged Attention

Transformer解码过程中的KV缓存存在显著内存开销问题。以Llama-2-70B模型为例,KV缓存内存占用达2.5MB/批次/序列长度。主要存在三类内存浪费:内部碎片化(因输出长度未知过度分配)、预留内存(为未来步骤预分配)和外部碎片化(不同序列长度导致空隙)。PagedAttention技术提出创新解决方案,通过不连续存储键值对来优化内存利用率。该方案有效缓解了传统连续存储方式带来的内存碎片问题,为提升大模型推理效率提供了重要思路。

2025-05-31 18:07:40 85

原创 LLM推理相关指标

摘要:大语言模型性能评估主要关注三个指标:TTFT(首token响应时间)、TPOT(单token生成时间)和总延迟(TTFT+TPOT×token数)。优化目标是降低TTFT和TPOT,提高吞吐量(每秒生成token数)。模型性能受输出长度、输入长度和模型尺寸影响,其中Llama-70B的延迟约为Llama-13B的两倍。需权衡吞吐量与TPOT,并发处理会提高吞吐量但可能增加单请求延迟。10tokens/s是流畅交互的临界值。

2025-05-31 17:29:26 52

原创 conda常用操作

【代码】conda常用操作。

2025-05-21 22:37:33 79

原创 Windows远程连接AutoDL图形化界面

在AutoDL上租用的Linux服务器(如Ubuntu)可以通过VNC或X11转发实现Windows电脑的远程图形化界面连接。首先,通过SSH连接服务器并安装轻量级桌面环境(如Xfce)和VNC服务器。初始化VNC服务器并设置连接密码。接着,配置VNC服务,编辑配置文件并赋予执行权限,重新启动VNC。最后,在Windows上下载VNC客户端,通过SSH隧道转发VNC端口,使用VNC客户端连接服务器并输入密码登录。

2025-05-17 00:46:23 457

原创 Transformer && LLM

(1)判别式任务:给定一个句子,希望得到某种分类结果,例如情感分析、文本分类、文本蕴含等;(2)生成式任务:给定一个句子,想要生成下一个词元,语言建模,例如机器翻译。词表中有很多单词,每个单词使用一个数组表示,将单词编码成数字。(1)RNN循环神经网络。(2)CNN卷积神经网络。

2025-05-11 12:25:06 158

原创 CUDA Tensor Core wmma学习笔记

C++ Warp矩阵运算利用Tensor Core来加速D = A * B + C形式的矩阵问题,这些运算支持计算能力7.0或者更高设备的混合精度浮点数据。(1)fragmentfragment:包含分布在Warp中所有线程上的矩阵片段。Use:可用值:matrix_a、matrix_b、accumulator。matrix_a表示当前fragment用作第一个被乘数,A;matrix_b表示当前fragment用作第二个被乘数,B;accumulator表示当前fragment用作源或目标

2025-04-22 01:23:31 614

原创 计算机网络——流量控制

在任何时候只有一个数据包在传输,发送方发送一个数据包,接收方在接收到数据包后向发送方返回一个确认包。发送方在等待设定时间没有接收到确认数据包后,重新发送刚才发送的数据包。(2)Last Acknowledgment Received(LAR):从接收方收到的最后一个确认。停止&等待方法是在任何时候都只有一个数据包在传输,滑动窗口是在任何时候同时有n个数据包在传输。流量控制的基本方法是确保发送方不会以超过接收方处理能力的速度发送数据包。(3)Last Segment Sent(LSS):发送的最后一个段。

2025-01-31 22:14:13 1019

原创 地址解析协议(Address Resolution Protocol,ARP)

(2)链路地址描述了一个特定的网卡,即发送和接收链路层帧的唯一设备。以太网使用48位地址。每当购买一张以太网网卡时,该网卡已经被预先配置了一个唯一的以太网地址。地址解析协议(ARP)是一种机制,网络层通过它能够发现与其直接相连的网络地址所对应的链路地址。(1)IP地址是网络层的地址,其描述了一个主机,即网络层中的唯一目的地。IP地址表示这台主机,以太网地址则表示这张以太网网卡。

2025-01-31 12:59:15 180

原创 TCP & UDP Service Model

TCP & UDP Service Model

2025-01-31 12:45:42 658

原创 最长前缀匹配算法

计算机网络 IPv4 最长前缀匹配算法

2025-01-31 10:33:15 104

原创 IPv4 地址

IPv4 地址

2025-01-31 10:24:01 111

原创 IP服务模型

1. IP数据报IP数据报中除了包含需要传输的数据外,还包括目标终端的IP地址和发送终端的IP地址。数据报通过网络从一台路由器跳到另一台路由器,一路从IP源地址传递到IP目标地址。每个路由器都包含一个转发表,该表告诉它在匹配到特定目标地址后将数据报发送到哪里。路由器并不知道整个路径,它只是使用目标地址来索引自己的转发表,以便将数据报转发到路径上的下一跳,朝着最终目的地前进。IP服务模型提供了一项服务,其中包括将数据路由到目的地的功能。2. 不可靠的IP并不保证数据报一定会被送达目的地,它们可能会被延迟送达、

2025-01-30 10:52:32 858

原创 四层网络模型

最顶层是应用层,互联网有成千上万的应用程序,虽然每个应用程序各不相同,但它们可以通过使用应用层到TCP和UDP服务的明确定义的API来复用传输层。并非所有应用程序都需要数据被正确送达,如果视频会议应用程序正在发送一个数据包中的视频片段,多次等待数据包重传可能毫无意义,最好是继续传输。有些应用程序根本不需要TCP服务,如果应用程序不需要可靠的送达,可以使用更简单的UDP。UDP是一种替代的传输层协议,它将应用程序数据打包,并将其交给网络层以传递到另一端。网络层在底层提供的是一种不可靠的数据传递服务。

2025-01-28 13:36:40 464

原创 golang map

Go语言中的map是一种内置的数据结构,用于存储键值对(它类似于其他语言中的字典(Python)、哈希表(Java)或关联数组(PHPmap提供了高效的查找、插入和删除操作,是Go语言中非常常用的数据结构之一。(1)键值对存储:map 存储的是一组键值对,键(key)和值(value)可以是任意类型。(2)键的唯一性:map 中的键必须是唯一的,不能重复。(3)无序性:map 中的键值对是无序的,遍历时顺序不固定。(4)动态大小:map 的大小是动态的,可以根据需要自动扩容。:键的类型。

2025-01-16 15:20:10 344

原创 C++:派生

【代码】C++:派生。

2025-01-14 23:14:08 129

原创 C++构造函数

在C++中,类的构造函数() 是一种特殊的成员函数,用于在创建对象时初始化对象的状态。构造函数的名称必须与类名相同,且没有返回类型(包括void构造函数在对象创建时自动调用,确保对象在使用时处于有效的初始状态。

2025-01-14 23:08:41 235

原创 C++:智能指针

C++中的智能指针是用于管理动态分配内存的工具,能够自动释放内存,避免内存泄漏。C++11和。它们都定义在头文件中。

2025-01-14 17:42:25 229

原创 std::move

标准库中的一个实用工具,用于将对象转换为右值引用,从而允许移动语义的操作。

2025-01-14 17:22:34 117

原创 std::is_same_v

引入的一个模板变量,用于在编译时检查两个类型是否相同。头文件中,是类型特征(type traits)的一部分。的简化版本,直接返回一个布尔值(是要比较的两个类型。),表示两个类型是否相同。

2025-01-13 23:06:52 417

原创 decltype

引入的关键字,用于推导表达式的类型。它可以在编译时获取某个表达式或变量的类型,并将其作为类型使用。这里,decltype(a + b) 用于推导 a + b 的类型,并将其作为函数的返回类型。常用于模板编程中,用于推导复杂表达式的类型。结合使用,用于推导复杂表达式的类型。结合使用,增强代码的可读性和灵活性。可以是变量、函数调用、表达式等。(2)在泛型编程中简化类型声明。(1)推导变量或表达式的类型。

2025-01-13 22:59:56 198

原创 分解质因数

【代码】分解质因数。

2025-01-12 23:30:31 131

原创 std::vector

中最常用的容器之一,提供了动态数组的功能,支持在尾部高效地添加和删除元素,同时允许通过下标或迭代器访问元素。会自动管理内存,当元素数量超过当前容量时,会自动分配更大的内存块并复制元素。的大小可以动态调整,不需要预先指定容量。标准库中的一个动态数组容器,定义在。的元素在内存中是连续存储的,类似于。是值类型,支持拷贝和赋值操作。在尾部添加元素,或使用。(4) 获取大小和容量。)或迭代器访问元素。(1) 创建和初始化。(8)插入和删除元素。

2025-01-12 22:56:02 443

原创 std::array

(2)连续存储:元素在内存中是连续存储的,类似于。它是一个固定大小的数组容器,封装了。风格数组,并提供了更多的功能和安全性。的大小在编译时确定,不能在运行时动态调整。(1)安全性:提供了越界检查(通过。是值类型,支持拷贝和赋值操作。标准库中的一个容器,定义在。:数组的大小(元素的数量)。(2)功能性:支持迭代器、容器接口一致,易于使用。算法和其他容器操作。

2025-01-12 22:26:47 265

原创 std::transform

(4)操作函数的返回值:操作函数(unary_op 或 binary_op)的返回值类型必须与目标容器的元素类型兼容。(1)目标范围的大小:目标范围必须有足够的空间来存储转换结果,否则会导致未定义行为。可以用于对容器中的元素进行逐元素操作,例如将每个元素加 1、转换为大写字母等。它用于对给定范围内的元素进行转换操作,并将结果存储到另一个范围中。是高效的,因为它会对范围内的每个元素应用操作,且没有额外的开销。:第二个输入范围的起始迭代器(仅用于二元操作版本)。:目标范围的起始迭代器,用于存储转换结果。

2025-01-12 21:59:16 362

原创 std::accumulate

它用于计算给定范围内元素的累积值(通常是一个和,但也可以是其他类型的累积操作)。是一个二元函数,接受两个参数:当前的累积值和当前元素的值,返回新的累积值。: 二元操作函数,用于定义累积操作。如果不提供,默认使用加法操作。即,它将范围内的所有元素相加,并加上初始值。指向序列的末尾(即最后一个元素的下一个位置)。是 C++ 标准库中的一个算法,定义在。: 输入范围,表示要处理的元素序列。: 初始值,累积操作从这个值开始。返回累积操作的结果,类型为。指向序列的第一个元素,参数来自定义累积操作。

2025-01-12 21:45:12 317

原创 质数的判定

【代码】质数的判定。

2025-01-12 20:15:02 289

原创 git相关操作笔记

git init是一个 Git 命令,用于初始化一个新的 Git 仓库。执行该命令后,Git 会在当前目录创建一个 .git 子目录,这是 Git 用来存储所有版本控制信息的地方。使用方法如下:(1)打开终端或命令行。(2)导航到你想要初始化 Git 仓库的目录。(3)运行 git init 命令。执行完git init后,当前目录将成为一个新的 Git 仓库,可以开始添加文件并提交版本。

2025-01-09 21:07:13 485

原创 LeetCode 刷题笔记

std::gcd是C++17引入的一个函数,用于计算两个整数的最大公因数。位于头文件中。计算一组数的最大公因数。

2024-12-18 23:49:08 255

原创 GPU 计算 CMPS224 2021 学习笔记 02

可以使用上述函数API来同步CPU和GPU之间的操作,CPU调用cudaDeviceSynchronize()后,会等待GPU上的所有核函数执行完成后才会执行下面的程序。GPU上核函数的调用是异步的,GPU上的核函数启动后,立即返回,CPU会继续执行下面的程序,不会等待核函数执行完成。CPU和GPU拥有相互独立的内存空间,需要在两者之间相互传输数据。(4)将计算结果从GPU复制到CPU上。(2)将CPU上的数据复制到GPU上。(3)在GPU上对数据进行计算操作。(1)分配GPU内存。(5)释放GPU内存。

2024-09-08 09:22:03 403

原创 kuiperInfer学习笔记

kuiperInfer使用的模型格式是PNNX(PyTorch Neural Network Exchange)PNNX由图结构(Graph)、运算符(Operator)和操作数(Operand)这三种结构组成。

2024-09-02 16:14:59 353

原创 线性分组码

(n, k)线性分组码,n是码长,k是信息位数,n-k是校验位数,k/n是编码速率。

2024-05-08 20:32:23 2279

原创 集成学习算法学习笔记

三个臭皮匠顶一个诸葛亮集成学习会考虑多个评估器的建模结果,汇总后得到一个综合的结果,以此来获取比单个模型更好的回归或分类表现。很多独立的机器学习算法:决策树、神经网络、支持向量机集成学习构建了一组基学习器,并将它们综合起来作为最终的模型。在很多集成学习模型中,对基学习器的要求很低。集成学习适用于机器学习的几乎所有领域:回归、分类、推荐和排序。相同的多个基学习器不会带来任何提升,不同的模型取长补短,每个基学习器都会犯不同的错误,综合起来犯错的可能性不大。

2024-04-27 17:33:21 643

原创 决策树学习笔记

随机变量不确定性的度量信息增益:表示特征X使得类Y的不确定性减少的程度。

2024-04-27 14:32:05 760

原创 随机过程——卡尔曼滤波学习笔记

V(k)基于样本观测的条件均值为0,即均方不可预测。

2024-01-11 11:02:56 859

原创 天线的相关概念

天线的某一特性在某一准则下的工作频率范围。参考强度是假设输入功率被各向均匀辐射天线全部辐射出去时的强度。接收天线负载上所获得的功率与入射波功率流密度成正比,这个比例系数称为天线的有效面积。平均强度是假设辐射功率被各向均匀辐射天线所辐射时的强度。发射(接收)能量在空间中的角分布(单位立体角中的功率)。天线输入端电压与电流之比,或适当定义的电场与磁场之比。考虑到输入阻抗不匹配时引起的反射损耗时的辐射效率。E-平面:最大辐射方向与电场矢量方向所确定的平面。H-平面:最大辐射方向与磁场矢量方向所确定的平面。

2024-01-03 10:59:55 626

原创 电磁波散射

入射场和散射场和总场和。

2023-12-31 20:34:22 1163

原创 CUDA动态并行

动态并行是 CUDA 编程模型的扩展,使 CUDA 内核能够直接在 GPU 上创建新工作并与其同步。在程序中任何需要的地方动态创建并行性都提供了令人兴奋的功能。直接从 GPU 创建工作的能力可以减少在主机和设备之间传输执行控制和数据的需要,因为现在可以由在设备上执行的线程在运行时做出启动配置决策。此外,可以在运行时在内核内内联生成依赖于数据的并行工作,动态利用 GPU 的硬件调度程序和负载平衡器,并根据数据驱动的决策或工作负载进行调整。

2023-12-27 21:28:16 710

原创 笔记01:随机过程——随机游动

1. n次伯努利实验中(x=1)发生的总次数Yn:(二项分布)2. 伯努利实验中事件第一次发生的时间L1:(几何分布)3. n次伯努利实验中事件第k次发生的时间Lk:(帕斯卡分布)

2023-10-08 00:23:43 1467

原创 算法笔记:0-1背包问题

KnapsackSR(h, i, c):在第h个到第i个商品中,容量为c时的最优解。n个商品组成集合O,每个商品有两个属性vi(体积)和pi(价格),背包容量为C。取二者最大值P = max{P1+pi, P2}(1)问题的最优解由相关子问题最优解组合而成。时间复杂度 O(n*C)(2)子问题可以独立求解。求解一个商品子集S,令。共2^n - 1种情况。

2023-10-07 00:02:06 450

原创 【无标题】

5G三大使用场景:增强型移动宽带(eMBB)、大规模机器类型通信(mMTC)、超可靠低延迟通信(uRLLC)卫星在5G生态系统中发挥的作用至关重要,并已得到广泛认可。3GPP已经定义了NTN 5G系统的三个主要用例:(1)在单一或组合地面网络无法提供服务的情况下,NTN可以通过确保业务连续性来显著增强“5G网络可靠性”。在移动平台(如汽车、火车、飞机等)和关键任务通信的情况下尤其如此。

2023-10-05 16:50:49 956

空空如也

空空如也

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

TA关注的人

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