专栏
ollama简介
- Ollama 是一个开源的大模型私有化部署工具,旨在帮助企业和开发者轻松地将大型语言模型(LLMs)部署到本地环境中。随着大模型技术的快速发展,越来越多的组织希望能够在自己的基础设施上运行这些模型,以满足数据隐私、安全性和定制化的需求。Ollama 应运而生,提供了一个简单、灵活且高效的解决方案。满足数据隐私和安全性需求是私有化部署的重要驱动力之一。
- Ollama 的核心优势在于其易用性和可扩展性。它支持多种主流的大模型架构,如 GPT、BERT 等,并提供了丰富的配置选项,允许用户根据具体需求调整模型参数和部署环境。通过 Ollama,用户可以在本地服务器、私有云或混合云环境中部署大模型,从而完全掌控数据流和模型行为。
ollama的适用场景
- Ollama 的适用场景主要集中在快速测试和原型验证上,尤其适合需要快速验证新模型或测试不同 prompt 效果的场景。它的设计初衷是提供一个轻量级、易于上手的工具,帮助开发者在本地环境中快速迭代和实验。然而,对于需要分布式推理的大模型私有化部署场景,Ollama 的能力就显得有限了。这类场景通常对性能、扩展性和稳定性有更高的要求,而 Ollama 并未针对推理进行深度优化。
- 相比之下,vLLM 框架则更适合生产环境中的大模型私有化部署。vLLM 专为高效推理设计,提供了分布式推理支持、显存优化、高吞吐量等特性,能够更好地满足企业级应用的需求。在后续的系列文章中,我们将详细介绍 vLLM 框架,探讨其在大模型推理部署中的优化实践,以及如何利用 vLLM 实现高性能、高可用的生产级部署方案。对于需要将大模型应用于实际业务场景的团队来说,vLLM 无疑是比 Ollama 更为合适的选择。
ollama部署
- 这里还是推荐大家用linux部署, 博主的linux服务器环境如下:
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
2. 执行如下命令进行安装,可以看到如下的输出
curl -fsSL https://ollama.com/install.sh | sh
3. 注意输出的配置文件地址,修改配置加上可任意网络访问和并行运行的模型数
vim /etc/systemd/system/ollama.service
Environment="OLLAMA_NUM_PARALLEL=4"
Environment="OLLAMA_HOST=0.0.0.0"
- 安装完成后可以启动ollama并设置开机自启动
systemctl daemon-reload
systemctl restart ollama
systemctl enable ollama
- 查看ollama是否启动成功, 目前没有模型会显示空
ollama list
6. 为了演示方式这边去ollama网站找个简单的模型拉取下来,然通过web展示
7. 这里可以选择模型大小
8. ollama run xxx模型命令是直接运行模型,我们先拉下来,拉取之后可通过ollama list命令展示,然后通过web ui展示
ollama pull qwen2.5:1.5b
9. 可以简单测试下, 我这边是输出你好呀,模型很快就有输出了
ollama run qwen2.5:1.5b
10. 通过命令能查看显存占用
nvidia-smi
docker安装open-webui
- 安装
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always registry.cn-shenzhen.aliyuncs.com/funet8/open-webui:cuda
12. 上面的安装会报错, 说明docker没法识别我的显卡,执行下面命令
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
13. 再次尝试运行docker, 通过你的ip+3000端口就可以访问比如10.1.1.3:3000
docker start open-webui
14. 刚开始需要在登录界面注册个账号,然后进页面选择简体中文,再选择拉的模型qwen2.5:1.5b
15. 愉快的聊天,问模型1+1什么时候等于3