Ollama - 在本地快速启动并运行大语言模型
共 2602字,需浏览 6分钟
·
2023-10-26 14:43
大家好!我又回来了,今天给大家介绍一个非常棒的工具,它可以让我们使用简单的 Docker 命令在终端上直接运行 Llama 2、 Code Llama 等,这个工具就是 Ollama
,这是一个 AI 聊天程序,他可以使与 LLM 的交互变得非常简单,就像启动一个 docker 容器一样。
什么是 Ollama?
Ollama
是一个命令行聊天机器人,它使得几乎可以在任何地方使用大型语言模型变得简单,现在有了一个 Docker 镜像,使用起来更加方便。
Ollama 支持的 LLMs
Ollama 提供了一系列开源模型,您可以在 ollama.ai/library
找到。看看以下可以下载的模型示例:
模型 | 参数 | 大小 | 下载 |
---|---|---|---|
Mistral | 7B | 4.1GB | ollama run mistral |
Llama 2 | 7B | 3.8GB | ollama run llama2 |
Code Llama | 7B | 3.8GB | ollama run codellama |
Llama 2 Uncensored | 7B | 3.8GB | ollama run llama2-uncensored |
Llama 2 13B | 13B | 7.3GB | ollama run llama2:13b |
Llama 2 70B | 70B | 39GB | ollama run llama2:70b |
Orca Mini | 3B | 1.9GB | ollama run orca-mini |
Vicuna | 7B | 3.8GB | ollama run vicuna |
要运行 3B 模型,请确保至少有 8 GB 的内存。对于 7B 模型,需要 16GB,对于 13B 模型,需要 32 GB 的内存。
使用 Docker 开始使用 Ollama
Ollama 可以利用 Nvidia GPU 设计的 Docker 容器的 GPU 加速。我这里没有使用 GPU 选项进行测试,也运行非常顺利!
只需确保你的计算机安装有 Linux 和 Docker,然后使用以下命令将 Ollama 镜像下载到您的计算机中。
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
请注意,这是在 CPU 上运行,而不是在 GPU 上。如果想要额外的 GPU 支持,可以查看Ollama博客文章,了解支持 Nvidia GPU 的 Docker 镜像。
docker exec -it ollama ollama run llama2
这将在你的系统中下载 Llama 2 模型。如果使用 ollama run
命令,且模型尚未下载,它将执行下载操作。要获取模型而不运行它,只需使用 ollama pull llama2
命令。
一旦模型被下载,您可以启动聊天并开始对话。可以通过按 Ctrl+D
来退出或开始新的对话。如果您退出,您将需要重新运行上述命令来再次启动聊天。
Ollama 性能
性能完全取决于您系统的硬件和资源。我在一个具有 15GB 内存和 4个 CPU 核心的 LXC 容器上运行了 llama2 的 7B 版本。
可以看到 LXC 容器中的响应速度还是非常快的...
如果将 CPU 核心数量调整至3个以下,几乎无法使用,导致频繁卡顿。请记住,这只是为了测试目的。AI 聊天机器人在专用系统或裸金属上运行效果更好。
Ollama 桌面版本
另外,Ollama 也提供了适用于 MacOS 和 Linux 的桌面应用程序,也在开发Windows版本,大家需要的可以前往官网 https://ollama.ai/download 下载。
总结
Ollama 在这个测试环境中的表现非常棒👍,对用户非常友好,在 Ollama 网站上,下载模型非常简单也有很好的文档说明。尽管像这样的命令行工具可能没有网页界面提供的便利和炫酷,但在终端中快速创建一个聊天机器人确实有一种满足感。当您看到它运行时,会有一种成就感。
我们这里只是一个使用 Docker 设置 Ollama 的基本示例,还有很多东西没有涵盖到,比如自定义自己的模型、Prompts 甚至是Rest API。要了解更多关于这些Ollama功能的信息,请访问以下链接:
Ollama website: https://ollama.ai
Ollama Github: https://github.com/jmorganca/ollama
Ollama Discord: https://discord.com/invite/ollama