TreeBlog http://bk.treeblog.top/ zh-CN Your description here. Sat, 01 Nov 2025 19:18:00 +0800 Sat, 01 Nov 2025 19:18:00 +0800 Window下Bandicoot库的使用 http://bk.treeblog.top/index.php/archives/178/ http://bk.treeblog.top/index.php/archives/178/ Sat, 01 Nov 2025 19:18:00 +0800 yangshu Windows环境下Bandicoot-CUDA GPU加速计算配置指南

概述

本文档详细介绍了在Windows环境下配置和使用Bandicoot-CUDA进行GPU加速计算的完整流程。Bandicoot是一个基于CUDA的C++线性代数库,能够显著提升矩阵运算性能。

目录

  1. 环境要求
  2. CUDA环境安装与验证
  3. Bandicoot库编译配置
  4. Visual Studio项目配置
  5. 代码实现与测试
  6. 常见问题解决

环境要求

硬件要求

  • 支持CUDA的NVIDIA显卡
  • 显卡计算能力(Compute Capability)3.0及以上

软件要求

  • Windows 10/11操作系统
  • Visual Studio 2019/2022
  • CUDA Toolkit 12.0或更高版本
  • CMake 3.15或更高版本

显卡兼容性查询

请访问以下官方网站查询您的显卡是否支持CUDA:

1. CUDA Toolkit安装

步骤1:卸载旧版本
如果系统中已安装CUDA,建议先完全卸载后重新安装,确保环境干净。

步骤2:下载安装CUDA

  1. 访问NVIDIA CUDA官网
  2. 下载适合Windows的CUDA Toolkit
  3. 安装时务必选择"Developer"组件,记住安装路径

参考资料: CUDA环境配置详细教程

2. CUDA安装验证比较客观;

步骤1:创建测试项目

  1. 打开Visual Studio
  2. 创建新项目,选择"CUDA 12.0 Runtime"模板
  3. 使用默认的测试代码进行编译运行

步骤2:处理兼容性问题
如果遇到显卡计算能力不足的错误,需要:

  1. 查询显卡的SM(Streaming Multiprocessor)版本
  2. 在项目属性中调整CUDA编译设置
  3. 设置合适的计算能力版本

0-img
注意对于非 cuda 项目,例如纯 qt 项目,属性里面没有 cuda c/C++,可以如下图进行配置:
1-img

步骤3:验证安装成功
测试代码能够正常编译并运行,说明CUDA环境配置成功,注意测试代码可以在 main 最下面加上 std::cin.get() 暂停看下结果。

3. 其他项目中的CUDA配置

如需在非 CUDA 项目中使用 CUDA 功能,请参考:Visual Studio中CUDA配置方法

Bandicoot库编译配置

1. 依赖库准备

下载Bandicoot源码

下载OpenBLAS库

2. 使用CMake编译

步骤1:CMake-GUI配置

2-img

打开CMake-GUI后进行以下配置:

  1. 源代码路径(Where is the source code):指向Bandicoot解压后的文件夹
  2. 构建路径(等下构建内容在这里面):创建一个空的英文路径文件夹
  3. 配置编译器:点击"Configure"按钮

步骤2:处理配置错误

3-img

配置过程中会出现红色错误提示,这是正常现象:

4-img

按照提示逐项修改配置参数:

5-img

步骤3:生成项目文件
配置完成后,点击"Generate"生成Visual Studio解决方案文件。

3. 编译动态链接库

  1. 在构建目录中打开生成的.sln文件
  2. 在Solution Explorer中找到"bandicoot"项目
  3. 分别编译Debug和Release版本
  4. 编译完成后,在对应目录下会生成所需的DLL文件

6-img

Visual Studio项目配置

1. 创建新项目

重要提示: 请创建新的项目,不要在CUDA Runtime测试项目中添加Bandicoot,避免CUDA代码冲突。

2. 项目属性配置

右键项目 → 属性,进行以下配置:

包含目录配置
7-img

库目录配置
8-img

预处理器定义
9-img

3. 链接库配置

10-img

在"附加依赖项"中添加以下库文件:

bandicoot.lib
libopenblas.lib
cublas.lib
cublasLt.lib
cuda.lib
cudadevrt.lib
cudart.lib
cudart_static.lib
curand.lib
cusolver.lib
nvrtc.lib

注意: OpenBLAS库路径需要根据实际安装位置调整,例如:

E:\vsproject\bandicoot-2.1.1\OpenBLAS\lib\libopenblas.lib

参考资料: 完整的CUDA库配置列表(并不需要这么完整的)

代码实现与测试

1. 基础配置代码

创建Qt Console项目后,在代码开头添加必要的配置:

// 禁用OpenCL支持(必须)
#define COOT_DONT_USE_OPENCL 1

// 数学常量定义(必须)
#define _USE_MATH_DEFINES
#include <math.h>
#include <cmath>

// Bandicoot库
#include <bandicoot>
using namespace coot;

重要说明:

  • #define COOT_DONT_USE_OPENCL 1 必须添加,否则会与CUDA产生冲突
  • 数学头文件是Bandicoot库的必要依赖

2. 编译问题修复

常见编译错误修复:

alias_wrapper.hpp文件第66行附近,找到以下代码:

template<typename T2>
constexpr //static  // 注释掉这个static关键字
coot_inline
typename enable_if2< !is_Mat<T2>::value && !is_subview<T2>::value && !is_diagview<T2>::value && !is_Cube<T2>::value && !is_subview_cube<T2>::value, bool >::result
check(const T2&)

static关键字注释掉即可解决C++语法兼容性问题。

3. 完整测试代码

以下是集成了Armadillo(CPU)和Bandicoot(GPU)的性能对比测试代码:

#if defined(_MSC_VER) && (_MSC_VER >= 1600)    
# pragma execution_character_set("utf-8")    
#endif

#include <QtCore/QCoreApplication>
#include <qdebug.h>
#include <QElapsedTimer>

// 必要的数学库定义
#define _USE_MATH_DEFINES
#include <math.h>
#include <cmath>

// Bandicoot GPU库配置
#define COOT_DONT_USE_OPENCL 1
#include <bandicoot>
#define COOT_KERNEL_CACHE_DIR "D:\\cuda_cache_can_delete" //这个可能没效果
using namespace coot;

// Armadillo CPU库
#include <armadillo>
using namespace arma;

int main(int argc, char *argv[])
{
    QCoreApplication app(argc, argv);
    qDebug() << "GPU加速计算性能测试程序启动...\n";

    // 矩阵维度配置
    const int rows = 10000;
    const int cols = 10000;

    // ======================== CPU计算流程(Armadillo) ========================
    qDebug() << "=== CPU计算(Armadillo库) ===";
    QElapsedTimer cpu_create_timer, cpu_calc_timer, cpu_total_timer;

    // CPU矩阵创建阶段
    cpu_total_timer.start();
    cpu_create_timer.start();
    arma::mat cpu_A(rows, cols, arma::fill::randu);
    arma::mat cpu_B(rows, cols, arma::fill::randu);
    qint64 cpu_create_elapsed = cpu_create_timer.elapsed();
    qDebug() << "CPU创建矩阵耗时:" << cpu_create_elapsed << "毫秒";

    // CPU计算阶段
    cpu_calc_timer.start();
    arma::mat cpu_C = cpu_A * cpu_B;
    qint64 cpu_calc_elapsed = cpu_calc_timer.elapsed();
    qint64 cpu_total_elapsed = cpu_total_timer.elapsed();
    qDebug() << "CPU矩阵乘法计算耗时:" << cpu_calc_elapsed << "毫秒";
    qDebug() << "CPU总流程耗时:" << cpu_total_elapsed << "毫秒";

    // 显示CPU计算结果样本
    qDebug() << "CPU计算结果(第一行前11列):";
    cpu_C.row(0).cols(0, 10).print();

    // ======================== GPU计算流程(Bandicoot) ========================
    qDebug() << "\n=== GPU计算(Bandicoot库) ===";
    QElapsedTimer gpu_create_timer, gpu_calc_timer, gpu_total_timer;

    // GPU矩阵创建阶段
    gpu_total_timer.start();
    gpu_create_timer.start();
    coot::fmat gpu_X1(rows, cols, coot::fill::randu);
    coot::fmat gpu_X2(rows, cols, coot::fill::randu);
    qint64 gpu_create_elapsed = gpu_create_timer.elapsed();
    qDebug() << "GPU创建矩阵耗时:" << gpu_create_elapsed << "毫秒";

    // GPU计算阶段
    gpu_calc_timer.start();
    coot::fmat gpu_X3 = gpu_X1 * gpu_X2;
    qint64 gpu_calc_elapsed = gpu_calc_timer.elapsed();
    qint64 gpu_total_elapsed = gpu_total_timer.elapsed();
    qDebug() << "GPU矩阵乘法计算耗时:" << gpu_calc_elapsed << "毫秒";
    qDebug() << "GPU总流程耗时:" << gpu_total_elapsed << "毫秒";

    // ======================== 性能对比分析 ========================
    qDebug() << "\n=== 性能对比分析 ===";
    qDebug() << "测试矩阵规模:" << rows << "×" << cols << " × " << rows << "×" << cols;
    qDebug() << "----------------------------------------";
    qDebug() << "| 计算阶段     | CPU耗时(ms) | GPU耗时(ms) | 加速比    |";
    qDebug() << "----------------------------------------";
    
    double create_speedup = gpu_create_elapsed > 0 ? 
        (double)cpu_create_elapsed / gpu_create_elapsed : 0.0;
    double calc_speedup = gpu_calc_elapsed > 0 ? 
        (double)cpu_calc_elapsed / gpu_calc_elapsed : 0.0;
    double total_speedup = gpu_total_elapsed > 0 ? 
        (double)cpu_total_elapsed / gpu_total_elapsed : 0.0;
    
    qDebug() << QString("| 矩阵创建     | %1        | %2        | %3x    |")
        .arg(cpu_create_elapsed, 8)
        .arg(gpu_create_elapsed, 8)
        .arg(create_speedup, 0, 'f', 2);
    qDebug() << QString("| 矩阵乘法     | %1        | %2        | %3x    |")
        .arg(cpu_calc_elapsed, 8)
        .arg(gpu_calc_elapsed, 8)
        .arg(calc_speedup, 0, 'f', 2);
    qDebug() << QString("| 总体流程     | %1        | %2        | %3x    |")
        .arg(cpu_total_elapsed, 8)
        .arg(gpu_total_elapsed, 8)
        .arg(total_speedup, 0, 'f', 2);
    qDebug() << "----------------------------------------";

    if (calc_speedup > 1.0) {
        qDebug() << QString("GPU在矩阵乘法计算中实现了 %1 倍加速!").arg(calc_speedup, 0, 'f', 2);
    } else {
        qDebug() << "注意:当前测试中GPU性能未超过CPU,可能原因:";
        qDebug() << "1. 矩阵规模较小,GPU并行优势未充分体现";
        qDebug() << "2. GPU初始化开销较大";
        qDebug() << "3. 建议增大矩阵规模进行测试";
    }

    return app.exec();
}

4. 代码说明

关键配置项:

  1. COOT_DONT_USE_OPENCL 1:禁用OpenCL,避免与CUDA冲突
  2. _USE_MATH_DEFINES:启用数学常量定义
  3. COOT_KERNEL_CACHE_DIR:设置CUDA内核缓存目录(可选)

性能测试功能:

  • 同时测试CPU(Armadillo)和GPU(Bandicoot)的矩阵运算性能
  • 分别计时矩阵创建和矩阵乘法操作
  • 自动计算加速比并生成对比报告

常见问题解决

1. 编译错误

问题: alias_wrapper.hpp中的static关键字编译错误
解决方案: 在该文件第66行附近注释掉static关键字

问题: 缺少数学常量定义
解决方案: 确保在代码开头添加:

#define _USE_MATH_DEFINES
#include <math.h>
#include <cmath>

2. 链接错误

问题: 找不到CUDA库文件
解决方案:

  1. 检查CUDA安装路径是否正确
  2. 确认项目配置中的库目录设置
  3. 验证所有必需的.lib文件是否存在

问题: OpenBLAS库路径错误
解决方案: 根据实际安装位置调整库文件路径

3. 运行时错误

问题: 显卡计算能力不足
解决方案:

  1. 查询显卡的Compute Capability版本
  2. 在CUDA项目属性中设置合适的SM版本
  3. 参考NVIDIA官方兼容性列表

问题: GPU性能未达到预期
解决方案:

  1. 增大矩阵规模以充分利用GPU并行计算优势
  2. 进行GPU预热操作,排除初始化开销
  3. 检查显卡驱动是否为最新版本

4. 环境配置问题

问题: CMake配置失败
解决方案:

  1. 确保使用英文路径
  2. 检查CMake版本是否满足要求
  3. 验证Visual Studio编译器配置

问题: DLL文件缺失
解决方案:

  1. 确认编译生成了Debug和Release版本的DLL
  2. 将必要的DLL文件复制到项目输出目录
  3. 检查系统PATH环境变量

总结

本文档提供了在Windows环境下配置Bandicoot-CUDA GPU加速计算的完整指南。通过正确配置CUDA环境、编译Bandicoot库并在Visual Studio中进行项目配置,可以实现显著的矩阵运算性能提升。

关键要点:

  1. 确保显卡支持CUDA并正确安装CUDA Toolkit
  2. 使用CMake正确编译Bandicoot库
  3. 在Visual Studio中配置所有必要的包含目录和链接库
  4. 注意代码中的关键配置宏定义
  5. 通过性能测试验证GPU加速效果

遵循本指南的步骤,您应该能够成功在 windows 下配置并使用Bandicoot进行高性能的GPU加速计算。

]]>
0 http://bk.treeblog.top/index.php/archives/178/#comments http://bk.treeblog.top/index.php/feed/
那些偷偷读写硬盘的软件 http://bk.treeblog.top/index.php/archives/177/ http://bk.treeblog.top/index.php/archives/177/ Thu, 30 Oct 2025 15:09:39 +0800 yangshu 0-img

之前电脑中病毒,下载了 360 杀毒 pro,昨天逛知乎才知道 360 居然有时候读写磁盘次数非常多,把 360 关了,用知友说的软件看了下,没想到 edge 才是隐藏 boss,打开软件,读写都干冒烟, 下面是一些原帖子:
怎么看2025年360安全卫士写入事件致使用户固态硬盘提前报废?
用的 AppReadWriteCounter 软件
吾爱破解上的AppReadWriteCounter

如何禁止edge自动更新

还写了个脚本:

@echo off 
taskkill /f /im msedge.exe >nul 2>&1
taskkill /f /im msedgewebview2.exe >nul 2>&1 
echo 操作完成,按任意键退出... & pause >nul
]]>
0 http://bk.treeblog.top/index.php/archives/177/#comments http://bk.treeblog.top/index.php/feed/
【折腾分享】电脑平铺桌面 http://bk.treeblog.top/index.php/archives/176/ http://bk.treeblog.top/index.php/archives/176/ Sat, 11 Oct 2025 21:00:17 +0800 yangshu 什么是平铺

就是桌面上应用软件会自动给你排好,排整齐无堆叠,现在 arch 下面的 niri 还是好用. 主要是处理多任务的时候直观方便。下面是 windows 桌面的截图
0-img

折腾经历

这两天又折腾了下 windows 下的平铺软件【安装了komorebi和yasb】,之前就弄过 FancyWM, 比较方便简单,开箱即用,但是有时候感觉暂时有点卡卡的。主流的好像也就是三个。

  • FancyWM
  • komorebi (现在用的,搭配的【 yasb 一个状态栏 】)
  • glazewm (没用过,听说配置文件配置的简单点)

komorebi 怎么说了,最开始也不会用,🤣可能这才是常态。去 github 上下载了最新的程序,结果安装桌面连个快捷方式也没有,还好会用 everything 搜索,里面一堆程序
1-img
最开始点了那个 1 的 exe,弹一个黑框框,就让他一直显示也能用,就是有点丑还不是后台的运行,后来看了使用介绍才知道,可以用那个 2,在 cmd 里面运行 komorebic.exe start 就静默运行了,然后 komorebic.exe -h 里面实际上是有很多介绍,一些命令快捷操作,弄了还是很方便
2 个经验:

  1. 要知道自己的目标是什么,根据目标慢慢找,耐心看一下
  2. 看到英文的不要慌,开个网页翻译耐心看一点

其实 yasb 和 komorebi 安装还是简单,主要是使用

  1. yasb 那个配置还是有点麻烦,也要看他的文档,还是下载别人的主题最方便,右键图标点那个 get themes,需要正确上网
  2. 配合 autohotkey 来使用的快捷键,主要用它那个【toggle-monocle】实现全屏
    2-img

FancyWM 安装步骤

去 github 上下载了(cer 和 msixbundle 文件),用 PowerShell (as Administrator) 就可以安装

certutil.exe -addstore TrustedPeople .\FancyWM.Package_1.0.0.0.x64.cer
Add-AppxPackage -Path .\FancyWM.Package_1.0.0.0.x64.msixbundle

相关软件

下载链接
3-img

]]>
2 http://bk.treeblog.top/index.php/archives/176/#comments http://bk.treeblog.top/index.php/feed/
凡人寿 http://bk.treeblog.top/index.php/archives/175/ http://bk.treeblog.top/index.php/archives/175/ Fri, 10 Oct 2025 15:00:26 +0800 yangshu 之前在很多地方看到关于【人类寿命的极限探讨】在网上搜了搜

人类寿命的极限探讨

人类寿命的上限是一个长期存在的研究课题。现代科学研究与古代文献记载在这一问题上呈现出某种一致性。

科学研究的观点

目前存在两个主要的科学理论。

海夫利克极限理论(Hayflick Limit)指出,由美国生物学家 伦纳德・海夫利克(Leonard Hayflick 于 1961 年提出,人体细胞的分裂次数有限,约为 40-60次。每次分裂时,染色体末端的端粒会缩短。当端粒缩短至临界值时,细胞停止分裂,机体进入衰老状态。根据此理论计算,人类寿命上限约为120岁。海夫利克极限是细胞生物学领域的核心理论1

生理韧性理论是近年来提出的新观点。发表在《自然通讯》上的研究表明,人体的自我修复能力随年龄增长而下降。研究模型显示,在120至150岁之间,人体的修复能力将降至临界点,此时即使无重大疾病,生命也难以维持。

这两个理论从不同角度将人类寿命极限定位在120-150岁区间。

古代文献的记载

中国古代典籍中也有相关论述。

  • 《黄帝内经》记载,遵循养生之道者能达到"天年",即"度百岁乃去"。后世注解将"度百岁"解释为120岁。
  • 《尚书》明确记载"上寿"为120岁。

古代文献的记载与现代科学研究结论存在相似性。这些记载基于长期的生活观察和经验总结。

小结

从现有证据来看,人类寿命存在一定的生物学上限。科学研究与历史文献都指向相似的数值范围。

对个体而言,在既定的生命长度内如何维持健康状态,可能比追求极限寿命更具现实意义。


参考资料:

  1. Pyrkov, T.V., Avchaciov, K., Tarkhov, A.E. et al. Longitudinal analysis of blood markers reveals progressive loss of resilience and predicts human lifespan limit. Nat Commun 12, 2765 (2021).
  2. 《黄帝内经·素问·上古天真论》
  3. 《尚书·洪范》

  1. [4] Hayflick L .THE LIMITED IN VITRO LIFETIME OF HUMAN DIPLOID CELL STRAINS.[J]. Experimental Cell Research, 1965, 37 (3): 614-636. DOI: 10.1016/0014-4827 (65) 90211-9.
]]>
1 http://bk.treeblog.top/index.php/archives/175/#comments http://bk.treeblog.top/index.php/feed/
2025-08-30流水记 http://bk.treeblog.top/index.php/archives/174/ http://bk.treeblog.top/index.php/archives/174/ Sat, 30 Aug 2025 20:52:59 +0800 yangshu 回顾下去 6 月-8月去哪转了转

第一组照片

六月【6-27】的时候去一个【卷桥河公园】非常大,就是天气太热了,还租了个车没跑一会然后就没起了,最后还是走回来的,下面是照片
0-img
太阳很好,颜色很正。
1-img
2-img
3-img
4-img
这张忘记在哪拍的了【7 月 2 日拍的】

第三组照片

去了一个动物园,野生动物园,还看见了大棕熊和老虎
11-img

12-img

13-img
14-img

15-img

16-img


第四组

17-img
【去江边公园拍到的】
18-img

最后一组

19-img
今天拍的小猫

]]>
0 http://bk.treeblog.top/index.php/archives/174/#comments http://bk.treeblog.top/index.php/feed/
【雷达学习】双基地MIMO-ESPRIT方法解互耦回忆 http://bk.treeblog.top/index.php/archives/173/ http://bk.treeblog.top/index.php/archives/173/ Fri, 20 Jun 2025 23:09:44 +0800 yangshu 主要学习来源于这篇文章:《Joint DOD and DOA estimation of bistatic MIMO radar in the presence of unknown mutual coupling》

大致思路是:

  1. 先回忆了下 ULA 的 ESPRIT 方法;
  2. 然后是 MIMO 下的 ESPRIT 方法
  3. 然后是看文章看不懂,然后 AI 帮我解析,先读出大致的框架,然后丰富细节,最后对自己的理解进行确认,然后画出代码仿真的关键点

下面在这个网盘下面提供 2 个 PDF 和一个代码方便之后回顾学习
https://a.siyouyun.ren:30597/OutSaveFile2/RadarXG/ESPRIT_Double_mimo

matlab 代码预览

clc,clear all,close all;
%% Parameters of the radar system
M = 7;                                                 % number of Tx
N = 7;                                                 % number of Rx
d = 0.5;                                                 % inter-element space
% theta = [15 -10 5];                                % DOA
% phi = [20 35 60];    
theta = [-50 20 60];   % DOD                             % DOA
phi = [20 40 60];   
K = length(theta);                                  % number of target                      % dopplor frequency shift
L = 100;                                                % number of sanpshot
SNR = 30;                                            % signal-to-noise ratio before matched filtering
Geo_Rx = [0:N-1];                                  % geometry of Rx
Geo_Tx = [0:M-1];                                  % geometry of Tx
At = exp(-j*2*pi*d*Geo_Tx.'*sind(phi));   % transmitting direction matrix
Ar = exp(-j*2*pi*d*Geo_Rx.'*sind(theta));  % receiving direction matrix
item = 10;     
%% 设置互耦系数;
mc_K = 2;
mc_nb = mc_K+1;
C_t = generateMCMmat(M,mc_nb);
C_r = generateMCMmat(N,mc_nb);
C = kron(C_t,C_r);
%% 设置选择Pt和Pt矩阵
Pt = [zeros(M-2*mc_K,mc_K),eye(M-2*mc_K),zeros(M-2*mc_K,mc_K)];
Pr = [zeros(N-2*mc_K,mc_K),eye(N-2*mc_K),zeros(N-2*mc_K,mc_K)];
M1 = M-2*mc_K;
N1 = N-2*mc_K;
P = kron(Pr,Pt);
% number of trials
%% Selective matrices
JM1 = [eye(M1-1),zeros(M1-1,1)];
JM2 = [zeros(M1-1,1),eye(M1-1)];
JN1 = [eye(N1-1),zeros(N1-1,1)];
JN2 = [zeros(N1-1,1),eye(N1-1)];
Jt1 = kron(JM1,eye(N1));
Jt2 = kron(JM2,eye(N1));
Jr1 = kron(eye(M1),JN1);
Jr2 = kron(eye(M1),JN2);

a_kronrao = zeros(M*N,K);
for i=1:K
    a_kronrao(:,i) = kron(At(:,i),Ar(:,i));
end

for item_num = 1:item
    disp(['SNR = ',num2str(SNR),' dB, ',num2str(item_num), ' # try : ']);
    %% Matched Filtering
    S = randn(K,L)+1i*randn(K,L);
    X_0 = C*a_kronrao * S;
    X = awgn(X_0,SNR,"measured","dB");
    Y = P * X;
    %% Eigen decomposition
    %Rx = (X*X')/L;                                          % Estimated covariance matrix
    Rx = (Y*Y')/L;
    [Es,D] = eigs(Rx,K,'LM');                          % Signal subspace
    %% Rotational invariant property
    Vt =  pinv(Jt2*Es)*Jt1*Es;
    %Vt =  pinv(Jt1*Es)*Jt2*Es;
    [T,Phit] = eig(Vt);
    
    Phir = inv(T)*pinv(Jr2*Es)*Jr1*Es*T;
    %Phir = inv(T)*pinv(Jr1*Es)*Jr2*Es*T;
    E_theta  = asind(angle(diag(Phir))/pi).';
    E_phi = asind(angle(diag(Phit))/pi).';
    plot(E_theta,E_phi,'k*');hold on;
end
H(1)=plot(E_theta,E_phi,'k*');hold on;
H(2)=plot(theta,phi,'rx','markersize',28);grid on;
xlabel('DOA'),ylabel('DOD');
legend([H(1),H(2)],'Esimated','Ture')

闲聊

没想到 matlab 还可以画出这样的图片,“赛博生命”,hhh
https://mp.weixin.qq.com/s/GS-jSHnasVxrrIn5C2E3WQ
0-img

figure('Position',[300,50,900,900], 'Color','k');
axes(gcf, 'NextPlot','add', 'Position',[0,0,1,1], 'Color','k');
axis([0, 400, 0, 400])
SHdl = scatter([], [], 2, 'filled','o','w', 'MarkerEdgeColor','none', 'MarkerFaceAlpha',.4);
t = 0;
i = 0:2e4;
x = mod(i, 100);
y = floor(i./100);
k = x./4 - 12.5;
e = y./9 + 5;
o = vecnorm([k; e])./9;
while true
    t = t + pi/90;
    q = x + 99 + tan(1./k) + o.*k.*(cos(e.*9)./4 + cos(y./2)).*sin(o.*4 - t);
    c = o.*e./30 - t./8;
    SHdl.XData = (q.*0.7.*sin(c)) + 9.*cos(y./19 + t) + 200; 
    SHdl.YData = 200 + (q./2.*cos(c));
    drawnow
end
]]>
0 http://bk.treeblog.top/index.php/archives/173/#comments http://bk.treeblog.top/index.php/feed/
远程控制大战 http://bk.treeblog.top/index.php/archives/172/ http://bk.treeblog.top/index.php/archives/172/ Thu, 22 May 2025 18:12:02 +0800 yangshu 这两天突发奇想再次捣鼓远程桌面,也是因为之前一直用 mstsc 微软的 RDP 远程桌面,感觉还是稍微有点卡, 之前也弄过解锁 60 FPS 什么的,但是还是感觉不明显,今天记录下各个远程软件和推荐;

各个软件

微软 RDP,网易 UU 远程,RustDesk(知名开源),向日葵,ToDesk,连连控,云玩加(个人开发者)

前提要节

对于一些国内厂商的远程,一般都提供他们自己的服务器进行进行搭桥或者连接,网易 UU 好像在网络好的时候可以 p2p
例如向日葵,ToDesk 两个比较知名了,平时办公用用也还是可以的,但是也还是有些小问题,例如跨境连接等。

所以,基于以上原因,对于我来说,先把两个外网的设备内网穿透桥接起来。
皎月连 (需要打卡)或者 openp2p 这两个都可以;
至于 zerotier 和 tailscale,前一个没弄好,后一个没用过;

微软 RDP

基于 皎月连 或者 openp2p 就可以通过 windows 的 mstsc 访问了,但好像貌似专业版系统,还要简单设置下
0-img
一个知乎设置教程
一个免密码登陆教程
然后还有两个解锁 60 FPS 的教程,解锁60fps-1解锁2
怎么说了?之前平时一直是这么用的,感觉也还好,但是就是感觉(外网-手机热点)60 fps 还是没有
这两天看了检查方法

检测 60 fps 是否达到

肉眼检测,😂,这个网站: https://frameratetest.org/zh/fps-test ,看看那两个竖着的黑杠杠动的是否流畅,还是可以看出分别,可以本机电脑开一个,远控电脑开一个,放在屏幕上对比了看,还是比较明显的,🤣

推荐 RustDesk

RustDesk 也是看的别人的教程,内网穿透后使用的,有两个软件要安装;被控端(服务端+客户端)安装;本机电脑(客户端安装),客户端下载链接服务端下载链接,这是两个 github 的链接,这是 github加速网站;看的这个教程:教程,主要就是下载好这几个软件,设置下 ip 和 key
1-img
有几个小细节就是;可以吧下图的那个取消掉,网络好的话就是 p 2 p 直接连接,判断通过为全屏时左上角是✔就是 p 2 p,是刷新符号就是中继
2-img
如果声音没有,可以看看 github 的 issue,我是把下图的禁用勾选了,就有声音了
3-img

总体来说体验还是很不错的,速度上好像还比较快

其他软件

4-img

  • uu 远程有时候还可以,有时候可以 60 FPS
  • 然后是,连连控,还可以,可以稳定 60 FPS,稳定!!我都用的手机热点,还是可以,但是有些要开 vip
  • 云玩加,b 站上一个 up 开发的,还可以适配了手柄,还是开源免费的,fps 没确定,但是好像是自己弄了服务器,帮助记录下账号和两个机器握手,大概是这样

小结

就这些,推荐 RustDesk。但其实还有 Parsec(steamcommunity_302. exe 用的这个软件提供网络访问协助,Parsec 国内有些不好访问),但是我屋里电脑没弄那个显示器,Parsec 这个速度倒是可以,但是居然没自带虚拟显示器,ParsecVDisplay 这个 github 项目可以添加,但是今天还是下单了个 HDMI 欺骗器 5¥

就这些了,RustDesk 还是可以的!

]]>
4 http://bk.treeblog.top/index.php/archives/172/#comments http://bk.treeblog.top/index.php/feed/
PDF翻译-ai加持下的梅开二度 http://bk.treeblog.top/index.php/archives/170/ http://bk.treeblog.top/index.php/archives/170/ Mon, 21 Apr 2025 10:50:28 +0800 yangshu 之前 pdf 翻译,看了别人的开源项目,一般是先解析为 md 文件,再翻译,现在借助多模态 ai 强大的图片ocr 可以直接翻译

主要思路,把 PDF 转为一张张图片,然后给 ai ,让其输出翻译好的 md 文本,工具如下:

0-img

我用的豆包 1.5 的 vision 版本-大模型 api,提示词也可以自定义
效果大概如下图:

1-img

推荐火山引擎 api: https://console.volcengine.com/auth/login
还有一个硅基流动的: https://siliconflow.cn/zh-cn/
openrouter 好像也有些免费的

蓝奏云工具下载链接,api 在 config.json 里面要自己填下:
https://wwzw.lanzoup.com/i70mH2u34nve

这是源代码: https://wwzw.lanzoup.com/i60jm2u34ydc

]]>
0 http://bk.treeblog.top/index.php/archives/170/#comments http://bk.treeblog.top/index.php/feed/
备案了!记录下 http://bk.treeblog.top/index.php/archives/159/ http://bk.treeblog.top/index.php/archives/159/ Tue, 08 Apr 2025 12:14:48 +0800 yangshu 终于备案了!没想到,通过阿里云备案还挺方便的

]]>
2 http://bk.treeblog.top/index.php/archives/159/#comments http://bk.treeblog.top/index.php/feed/
AI的使用第二期 http://bk.treeblog.top/index.php/archives/158/ http://bk.treeblog.top/index.php/archives/158/ Fri, 21 Mar 2025 21:55:00 +0800 yangshu 前言:前段时间写了个关于 ai 使用小结分享下, 创建时间 2025-03-21 22:00

目录

一、大模型的背景与来历:从神经网络到现代大语言模型
二、基础平台
三、对话:提问与提示词技巧
四、信息搜集
五、AI 编程
六、使用技巧
七、API 调用与知识库
八、本地大模型部署
九、多模态生成
十、资源与社区
十一、硬件性能与优化

  • 连接主义的萌芽(1940 s-1980 s) 神经网络的概念源于 1943 年神经生理学家 Warren McCulloch 和数学家 Walter Pitts 提出了第一个数学神经网络模型提出的“M-P 神经元模型”,但受限于算力和数据,长期停留在理论层面。1986 年,反向传播算法(Backpropagation:BP)的提出,使其利用数学中的链式法则计算梯度,使多层感知机(MLP)实现有效训练,奠定了现代深度神经网络的基础,但是由于受限于硬件和算法,早期模型难以解决复杂任务,90 年代后神经网络研究陷入低谷。

image-20250311120212703

  • 第二次爆发:gpt 自然语言大模型

    • image-20250311140538998
    • 2015 年,由 Sam Altman 等人创立的 OpenAI 以非营利组织的形式成立,初衷是确保通用人工智能 (AGI) 的发展安全且对全人类有益。在语言模型方面,OpenAI 采用了 google 在 17 年提出的 Transformer 创新架构。Transformer 利用自注意力机制,能够并行处理输入序列中的所有词,大大提高了训练效率和模型性能。
    • GPT 系列(2018-2024):

      • GPT-1(2018):
        基于 Transformer 解码器,首次采用无监督预训练+有监督微调策略,参数 1.17 亿。
      • GPT-2(2019):
        参数增至 15 亿,提出“零样本学习”(Zero-Shot),验证模型规模与泛化能力的正相关。
      • GPT-3(2020):
        参数达 1750 亿,引入“上下文学习”(In-Context Learning),通过 Few-Shot 提示解决多样化任务,标志大模型通用化。
      • GPT-4/4 o(2023-2024):
        多模态支持(文本+图像+音频),引入强化学习与人类偏好对齐(RLHF),推理能力接近人类。

    这种"规模化"策略证明了大型语言模型能够表现出令人惊讶的能力,包括上下文学习、任务泛化和涌现能力。

    image-20250311135628035

故事插曲:GPU 的关键作用与 NVIDIA 的崛起

大模型训练依赖海量计算力,传统 CPU 无法满足需求。GPU (图形处理单元) 凭借其并行计算能力,成为深度学习的理想硬件。单个现代 GPU 可以同时处理数千个线程,比 CPU 快数十到数百倍。

NVIDIA 公司的创始人黄仁勋有着传奇色彩的故事。他 1963 年生于台湾,后移民美国。NVIDIA 最初专注于为电脑游戏提供高质量的图形处理解决方案。有趣的是,NVIDIA 的 GPU 最初完全是为游戏和图形渲染设计的。2006-2007 年,研究人员发现 GPU 强大的并行计算能力可用于加速神经网络训练,NVIDIA 敏锐地捕捉到这一机会,开发了CUDA 编程平台,使开发者能更容易地利用 GPU 进行通用计算。随着深度学习的兴起,NVIDIA 从一家游戏图形公司转型为 AI 计算的基础设施提供商,成为全球最有价值的公司之一。

image-20250311141350353

二、大模型基础知识(直接对话类)

去哪里使用大模型

引子:推荐优先选择 GPT-4、Claude、DeepSeek 等头部模型,根据需求与场景选择国内外平台。

大模型大致可以分为国内国外两类:

一、国外平台

  1. 主流模型

    • ChatGPT(OpenAI):通用性强、响应速度快,适合全能型任务(如报告撰写、数据分析)。
    • Claude(Anthropic):擅长进行文学创作,与代码编程。这是它的优势特点,很多编程插件首先选用 claude 模型。

    image-20250311142621687

    image-20250311142711541

  2. 访问方式

    • 需代理:国内用户需通过海外网络环境访问,gpt 官方大约 20 美元/月,claude 也是。
    • 国内第三方代理,付费工具推荐

      • Sider(浏览器插件):( https://sider.ai/zh-CN )支持多模型切换、文件解析、实时联网搜索,功能集成度高。【成本多少】

        • image-20250311115941323
        • image-20250311120051450
      • IMYAI 智能助手:( https://super.imyai.top/c )多模型聚合(含 GPT-4 o、Claude 3),支持上传 PDF/Excel 提问,ai 绘图。
      • image-20250311142912470
      • 银行录像局https://nf.video/ ):稳定访问 GPT/Claude,支持长对话与文件处理。
      • image-20250311143026232
      • closeAIhttps://www.closeai-asia.com/ ):一家专门提供 api 访问的公司,很稳定,按量付费
      • image-20250311143146426

二、国内平台

(1)自研特色模型
  1. 豆包(字节跳动):通用性好,做了很多关于 ai 赋能基础建设,例如 ai 代码开发(后面会讲),app 上支持 AI 电话(语气逼真),ai 耳机实时沟通等(硬件联动)( https://www.doubao.com/chat/ )。

    • image-20250311143259666
  2. 通义千问(阿里巴巴):开源生态完善(Qwen 系列)、本地部署友好(Ollama 平台长期霸榜),支持法律 AI 顾问( https://tongyi.aliyun.com/ ),通义万象 2.1 视频模型。

    • image-20250311143347877
  3. Kimi(月之暗面):【国产大模型最早出来的一批,ai 独角兽公司】200 万字长文本解析(如合同审查、论文总结),AI+PPT 自动生成(输入大纲即可输出完整幻灯片)( https://kimi.moonshot.cn/ )。

    • image-20250311143618812
  4. DeepSeek(深度求索):低成本高智商模型(R 1 开源版性能比肩 GPT-4),官网访问易拥堵,推荐通过第三方平台调用( https://www.deepseek.com/ )。

    • image-20250311143600561
  5. 阶跃 AI:多模态很不错,视频生成一致性好( https://yuewen.cn/chats/new )。

    image-20250311143656703

(2)综合集成平台

  1. 问小白https://www.wenxiaobai.com/chat/200006 ):

    • 实时调用满血版 DeepSeek,响应速度很快。
  2. 纳米搜索(360 出品, https://bot.n.cn/ ):

    • 支持多种国产模型切换(包含 DeepSeek)。
  3. 腾讯元宝:集成了 DeepSeek 模型( https://yuanbao.tencent.com/chat/ )。

示例应用(以"区块链"为例):

  1. 直白释义:区块链是一种通过链式数据结构存储信息的分布式账本技术,核心特征是去中心化和不可篡改。
  2. 使用场景:①加密货币交易 ②供应链溯源 ③电子合同存证
  3. 举例说明
    例 1:比特币系统中,每笔交易通过哈希函数生成唯一标识(如 SHA-256 算法:H = Hash (Tx_Data)),多个交易按时间顺序连接成区块
    例 2:类似全班同学共同记录收支的公共笔记本,任何人修改记录需获得半数以上同学同意,且修改痕迹会被永久保留
  4. 直观类比:"区块链就像乐高积木,每个新积木块(区块)必须严丝合缝扣在前一块上,想偷偷拆掉中间某块?除非你拆掉整个后半段并让所有玩家都同意"
    5.由来:xxxx

     
     【演示例子:什么是量子力学】
     
     【什么是信号处理中的谐波】
     
     【什么是热力学第二定律】
     
     
  5. 提升类提示词

    在网络上有很多网友分享了自己的提示词,里面有他们自己的经验和思考,又很多通用的地方。

    总结出了“一步步思考”这个方法,例如在自己的问题最下面加一个“step by step think”或者“一步步思考”给出答案,那么比直接提问的效果就稍微好一些。例如:

    Take me deep breath and work on this problem step-by-step. 
    Write your answer and give me a confidence score between 0-1 for your answer. Are you sure? 
    This is very important to my career. 
    You'd better be sure. 
    用中文回答

    image-20250311145354130

    还有,可以对问题本身进行提问,例如"对于这个问题 xxx,你怎么看?"让大模型帮你分析问题的解决方法。例如写文章的时候,先让大模型写大纲这些。

    https://www.aishort.top/ ,这是一个专门写提示词的网站。

    记得之前 think 版本的模型还没出来的时候,有一个厉害的高中生(涂津豪)写了让 claude 仿人类的思考的提示词,直接把 claude 的水平提高了一大截。ht

    tps://github.com/richards199999/Thinking-Claude 这是那个提示词的 github,还有一个关于 claude 提示词的 github( https://github.com/langgptai/awesome-claude-prompts

    与大模型的聊天确实一定程度上训练了人精准提问的能力。

    TopBook 的 b 站视频,也讲了写关于提问与使用上的方式【突破个人能力天花板,和 AI 协作的 12 个范式。】 https://www.bilibili.com/video/BV1pgmbY1EXX/?share_source=copy_web&vd_source=84d1208a0ce8dac7e5646fcc327301a5

  6. 上面的思考方法也叫思维链方法 COT,模仿人的思考是有一个一个步骤的(Chain-of-Thought, CoT)
  7. 自我验证(如“请检查上述答案是否有逻辑错误”)

    四、大模型信息收集:联网模型的应用价值

    在数字化工作环境中,高效获取和处理信息已成为核心竞争力。具备联网能力的大模型彻底改变了传统信息搜集方式,将"搜索"与"理解+整合"结合,大幅提升信息获取效率。

    优势:实时信息获取信息整合能力

    工具推荐

  8. Kimi、豆包、元宝、问小白、纳米搜索

    1. Kimi Chat(最推荐)

  9. 实时性极佳,搜索结果全面,搜索的网页多【测试搜索今日新闻】

    2.豆包

  10. 除了文字类信息搜索,有独家抖音生态接入,可以搜索到抖音视频

    3.元宝/问小白/纳米搜索

  11. 这几个采用 deepseek+联网的模式,联网搜索效果也不错

    使用场景

    1.市场动态实时追踪(Kimi):快速获取行业报告、政策更新、突发事件等时效性敏感信息

    2.学术研究与文献综述引文查找(纳米搜索+Kimi)

    这个月政府采购网发布了哪些采购的内容?
    给我找出10片关于地波雷达的论文,帮我列出名字来,方便我引用。

    五、大模型编程

  12. 开发工具

    AI 的快速发展,也给开发者带来了便利。

    基础的使用,就是让在对话式 ai 里,描述需求,帮我们写小的功能模块,或者查询资料。

    【字符串正则匹配是一个很好用的例子】gadfgadfgaadf 发生的发 fsdf

    进一步的推荐两个工具:

  13. Trae,字节跳动对标国外 Cursor,实现自然语言对话一键生成代码,现阶段 gpt 和 claude 可免费调用
  14. Vscode,微软开源的轻量 IDE,支持很多 AI 插件(提供了代码补全,优化,重构等),推荐 MarsCode 插件与 Cline 插件(cline 需要 api 但是可以实现与 Trae 一样的功能)

    【帮我写一个 html 的登录界面,用 css 和 js 美化】

    【一个 Trae 写的工具的例子:PDF 转图片】

    【一些 Vscode 截图】

    【阅读他人的项目代码,或者过去的代码,达到快速理解的目的,或者优化代码】

    【代码提示,代码补全,代码注释】

    六、大模型使用技巧

    具体的使用案例

    6.1 Mermaid 流程图

    https://www.mermaidchart.com/

    image-20250311095600612

    6.2 PlantUML 图( https://plantuml.com/zh/

    image-20250311101021656

    image-20250311101034542

    image-20250311100726181

    image-20250311100451115

    6.3 图片转文字描述

    可以直接把图片转为对应的图片描述

    提示词:

    帮我用结构化的语句把图片内容描述出来,要专业,即使看不见的图片的人听了,也知道这个图的详细内容

    6.4文档类处理

    1. 公式转换【图片转公式,公式复制到 word】:

    image-20250311102113425

    image-20250311102517229

    https://www.latexlive.com/

    2. 全文翻译

    演示 2 种:

  15. 阿里的通义千问可以直接对整个 pdf 翻译
  16. PDF 转图片,然后直接丢给大模型翻译

    3. markdown 输出 word 文档

    markdown,

    一级标题

    二级标题

    演示

    4.文档检视:错别字检查、术语校对、格式标准化
    帮我检查下面文字中的错别字:
    “今天天七真不错, 是个大晴天,适合出去删不!”
    5. 大模型+Kimi:自动生成 PPT 大纲与内容

    通义千问也有

    https://tongyi.aliyun.com/aippt

    6. 技术文档生成(从代码/描述生成完整文档)
  17. 文本润色(语法、术语、风格优化)

    6.5 法律援助(通义千问)

    网站链接: https://tongyi.aliyun.com/qianwen/agent/home?type=FindAgent


![image-20250311142059231](https://a.siyouyun.ren:30597/d/alist/webPic/image-20250311142059231.png?sign=si3lL4H8Hhe59q_pNtGOKGP_BJU2CrTfh2bGixPPlmY=:0)

## **七、大模型 API 调用与 RAG 知识库**

通过电脑上的客户端软件对大模型 api 调用,api 调用更加自由,可以自己开发自定义的程序。聊天更加流畅。推荐一个软件 CherryStudio。

https://cherry-ai.com/的官网 ,找到下载链接安装即可

下面为软件图片

![image-20250311104529188](https://a.siyouyun.ren:30597/d/alist/webPic/image-20250311104529188.png?sign=-B1CCU9WoNN_EelpAmynPby6QbwqqC45E0om5Gxc6pk=:0)

重点在于其可以调用本地知识库进行知识库问答,非常方便。

1. 获取 api,火山引擎或者硅基流动的 API,deepseek 的 api 也可以使用

2. 在软件中填写 api 密钥

3. 设置知识库,进行对话



## **八、隐私、安全与本地部署**
1. **隐私风险与应对**
    - 数据脱敏、企业合规要求

2. **本地大模型部署**

    - ![image-20250311150533355](https://a.siyouyun.ren:30597/d/alist/webPic/image-20250311150533355.png?sign=mJhoVKieqt-Rsk5MCVnG53_-qthj3iMdawNYCTWXTrw=:0)

    - **Ollama 教程**:模型下载、运行、微调(如 LLaMA 3 本地化)( https://ollama.com/ )
    - 硬件要求:CPU/GPU/NPU 性能优化

## **九、多模态生成**
1. **图片生成**

    - 豆包, https://www.doubao.com/chat/create-image

    - Midjourney/DALL·E 提示词设计

    - comfyui,真正要升入了解绘画,视频,就要了解这个工具

    - >ComfyUI 是一个开源的图形化界面工具,主要用于 Stable Diffusion 模型的图像生成工作流设计,其节点式可视化操作是最大特色,用户可以通过拖拽节点来精确控制图像生成的每个环节

2. **视频生成**

    - 短视频生成,(腾讯、阿里、跃问)
    - https://tongyi.aliyun.com/wanxiang/videoCreation , 通义万象 2.1
    - https://yuewen.cn/videos?utm_source=yuewen_nav&utm_medium=nav_link ,跃迁

3. **声音合成**

    - 语音克隆(工具:ElevenLabs、Azure TTS,ChatTTS)
    - https://www.chattts.co/zh#free

## **十、资源与社区**
1. **外部资料整合**
    - 李燕姐提供的 PDF 文档
    
      - ![image-20250311113121770](https://a.siyouyun.ren:30597/d/alist/webPic/image-20250311113121770.png?sign=bL1YYzUVKqSjKDFfunBtrL7HBTlK4WG8ghnnw__C9Bg=:0)
    
    - [金子的AI知识库](https://tffyvtlai4.feishu.cn/wiki/OhQ8wqntFihcI1kWVDlcNdpznFf)(工具与案例库)
    
    - [七小姐的提示词博物馆](https://vxc3hj17dym.feishu.cn/wiki/VDb1wMKDNiNj0mkJn6VcFgRenVc)(模板库)(可以吹一波飞书文档)
    
    - 豆包: https://www.doubao.com/chat/
    
      kimi: https://kimi.moonshot.cn/chat/
    
      问小白: https://www.wenxiaobai.com/
    
      纳米 AI: https://bot.n.cn/
    
      closeAI(api 类): https://www.closeai-asia.com/
    
      火山引擎(api 类): https://www.volcengine.com/
    
      硅基流动(api 类): https://cloud.siliconflow.cn/
    
      IMYAI-GPT: https://new.imyai.top/ ; https://super.imyai.top/chat
    
      cherryStudio(客户端): https://cherry-ai.com/
    
      chatBox(客户端): https://chatboxai.app/zh
    
      trae(编程 IDE): https://traeide.com/或https://www.trae.ai/home
    
    - ![image-20250311112531111](https://a.siyouyun.ren:30597/d/alist/webPic/image-20250311112531111.png?sign=6sS8wMskQsOFR5x1TzVSj4i7grzMeaqG1ENCcfm1n4w=:0)
    
2. **提示词社区构建**
   
    - 提示词版本管理(GitHub 仓库或飞书多维表格)
    - 开源社区平台
      - Hugging Face、ModelScope( https://www.modelscope.cn/my/overview ),GitHub 等,ollama(国外)
    
    

#### **十一、硬件性能与优化**
在大模型推动各行业变革的当下,2025 年随着技术趋势演进与行业实践深入,下面简单了解其算力部署指南,包括硬件角色、选择策略、模型硬件匹配及微调技术等。 

#### 一、CPU/GPU/NPU 在大模型中的角色对比
1. **训练场景:GPU 主导,NPU 局部突破**
    - **GPU**(如 NVIDIA H 100/A 100)
      - **核心优势**:并行计算能力极强,支持大规模矩阵运算,适配 Transformer 架构的密集计算需求。
      - **典型应用**:千亿参数模型训练(如 GPT - 5、DeepSeek 671 B),需多卡并行(如 8 卡 H 100 集群)。
    - **NPU**(如华为昇腾 910 B、寒武纪 MLU)
      - **适用场景**:端侧/边缘设备轻量级训练(如 10 B 以下模型),能效比优于 GPU,适配智能驾驶、安防等低功耗场景。
2. **推理场景:GPU 主流,NPU 边缘端崛起**
    - **GPU**
      - **优势**:显存带宽高(如 H 100 的 3.35 TB/s),支持多任务并发推理(如同时处理文本生成+图像识别)。
      - **主流配置**:单卡显存≥24 GB(如 A 100 80 GB),适配 70 B 参数模型 FP 16 推理。
    - **NPU**
      - **突破点**:专为 AI 优化,单卡算力达 128 TOPS(如酷芯 NPU),在智能摄像头、手机端大模型(如 3 B 参数)部署中成本优势显著。
3. **CPU 的补充角色**
    - **功能**:数据预处理、任务调度、小模型推理(如 1.5 B 参数模型纯 CPU 运行)。
    - **优化方向**:英特尔至强 Sapphire Rapids 内置 AMX 加速器,推理性能提升 10 倍,适配金融风控等低延迟场景。

#### 二、主流硬件选择:GPU+大内存/显存成标配
1. **GPU 仍是算力核心**
    - **国际厂商**:NVIDIA H 100(FP 8 精度性能翻倍)、AMD MI 300 X(192 GB 显存支持超大规模推理)。
    - **国产替代**:华为昇腾 910 B(适配 DeepSeek R 1)、寒武纪 MLU(互联网大厂测试性能比肩 A 100)。
2. **内存/显存规格要求**
    - **训练端**:千亿级模型:显存≥640 GB(8 卡 H 100 集群) + DDR 5 内存≥2 TB。
    - **推理端**:
      - 7 B 参数模型:FP 16 需 16 - 20 GB 显存,INT 4 量化后仅需 8 GB(如 NVIDIA RTX 4090)。
      - 70 B 参数模型:需多卡并行(如 2×A 100 80 GB)或单卡优化(MI 300 X)。

#### 三、典型推理场景的模型与硬件匹配
| 场景分级       | 模型参数量 | 硬件配置                             | 典型案例                   |
| 
# Thank you Listening

所有资料放在了这个网盘,可以下载: https://a.siyouyun.ren:30597/AI_Share
]]>
0 http://bk.treeblog.top/index.php/archives/158/#comments http://bk.treeblog.top/index.php/feed/