
从零开始Anaconda环境下InternLM2-Chat-1.8B开发环境搭建最近有不少朋友对本地运行大语言模型感兴趣特别是像InternLM2-Chat-1.8B这样小巧但能力不俗的模型。但第一步往往就卡在了环境配置上——各种依赖冲突、版本不匹配让人头疼。今天我就带你一步步搭建一个干净、独立的开发环境。用Anaconda的好处是它能帮你把不同项目需要的环境完全隔离开就像给每个项目一个专属的房间互不干扰。这样你既可以放心地安装各种包又不用担心搞乱系统里其他项目。整个过程其实很简单跟着做就行。我们最终的目标是创建一个名为internlm的Conda环境安装好PyTorch和必要的库然后成功运行InternLM2-Chat-1.8B模型并和它聊上几句。1. 准备工作安装与检查在开始动手之前我们需要确保手头有趁手的工具。这一步主要是安装Anaconda并检查一下你的电脑硬件是否支持GPU加速。1.1 获取并安装AnacondaAnaconda是一个集成了Python和大量科学计算库的平台也是管理Python环境最方便的工具之一。首先访问Anaconda的官方网站根据你的操作系统Windows、macOS或Linux下载对应的安装程序。对于大多数用户选择图形化安装程序会更简单。下载完成后运行安装程序。安装过程中有几个地方需要注意安装路径建议使用默认路径避免后续出现奇怪的路径问题。高级选项在安装向导的最后一步强烈建议勾选“Add Anaconda3 to my PATH environment variable”将Anaconda3添加到系统PATH环境变量。虽然安装程序会提示不推荐但勾选后你可以在任何终端如Windows的CMD或PowerShell直接使用conda命令会方便很多。安装完成后打开你的终端Windows下是Anaconda Prompt、CMD或PowerShellmacOS/Linux下是Terminal输入以下命令来验证安装是否成功conda --version如果终端显示了类似conda 24.x.x的版本号恭喜你Anaconda已经准备就绪。1.2 确认你的GPU与CUDA驱动如果你想用GPU来运行模型让推理速度更快那么需要确认你的电脑有NVIDIA显卡并且安装了正确的驱动。在终端中输入以下命令来检查nvidia-smi这个命令会弹出一个信息表格。你需要关注两个地方Driver Version这是你的NVIDIA显卡驱动版本。CUDA Version这一行显示的是当前驱动最高支持的CUDA版本。例如显示“CUDA Version: 12.4”意味着你可以安装12.4及以下版本的CUDA。记下这个“最高支持的CUDA版本”我们下一步安装PyTorch时会用到它。如果你的系统没有NVIDIA显卡或者这个命令报错也没关系我们后续可以安装CPU版本的PyTorch只是运行速度会慢一些。2. 创建独立的Conda环境为什么一定要创建新环境想象一下你系统里原本的Python环境可能已经装了很多包版本五花八门。直接在里面安装PyTorch、Transformers这些大家伙很容易和已有的包“打架”导致各种ImportError。创建一个独立环境就相当于开辟了一块全新的、干净的土地专供你的大模型项目使用。打开终端执行下面的命令来创建新环境conda create -n internlm python3.10 -y我来解释一下这个命令conda create 创建新环境的指令。-n internlm-n后面跟着的是你给新环境取的名字这里叫internlm你可以换成任何你喜欢的名字。python3.10 指定在这个环境中安装Python 3.10。这是目前与大多数深度学习框架兼容性很好的一个版本。-y 自动确认所有提示省去手动输入“y”的步骤。环境创建好后我们需要“进入”这个环境才能在里面安装东西。使用以下命令激活环境conda activate internlm激活后你会发现终端的命令行提示符前面通常会出现(internlm)的字样这表示你现在已经在这个独立的环境里操作了。之后所有pip install或conda install的包都会装在这个“房间”里不会影响到外面的世界。任何时候想退出这个环境只需输入conda deactivate。3. 安装核心深度学习框架环境准备好了现在该往里面搬“家具”了。核心的“家具”就是PyTorch它是运行InternLM模型的基石。3.1 安装PyTorch与CUDA Toolkit去PyTorch官网获取安装命令是最稳妥的方式。你需要根据之前nvidia-smi查到的CUDA版本进行选择。例如如果你的驱动支持CUDA 12.1那么访问PyTorch官网选择PyTorch Build: Stable (2.3.0)Your OS: 你的操作系统Package: Conda (推荐能更好地管理依赖)Language: PythonCompute Platform: CUDA 12.1官网会生成类似下面的命令。请务必以官网生成的命令为准以下仅为示例conda install pytorch torchvision torchaudio pytorch-cuda12.1 -c pytorch -c nvidia这个命令会安装PyTorch及其相关的视觉、音频库并自动安装对应版本的CUDA Toolkit到你的Conda环境里非常省心。如果你的电脑没有NVIDIA GPU或者你暂时不想配置CUDA可以选择CPU版本conda install pytorch torchvision torchaudio cpuonly -c pytorch安装过程可能需要几分钟取决于你的网速。安装完成后可以在Python中验证一下打开Python交互界面在终端输入python然后输入import torch print(torch.__version__) # 打印PyTorch版本 print(torch.cuda.is_available()) # 检查CUDA是否可用True则表示GPU可用如果最后一行打印出True说明GPU配置成功3.2 安装其他必要Python库有了PyTorch这个主框架我们还需要一些辅助工具库。最主要的就是Hugging Face的transformers和accelerate前者提供了加载预训练模型的便捷接口后者可以帮助优化模型加载和推理。在激活的internlm环境中运行pip install transformers accelerate sentencepiecetransformers Hugging Face的核心库用于下载和运行像InternLM这样的开源模型。accelerate 可以简化混合精度训练、多GPU/CPU推理的配置。sentencepiece InternLM模型分词器所依赖的包。这些库都不大安装起来很快。4. 部署与测试InternLM2-Chat-1.8B模型环境全部搭建完毕最激动人心的时刻来了——让我们把模型请进来并和它打个招呼。4.1 下载并加载模型我们使用transformers库来自动下载和加载模型。创建一个新的Python脚本比如叫test_model.py写入以下代码from transformers import AutoTokenizer, AutoModelForCausalLM import torch # 指定模型名称。InternLM2-Chat-1.8B是上海人工智能实验室开源的对话模型 model_name internlm/internlm2-chat-1_8b print(正在加载分词器...) # 加载分词器负责将文本转换成模型能理解的数字ID tokenizer AutoTokenizer.from_pretrained(model_name, trust_remote_codeTrue) print(正在加载模型...) # 加载模型。torch_dtypetorch.float16 使用半精度可以减少显存占用提升速度。 # device_mapauto 让accelerate自动决定将模型层放在CPU或GPU上 model AutoModelForCausalLM.from_pretrained( model_name, torch_dtypetorch.float16, device_mapauto, trust_remote_codeTrue ) print(模型加载完成)重要提示第一次运行时会从Hugging Face Hub下载模型文件大约3.6GB请确保网络通畅并留有足够的磁盘空间。trust_remote_codeTrue参数是必需的因为InternLM使用了自定义的模型代码。4.2 与模型进行对话测试模型加载后我们来写一个简单的对话循环。在上面的代码后面继续添加# 将模型设置为评估模式对于推理是必须的 model.eval() print(\n InternLM2-Chat-1.8B 对话测试 ) print(输入 quit 或 退出 结束对话。) while True: # 获取用户输入 user_input input(\n你: ) if user_input.lower() in [quit, 退出, exit]: print(对话结束。) break # 构建模型的输入格式。InternLM2使用特定的对话模板 prompt f|im_start|user\n{user_input}|im_end|\n|im_start|assistant\n # 将文本转换为模型输入 inputs tokenizer(prompt, return_tensorspt).to(model.device) # 生成回复 with torch.no_grad(): # 关闭梯度计算节省内存和计算资源 outputs model.generate( **inputs, max_new_tokens500, # 生成回复的最大长度 temperature0.7, # 控制随机性值越低回复越确定和保守值越高越有创意。 do_sampleTrue, # 启用采样生成而非贪婪解码 ) # 解码生成的token得到文本回复 # skip_special_tokensTrue 会过滤掉模型生成的特殊标记如|im_end| response tokenizer.decode(outputs[0][inputs[input_ids].shape[1]:], skip_special_tokensTrue) print(f助手: {response})保存文件后在你的internlm环境中运行它python test_model.py如果一切顺利你会先看到模型下载的进度条加载完毕后程序会提示你输入。试着问它“你好请介绍一下你自己”看看这个1.8B参数的“小模型”会如何回答你。5. 常见问题与排错指南第一次搭建环境遇到问题很正常。这里列举几个常见的情况和解决办法。问题conda命令未找到解决这说明Anaconda没有正确添加到系统路径。可以重新运行Anaconda安装程序进行修复或者手动将Anaconda的安装路径如C:\Users\你的用户名\anaconda3\Scripts和C:\Users\你的用户名\anaconda3添加到系统的PATH环境变量中。问题安装PyTorch时网络错误或速度慢解决可以尝试更换Conda的镜像源为国内源如清华、中科大源。也可以使用pip从PyTorch官网获取安装命令有时pip的源速度更快。问题运行模型时提示CUDA out of memory解决这是显存不足。InternLM2-Chat-1.8B在FP16精度下需要大约4GB显存。你可以尝试在加载模型时使用torch_dtypetorch.float32不推荐更慢且需要更多显存。使用device_mapcpu将模型完全放在CPU上运行速度会慢很多。使用量化技术如8-bit或4-bit量化来减少显存占用这需要安装额外的库如bitsandbytes。问题模型生成的内容不符合预期或胡言乱语解决调整生成参数。降低temperature如调到0.3会让输出更稳定调整max_new_tokens控制生成长度。不同的模型可能有其特定的对话模板确保你的提示词格式正确。6. 总结与后续探索走完这一趟你应该已经成功在本地跑起了InternLM2-Chat-1.8B模型。回顾一下核心就是三步用Conda创建一个干净的环境安装好PyTorch等核心依赖最后用Transformers库加载并测试模型。环境隔离的概念虽然简单但却是管理复杂Python项目的基石能帮你避开无数依赖冲突的坑。这个1.8B的模型只是一个开始。用它来学习如何与大模型交互、理解对话模板、调整生成参数是再合适不过的。你可以多试试不同的提问方式感受一下参数如temperature对生成效果的影响。如果想进一步探索可以考虑这几个方向一是尝试更大的模型比如7B或20B参数的版本感受一下能力上的差异二是学习如何使用accelerate库进行更高效的推理或者尝试模型量化来降低资源消耗三是将这个环境作为基础去运行其他你感兴趣的开源大模型很多模型的安装和运行流程都是类似的。环境搭好了就像有了一个稳固的工作台接下来就能在上面尽情创作和实验了。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。