把你的数据发送到别人的云上运行人工智能模型,感觉就像把家里的钥匙交给了一个陌生人。你总是有可能在回家后发现他们带着你所有的贵重物品潜逃了,或者留下一个大烂摊子让你收拾(当然,费用由你承担)。或者他们换了门锁,现在你甚至都进不去了,那该怎么办? 如果你想对人工智能有更多的控制权或更放心,那么解决方案可能就在你的眼皮底下:在本地部署人工智能模型。是的,在你自己的硬件上,在你自己的屋檐下(物理或虚拟)。这有点像决定在家里烹饪自己喜欢的菜肴,而不是叫外卖。你对菜肴的成分了如指掌;你可以对菜谱进行微调,想吃什么时候吃都可以–不用依赖别人来做。 在本教学指南中,我们将详细介绍本地人工智能部署为何能改变您的工作方式、您需要哪些硬件和软件、如何一步步实现部署,以及保持一切顺利运行的最佳实践。让我们深入探讨,让您按照自己的方式运行人工智能。 什么是本地部署人工智能(以及为什么你应该关注它)本地部署人工智能是指直接在您拥有或完全控制的设备上运行机器学习模型。您可以使用带有合适 GPU 的家用工作站、办公室里的专用服务器,甚至是租用的裸机(如果更适合您的话)。 这有什么关系?几个重要原因 隐私和数据控制:无需将敏感信息发送到第三方服务器。密钥由您掌握。 更快的响应时间:您的数据永远不会离开您的网络,因此您可以跳过到云端的往返过程。 自定义:您可以根据需要对模型进行调整、微调,甚至重新架构。 可靠性:避免云人工智能提供商规定的停机时间或使用限制。 当然,自己部署人工智能意味着你要管理自己的基础设施、更新和潜在的修复。但是,如果你想确保你的人工智能真正属于你自己,本地部署将改变游戏规则。
优点
缺点
正确进行物理设置是成功本地部署人工智能的最大步骤之一。您可不想在投入时间(和金钱)配置人工智能模型后,却发现 GPU 无法处理负载或服务器过热。 因此,在您深入了解安装和模型微调的细节之前,不妨先弄清楚您到底需要什么样的硬件。 为什么硬件对本地人工智能很重要在本地部署人工智能时,性能主要取决于硬件的强大(和兼容)程度。强大的 CPU 可以管理较简单的任务或较小的机器学习模型,但较深的模型通常需要 GPU 加速来处理高强度的并行计算。如果你的硬件性能不足,你将会看到缓慢的推理时间、不稳定的性能,或者你可能完全无法加载大型模型。 但这并不意味着您需要一台超级计算机。许多现代中端 GPU 都能处理中等规模的人工智能任务,关键是要根据预算和使用模式来匹配模型的需求。 主要考虑因素 1. CPU与GPU一些人工智能操作(如基本分类或较小的语言模型查询)可以单独在坚固的 CPU 上运行。但是,如果您需要实时聊天界面、文本生成或图像合成,GPU 几乎是必不可少的。 2. 内存(RAM)和存储大型语言模型可轻松占用数十GB的内存。在中等使用情况下,系统内存应为 16GB 或 32GB。如果计划加载多个模型或训练新模型,64GB 以上的内存可能更有优势。 此外,还强烈建议使用固态硬盘,因为从旋转的硬盘加载模型会减慢速度。512GB 或更大容量的固态硬盘很常见,这取决于您要存储多少模型检查点。 3. 服务器与工作站如果你只是在做实验,或者只是偶尔需要人工智能,一台功能强大的台式机可能就能满足你的需求。插入一个中端 GPU 就可以了。如果需要 24/7 全天候正常运行,可以考虑使用专用服务器,配备适当的冷却系统和冗余电源,并可能使用 ECC(纠错)内存来提高稳定性。 4. 混合云方法并不是每个人都有足够的物理空间或意愿来管理嘈杂的 GPU 设备。您仍然可以 “本地化”,向支持 GPU 硬件的托管服务提供商租用或购买专用服务器。这样,您就可以完全控制您的环境,而无需实际维护服务器。
考虑因素
关键要点
考虑一下您将如何大量使用人工智能。如果您发现自己的模型经常处于运行状态(如全职聊天机器人或用于营销的日常图像生成),则应投资购买强大的 GPU 和足够的 RAM,以保证一切顺利运行。如果您的需求更多是探索性或轻度使用,那么标准工作站中的中级 GPU 显卡既能提供不错的性能,又不会破坏您的预算。 归根结底,硬件决定了你的人工智能体验。与无休止地进行系统升级相比,在意识到自己的模型需要更多动力时再进行前期精心策划要容易得多。即使开始时规模较小,也要关注下一步的发展:如果本地用户基数或模型复杂性增加,就需要有扩展空间。 选择正确的模型(和软件)选择一个开源人工智能模型在本地运行,感觉就像盯着一个巨大的菜单(就像芝士蛋糕工坊的电话簿菜单)。你有无穷无尽的选择,每种选择都有自己的口味和最佳使用场景。虽然种类繁多是生活的调味品,但也可能让人应接不暇。 关键是要明确您需要的人工智能工具是什么:文本生成、图像合成、特定领域预测,还是其他什么。 您的使用案例极大地缩小了寻找合适模型的范围。例如,如果您想生成营销文案,您可以探索 LLaMA 衍生物等语言模型。如果是视觉任务,则可以考虑基于图像的模型,如 Stable Diffusion 或 flux。 流行的开源模型根据您的需求,您应该查看以下内容。 语言模型LLaMA/ Alpaca / Vicuna:所有知名的本地部署项目。它们可以处理类似聊天的交互或文本补全。查看它们需要多少 VRAM(某些变体只需要 ~8GB)。 GPT-J / GPT-NeoX:适合纯文本生成,但对硬件要求较高。 图像模型Stable Diffusion:生成艺术、产品图像或概念设计的首选。它应用广泛,拥有一个提供教程、附加组件和创意扩展的庞大社区。 特定领域模型浏览 Hugging Face 了解专业模型(如金融、医疗保健、法律)。你可能会发现一个较小的、经过领域调整的模型,它比通用的巨型模型更容易运行。 开源框架您需要使用框架加载所选模型并与之交互。目前主要有两种行业标准: PyTorch:以用户友好的调试和庞大的社区而闻名。大多数新的开源模型都会首先出现在 PyTorch 中。 TensorFlow:由谷歌提供支持,可稳定用于生产环境,但在某些方面的学习曲线可能比较陡峭。 查找模型选定模型和框架后,花点时间阅读官方文档或任何示例脚本。如果您的模型非常新(如新发布的 LLaMA 变体),请做好准备,以应对一些潜在的错误或不完整的说明。 对模型的细微差别了解得越多,在本地环境中部署、优化和维护模型的能力就越强。 保姆级指南:如何在本地运行人工智能模型现在你已经选择了合适的硬件,并锁定了一两个模型。下面是一个详细的操作步骤,可以让你从一个空白的服务器(或工作站)到一个可以运行的人工智能模型。 第 1 步:准备系统安装 Python 3.8+ 现在几乎所有开源的人工智能都运行在 Python 上。在 Linux 上,你可以这样做: sudo apt update sudo apt install python3 python3-venv python3-pip在 Windows 或 macOS 上,从 python.org 下载或使用 Homebrew 等软件包管理器。 GPU 驱动程序和工具包 如果你有英伟达™(NVIDIA®)GPU,请从官方网站或发行版软件仓库安装最新的驱动程序。然后,如果想要使用 GPU 加速 PyTorch 或 TensorFlow,请添加 CUDA 工具包(与 GPU 的计算能力相匹配)。 可选:Docker 或 Venv 如果你喜欢容器化,可以设置 Docker 或 Docker Compose。如果你喜欢环境管理器,可以使用 Python venv 来隔离你的人工智能依赖关系。 第 2 步:设置虚拟环境虚拟环境创建了一个孤立的环境,您可以在其中安装或删除库并更改 Python 版本,而不会影响系统的默认 Python 设置。 当您在计算机上运行多个项目时,这将为您省去很多麻烦。 下面是创建虚拟环境的方法: python3 -m venv localAI source localAI/bin/activate您会注意到终端提示符的前缀是 localAI。这意味着你正在虚拟环境中,在此所做的任何更改都不会影响你的系统环境。 第 3 步:安装所需的库根据模型的框架,您需要: PyTorch pip3 install torch torchvision torchaudio或者,如果您需要 GPU 加速: pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118TensorFlow pip3 install tensorflow使用 GPU 时,请确保您拥有正确的“tensorflow-gpu”或相关版本。 第 4 步:下载并准备模型假设您使用的是 Hugging Face 的语言模型。 克隆或下载: 现在,您可能需要在继续之前安装 git large file systems (LFS),因为 huggingface 资源库会拉入较大的模型文件。 sudo apt install git-lfs git clone https://huggingface.co/your-modelTinyLlama 仓库是一个小型本地 LLM 仓库,你可以通过运行下面的命令克隆它。 git clone https://huggingface.co/Qwen/Qwen2-0.5B文件夹组织: 将模型权重放在类似“~/models/<model-name>”这样的目录中,保持它们与环境的区别,以免在环境变化时意外删除。 第 5 步:加载并验证模型下面是一个可以直接运行的示例脚本。只需确保更改 model_path 以匹配克隆版本库的目录。 import torch from transformers import AutoTokenizer, AutoModelForCausalLM import logging # Suppress warnings logging.getLogger("transformers").setLevel(logging.ERROR) # Use local model path model_path = "/Users/dreamhost/path/to/cloned/directory" print(f"Loading model from: {model_path}") # Load model and tokenizer tokenizer = AutoTokenizer.from_pretrained(model_path) model = AutoModelForCausalLM.from_pretrained( model_path, torch_dtype=torch.float16, device_map="auto" ) # Input prompt prompt = "Tell me something interesting about DreamHost:" print("n" + "="*50) print("INPUT:") print(prompt) print("="*50) # Generate response inputs = tokenizer(prompt, return_tensors="pt").to(model.device) output_sequences = model.generate( **inputs, max_new_tokens=100, do_sample=True, temperature=0.7 ) # Extract just the generated part, not including input input_length = inputs.input_ids.shape[1] response = tokenizer.decode(output_sequences[0][input_length:], skip_special_tokens=True # Print output print("n" + "="*50) print("OUTPUT:") print(response) print("="*50)如果看到类似的输出,就可以在应用脚本中使用本地模型了。 请确保: 检查警告:如果看到关于键丢失或不匹配的警告,请确保您的模型与库版本兼容。 测试输出:如果你能得到一个连贯的段落,那你就成功了! 第 6 步:调整性能量化:某些模型支持 int8 或 int4 变体,可大幅减少 VRAM 需求和推理时间。 精度:在许多 GPU 上,Float16 比 float32 快得多。查看模型文档,启用半精度。 批量大小:如果要运行多个查询,请尝试使用较小的批处理规模,以免内存超载。 缓存和管道:Transformer 可为重复标记提供缓存;如果运行许多分步文本提示,这将很有帮助。 第 7 步:监控资源使用情况运行“nvidia-smi”或操作系统的性能监控器,查看 GPU 利用率、内存使用情况和温度。如果发现 GPU 占用率达到 100% 或 VRAM 用完,请考虑使用更小的型号或进行额外优化。 如果需要扩大规模,您可以这样做!请查看以下选项。 升级硬件:插入第二个 GPU 或更换功能更强大的显卡。 使用多 GPU 集群:如果您的业务工作流程需要,您可以协调多个 GPU 以实现更大的模型或并发性。 转移到专用主机:如果您的家庭/办公室环境无法满足要求,可以考虑使用数据中心或可保证 GPU 资源的专用主机。 在本地运行人工智能可能感觉步骤繁多,但只要做过一两次,过程就会变得简单明了。您只需安装依赖项、加载模型并运行快速测试,以确保一切运行正常。之后就是微调:调整硬件使用、探索新模型、不断完善人工智能功能,以适应小型企业或个人项目的目标。 人工智能专家的最佳实践当您运行自己的人工智能模型时,请牢记这些最佳实践: 道德和法律方面的考虑根据相关法规(GDPR、HIPAA(如适用))谨慎处理私人数据。 评估模型的训练集或使用模式,避免引入偏见或生成有问题的内容。 版本控制和文档在 Git 或类似系统中维护代码、模型权重和环境配置。 标记或标注模型版本,以便在最新版本出现问题时进行回滚。 模型更新和微调定期查看社区发布的改进模型。 如果您有特定领域的数据,可以考虑进一步微调或训练,以提高准确性。 观察资源使用情况如果发现 GPU 内存经常爆满,可能需要增加更多 VRAM 或缩小模型大小。 对于基于 CPU 的设置,请注意热节流。 安全性了解更多信息: 对于库级框架和高级用户驱动代码,PyTorch 或 TensorFlow 文档是您最好的朋友。Hugging Face 文档也是探索更多模型加载技巧、管道示例和社区驱动改进的绝佳工具。 小结在本地部署自己的人工智能模型起初可能会让人感到害怕,但这一举动却能带来巨大的回报:更严格的数据控制、更快的响应速度以及实验的自由度。选择一个适合您硬件的模型,再执行几条 Python 命令,您就能获得真正属于自己的人工智能解决方案。
点赞微海报 分享 分享到 (责任编辑:) |