- 2024-11-21【深度学习】模型训练时减少GPU显存占用
训练过程中,显存的主要占用来自:激活值(Activations):前向传播过程中存储的中间计算结果。梯度存储:用于反向传播。权重和偏置参数。一、梯度检查点(GradientCheckpointing)在深度学习中,反向传播需要保留前向传播过程中生成的中间激活值(activations)来计算梯度。GradientCheckp
- 2024-10-31QLoRA原理分析
QLoRA是LoRA的量化版本,在LoRA的基础上,对权重W进行量化,如图2所示,以进一步减少对GPU显存的需求。1、算法论文及代码论文《QLORA:EfficientFinetuningofQuantizedLLMs》 https://arxiv.org/pdf/2305.14314代码 https://github.com/artidoro/qlora
- 2024-10-31LoRA原理
图1描述了LoRA微调的原理,即在原模型的基础上,建立一个旁支模型,旁支模型由A和B两个小矩阵构成,且A@B的维度等于原模型的维度。图1LoRA原理图1的LoRA原理,也可写成式2的等式,权重W的新状态W’,为图10左路WFP16与右路AFP16@BFP16乘积之和,其中W、A、B的上标FP16,意指其矩阵元
- 2024-09-22智谱AI算法工程师带你上手实践CogVideoX 视频生成开源模型
关注公众号:青稞AI,第一时间学习最新AI技术
- 2024-09-22fp16 的累加误差有多大
本文地址:https://wanger-sjtu.github.io/fp16-err/最近在项目中需要实现fp16的数据类型做FFN的计算,算子实现的同学反馈误差与x86上得到的golden数据有比较大误差。开始以为是x86侧做数值模拟仿真的问题。后面也实现了对比了一下,发现误差累计确实挺大。实测结果对比intmain(){
- 2024-09-08TensorRT-For-YOLO-Series项目:实现yolov10模型的python-tensorrt推理(对比int8与fp16推理差异)
项目地址:https://github.com/Linaom1214/TensorRT-For-YOLO-Series/tree/cuda-python算法支持状态:2024.6.16SupportYOLOv9,YOLOv10,changingtheTensorRTversionto10.02023.8.15Supportcuda-python2023.5.12Update2023.1.7supportYOLOv82022.11.29fixs
- 2024-08-19TF16精度简介
TF16是指TensorFlow的混合精度(MixedPrecision)训练中使用的16位浮点数格式。它通常与FP16(16位浮点数)和BF16(BrainFloatingPoint16位浮点数)相结合使用。TF16是TensorFlow中对这些16位浮点格式的统称,而不是一种特定的浮点格式。混合精度训练混合精度训练是指在
- 2024-07-26浮点数
FP32:1bit符号位,10bit指数,23bit底数位。FP16:1bit符号位,5bit指数,10bit底数位。FP16转FP32NAN/INF:对应的FP32的值+0/-0:+0/-0normal:指数+0x70,底数左移13位subnormal:对应的FP32属于normal,需要继续左移至最高位为1的省略掉。(0x0078,需要左移四位),指数+0x70-(x-1)(x为底数
- 2024-07-24pytorch模型迁移介绍
迁移的基本流程 第一步:算子满足度分析方法一 在pytorchprofiler在GPU上提取算子方法二使用CANN分析迁移工具 第二步:配置相关硬件环境,在pytorch的基础上安装pytorchadapt;模型迁移-手工迁移(单Device代码迁移)导入NPU相关库(pyTORCH1.8)将device类型修改为npu将训
- 2024-07-19机器学习中常用的数据类型
常用的数据类型有FP64、FP32、FP16、BFLOAT16等FP64FP64表示64位浮点数,通常为IEEE754定义的双精度二进制浮点格式,由1位符号位、11位指数位、52位小数位组成表示范围:正数范围:约4.9x10e-324~1.8x10e308负数范围:约-1.8x10e308~-4.9x10e-324通常用于精度要求
- 2024-05-01macOS OpenCV报错:Undefined symbols for architecture x86_64
这个错误可能是链接的OpenCV库不对,我这里的情况是我代码使用的GCC编译器,但是通过brewinstallopencv安装的OpenCV是使用clang编译的,代码也使用clang编译器可以解决这个问题。要查看opencv的编译信息,可以使用这个命令opencv_version-v我这边输出Generalconfigurationfo
- 2024-04-12图像预处理的数据精度问题报出的Nan
问题描述:git上的一个官方项目,图像预处理操作,使用torch进行处理,包含Resize,ToTensor,Nomalize,处理后的结果输入到trt-fp16精度的模型中,可以正常输出。我对图像预处理进行了修改,使用opencv进行resize,numpy进行totensor,nomalize操作,处理后的结果输出到trt-fp16的模型中,发现输出结果
- 2023-09-033、运算精度的选择(P106)
1、fp16和fp32有什么区别?FP32(单精度浮点数)和FP16(半精度浮点数)是两种不同的浮点数表示方式,它们在精度和存储空间上有显著的区别。下面是它们的主要区别以及一个示例来说明这些区别:精度:FP32:单精度浮点数使用32位来表示一个数,其中包括1位符号位、8位指数位和23位尾数位。它具有
- 2023-04-25大规模 Transformer 模型 8 比特矩阵乘简介 - 基于 Hugging Face Transformers、Accelerate 以及 bitsandbytes
引言语言模型一直在变大。截至撰写本文时,PaLM有5400亿参数,OPT、GPT-3和BLOOM有大约1760亿参数,而且我们仍在继续朝着更大的模型发展。下图总结了最近的一些语言模型的尺寸。由于这些模型很大,因此它们很难在一般的设备上运行。举个例子,仅推理BLOOM-176B模型,你就需要8
- 2023-03-06C++ yolov5 jetson NX盒子部署安全帽检测 TensorRT, 支持INT8/FP16
C++yolov5 jetson NX盒子部署安全帽检测TensorRT,支持INT8/FP16安全帽检测,用C++实现,部署到Nvidia上,tensorrt加速,最新的yolov5部署,支持s,m,l模型和int8,FP16等选择
- 2022-12-06提升训练性能小办法
如果使用fp16,把句子padding成8的倍数,测试性能会提升pad_to_multiple_of_8=training_args.fp16andnotdata_args.pad_to_max_lengthpad_to_multiple_of=8ifpad_to
- 2022-10-07深度学习加速不香吗?| 基于混合精度加速你知道多少?
公众号 :计算机视觉战队加入我们,大量论文代码下载链接上次我们推送了混合精度,有同学提意见多说一些,今天我们重新推送一下,接下来我们几期都来说说加速的 技术,有兴趣的同学
- 2022-10-07【PyTorch】加速不香吗?| 基于Apex的混合精度加速
扫码关注我们公众号 :计算机视觉战队加入我们,大量论文代码下载链接 背景 我们提到圆周率π的时候,它有很多种表达方式,既可以用数学常数3.14159表示,也可以用一长串1和0