北京成交型网站建设价格,项目策划书模板,一链一网一平台,清远市seo网站设计联系方式本地化部署MiniCPM全攻略#xff1a;从环境配置到多模型实战教程 【免费下载链接】MiniCPM-Llama3-V-2_5-int4 项目地址: https://ai.gitcode.com/OpenBMB/MiniCPM-Llama3-V-2_5-int4
在人工智能大模型快速发展的今天#xff0c;将轻量化模型部署到本地环境已成为开发…本地化部署MiniCPM全攻略从环境配置到多模型实战教程【免费下载链接】MiniCPM-Llama3-V-2_5-int4项目地址: https://ai.gitcode.com/OpenBMB/MiniCPM-Llama3-V-2_5-int4在人工智能大模型快速发展的今天将轻量化模型部署到本地环境已成为开发者与技术爱好者的重要需求。MiniCPM系列模型以其高效的性能和对资源的友好性成为本地部署的理想选择。本文将详细介绍在Windows 10系统下部署MiniCPM模型的完整流程包括系统配置检查、环境搭建、模型下载、部署实战以及遇到的问题与解决方法为您提供一份全面且实用的操作指南。一、系统配置与环境准备在开始部署MiniCPM模型之前首先需要对系统配置进行检查并搭建必要的软件环境。这是确保模型能够顺利运行的基础。1.1 系统配置要求MiniCPM模型虽然对硬件资源的要求相对较低但为了获得较好的运行效果建议您的系统满足以下基本配置操作系统Windows 10 64位专业版或企业版。CPU至少四核处理器推荐Intel Core i5或AMD Ryzen 5及以上级别。内存建议16GB及以上若使用量化模型如int48GB内存也可尝试运行但可能会影响部分功能和响应速度。显卡如果您计划使用GPU加速推理需要配备NVIDIA显卡且支持CUDA计算架构。显存方面对于int4量化的MiniCPM-Llama3-V-2_5模型建议4GB及以上显存非量化模型则需要更大显存支持。存储空间至少预留20GB以上的可用空间用于存放模型文件、依赖库以及相关项目代码。1.2 配置开发环境开发环境的搭建主要围绕Anaconda展开它能够帮助我们方便地创建和管理虚拟环境避免不同项目之间的依赖冲突。首先需要安装Anaconda。您可以参考相关教程如网络上可找到的详细安装步骤完成Anaconda的安装。安装完成后打开Anaconda Prompt开始创建虚拟环境。创建一个基于Python 3.10的虚拟环境命名为“minicpm-env”。在命令行中输入以下命令conda create -n minicpm-env python3.10在创建过程中如果遇到报错提示环境变量Path中存在多余的引号您需要手动检查并删除系统环境变量Path中相关的多余引号然后重新执行上述创建命令。虚拟环境创建成功后激活该环境activate minicpm-env激活环境后需要安装一些基础的依赖包。首先安装Pillow和bitsandbytespip install Pillow10.1.0 pip install bitsandbytes0.43.1这些包在后续的模型加载和图像处理中会被用到。二、模型与源码下载准备好环境后接下来需要下载MiniCPM系列模型文件以及相关的项目源码。这是部署模型的核心资源。2.1 模型下载渠道MiniCPM模型可以从多个渠道获取国内用户常用的有Hugging Face镜像站和魔塔社区ModelScope。在魔塔社区中您可以找到多种版本的MiniCPM模型例如MiniCPM-2B-sft-int4MiniCPM-2B-128kMiniCPM-Llama3-V-2_58BMiniCPM-Llama3-V-2_5-int48BMiniCPM-Llama3-V-2_5-gguf您可以通过Git命令从ModelScope下载这些模型。例如下载MiniCPM-Llama3-V-2_5-int4模型的命令如下git clone https://www.modelscope.cn/OpenBMB/MiniCPM-Llama3-V-2_5-int4.git同样地您可以使用类似的Git命令下载其他版本的模型将模型文件保存到本地指定的目录如“D:/models/”。需要注意的是模型文件通常较大下载过程可能需要较长时间具体取决于您的网络速度。建议您根据自己的需求和硬件配置选择合适的模型版本例如显存较小的情况下优先选择int4量化模型。2.2 项目源码下载除了模型文件还需要下载MiniCPM的项目源码。主要包括MiniCPM-V和MiniCPM两个仓库它们分别对应不同的模型应用场景。您可以通过以下Git命令克隆项目源码git clone https://gitcode.com/OpenBMB/MiniCPM-Llama3-V-2_5-int4 git clone https://gitcode.com/OpenBMB/MiniCPM将这些源码仓库克隆到本地后后续的部署和运行脚本将主要基于这些代码进行。三、CUDA环境配置与Torch安装如果您的系统配备了NVIDIA显卡并希望利用GPU加速模型推理那么正确配置CUDA环境和安装支持CUDA的PyTorch至关重要。3.1 查看CUDA版本信息首先需要确定您系统中安装的CUDA驱动版本和CUDA运行时版本。打开命令提示符输入以下命令查看CUDA驱动版本nvidia-smi该命令会显示NVIDIA显卡的相关信息其中“CUDA Version”一项即为驱动支持的最高CUDA版本例如本机显示为12.4。然后查看CUDA运行时版本输入nvcc -V本机显示的运行时版本为11.7。此外还可以通过一个简单的Python脚本来检查PyTorch是否支持CUDA。创建一个名为“check_cuda.py”的文件内容如下import torch print(ftorch的版本是{torch.__version__}) print(ftorch是否能使用cuda{torch.cuda.is_available()}) print(fGPU数量{torch.cuda.device_count()}) print(ftorch方法查看CUDA版本{torch.version.cuda})运行该脚本如果输出结果显示“torch是否能使用cudaFalse”则说明当前安装的PyTorch是CPU版本需要重新安装支持CUDA的版本。3.2 安装支持CUDA的PyTorch根据前面查询到的CUDA版本信息选择合适的PyTorch版本进行安装。例如如果您的CUDA驱动版本为12.4运行时版本为11.7可以安装适配CUDA 12.1的PyTorch版本PyTorch通常会向下兼容一定版本的CUDA。在虚拟环境中执行以下命令安装PyTorchpip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121安装完成后重新运行“check_cuda.py”脚本。如果输出结果中“torch是否能使用cuda”显示为True并且能够正确显示GPU数量和CUDA版本则说明CUDA环境配置成功PyTorch已可以使用GPU进行加速。如上图所示这是Windows 10系统的性能监视器界面。该界面清晰地展示了CPU、内存、磁盘、网络以及NVIDIA Quadro K620 GPU的实时资源使用情况。通过观察这些参数我们可以在模型部署和运行过程中直观地了解系统硬件的负载状态判断当前配置是否能够满足模型运行需求以及是否存在资源瓶颈等问题为优化部署提供参考依据。四、MiniCPM模型部署实战完成上述所有准备工作后就可以开始进行MiniCPM模型的部署实战了。我们将分别尝试部署MiniCPM-Llama3-V-2_5和MiniCPM-2B模型并介绍WebUI Demo部署和API调用两种方式。4.1 部署MiniCPM-Llama3-V-2_5模型MiniCPM-Llama3-V-2_5是一个多模态模型支持图文交互我们以int4量化版本为例进行部署。4.1.1 本地WebUI Demo部署首先进入MiniCPM-V项目源码目录cd MiniCPM-V-main安装项目所需的依赖库pip install -r requirements.txt安装完成后需要修改WebUI的配置文件指定本地模型路径。打开“web_demo_2.5.py”文件找到“model_path”参数将其修改为您本地MiniCPM-Llama3-V-2_5-int4模型的存放路径例如model_path D:/models/MiniCPM-Llama3-V-2_5-int4保存修改后启动WebUI服务。如果您使用的是NVIDIA GPU执行以下命令python web_demo_2.5.py --device cuda如果是搭载MPS的MacApple芯片或AMD GPU则执行PYTORCH_ENABLE_MPS_FALLBACK1 python web_demo_2.5.py --device mps服务启动成功后会显示访问地址通常为http://localhost:8080。在浏览器中输入该地址即可打开WebUI界面。首次加载模型可能需要一定时间本机测试耗时约19.5秒。在WebUI中您可以上传图片并输入问题与模型进行交互。4.1.2 API调用除了WebUI界面我们还可以通过编写API调用脚本来使用模型。创建一个名为“api_minicpm_v.py”的文件内容如下import torch import time from PIL import Image from transformers import AutoModel, AutoTokenizer # 设置模型路径 model_path D:/models/MiniCPM-Llama3-V-2_5-int4 # 加载模型和分词器 model AutoModel.from_pretrained(model_path, trust_remote_codeTrue) tokenizer AutoTokenizer.from_pretrained(model_path, trust_remote_codeTrue) model.eval() # 设置随机种子以保证结果可复现 torch.manual_seed(0) start_time time.time() # 打开图片并转换为RGB模式 image Image.open(D:/projects/MiniCPM-V-main/assets/airplane.jpeg).convert(RGB) question 图片描述了什么? msgs [{role: user, content: question}] # 调用模型进行对话 res model.chat( imageimage, msgsmsgs, tokenizertokenizer, samplingTrue, temperature0.7 ) end_time time.time() execution_time end_time - start_time print(res) print(程序执行时间为, execution_time, 秒)在命令行中运行该脚本python api_minicpm_v.py脚本会加载模型打开指定图片向模型提问并输出结果和执行时间。测试中模型成功对图片内容进行了描述执行时间根据硬件配置有所不同。4.2 部署MiniCPM-2B模型MiniCPM-2B是一个纯文本模型我们尝试进行部署。4.2.1 本地WebUI Demo部署遇到问题及处理进入MiniCPM项目源码目录cd MiniCPM-main尝试启动WebUI服务python demo/vllm_based_demo.py --model_path D:/models/MiniCPM-2B-128k此时系统会提示需要安装vLLM库。于是我们克隆vLLM项目源码git clone https://github.com/vllm-project/vllm cd vllm-main pip install -r requirements-cuda.txt但在安装过程中可能会出现“error: subprocess-exited-with-error”错误。这通常是由于setuptools版本过低导致的执行以下命令升级setuptoolspip install --upgrade setuptools升级后再次尝试安装vLLM依赖但可能仍然会遇到其他编译相关的问题由于Windows环境下编译vLLM可能较为复杂本次WebUI Demo部署暂时未能成功您可以尝试寻找其他解决方案或等待官方提供更完善的Windows支持。4.2.2 API调用部分成功与问题解决创建一个名为“api_minicpm_2b.py”的脚本尝试通过API调用MiniCPM-2B模型from transformers import AutoModelForCausalLM, AutoTokenizer import time import torch # 设置随机种子以保证结果可复现 torch.manual_seed(0) path D:/models/MiniCPM-2B-dpo-bf16 # 加载tokenizer和模型 tokenizer AutoTokenizer.from_pretrained(path) model AutoModelForCausalLM.from_pretrained(path, torch_dtypetorch.bfloat16, device_mapcuda, trust_remote_codeTrue) start_time time.time() responds, history model.chat(tokenizer, 山东省最高的山是哪座山它比黄山高还是矮差距多少, temperature0.5, top_p0.8, repetition_penalty1.02) end_time time.time() execution_time end_time - start_time print(responds) print(程序执行时间为, execution_time, 秒)运行脚本对于“MiniCPM-2B-dpo-bf16”模型可能能够成功获得输出结果。但当将模型切换为“MiniCPM-2B-sft-int4”时执行会报错提示缺少flash_attn依赖。此时需要手动安装flash_attn。由于Windows环境下通过pip直接安装可能存在困难您可以从第三方渠道下载编译好的flash_attn wheel文件例如从https://github.com/bdashore3/flash-attention/releases下载与您的torch版本和CUDA版本匹配的文件如cu121对应的版本。下载后执行以下命令安装pip install D:/downloads/flash_attn-2.4.1cu121torch2.1cxx11abiFALSE-cp310-cp310-win_amd64.whl安装完成后再次运行使用“MiniCPM-2B-sft-int4”模型的脚本通常可以解决报错问题成功获得模型输出。五、通过Ollama加载模型除了直接使用Python代码部署还可以通过Ollama工具来加载和管理MiniCPM模型这种方式相对简单快捷。5.1 安装Ollama首先从Ollama官方网站下载并安装Ollama客户端https://github.com/ollama/ollama。安装完成后首次执行Ollama应用程序通常路径为C:\Users\用户名\AppData\Local\Programs\Ollama\ollama app.exe它会自动下载一些基础文件。5.2 加载官方模型Ollama有一个官方模型库https://ollama.com/library您可以从中查找并拉取MiniCPM相关模型。例如拉取“modelbest/minicpm-2b-dpo”模型ollama run modelbest/minicpm-2b-dpo拉取完成后即可直接在命令行中与模型进行交互。此外Ollama还支持API调用您可以通过发送HTTP请求到http://localhost:11434/api/generate来使用模型设置“stream”: false可以关闭流式输出。5.3 加载本地模型如果您有本地的GGUF格式模型文件也可以通过Ollama加载。首先创建一个模型配置文件例如“MiniCPM-2B-dpo-Q4_0.mb”文件内容为FROM ./MiniCPM-2B-dpo-Q4_0.gguf其中“./MiniCPM-2B-dpo-Q4_0.gguf”是您本地GGUF模型文件的路径。然后通过PowerShell执行以下命令导入模型配置ollama create MiniCPM-2B-dpo-Q4_0 -f MiniCPM-2B-dpo-Q4_0.mb导入成功后运行该模型ollama run MiniCPM-2B-dpo-Q4_0这样您就可以使用本地的GGUF模型进行交互了。六、优化推理效率的尝试遇到挑战为了进一步提升模型的推理效率我们尝试使用llama.cpp进行优化但在Windows环境下遇到了一些挑战。首先下载w64devkit工具https://github.com/skeeto/w64devkit/releases它包含了编译所需的CMake、GCC等工具。运行w64devkit.exe查看并确认CMake和GCC的版本。然后克隆llama.cpp项目源码git clone https://github.com/ggerganov/llama.cpp进入llama.cpp目录尝试使用w64devkit进行编译cd d:/projects/llama.cpp make但在编译过程中可能会出现各种依赖或环境配置问题对于不熟悉C编译的用户来说有一定难度。您也可以尝试下载llama.cpp的预编译版本https://github.com/ggerganov/llama.cpp/releases但预编译版本可能不一定完全适配您的系统和模型本次优化推理效率的尝试暂时未能成功实现预期目标。七、总结与展望本文详细介绍了在Windows 10系统下部署MiniCPM系列模型的全过程从系统配置检查、环境搭建、模型下载到MiniCPM-Llama3-V-2_5和MiniCPM-2B模型的部署实战以及通过Ollama加载模型的方法。在部署过程中我们遇到了诸如虚拟环境创建报错、vLLM安装失败、flash_attn依赖缺失以及llama.cpp编译困难等问题并提供了相应的解决思路或替代方案。总体而言MiniCPM模型在Windows 10环境下的部署是可行的尤其是多模态的MiniCPM-Llama3-V-2_5模型的WebUI部署和API调用相对顺利能够满足基本的图文交互需求。对于纯文本的MiniCPM-2B模型通过解决依赖问题后API调用也能成功运行。Ollama工具则为模型加载提供了一种更简便的方式。未来随着模型优化技术的不断进步和社区支持的完善相信Windows环境下的部署流程会更加顺畅推理效率也会进一步提升。建议开发者持续关注MiniCPM官方仓库和相关社区及时获取最新的部署指南和解决方案。同时也期待官方能够推出更针对Windows系统优化的部署工具和预编译包降低本地部署的门槛让更多用户能够体验到MiniCPM模型的强大功能。对于普通用户而言如果您主要关注模型的使用而非底层部署细节Ollama可能是一个更优的选择它能够简化模型的管理和运行流程。而对于有一定开发经验的用户可以深入研究模型的量化技术、推理优化方法以及多模态应用开发充分发挥MiniCPM模型的潜力。【免费下载链接】MiniCPM-Llama3-V-2_5-int4项目地址: https://ai.gitcode.com/OpenBMB/MiniCPM-Llama3-V-2_5-int4创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考