前述
自 2023 年 OpenAI 推出以来,人工智能领域迎来了爆发性增长。经过一年多的周期性优化和完善,大模型及其相关产品已经日趋成熟。木子认为现在是时候撰写一些关于大模型应用的文章了。在接下来的系列文章中,我们将基于 Rocky Linux 9 进行部署。文章内容包括:
系统配置
- Rocky Linux 物理服务器上的 NVIDIA 显卡驱动安装与配置
- CUDA Toolkit 的安装与配置
- cuDNN 的安装与配置
- NVIDIA Container Toolkit 的安装与配置
- Docker GPU 调度配置
生产力工具
- Ollama
- ComfyUI
- Open-WebUI
- LiteLLM
- RAGFlow
- STT
本地大模型构建
- llama 3.1
- llama2-chinese
- qwen2:7b
- qwen2:32b
- codegeex4:9b
- glm4:9b
公有云大模型应用
- Azure OpenAI
- Claude
- IBM Watsonx
我们热烈欢迎对人工智能和大模型感兴趣的朋友加入我们的撰写团队,共同探讨和分享创新应用。
木子配置 NVIDIA 显卡(N 卡)驱动的主要目的是满足大模型应用的需求,而非单纯为了配置 Rocky Linux 桌面操作系统。不过 N 卡驱动的安装步骤同样适用于 Rocky Linux 桌面爱好者。
如之前的说说 关于 RAG 与 大模型劝退 – Rocky Linux 和 各类 LLM 大模型测试验证 – Rocky Linux 所述,本系列教程将更侧重于运维方向的内容,希望能够对刚刚进入 AI、LLM、RAG 领域的读者有所帮助。
所以对于此系列文章,木子将打上 AI
、LLM
等相关标签,方便大家阅读。
NVIDIA 显卡驱动说明
NVIDIA 显卡驱动有两种主要类型:开源驱动 和 闭源驱动,以下是两种驱动的简单介绍。
开源驱动(Nouveau)
简介
- 名称:Nouveau
- 开发者:社区驱动,主要由自由软件开发者和一些 Linux 发行版维护者开发和维护。
- 许可证:GPL(GNU General Public License)
特点
- 源码公开:Nouveau 驱动程序的源代码是公开的,任何人都可以查看、修改和分发。
- 社区支持:由开源社区维护和支持,更新和改进通常由社区贡献。
- 兼容性:通常在大多数 Linux 发行版中默认安装,方便用户开箱即用。
- 性能和功能:由于缺乏 NVIDIA 的官方支持,性能和功能可能不如闭源驱动。例如:3D 加速和电源管理可能不如闭源驱动。
- 易用性:适合不需要高性能图形处理的用户,如日常使用和普通桌面环境。
闭源驱动(NVIDIA 官方驱动)
简介
- 名称:NVIDIA 官方驱动(NVIDIA Proprietary Driver) ,也叫 NVIDIA 专有驱动。
- 开发者:NVIDIA 公司
- 许可证:专有许可证(Proprietary License)
特点
- 源码封闭:驱动程序的源代码是封闭的,只有 NVIDIA 公司内部可以查看和修改。
- 官方支持:由 NVIDIA 公司开发和支持,通常提供最新的功能和性能优化。
- 兼容性:需要手动安装或通过特定的包管理器安装,不同 Linux 发行版的安装步骤可能有所不同。
- 性能和功能:通常提供更好的性能和更多的功能,包括:全面的 3D 加速、CUDA 支持、电源管理和最新的图形技术支持。
- 易用性:适合需要高性能图形处理的用户,如游戏玩家、图形设计师和科学计算用户。
主要区别总结
特性 | 开源驱动(Nouveau) | 闭源驱动(NVIDIA 官方驱动) |
---|---|---|
开发者 | 社区 | NVIDIA 公司 |
许可证 | GPL | 专有许可证 |
源码 | 公开 | 封闭 |
性能和功能 | 基本支持 | 高性能和全面功能 |
兼容性 | 默认安装,易用 | 需要手动安装,步骤复杂 |
支持 | 社区支持 | 官方支持 |
适用场景 | 日常使用,普通桌面 | 高性能需求,图形密集型应用 |
因为 Nouveau 驱动主要通过反向工程来理解和支持 NVIDIA 硬件。这种方法不仅耗时,而且很难完全掌握硬件的所有细节,因此性能和兼容性方面存在较大差距。
如何选择
- 开源驱动(Nouveau):适合不需要高性能图形处理的用户,或者希望使用完全开源软件的用户。
- 闭源驱动(NVIDIA 官方驱动):适合需要高性能图形处理的用户,如游戏玩家、图形设计师和科学计算用户。
驱动安装方式
NVIDIA 驱动程序的安装方式主要有两种:本地安装 和 在线安装。以下是这两种安装方式的简单介绍及其主要区别:
本地安装
简介
- 方式:下载驱动程序安装包到本地,然后手动执行安装程序。
- 步骤:通常包括下载驱动程序、准备系统、运行安装程序以及配置驱动。
优点
- 独立性:不需要网络连接,一旦下载了驱动程序安装包,可以在任何时候安装。
- 控制力:用户可以完全控制安装过程,适用于需要特殊配置或在没有网络连接的环境中安装驱动。
缺点
- 手动操作:需要手动下载和安装,步骤较多,对新手用户可能不友好。
- 依赖管理:需要用户手动解决依赖关系,可能比较复杂。
- 更新不便:驱动更新需要重新下载和安装新的驱动程序包。
在线安装
简介
- 方式:通过操作系统的包管理器在线安装和管理驱动程序。
- 步骤:通常包括启用软件源、更新包列表、安装驱动程序以及配置驱动。
优点
- 简便性:安装步骤简化,包管理器会自动处理依赖关系,适合新手用户。
- 自动更新:驱动程序更新可以通过包管理器自动完成,保持系统最新。
- 集成性:更好地集成到操作系统中,减少兼容性问题。
缺点
- 需要网络:安装和更新都需要网络连接,可能不适合离线环境。
- 依赖包管理器:依赖于操作系统的包管理器和软件源,某些发行版可能没有最新的驱动版本。
总结
特性 | 本地安装 | 在线安装 |
---|---|---|
依赖网络 | 不需要 | 需要 |
操作步骤 | 复杂,需要手动下载和安装 | 简单,使用包管理器自动处理 |
依赖管理 | 需要手动解决 | 包管理器自动处理 |
更新方式 | 手动下载并重新安装 | 包管理器自动更新 |
适用场景 | 无网络连接或特殊配置需求 | 有网络连接,适合大多数用户 |
选择建议
-
本地安装:
- 适合需要在没有网络连接的环境中安装驱动。
- 适合高级用户或需要特殊配置的情况。
- 适合希望完全控制安装过程的用户。
-
在线安装:
- 适合大多数用户,特别是新手用户。
- 适合希望简化安装和更新过程的用户。
- 适合在有网络连接的环境中安装和维护驱动。
注意事项
- 备份数据:在安装或更新驱动程序之前,最好备份重要数据,以防万一出现问题。
- 检查兼容性:确保所下载或安装的驱动程序版本与显卡和操作系统版本兼容。
- 阅读文档:无论是本地安装还是在线安装,建议先阅读相关的安装文档和指南,以避免常见问题。
通过了解本地安装和在线安装的区别及其优缺点,我们可以根据自己的需求和环境选择合适的安装方式。无论选择哪种方式,都需要确保驱动程序的版本和系统环境相匹配,以获得最佳的性能和稳定性。
参考文献
[1] CUDA Installation Guide for Linux
[2] CUDA GPUs – Compute Capability | NVIDIA Developer
[3] docs.nvidia.com/cuda/pdf/CUDA_Installation_Guide_Linux.pdf
[4] Installing cuDNN on Linux — NVIDIA cuDNN v9.3.0 documentation
[5] Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 1.16.0 documentation