Ubuntu 22.04 AI大模型环境配置及常用工具安装

一、基础环境准备

1.1 系统准备

建议使用 Ubuntu22.04
以下配置皆以 Ubuntu22.04 系统版本为例

1.2 安装git

  apt-get update && apt-get install git -y

1.3 安装 Python 3.9+

建议安装 3.10】(安装miniconda或者conda来管理虚拟环境)

  wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && chmod +x Miniconda3-latest-Linux-x86_64.sh && ./Miniconda3-latest-Linux-x86_64.sh && source ~/.bashrc 

1.4 安装CUDA

目前 Pytorch 官网提示支持 11.8、12.4、12.6【建议 11.8或者 12.4

  # CUDA Toolkit Installer-12.4wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pinsudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.debsudo dpkg -i cuda-repo-ubuntu2204-12-4-local_12.4.0-550.54.14-1_amd64.debsudo cp /var/cuda-repo-ubuntu2204-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/sudo apt-get updatesudo apt-get -y install cuda-toolkit-12-4# 安装驱动sudo apt-get install -y cuda-drivers# 设置环境变量(注意cuda安装的路径)echo 'export PATH="/usr/local/cuda-12.4/bin${PATH:+:${PATH}}"' >> ~/.bashrcsource ~/.bashrc  # 重新加载配置echo $PATH | grep cuda-12.4 # 验证 PATHreboot# 重启后验证是否可以获取 nvidia 显卡信息nvcc --versionnvidia-smi

1.5 安装CUDNN

下载匹配cuda12.4、ubuntu适用的cudnn包

  wget https://developer.download.nvidia.com/compute/cudnn/9.8.0/local_installers/cudnn-local-repo-ubuntu2204-9.8.0_1.0-1_amd64.debsudo dpkg -i cudnn-local-repo-ubuntu2204-9.8.0_1.0-1_amd64.debsudo cp /var/cudnn-local-repo-ubuntu2204-9.8.0/cudnn-*-keyring.gpg /usr/share/keyrings/sudo apt-get updatesudo apt-get -y install cudnn# 使用以下命令进行查看ldconfig -p | grep cudnn

1.6 安装Pytorch【可选】

# 创建基础环境
conda create -n ai python==3.12 -y && conda activate ai
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
# pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

1.7 创建基础目录

  mkdir -p ~/work/ai/models ~/work/ai/datasets ~/work/ai/tools/

二、大模型部署框架

2.1 安装Ollama【可选】

  • ollama只支持GGUF格式的模型,如果在modelscope
    或者huggingface下载模型,需要注意模型格式(GGUF一般指的是量化后的模型,缺点是模型效果变差,优势是模型会更小,推理速度会更快,对硬件要求会更低)
  • mac以及windows上是直接下载客户端
  • ollama一般针对的是个人用户
  conda create -n ollama python==3.10 -y && conda activate ollamacd ~/work/ai/tools && curl -fsSL https://ollama.com/install.sh | sh# 启动ollama服务(开启的端口默认是11434)ollama serve# 列出已下载的模型ollama list# 运行模型(没有的话会从modelscope下载)ollama run qwen2.5:0.5b

2.2 安装vLLM【可选】

vLLM 是一个 Python 库,它包含预编译的 C++ 和 CUDA (12.1) 二进制文件。
通过 PagedAttention 等技术优化 GPU 内存使用,显著提升推理速度

  • 推理性能高,适合实时和大规模推理任务
  • 支持分布式推理,适合生产环境
  • 兼容 Hugging Face 的 Transformer 模型

要求:
1.操作系统:Linux
2.Python: 3.8 – 3.12
3.GPU: 计算能力 7.0 或更高(例如,V100、T4、RTX20xx、A100、L4、H100 等)

  conda create -n vllm python=3.10 -y && conda activate vllm  pip install vllm# 运行模型(开启的端口默认是8000)vllm serve /path/to/model# 显存不足建议使用以下命令启动(测试机显卡为8G 3070ti)# 先强制释放残留显存python -c "import torch; torch.cuda.empty_cache()"# 在进行启动(以Qwen/Qwen2.5-0.5B-Instruct为例)vllm serve ~/work/ai/models/Qwen/Qwen2.5-0.5B-Instruct \--gpu-memory-utilization 0.95 \--max-model-len 1024 \--block-size 16 \--max-num-seqs 4 \--tensor-parallel-size 1

2.3 安装LMDeploy【可选】

LMDeploy 是一个高效且友好的 LLMs 模型部署工具箱,功能涵盖了量化、推理和服务

  • 功能全面,支持从训练到部署的全流程
  • 提供模型压缩和加速技术,适合资源受限的场景

要求:
1.操作系统:windows、linux
2.Python: 3.8 – 3.12

  conda create -n lmdeploy python=3.12 -y && conda activate lmdeploypip install lmdeploy partial_json_parser# 运行模型(开启的端口默认是23333)lmdeploy serve api_server /path/to/model

三、大模型微调框架

3.1 安装LLaMA-Factory【可选】

  • LLaMA-Factory 推荐使用python3.10
  conda create -n llamafactory python==3.10 -y && conda activate llamafactorycd ~/work/ai/tools && git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git && cd LLaMA-Factory && pip install -e .  # 使用可视化界面微调llamafactory-cli webui
  使用流程1. 下载model2. 下载data/data格式处理3. 开始微调

四、大模型前端框架

4.1 安装OpenWebui

  • OpenWebui 要求使用python3.11
  conda create -n openwebui python==3.11 -y && conda activate openwebuipip install -U open-webui torch transformers# 运行ollamaollama serve# 运行open-webuiexport HF_ENDPOINT=https://hf-mirror.comexport ENABLE_OLLAMA_API=Trueexport OPENAI_API_BASE_URL=http://127.0.0.1:11434/v1open-webui serve# 启动浏览器(http://localhost:8080)

推荐使用优云智算平台进行GPU实例部署

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/76124.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32单片机入门学习——第27节: [9-3] USART串口发送串口发送+接收

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.04.08 STM32开发板学习——第27节: [9-3] USART串口发送&串口发送接收 前言开发板说…

前端实现docx格式word文件预览,可以兼容原生、vue2、以及uni-app 项目,详细步骤。

上一篇记录了PDF文件预览功能。这一篇记录下docx文件预览。 核心文件 doc.html <script src"./build/polyfill.min.js"></script> <script src"./build/jszip.min.js"></script> <script src"./build/docx-preview.js&…

Java中的ArrayList方法

1. 创建 ArrayList 实例 你可以通过多种方式创建 ArrayList 实例&#xff1a; <JAVA> ArrayList<String> list new ArrayList<>(); // 创建一个空的 ArrayList ArrayList<String> list new ArrayList<>(10); // 创建容量为 10 的 ArrayList …

【anaconda下py】

38 https://repo.anaconda.com/archive/Anaconda3-2020.11-Windows-x86.exe 39 https://repo.anaconda.com/archive/Anaconda3-2022.10-Windows-x86_64.exe 310https://repo.anaconda.com/archive/Anaconda3-2023.03-0-Windows-x86_64.exe 历史列表Index of /archive 远程&…

linux--------------进程控制(下)

一、进程等待 1.1 进程等待必要性 子进程退出后&#xff0c;若父进程不管不顾&#xff0c;可能会产生 “僵尸进程”&#xff0c;进而造成内存泄漏。进程一旦变为僵尸状态&#xff0c;即使使用 kill -9 也无法将其杀死&#xff0c;因为无法杀死一个已死的进程。父进程需要了解…

docker 中跑faster-whisper 教程(1050显卡)

之前我本地机器运行faster-whisper 会报错类似 Could not load library libcudnn_ops_infer.so.8github 上也有类似的情况 &#xff1a;https://github.com/SYSTRAN/faster-whisper/issues/516#issuecomment-2785038635 缺少.so.8 文件&#xff0c;我通过以下方式&#xff0c;…

人大金仓数据库dum文件进行备份数据和恢复数据

逻辑备份命令: sys_dump -U SYSTEM -d problem_dev -Fc -f /db_backup/kingbase/dump/problem_dev/problem_dev20240329.dmp用户:SYSTEM 数据库名:problem_dev 格式:自定义格式(-Fc) 输出文件:/db_backup/kingbase/dump/problem_dev/problem_dev20240329.dmp sys_dump…

Java的Selenium元素定位-xpath

xpath其实就是一个path(路径)&#xff0c;一个描述页面元素位置信息的路径&#xff0c;相当于元素的坐标xpath基于XML文档树状结构&#xff0c;是XML路径语言&#xff0c;用来查询xml文档中的节点。 绝对定位 从根开始找--/(根目录)/html/body/div[2]/div/form/div[5]/button缺…

python-Leetcode 65.搜索旋转排序数组

题目&#xff1a; 整数数组nums按升序排列&#xff0c;数组中的值互不相同 在传递给函数之前&#xff0c;nums在预先未知的某个小标K上进行了旋转&#xff0c;使数组变为[nums[k], nums[k1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]]&#xff0c;小标从0开始计数。…

学透Spring Boot — 010. 单元测试和Spring Test

系列文章目录 这是CSDN postnull 博客《学透Spring Boot》系列的一篇&#xff0c;更多文章请移步&#xff1a;Postnull - 学透Spring Boot系列文章 文章目录 系列文章目录前言1. 基本概念UT 单元测试TDD 测试驱动开发UT测试框架Mock框架 3. Spring Test为什么要用Spring Test引…

Chrome 135 版本新特性

Chrome 135 版本新特性 一、Chrome 135 版本浏览器更新 ** 1. 第三方托管账户注册迁移到 OIDC 授权码流程** Chrome 135 将账户注册的登录页面从营销网站迁移到动态网站&#xff0c;同时也将 OpenID Connect (OIDC) 的隐式流程迁移到授权码流程。这样做的目的是进一步提升第…

Docker Swarm集群搭建与管理全攻略

文章目录 一、节点准备二、初始化 manager 节点三、管理 swarm 集群中的 worker 节点1、添加 worker 节点2、查看 worker 节点3、删除 worker 节点 四、管理 swarm 集群服务1、创建服务2、查看服务3、删除服务 五、管理 swarm 节点服务1、节点标签管理2、创建服务3、查看服务4、…

离线语音识别 ( 小语种国家都支持)可定制词组

1产品介绍 离线语音模组采用神经网络算法&#xff0c;支持语音识别、自学习等功能。运用此模组将 AI 技 术赋能产品&#xff0c;升级改造出语音操控的智能硬件 ( 例如风扇、台灯、空调、马桶、按摩椅、运 动相机、行车记录仪等 ) 。支持全球多种语言识别&#xff0c;如中文…

Docker与VNC的使用

https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc 下载nvc 客户端 https://downloads.realvnc.com/download/file/viewer.files/VNC-Viewer-7.12.0-Windows.exe 服务端 docker pull dorowu/ubuntu-desktop-lxde-vnc#下载成功 docker pull dorowu/ubuntu-desktop-l…

Linux系统学习Day0——了解和熟悉Linux系统的远程终端登录和数据传输

一、Windows系统与Linux系统虚拟机通过桥接进行网络连接 &#xff08;一&#xff09;桥接模式 桥接模式是虚拟机网络连接的一种常见方式&#xff0c;其核心原理是通过虚拟网卡将Linux虚拟机与宿主机的物理网卡建立桥接关系&#xff0c;使虚拟机能够直接接入物理网络。在该模式…

【开题报告+论文+源码】基于springboot的农贸菜市场租位管理系统的设计与实现

项目背景与意义 随着信息技术的快速发展和普及&#xff0c;信息化管理已成为各行业提升运营效率和服务质量的重要手段。农贸菜市场作为城市生活的重要组成部分&#xff0c;其管理效率和服务水平直接关系到市民的日常生活体验。传统的农贸菜市场租位管理方式往往存在信息不对称、…

Codecademy—— 交互式编程学习的乐园

一、网站概述 Codecademy 是一家美国在线学习编程知识的网站&#xff0c;它为编程学习者提供了一种全新的学习方式。在如今众多的编程学习平台中&#xff0c;Codecademy 凭借其独特的优势脱颖而出&#xff0c;吸引了全球数百万用户。其目标是帮助更多人轻松学习编程&#xff0…

WEB安全--XSS--DOM破坏

一、前言 继XSS基础篇后&#xff0c;我们知道了三种类型的XSS&#xff0c;这篇文章主要针对DOM型XSS的原理进行深入解析。 二、DOM型XSS原理 2.1、什么是DOM 以一个形象的比喻&#xff1a; 网页就像是一座房子&#xff0c;而 **DOM** 就是这座房子的“蓝图”或者“结构图”。…

Linux系统远程操作和程序编译

Linux系统远程操作和程序编译 了解和熟悉Linux系统的远程终端登录、远程图形桌面访问、 X图形窗口访问和FTP文件传输操作 网络设置和用户创建&#xff1a; 在虚拟机Ubuntu系统中&#xff0c;将网络连接设置为“桥接模式”&#xff0c;并配置好IP和网关。确保其他Windows 10系统…

linux开发环境

1.虚拟机环境搭建 在 Ubuntu 系统中&#xff0c;打开&#xff08;如图中显示的窗口 &#xff09;常见快捷键有&#xff1a; Ctrl Alt T&#xff1a;这是最常用的打开终端的快捷键组合 &#xff0c;按下后会快速弹出一个新的终端窗口。 在 VMware 虚拟机环境中&#xff0c;若…