CentOS yum install 报错:Could not retrieve mirrorlist *** 的解决方法

有时使用 yum install 给 linux 服务器安装包的时候会有上述报错,原因是该镜像网址无法访问。

Centos 7 自 2024 年 7 月 1 日 已达到 EOL(生命周期结束),因此 mirrorlist.centos.org 镜像站已停止运行。如果报错包含该镜像站,可以通过下面的命令更改所有包含该镜像站的地址到 vault.centos.org。

阅读更多

根据LLM参数量估算显存/内存占用

✨ Tips:文中“显存”指GPU可使用的内存空间,如有SoC使用Unified Memory(如Apple M1~M3系列、Nvidia AGX Orin等)则可简单理解为系统内存。

推理显存

对于一个70亿参数(7B)的模型,以 qwen2-7B 为例,预计需要的显存需求如下:

  • FP32浮点精度:28GB
  • BF16精度:14GB
  • int8精度:7GB

虽然其他因素也在占用显存,但推理期间使用显存的主要是参数量。

  • 比如,qwen2-7B-BF16 模型需要的显存等于参数数量乘以类型大小:70亿参数 x 2字节 = 140亿字节。因此,140亿字节 = 14 x 1,000 x 1,000 x 1,000 / 1024 / 1024 / 1024 ≈ 13 GB(考虑1000/1024)³ ≈ 0.93。

    注1:(1000/1024)³ ≈ 0.93,为了估算目的,简单地将此比率视为1。

    注2:对于7B-BF16模型,显存需求大约是7 x 2 = 14 GB。上述估算略高于精确计算,但更实用,因为推理需要超出参数之外的额外内存。

  • 假设要估算llama2-13B模型的显存需求,对应各种类型的分别是:float:13 x 4 = 52 GB,half/BF16:13 x 2 = 26 GB,int8:13 GB,int4:13 x 0.5 = 6.5 GB

阅读更多

Nvidia GPU & 算能Sophon TPU 算子耗时分析

1、Nvidia GPU

该分析方法适合onnx模型或trt模型,NV的工具栏较为易用,可使用 trtexec 命令直接输出算子耗时。注意,有些易于优化计算的算子(例如 Conv+Relu 、Conv+BN+Relu),会作为一个算子集计算,此时无法直接读取到每个独立算子的耗时。

首先需要安装Nvidia TensorRT库、CUDA ToolKit(没这俩咋玩呀),然后使用trtexec命令行工具进行推理。

示例命令:

1
trtexec --onnx=pfe+backbone_v12.onnx --loadInputs=input.1 --fp16 --exportProfile=bmap_dbg.json --verbose

其中,--onnx参数指定onnx文件路径,--loadInputs参数指定输入层name,--fp16选项指定启用FP16推理。后面的两个参数为用于分析推理过程,--exportProfile参数用于将每个算子层的耗时及占比信息存入.json文件, --verbose参数用于输出详细日志目录。

阅读更多

3D-NMS 算法及PCL & CUDA实现

1 NMS 简介

NMS(Non Maximum Suppression)即非极大值抑制,广泛应用于传统的特征提取和深度学习的目标检测算法中。

NMS原理是通过筛选出局部极大值得到最优解。

在二维边缘提取中体现在提取边缘轮廓后将一些梯度方向变化率较小的点筛选掉,避免造成干扰。 在三维关键点检测中也起到重要作用,筛选掉特征中非局部极值。

在目标检测方面如Yolo和RCNN等模型中均有使用,可以将较小分数的输出框过滤掉,同样,在三维基于点云的目标检测模型中亦有使用。

阅读更多