背景
在当下开源大语言模型火热的背景下,有很大一部分开发者希望本地部署开源 LLM ,用于研究 LLM 或者是基于开源 LLM 构建自己的 LLM 应用。笔者也正在尝试通过开源社区的一系列相关优秀项目,通过本地化部署服务来构建自己的 LLM 应用。那么本地部署一个开源 LLM 来构建一个聊天应用需要哪些准备呢?
本地环境的准备:
因为我们需要在本地部署一个开源的大模型,所以你需要准备一个相当硬核的本地环境。硬件上需要一台拥有高性能大显存的 NVDIA 显卡、大容量高速内存以及大容量固态硬盘,软件上则需要安装显卡驱动、CUDA、Python 环境。笔者这次选择跑 Baichuan-chat-13B 模型为例,我的基本配置是 CPU i9-13900K、GTX3090 24GB双卡、64GB 内存和 2TB 固态硬盘。
一个大型语言模型(LLM):
这是我们构建 LLM 应用的基础。不同的 LLM 根据预训练的数据和目标任务的不同,其模型结构和学到的知识也不相同。基于不同模型构建出来的 AI 应用表现也会不一样。你可以通过火热的 AI 社区 Hugging Face 上找自己感兴趣的开源 LLMs 来进行尝试和能力对比 。
一个本地部署 LLM 的推理服务:推理服务可以将预训练好的 LLM 模型加载到本地服务器,并提供模型预测接口,这样就可以本地化使用 LLM 模型进行各种 NLP 任务,而不需要依赖云服务。你可以使用一些优秀的 GitHub 开源项目,这些项目对热门的开源 LLM 都做了推理服务的一键部署。知名度比较高、star 比较多的有 LocalAI、openLLM 等。
一个简单易用的“ LLM 操作系统” Dify.AI :如果要在基于 LLM 的能力构建一个聊天应用,你可能需要学习研究全套的 LLM 技术栈,比如:不同模型的 API 调用、向量数据库选型、embedding 技术研究等等。如果你使用开源项目 Dify.AI,则可以省掉这些研究学习工作,帮助你通过可视化的界面即可快速创建基于不同 LLM 能力的 AI 应用。Dify 最近的版本新增了对开源 LLMs 的支持,对托管在 HuggingFace 和 Replicate 上所有的模型都能快速调用和切换使用,同时支持本地部署方式能够基于 openLLM 和 Xorbits inference 推理服务来实现 AI 应用的构建。
笔者将尝试使用开源的 LLMOps 平台 Dify.AI 、开源的推理服务 Xinference 和开源模型 baichuan-chat-13B 为例,手把手实操教你在 windows 环境下构建一个 LLM 聊天应用。话不多说我们直接开工。
环境准备
基本的 conda 和 Python 一般应该都具备。不过本文还是从零开始介绍环境配置吧!
配置 python 环境
一般情况下建议使用 conda 进行 python 版本管理。先根据 conda 官网文档[1]安装 conda。然后用 conda 初始化 Python 3.11 环境:
conda create --name python-3-11 python=3.11
conda activate python-3-11
安装 CUDA
推荐直接从官网[2]安装。Windows 11 选择下图版本。
根据引导安装完,打开「NVDIA 控制面板 -> 系统信息」看到装上了。
WSL2 准备
由于 Dify 的 docker 部署推荐使用 WSL2 环境。所以现在先安装 WSL2 。参考微软官方指引[3]。
第一步,管理员身份运行 CMD:
第二步,在 CMD 中用指令安装:
wsl --install
结果看到了支持的各种系统版本
适用于 Linux 的 Windows