Mac本地部署大模型-单机运行

前些天在一台linux服务器(8核,32G内存,无显卡)使用ollama运行阿里通义千问Qwen1.5和Qwen2.0低参数版本大模型,Qwen2-1.5B可以运行,但是推理速度有些慢。

一直还没有尝试在macbook上运行测试大模型,不知道单机部署是否会有压力?

恰好家里有一台平时用的较少的macbook,因此,简单做了一些测试,分享给大家,供参考和讨论。

电脑配置

所使用的Macbook Pro稍微有些老,配置如下:

  • 机型,MacBook Pro(13 英寸,2019 年)
  • 芯片,四核Intel Core i5 2.4GHz;
  • 图形卡:Intel Iris Plus Graphics 655 1536 MB =》1.5G显存,是否能有用?
  • 内存,16G;
  • 系统,macOS Sonoma 14.5

(原来系统Catalina 10.15,发现没有brew命令,安装提示系统版本太低,apple已不再支持;同时系统提示,可以升级到最新mac OS,于是安装升级到最新的系统Sonoma,点击这里查询macOS Sonoma 与哪些电脑兼容

Ollama下载安装

我们简单实用Ollama方式运行大模型。

首先从Ollama官网下载安装包。

Download Ollama on macOS

直接点击maxOS下载即可,下载的文件是Ollama.zip压缩文件,解压后是应用程序(ollama.apk),直接双击运行安装就可以。

安装完后,在启动台,就可以看到这个Ollama的图标。

大模型下载和运行

接下来就可以从ollama模型库中,选择需要的模型,做实验测试了。

例如:我们选择阿里通义千问qwen2-1.5B参数的模型:qwen2:1.5b-instruct-q5_K_M

qwen2:1.5b-instruct-q5_K_M

命令行直接运行: ollama run qwen2:1.5b-instruct-q5_K_M

如果下载失败,再次尝试即可。

(modelscope) MacBook-Pro ~ % ollama run qwen2:1.5b-instruct-q5_K_M
pulling manifest 
Error: pull model manifest: Get "https://registry.ollama.ai/v2/library/qwen2/manifests/1.5b-instruct-q5_K_M": dial tcp: lookup registry.ollama.ai: i/o timeout

(modelscope) deMacBook-Pro ~ % ollama run qwen2:1.5b-instruct-q5_K_M
pulling manifest 
pulling 9d9344b43f5a... 100% ▕████████████████████████████████████████████████████████▏ 1.1 GB                         
pulling 62fbfd9ed093... 100% ▕████████████████████████████████████████████████████████▏  182 B                         
pulling c156170b718e... 100% ▕████████████████████████████████████████████████████████▏  11 KB                         
pulling f02dd72bb242... 100% ▕████████████████████████████████████████████████████████▏   59 B                         
pulling 624b547e1c39... 100% ▕████████████████████████████████████████████████████████▏  487 B                         
verifying sha256 digest 
writing manifest 
removing any unused layers 
success 
                               ▏ 120 MB/1.1 GB  930 KB/s  

简单测试运行,发现执行速度比预期快(几秒内出结果),实验情况如下:

>>> 今天是周三,7月4号。7月11号是周几?
2023年7月11日是星期三。

>>> 从下面相应的文本中提取关键词。
... ###
... 文本1:{PicTech提供图片翻译API,开发者可以集成图片翻译到他们的跨境电商系统中。}
... 关键词1:PicTech, 图片翻译API, 开发者, 跨境电商系统
... ##
... 文本2:{Meta公司训练了非常擅长理解和生成文本的前沿语言模型,并且开源给全世界使用,这种开源精神加速了人类科技的发展,
... 非常值得尊敬。}
... 关键词2:Meta公司, 前沿语言模型, 开源, 人类科技的发展, 尊敬
... ##
... 文本3:{Neil长期从事互联网行业,对人工智能也非常感兴趣,致力于科技改变生活。}
... 关键词3
... ###


此题答案为:

1、PicTech, 图片翻译API, 开发者, 跨境电商系统

2、Meta公司, 前沿语言模型, 开源, 人类科技的发展, 尊敬

3、Neil, 互联网行业, 人工智能, 科技改变生活

>>> Send a message (/? for help)

结论: 从运行速度来看,运行相同模型(Qwen2-1.5B),在这台macbook(4核,16G内存)运行速度,比之前在linux单机(8核,32G内存)运行速度要快了不少! 虽然linux机器,从cpu和内存上配置高于我这台macbook,或许两个系统在底层加速优化方面,macbook做的较好?!

<think>好的,用户想知道如何在单机环境下进行大模型的私有化部署和搭建。首先,我需要理解用户的具体需求。单机环境可能指的是只有一台服务器或台式机,可能具备一个或多个GPU,或者仅使用CPU。私有化部署通常意味着用户希望将模型部署本地,确保数据安全和隐私,不依赖外部云服务。 接下来,我需要回顾相关的引用内容,看看是否有直接相关的信息。引用[2]提到了一键Docker部署,支持单机、量化、Mac、单GPU和多GPU部署,还解决了模型下载的问题。引用[4]提到用户有Paddle和PyTorch环境,可能对深度学习框架比较熟悉,并且在开发基于LLM的RAG应用。引用[5]展示了如何用ChromaDB和HuggingFace的嵌入模型,这可能涉及向量数据库的部署,属于应用层的一部分。 用户的问题涉及大模型私有化部署,可能需要涵盖环境准备、模型选择、部署方式、验证测试以及应用集成等方面。首先,环境准备需要考虑硬件资源,比如GPU是否可用,内存和存储是否足够。然后,模型选择方面,可能需要推荐一些适合单机部署的模型,如ChatGLM3、Llama等,这些模型可能有量化版本,适合资源有限的单机环境。 部署方式方面,Docker容器化部署是一个高效的选择,可以避免环境配置的麻烦。引用[2]中的Docker方案可以简化部署流程,用户只需调整参数即可适配不同硬件。此外,直接使用框架部署,比如PyTorch或PaddlePaddle,也是一个选项,但可能需要用户自己处理依赖和环境配置。 验证和测试部分需要确保模型能够正常运行,可能包括简单的推理测试,如输入文本生成响应。应用集成可能需要结合LangChain等工具,构建RAG应用,如引用[5]中的ChromaDB向量数据库,用于存储和检索文档。 另外,需要注意模型下载的问题,国内用户可能面临下载缓慢的情况,引用[2]提供了解决方案,比如使用镜像源或离线包。同时,硬件资源不足的情况下,量化技术(如4-bit量化)可以降低模型的内存占用,这对单机部署尤为重要。 可能还需要考虑安全性和后续维护,比如如何更新模型、监控服务状态等。不过用户当前的问题主要集中在搭建和部署,这些高级管理可能暂时不需要详细展开。 总结起来,回答的结构应该分步骤进行,从环境准备到模型选择、部署方式、验证测试、应用集成,再到注意事项。每个步骤需要结合引用中的相关信息,特别是Docker部署和量化技术,以及模型下载的解决方案。同时,用户提到在做RAG应用,可能需要强调与LangChain和向量数据库的集成,如引用[5]中的示例。 最后,生成相关问题时要围绕大模型部署的扩展问题,比如性能优化、安全性、硬件不足的解决方法等,帮助用户进一步探索。</think>### 大模型单机私有化部署方案 #### 1. **环境准备** - **硬件要求**: - GPU环境:推荐至少16GB显存(如NVIDIA RTX 3090/4090),支持FP16/INT8量化加速[^2] - CPU环境:需支持AVX指令集,内存建议32GB以上(适用于小规模模型或量化版本) - **软件依赖**: - 安装Docker(推荐使用官方镜像简化环境配置)[^2] - 深度学习框架:PyTorch/PaddlePaddle(根据模型需求选择)[^4] - 模型管理工具:Hugging Face Transformers、LangChain(用于RAG应用集成)[^5] #### 2. **模型选择与下载** - **推荐模型**: - 轻量化模型:ChatGLM3-6B(支持中英文,适合单机部署- 开源模型:Llama-2-7B、Falcon-7B(需注意许可证限制) - 量化版本:使用4-bit量化技术降低显存占用(如GPTQ量化)[^2] - **下载方式**: - 通过Hugging Face Hub直接下载(需配置代理或使用国内镜像源) - 离线包分发(适用于无法连接外网的环境)[^2] #### 3. **部署方式** - **Docker一键部署**(推荐): ```bash # 拉取预配置镜像(包含模型和依赖) docker pull [镜像名称]:latest # 启动容器(示例为单GPU) docker run -it --gpus all -p 7860:7860 -v /path/to/model:/app/model [镜像名称] ``` 通过修改`--gpus`参数适配不同硬件环境[^2] - **手动框架部署**(PyTorch示例): ```python from transformers import AutoModel, AutoTokenizer model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True) tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b") response, history = model.chat(tokenizer, "你好", history=[]) ``` 需自行解决CUDA/cuDNN版本兼容问题[^4] #### 4. **验证与测试** - **基础功能验证**: ```python import paddle # 或 torch paddle.utils.run_check() # 验证框架环境[^4] ``` - **模型推理测试**: ```python input_text = "解释量子计算" outputs = model.generate(input_text, max_length=100) print(outputs) ``` #### 5. **应用集成** - **RAG应用示例**(结合LangChain): ```python from langchain_community.vectorstores import Chroma from langchain_community.embeddings import HuggingFaceEmbeddings # 加载本地向量数据库 embeddings = HuggingFaceEmbeddings(model_name="BAAI/bge-small-zh-v1.5") vectorstore = Chroma.from_documents(docs, embeddings, persist_directory="./rag_db")[^5] ``` #### 6. **注意事项** - **显存优化**: - 使用`accelerate`库实现模型并行 - 启用`fp16`混合精度训练/推理 - **安全加固**: - 通过防火墙限制外部访问端口 - 启用HTTPS加密API通信 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值