切换日光/暗黑模式
016. PyCharm 进阶与本地模型部署
学习目标
这一节继续补 PyCharm 操作,并引出本地模型、GPU 服务器和私有化部署。
学完后,你应该能理解:
- 多行编辑和快捷键为什么能提升代码处理效率;
- Git 管理下哪些文件应该提交;
- 本地模型工具解决什么问题;
- Ollama、Open WebUI、LM Studio 的大致位置;
- GPU 服务器和普通 CPU 服务器有什么区别;
- 显存为什么会限制可运行的模型大小;
- 私有化部署为什么通常很贵。
多行编辑
PyCharm 支持多光标和多行编辑。
这类操作适合处理重复结构,例如:
- 多行一起缩进;
- 多行一起删除空白;
- 多行一起补同一个前缀;
- 多行对齐;
- 同时修改多处相同格式的代码。
对前端开发者来说,这和 VS Code 里的多光标体验类似。写业务代码时不一定每天都用,但整理配置、字段、测试数据时很省时间。
不要忽略未被 Git 管理的文件
项目里新建文件后,要确认它是否被 Git 管理。
如果一个关键文件没有提交,别人拉代码时就会缺文件。
常见需要提交的文件:
- 源码;
- 配置模板;
- lock 文件;
- 类型声明;
- 工具函数;
- 文档。
常见不应该提交的文件:
- 本地真实密钥;
.env中的私人配置;- IDE 临时文件;
- 构建产物;
- 缓存目录。
写代码时要养成看变更列表的习惯,不要只看页面能不能跑。
本地模型的作用
本地模型可以在自己的电脑上跑一个模型服务。
它不一定要取代云模型,更多时候用于:
- 学习模型调用流程;
- 做低成本测试;
- 验证接口是否跑通;
- 在不关心回答质量时快速跑流程;
- 避免每次测试都调用付费模型。
例如只想验证“报销审核流程能不能从前端走到后端再到模型服务”,此时不一定关心模型审核结论是否非常准确,用一个小模型也可以先把流程跑通。
LM Studio
LM Studio 可以在本地下载和运行模型,并提供类似模型服务的能力。
它适合用来体验:
- 本地对话;
- 下载不同大小的模型;
- 启动本地模型服务;
- 用 API 方式调用本地模型。
电脑能不能跑某个模型,主要看内存和显存。
模型越大,资源要求越高。资源不够时也可能勉强运行,但会很慢。
Ollama 和 Open WebUI
Ollama 也是常见的本地模型运行工具。
Open WebUI 可以给本地模型提供网页对话界面。
可以理解成:
| 工具 | 作用 |
|---|---|
| Ollama | 拉取和运行本地模型 |
| Open WebUI | 提供网页对话入口 |
| LM Studio | 图形化下载、运行和调用本地模型 |
学习阶段有 LM Studio 已经够用。时间充裕时,再体验 Ollama 和 Open WebUI。
GPU 服务器和普通服务器
前面购买的云服务器通常是普通 CPU 服务器。
如果要私有化部署大模型,通常需要 GPU 服务器。
购买时不能只选普通 CVM,需要选择异构计算或 GPU 类型的服务器。不同地域能选的 GPU 型号也可能不同。
GPU 服务器价格明显更高。带 24G 显存的服务器,长期包月或半年费用会很贵,所以很多时候会选择:
- 按量计费;
- 临时开机测试;
- 使用竞价实例;
- 只在需要训练或推理时启动。
显存决定模型上限
模型大小通常会用 B 表示参数规模,例如 4B、7B、14B。
参数越多,模型能力可能更强,但资源要求也更高。
粗略理解:
- 小模型更容易在本地跑;
- 大模型需要更多显存;
- 显存不够会非常慢,甚至无法加载;
- 工具通常会提示当前电脑是否能运行某个模型。
如果电脑只有 8G 显存,就不要一开始追求很大的模型。先用小模型把流程跑通更实际。
私有化部署的现实成本
企业选择私有化部署,通常是因为:
- 数据敏感;
- 不能把业务数据发给外部平台;
- 需要内部网络访问;
- 对合规或客户要求有约束。
但私有化部署成本不低。
需要考虑:
- GPU 服务器费用;
- 模型部署框架;
- 推理速度;
- 并发能力;
- 运维;
- 模型更新;
- 监控和稳定性。
所以不是所有业务都要私有化。学习阶段先理解它解决什么问题,再根据场景选择云模型、本地模型或私有模型。
模型社区和微调工具
课程里提到的模型生态包括:
- Hugging Face;
- ModelScope;
- Llama Factory。
可以先这样理解:
| 名称 | 直观理解 |
|---|---|
| Hugging Face | 国外常用的模型和数据集社区 |
| ModelScope | 国内常用的模型和数据集社区 |
| Llama Factory | 用于模型微调的工具 |
后面做模型微调项目时,会更具体地使用这些工具。
当前阶段只需要知道:模型不只是通过 API 调用,也可以下载、部署、微调和私有化运行。