本文将为你介绍在本地部署AI模型的基本方法。

1. 选择合适的用户界面

本地运行AI模型需要一个用户界面来与模型进行交互。常见的选择有:

  • oobabooga: 提供默认模式、对话模式和笔记模式,功能齐全,使用广泛。
  • Silly Tavern: 专注设计漂亮的聊天界面,支持角色扮演和视觉小说式呈现,需要后端支持。
  • LM Studio: Windows原生应用,提供模型浏览器,判断是否可运行模型,可以快速切换不同模型,判断系统是否可以运行某模型,还可以作为其他应用的API使用。
  • Axolotl: 命令行界面,支持模型微调,是进行模型调教的首选。

2. 获取开源AI模型

目前大多数顶尖的AI模型都开源在Hugging Face平台上,您可以在这里寻找合适的模型。模型名称通常会标注参数量,例如Anthropic Claude 12B表示120亿参数。参数量可以作为判断GPU是否能运行该模型的参考。

这里推荐几个体积较小、质量较高的开源模型:

  • Nous-Hermes-llama-2-7b:多任务模型,可进行任务导向对话。
  • Openchat-3.5-0106:嘉实多轮聊天模型,可进行闲聊。
  • SOLAR-10.7B-Instruct-v1.0:大模型,支持长段落文本生成。
  • Google Gemma
  • Mixtral-8x7B-Instruct-v0.1
  • Deepseek-coder-33b-instruct

您也可以尝试Google、Anthropic等公司开源的更大模型。请注意参数量是否超过了您的GPU处理能力。

3. 处理内存不足问题

当GPU显存不足时,常见的解决方法有:

  • 使用压缩模型格式,如gguf、awq、exllamav2等。这会损失一定质量,但可以大幅节省显存。
  • 借助CPU和系统内存,使用llama-cpp中的CPU offloading技术。需要GPU+CPU共同计算。
  • 尝试NVIDIA的TensorRT、VLLM等推理加速框架,可显著提升速度。
  • 调低context length(上下文长度),减少单次输送到模型中的文本量。
  • 使用量化训练的小模型,如Madlad-400、Colbertv2.0等。质量损失微小,显存需求低。

综合使用以上技术,就有可能在10-20GB的GPU上运行数十亿参数量的大模型了。

4. 通过微调获得自定义模型

如果想训练一个针对特定领域或任务的自定义模型,可以加载一个预训练模型后继续微调(fine-tuning)。

Kora目前是最先进的微调框架。需要准备与原训练集类似格式的微调数据。遵循“垃圾进,垃圾出”的原则,数据质量直接决定了微调效果。

此外,还可以尝试基于prompt、链式或迁移学习的零样本微调技术,让模型快速适应新任务。

5. 后续可以扩展的方向

本地AI模型可以连接索引数据库、目标检测模型等,大幅扩展其应用范围。一些值得关注的项目包括:

  • RAG(Retrieval-Augmented Generation):连接知识库,支持问答
  • LlamaIndex:连接本地文件,支持文档问答
  • ContinueCode:代码生成
  • Chat with RTX:视频问答
相关阅读  谷歌翻译 VS ChatGPT翻译

Categorized in: