原文始发于微信公众号(非架构):AIGC 实战:如何使用 Docker 在 Ollama 上离线运行大模型(LLM)
Ollama简介
Ollama 是一个开源平台,用于管理和运行各种大型语言模型 (LLM),例如 Llama 2、Mistral 和 Tinyllama。它提供命令行界面 (CLI) 用于安装、模型管理和交互。您可以使用 Ollama 根据您的需求下载、加载和运行不同的 LLM 模型。
Docker简介
Docker 是一个容器化平台,它将应用程序及其依赖项打包成一个可移植的单元,称为容器。容器与主机系统隔离,确保运行应用程序时环境一致且可预测。这使得 Docker 非常适合在不同环境中部署和运行软件。
使用 Ollama 和 Docker 运行 LLM 模型
有两种主要方法可以使用 Ollama 和 Docker 运行 LLM 模型:
1. 使用 Ollama Docker 镜像:
- 官方 Ollama 库在 Docker Hub 上提供各种 LLM 模型的 Docker 镜像。
- 您可以拉取这些镜像并在容器中运行它们,而无需在您的主机系统上安装 Ollama。
- 这是一种快速测试和运行不同模型的便捷方式,无需担心依赖项。
- 例如,要运行 Llama 2 模型,您可以使用以下命令:
docker exec -it ollama ollama run llama2
下图是运行 Llama 2 模型的命令行交互效果
2. 使用 Docker Compose 和 Ollama:
- Docker Compose 允许您定义具有其依赖项的多容器应用程序。
- 您可以创建一个
docker-compose.yml
文件来指定 Ollama 容器和任何其他需要的服务(例如数据库)。 - 这种方法为运行您的 LLM 提供了更多的灵活性和对环境的控制。
- 可用的社区维护的 Docker Compose 设置包括:
- https://github.com/ollama/ollama/blob/main/Dockerfile
- https://github.com/ivanfioravanti/chatbot-ollama
其他注意事项:
- 请根据您想要使用的特定 LLM 模型选择合适的镜像或配置。
- 确保暴露 LLM 通信所需的端口(例如 Ollama 的端口 11434)。
- 如果您是 Docker 新手,网上有很多资源可供您学习基础知识。
Ollama 和 LLM 模型的硬件需求
运行 Ollama 和 LLM 模型所需的硬件取决于您选择的特定 LLM 模型及其大小(参数数量)。以下是详细说明:
最低要求:
- CPU: 推荐使用支持 AVX512 或 DDR5 的近期英特尔/AMD CPU,以获得最佳性能。
- 内存:
- 小型模型(例如 7B 参数):8GB。
- 中型模型(例如 13B 参数):16GB。
- 大型模型(例如 70B 参数):64GB +。
- 磁盘空间: 50GB + 用于 Ollama 安装和模型下载。
GPU: 虽然不是强制要求,但 GPU 可以显着提升性能,尤其适用于大型模型。以下是细分:
- 未量化模型:
- VRAM 需求可能很高,通常会超出消费级 GPU。例如,一个 7B 模型在 FP16 下可能需要 26GB 的 VRAM。
- 量化模型:
- 7B 模型:~4GB
- 13B 模型:~8GB
- 30B 模型:~16GB
- 65B 模型:~32GB
-
- 更高效,需要的 VRAM 更少:
其他注意事项:
- 操作系统: Ollama 在技术上支持各种操作系统,但 Linux 提供更好的兼容性和性能。
- 网络: 如果远程与 Ollama 交互或下载大型模型,请考虑网络带宽。
总结
选择合适的硬件配置对于顺利运行 Ollama 和 LLM 模型至关重要。希望这些信息能给您带来帮助! 请记住,选择合适的 LLM 模型并设置您的环境时,可以随时提出具体问题。