
先说个反直觉的结论本地部署开源大模型真正卡人的不是“显卡贵不贵”而是“显存够不够、工具没选对”。我从去年开始系统性折腾本地模型从最初拿一台只有16GB内存的MacBook Air硬跑Llama 2到后来在台式机上用4060 Ti 16GB跑Qwen2.5和DeepSeek-R1再到帮朋友在Jetson Orin Nano上落地边缘推理一路踩了不少坑。现在的局面是主流开源模型的部署已经非常成熟Ollama、llama.cpp、LM Studio这些工具已经把门槛压得很低普通人完全可以在自己的电脑上把Qwen、Llama、DeepSeek全部跑起来。这篇文章是我把三个模型家族的本地部署完整跑过一遍后的工程记录覆盖Qwen、Llama、DeepSeek也覆盖Ollama、llama.cpp、LM Studio、LlamaFactory、Dify、VSCode接入等常用工具链。无论你是想自己玩玩、做团队离线知识库还是给产品接一个可控的模型底座都可以照着这篇来。我尽量按“先算账再动手最后排雷”的顺序写每一步为什么这么做、常见坑在哪里都会说清楚。1. 硬件账先算清本地部署的显存模型与量化选择1.1 显存与模型大小的换算关系很多人上来就问“我的电脑能不能跑”其实核心就一句话模型能不能跑起来主要看显存/统一内存够不够其次才是算力快不快。这里给一个粗算公式模型权重如果以FP16精度加载1B参数大约需要2GB显存。也就是说7B模型FP16需要约14GB显存14B模型要28GB。但实际很少有人会用FP16跑本地模型因为显存太紧张大家都会用量化压缩权重。在4-bit量化下7B/8B模型的权重只有4~5GB左右再加上KV Cache、CUDA context这些运行时开销显存需求大概是模型规模4-bit量化权重8-bit量化权重推荐显存/内存1.5B ~ 3B1~2GB2~3GB4GB起7B ~ 8B4~5GB7~8GB8GB能跑12GB舒服14B9~10GB13~15GB16GB推荐32B19~21GB30~32GB24GB能跑4bit70B40GB左右60GB48GB或双卡这个表是估算值不同量化方案会有点差异但方向是对的显存大小决定了你能跑哪一档的模型而不是显卡的“型号名”。一块4060 Ti 16GB的实际部署体验很可能比一块24GB显存的老卡更从容因为16GB能跑的模型范围已经覆盖了绝大多数本地场景。1.2 四种典型硬件方案我身边实际有人跑本地模型基本就是下面四种路子第一种NVIDIA显卡的台式机/服务器。这是最省心的方案CUDA生态最完整Ollama、llama.cpp、LlamaFactory全部原生支持。预算不高的选3060 12GB或4060 Ti 16GB预算够的选3090/4090 24GB二手3090性价比目前还不错。如果团队已经有服务器基本就是往上面装环境就行。第二种Apple Silicon的Mac。M系列芯片的统一内存既能当内存又能当显存用Metal加速在Ollama和llama.cpp里都支持得不错。16GB内存的M1/M2能跑7B/8B模型32GB内存可以比较舒服地跑14B64GB内存可以去挑战32B模型。实测M1 16GB跑Qwen2.5 7B的Q4量化速度大概在20~30 token/s日常写代码、查资料完全够用。第三种纯CPU服务器。很多人公司里有一堆退役的Xeon服务器没有好显卡但内存很大。用CPU跑完全可行内存16GB以上就能跑7B模型32GB可以跑14B。代价是速度慢大概每秒1~5个token但如果你只是做离线批量处理、文本分类、摘要生成慢一点完全无所谓部署成本几乎为零。第四种边缘设备比如Jetson Orin Nano。功耗只有几瓦到十几瓦适合做嵌入式、机器人、车载这类场景。后面我会专门用一章讲这个它跑小参数量模型的体验比大多数人的预期好。1.3 量化是什么GGUF、GPTQ、AWQ新手听不懂“量化”很正常我用一句话解释模型训练出来时权重是32位或16位浮点数占空间大量化把这些浮点数压缩成4位或8位整数体积小很多跑起来显存需求也低很多。代价是精度有所损失但现代量化方案做得很好Q4量化和FP16的差距在大多数任务里几乎感知不到。现在本地部署最常见的三种量化格式GGUF来自llama.cpp生态是目前兼容性最好的格式。Ollama、LM Studio、llama.cpp、Dify都能直接吃GGUF。它的特点是CPU/GPU混合推理很灵活显存不够的部分会落到内存里照样跑。GPTQ老牌GPU专用量化格式主要用在显存完全够的场景用ExLlamaV2或AutoGPTQ推理显存效率高速度也不错。AWQ近两年很热门的激活感知量化方案质量和GPTQ相当某些场景更稳。同样需要GPU推理框架支持。我的建议很简单新手无脑选GGUF格式的Q4_K_M量化版兼容性最好工具链最完善出问题最容易找到解决方案。等跑通了之后再尝试GPTQ/AWQ追求更高速度那时候你已经知道自己在干什么了。2. Ollama部署三条主流模型桌面到服务器一把梭2.1 安装与基础命令Ollama是我现在最推荐的入门工具它把模型下载、运行、OpenAI兼容API全给你包好了命令简单到不像是在跑大模型。Windows直接下载Ollama安装包点两下就完事。macOS可以用Homebrewbrew install ollamaLinux服务器一条命令curl -fsSL https://ollama.com/install.sh | sh装完先记住这几个命令日常90%的操作都在里面ollama pull 模型名 # 下载模型 ollama list # 查看本地已有模型 ollama run 模型名 # 进入交互式对话 ollama serve # 启动后台服务默认常驻 ollama ps # 查看当前加载的模型 ollama stop 模型名 # 释放显存2.2 拉取并运行Qwen、Llama、DeepSeekOllama的模型仓库地址是ollama.com想找热门模型直接去上面搜就行。三个模型家族的拉取命令我实测都是这样# Qwen系列 ollama pull qwen2.5:7b-instruct ollama pull qwen2.5-coder:7b # Llama系列 ollama pull llama3.1:8b # DeepSeek系列注意是官方蒸馏版 ollama pull deepseek-r1:7b ollama pull deepseek-r1:14b这里必须说清楚一件事DeepSeek官方那个671B超大模型本地根本跑不动那需要多张A100/H100级别的企业级硬件。Ollama仓库里的deepseek-r1系列是官方用DeepSeek-R1的推理能力蒸馏到Qwen和Llama小模型上得到的版本7B、14B、32B、70B都有。日常本地部署说的“DeepSeek可以跑”指的都是这些蒸馏版小模型体验已经相当不错尤其在数学和逻辑推理类任务上。拉下来之后直接运行ollama run qwen2.5:7b-instruct输入问题就能对话。想退出交互模式输入/bye即可。场景不同选择也不同写代码用qwen2.5-coder通用助手用qwen2.5:7b-instruct或llama3.1:8b数学推理用deepseek-r1:14b效果明显更好。2.3 Modelfile自定义上下文、温度与系统提示词很多人不知道Ollama可以通过Modelfile自定义模型行为。比如你觉得默认上下文太短、回答太“正经”可以用Modelfile改FROM qwen2.5:7b-instruct PARAMETER temperature 0.7 PARAMETER num_ctx 8192 PARAMETER top_p 0.9 SYSTEM 你是一个严谨的中文技术助手回答尽量简洁不要废话。保存为Modelfile然后ollama create my-qwen -f Modelfile ollama run my-qwennum_ctx是上下文窗口长度默认通常只有4096调大到8192或16384能“记住”更多历史对话但显存占用也会涨。temperature是随机性0.7是比较均衡的默认值逻辑推理类任务我习惯调到0.3以下减少胡编乱造。2.4 OpenAI兼容接口让所有程序都接上本地模型Ollama最大的杀手锏是它内置了一个兼容OpenAI接口的HTTP服务默认跑在11434端口。这意味着你不需要任何额外代码所有能调OpenAI API的程序都能直接改一行地址换成本地模型。curl http://localhost:11434/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen2.5:7b-instruct, messages: [ {role: user, content: 你好简单介绍一下自己} ] }返回的JSON结构和OpenAI一模一样。后面第6章要说的Dify、VSCode插件、Codex CLI本质上都是通过这个接口把本地模型接进业务系统。另一个实用技巧如果想把模型目录放到独立硬盘避免C盘爆掉设置环境变量OLLAMA_MODELS指定目录如果想让局域网内其他机器访问设置OLLAMA_HOST0.0.0.0。这些都可以写在系统环境变量里重启Ollama服务生效。3. 不想用Ollama的替代路径llama.cpp与LM Studio3.1 llama.cpp的设计定位Ollama固然方便但如果你想更精细地控制推理过程或者要在没有官方支持的平台上运行那就绕不开llama.cpp。这是一个用C/C实现的大模型推理引擎最早由ggerganov发起GGUF格式就是它的杰作。Ollama早期本身就是基于llama.cpp的思路封装了一层后来才逐渐有了自己的runtime但底层逻辑一脉相承。llama.cpp最大的优势是轻量、无依赖、极致兼容。它不需要Python环境不依赖NVIDIA独占的框架CPU能跑显卡能加速Windows、Linux、macOS、甚至Jetson都能编译运行。很多老机器跑不了官方模型就是靠llama.cpp救回来的。3.2 编译、运行与关键参数如果你不需要编译直接去GitHub Release页下载对应平台的预编译包就行。想在Linux上启用CUDA加速需要自己编一次但过程不难git clone https://github.com/ggerganov/llama.cpp cd llama.cpp cmake -B build -DGGML_CUDAON cmake --build build --config Release -j编译完核心的可执行文件有两个llama-cli用于命令行对话llama-server用于启动一个带OpenAI兼容API的HTTP服务。实际部署时我基本只用后者llama-server -m ~/models/qwen2.5-7b-instruct-q4_k_m.gguf \ -ngl 99 \ -c 8192 \ --port 8080解释一下几个关键参数-m模型文件路径用llama.cpp必须自己去下载GGUF文件一般去HuggingFace搜模型名加GGUF关键字。-ngl把多少层放到GPU上跑99就是“尽量全放”显存不够就降到20或10剩下的层会落到CPU速度慢一些但能跑。-c上下文窗口长度。这个值直接影响显存占用纯CPU环境甚至影响内存占用不要盲目拉满。--fa开启Flash Attention能明显降低长上下文时的显存需求新版默认很多已经开了。--cache-type-k/q对KV Cache做量化实测能省不少显存质量损失很小。启动后访问http://localhost:8080/v1/chat/completions就是OpenAI兼容接口用法和Ollama几乎一样。3.3 LM Studio可视化调参如果你不想碰命令行但又想像用桌面软件一样管理模型、对比不同模型的效果就用LM Studio。它本质上是一个把llama.cpp包起来的图形化工具界面友好得多。它的使用逻辑是在软件里搜模型、下载GGUF文件然后在“加载模型”界面拖一个滑块选择GPU offload的层数设置上下文窗口点加载就能对话。左侧是普通聊天界面右侧是推理参数面板切换模型对比效果非常方便。LM Studio也自带一个local API server启动后同样暴露OpenAI兼容接口。我做模型评测的时候特别喜欢拿它来快速切换模型一台机器上装好几个模型谁好谁坏一目了然。3.4 什么时候该用哪个工具很多读者会问这几个工具到底选哪个我的判断标准很简单Ollama服务化部署、接入业务系统、跨机器复现环境优先用Ollama。它的模型管理最方便团队里一台机器配好后其他人直接连。llama.cpp要精细调参、跑老机器/特殊硬件、自己编译研究底层用llama.cpp。它是“万能底牌”。LM Studio纯本地探索、多模型对比、完全不想碰命令行用LM Studio。它是“实验台”。其实这三者不是互斥的很多人电脑上三个都装各干各的活。4. Jetson Orin Nano边缘部署低功耗跑Qwen的实测方案4.1 为什么要折腾边缘设备桌面显卡跑大模型自然爽但功耗轻松两三百瓦体积又大很多场景根本用不上。Jetson Orin Nano这类开发板整板功耗才7~15W却能提供接近入门独立显卡的算力特别适合做边缘盒子、机器人、智能摄像头、车载终端这类对功耗和体积敏感的场景。还有一个很多人忽略的优势数据不出设备。医疗、金融、隐私敏感的场景不需要把数据传到云端本地模型推理天然满足合规要求。我在第6章讲的Dify离线知识库如果跑在Jetson上那就是一套完全物理隔离的AI服务。4.2 环境准备与功耗模式Jetson Orin Nano Developer Kit有两种配置8GB和16GB版本。8GB版跑7B模型的Q4量化比较紧张16GB版会从容很多。第一件事是刷JetPack系统如果只是做推理JetPack 5.1.2以上都可以其中自带CUDA、cuDNN、TensorRT的运行时。刷完系统后先把功耗模式调到最大性能sudo nvpmodel -m 0nvpmodel -m 0是15W最大性能模式-m 1是10W省电模式。实测性能释放对推理速度影响很大能接受散热噪音就长期用-m 0。另外Jetson默认风扇策略偏保守如果长时间满载推理建议手动开风扇防止降频sudo sh -c echo 255 /sys/devices/pwm-fan/target_pwm4.3 在Jetson上部署QwenJetson上部署模型有两条路。第一条最省事Ollama官方已经支持Jetson平台直接一条命令curl -fsSL https://ollama.com/install.sh | sh ollama pull qwen2.5:7b-instruct ollama run qwen2.5:7b-instructOllama在Jetson上会自动检测CUDA环境并使用GPU加速这个体验比我自己手动编译llama.cpp顺滑太多。如果你想更细粒度控制第二条路就是llama.cpp手动编译cmake -DGGML_CUDAON即可JetPack自带的CUDA工具链直接能编过。4.4 实测性能与优化空间我在Orin Nano 8GB版上跑qwen2.5:7b-instruct的Q4量化实测生成速度大概是5~9 token/s。作为对比普通聊天场景人类阅读速度大约是每秒4~6个字所以这个速度已经可以勉强做实时对话完全能胜任文本分类、摘要、信息抽取这类异步任务。如果想在8GB版上跑得更舒服有几个优化手段禁用桌面环境切到纯headless模式省出1~2GB内存给模型。开启zram或swap模型如果稍微超一点内存不至于直接崩溃。使用ollama run前先执行ollama stop释放之前加载的模型避免多个模型同时占显存。14B模型在8GB板上不建议实时跑量化后勉强但速度会掉到3~5 token/s体验不好。16GB版才是跑14B的最低门槛。Jetson上的坑不少最典型的是刷完系统后默认运行在低功耗模式很多人跑模型慢到怀疑人生结果只是nvpmodel没调对。5. LoRA微调实战用LlamaFactory让Qwen学会你的私有数据5.1 为什么微调而不是只改提示词等模型跑起来、API能通下一步大多数人就会遇到同一个问题通用模型回答得不错但不懂我们公司/领域的专业知识。这时候有两条路提示词工程和微调。提示词工程不是万能的它的上限是“引导模型已有的知识”。如果模型根本没接触过你们行业专有名词、内部文档、特定对话风格你写再长的提示词它也只能硬编。微调则是直接把新知识“写进”模型参数里。全量微调7B模型需要大量显存普通人根本玩不起。LoRA低秩适配则是冻结原始模型参数只训练一个小规模的增量矩阵显存需求大幅下降。单张4090甚至3090就能微调7B模型这也是LoRA能火起来的核心原因。5.2 LoRA的原理一句话LoRA的思想可以这样理解原始模型权重矩阵W是“定死的”LoRA给它并联了两条小路B和A训练时只更新这两个小矩阵最终效果相当于在W旁边加了“一个低秩的微调量”。一方面训练参数量少显存占用低另一方面可以随时换不同的LoRA适配不同任务非常灵活。5.3 安装LlamaFactory与数据准备LlamaFactory是目前我测试下来对新手最友好的微调工具它把Qwen、Llama、DeepSeek这些主流模型全封装进了同一个Web界面支持LoRA和QLoRA。安装很简单git clone https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -e .[torch,metrics] CUDA_VISIBLE_DEVICES0 python src/train_web.py启动后浏览器进入http://localhost:7860。训练前要把数据整理成Alpaca格式的JSON文件常见样式如下[ { instruction: 介绍下什么是光伏逆变器, input: , output: 光伏逆变器是太阳能光伏发电系统中负责将直流电转换为交流电的设备…… }, { instruction: 根据下面内容提取客户投诉的关键词, input: 客户反馈家用逆变器噪音大售后响应慢, output: [噪音大, 售后响应慢] } ]把JSON文件放到LlamaFactory的data目录下然后在WebUI的数据集下拉框里找到它。注意instruction是问题指令input是补充上下文可为空output是期望回答三条字段缺一不可。5.4 关键训练参数说明在LlamaFactory的WebUI里模型名称选择qwen2.5-7b-instruct微调方法选lora然后重点设置这几个参数参数建议值说明LoRA rank8~64数值越大适应能力越强但过大会过拟合。数据量小选8~16数据量大可到32~64LoRA alpharank × 2LoRA缩放系数一般保持2倍关系Learning rate1e-4 ~ 2e-4学习率过大容易训坏过小收敛太慢Cutoff length1024 ~ 2048训练时截断的最大序列长度越长越占显存Epoch3 ~ 5训练轮数小数据集3轮就能看出效果Batch size2 ~ 4越大越占显存爆显存就调小QLoRA开启把基础模型再做4bit量化大幅降低显存需求训练时长方面单张4060 Ti 16GB微调7B模型1000条数据大概20~40分钟就能跑完。训练过程中盯着loss看loss降到0.5~1.0之间就可以停了不要一味追求loss趋近于0否则模型会“背题”而不是“学会”对话反而会变得机械。5.5 导出合并回灌Ollama训练完的LoRA权重需要“合并”回基础模型才能直接部署。在LlamaFactory的Export选项卡里选择导出目录它会自动把基础模型权重和LoRA增量合并成一个完整的模型目录。然后把它转成GGUF格式python convert_hf_to_gguf.py ./merged_model \ --outfile merged-q4_k_m.gguf \ --outtype q4_k_m转出来的GGUF文件就可以用小模型部署工具直接加载了。用Ollama把它注册成自定义模型FROM ./merged-q4_k_m.ggufollama create my-finetuned-model -f Modelfile ollama run my-finetuned-model个人经验是微调的数据质量比数据量重要得多。几十条高质量、格式统一的示例效果往往好过几千条语无伦次的垃圾数据。每次微调前先花半天清洗数据这个时间永远不会白费。6. 模型部署完只是开始Dify、VSCode与Codex的接入实战6.1 Dify本地化搭建很多人把模型跑起来就停手了其实模型只是“发动机”要变成能用的应用还需要一个编排层。Dify是目前开源社区最主流的LLM应用平台它可以让你不写代码就搭出知识库问答、Agent工作流、聊天机器人。Dify官方提供了Docker Compose一键部署方式git clone https://github.com/langgenius/dify.git cd dify/docker cp .env.example .env docker compose up -d首次启动要等一会儿浏览器访问http://localhost完成初始化设置。整个流程我没遇到过大坑唯一要强调的是一开始就把.env里的SECRET_KEY改成随机值不然后续升级容易出问题。6.2 在Dify中接入本地Ollama与DeepSeekDify部署完默认没有任何模型需要在“设置-模型供应商”里添加。选Ollama填API地址有一个关键坑Dify是在Docker容器里跑的容器内不能直接访问宿主机所以不能写localhost:11434要写http://host.docker.internal:11434/v1或者直接用宿主机内网IP。如果你要用DeepSeek官方在线API在模型供应商里搜索DeepSeek填入API密钥模型名称填deepseek-chat或deepseek-reasoner即可。前者适合日常对话后者适合推理分析。把两条链路都配好等于你同时拥有了“免费离线底座”和“高能力在线兜底”。在Dify里创建应用时可以选择知识库检索模式上传文档配置Embedding模型。这里分享一个提升RAG效果的小技巧如果文档是PDF不要直接切块喂进去先用MinerU这类开源文档解析工具把版面、表格、图片转成干净文本再进知识库。实测解析后的检索命中率比直接切PDF高很多。6.3 把模型接进VSCodeContinue插件配置每天写代码的人最实用的场景是把本地模型接进VSCode当AI编程助手。Continue是目前最流行的开源插件配置方式很直观装好插件后在它的配置文件config.json里添加一个模型{ models: [ { title: Qwen Coder Local, provider: openai, model: qwen2.5-coder:7b, apiBase: http://localhost:11434/v1, apiKey: ollama } ] }保存后回到对话面板选这个模型。如果你接的是DeepSeek-R1系列apiBase还是Ollama的http://localhost:11434/v1只是model改成deepseek-r1:14b。代码补全和代码解释用qwen2.5-coder:7b体验很好代码逻辑分析用deepseek-r1:14b更有深度。6.4 Codex CLI等Agent工具接入本地模型最近很火的OpenAI Codex CLI也支持自定义模型供应商。它的配置文件是~/.codex/config.toml大致这样配model qwen2.5-coder:7b model_provider ollama [model_providers.ollama] name Ollama base_url http://localhost:11434/v1 env_key OLLAMA_API_KEY不过我实测下来本地7B级别的模型跑Agent类任务比较吃力因为Agent需要长上下文理解和工具调用规划7B模型很容易在中间步骤“犯迷糊”。本地模型跑Codex至少建议32B以上或者只用它做代码补全、简单重构、代码解释这类轻任务。真正复杂的多文件重构还是把云端大模型作为补充才靠谱。这个思路可以扩展到其他Agent工具只要工具支持OpenAI兼容接口理论上都可以接本地模型。Dify也支持建Agent应用把Ollama模型配置好就能在它的可视化编排里做工具调用。7. 部署后必踩的坑五个真实问题与完整排查链路模型部署完问题才刚刚开始。以下五个坑是我和身边朋友反复踩过、排查过的典型问题每个都按“现象-排查-解决”的思路来讲。7.1 显存溢出CUDA out of memory现象加载模型或对话突然提示CUDA out of memory进程崩溃。排查先用nvidia-smi看显存占用确认是不是模型权重本身已经超了显存还是上下文窗口拉得太大。很多人改了num_ctx到65536显存瞬间爆掉。解决按优先级处理。第一步换更小量化比如从Q8换到Q4_K_M第二步调低上下文长度8192对大多数任务足够第三步用llama.cpp时降低-ngl层数让部分层跑CPU第四步检查是否同时加载了多个模型用ollama ps确认并ollama stop清理。7.2 TLS证书报错self_signed_cert_in_chain现象用Docker拉镜像、或某个客户端程序访问内网API时报self_signed_cert_in_chain。排查这个报错常见于公司内网使用了自签名证书的Docker Registry或HTTPS网关。它不是模型的问题而是客户端不信任服务器证书链。用curl -v看看服务端下发的是真实证书还是自签证书基本就能定位。解决把自签名CA证书加到系统信任库Linux上是放到/usr/local/share/ca-certificates/后执行update-ca-certificates。如果是Docker Registry可以在/etc/docker/daemon.json里配置insecure-registries但仅建议内网测试环境使用。如果是Python客户端报错设置环境变量REQUESTS_CA_BUNDLE指向CA证书文件Node.js环境则用NODE_EXTRA_CA_CERTS。7.3 下载模型没速度Ollama pull卡住现象ollama pull卡在下载进度半天不动。排查国内访问Ollama/HuggingFace等海外源不稳定是主因。可以先确认网络能不能打开源站再考虑换镜像。解决Ollama模型目录可以手动从别人那里拷贝把整个模型目录的blobs文件拷到目标机器再执行ollama list就能识别。HuggingFace下载GGUF时设置HF_ENDPOINThttps://hf-mirror.com再继续下载速度稳定很多。这个办法基本能覆盖大多数下载场景。如果还不行用LM Studio下载也算一条路但它也要访问网络本质一样。7.4 输出质量差胡编乱造和车轱辘话现象模型回答看起来流畅但事实错误明显或者一句话反复说越说越远。排查先看量化等级。你要是下了一个Q2_K甚至Q3_K的模型质量差是正常的这种量化级别适合显存极度紧张的环境不适合正经用。再看推理参数temperature调到0.8以上在长回答里很容易“放飞自我”。解决换Q4_K_M量化版是性价比最高的升级。对话场景temperature设0.6~0.7推理任务设0.2~0.3。上下文窗口不要盲目调到特别大超过模型训练时的能力范围注意力会分散回答质量反而下降。系统提示词写清楚格式约束比如“每步推理自成一段最后给结论”输出质量提升非常明显。7.5 老系统和老硬件Windows 7与老显卡现象Windows 7上怎么都跑不起来。排查现代CUDA版本早就放弃Win7了Ollama/LM Studio基本不提供Win7支持硬要跑只能找老版本的llama.cpp CPU构建。解决Win7真不建议折腾系统太老驱动和运行时生态断代太严重。如果机器没有NVIDIA新卡优先装一个Ubuntu LTS跑llama.cpp CPU模式或者干脆用一台新机器。老显卡用户如果只有核显可以考虑直接用CPU推理7B模型慢是慢但能用。千万别在旧系统上浪费时间我见过太多人折腾了三天最后换了系统十分钟跑通。结尾说了这么多最后聊点实在的。本地部署这件事这两年的最大变化是“部署成本”已经从技术壁垒变成了信息壁垒。很多人迟迟不动手不是因为跑不起来而是被各种帖子吓到以为必须有几万块买卡。实际上一台12GB以上显卡的游戏本或者一台32GB内存的Mac就已经是合格的本地模型运行环境了。我个人建议的路径是先用Ollama把qwen2.5:7b-instruct跑通体验一下对话、看一下速度然后拉一个deepseek-r1:14b做推理对比等熟悉了再谈微调、再谈Dify应用编排一步一个台阶不要一上来就全都要。根据我自己的经验真正卡住大多数人的反而是“模型跑起来之后怎么办”——所以我才把VSCode接入、Dify编排这几个应用场景单独拿一章出来写。也建议所有做过本地部署的朋友把自己的Modelfile、训练参数、踩坑记录整理成文档收起来。这类事情记一次后续不管是重装机器还是帮同事搭环境都省很多事。最后分享一个小技巧很多你以为是“模型变笨了”的问题其实是上下文开太大、温度调太高把这两项参数调正常一半以上的质量吐槽都消失了。调参永远比换模型便宜。