AI大模型本地私有化部署

AI大模型本地私有化部署

魔塔(ModelScope)是由阿里巴巴达摩院推出的开源模型即服务(MaaS)共享平台,汇聚了计算机视觉、自然语言处理、语音等多领域的数千个预训练AI模型。其核心理念是”开源、开放、共创”,通过提供丰富的工具链和社区生态,降低AI开发门槛,尤其为企业本地私有化部署提供了一条高效路径。

1. 海量模型,即取即用

覆盖文本生成(如通义千问)、图像识别、语音合成等场景,提供Apache 2.0等商业友好协议模型,支持开发者快速调用API或下载模型权重文件(没有HuggingFace全但是他是国内的呀,支持国产替代原则)。

2. 私有化部署全链路支持

    • ModelScope SDK:提供模型加载、推理、微调的Python工具包,一行代码即可本地部署。
    • SWIFT框架:支持LoRA等轻量级微调技术,无需昂贵算力即可定制企业专属模型。
    • 容器化封装:结合Kubernetes技术实现生产级高可用部署,保障服务稳定性。

3. 企业级数据安全

通过本地化部署规避云端数据泄露风险,支持企业内部网络隔离,特别适合金融、医疗等隐私敏感行业。

4. 开发者友好生态

    • 详尽的模型文档和实战教程(如图像生成、RAG知识库构建)
    • 活跃的论坛答疑和技术博客共享
    • 定期线上黑客松大赛激励创新

5. 产学研联动创新

与高校、研究机构合作开源顶尖模型(如多模态模型OFA),推动技术民主化进程。

AI大模型本地私有化部署

界面和HuggingFace设计的基本一样。

找到通义千问2.5-0.5B-Instruct版本点进去

AI大模型本地私有化部署

找到Notebook快速开发

AI大模型本地私有化部署

选方式二,然后启动

AI大模型本地私有化部署

AI大模型本地私有化部署

AI大模型本地私有化部署

AI大模型本地私有化部署

AI大模型本地私有化部署

AI大模型本地私有化部署

我们选择使用SDK下载,Git下载可能会有问题,1秒就下载完了但是执行就会有问题

执行命令:pip install modelscope

AI大模型本地私有化部署

创建下载文件通过SDK下载,下载的时候要指定目录cache_dir,不然会默认下载到缓存路径去,下载完了调用不到


AI大模型本地私有化部署

下载完后不知道为啥他的这个成功在中间,为了防止他模型下的有缺失,在执行一边python download.py

目前其他大模型也是差不多的结构,不像Bert有分层

AI大模型本地私有化部署


重点参数说明:

1.长上下文支持组:

max_position_embeddings + rope_theta + sliding_window 共同实现超长上下文处理能力(32K tokens)

“rope_theta”:”” RoPE位置编码的基频参数 +滑动窗口机制,增强模型的长文本处理能力

2.显存优化组:

“num_key_value_heads”:”2″: 分组查询注意力,减少显存占用

“torch_dtype”:”bfloat16” 数据类型+use_cache:true KV缓存加速提升推理效率

AI模型本质是一个大矩阵,他由很多个参数构成,这些参数的数据类型是float32(单精度),比float32精度更高的是float64(双精度,java里是double),在AI模型中默认是单精度float32,这个精度有个特点是可以往下降,叫做精度的量化操作,可以把32位的精度降为16(半)位或者更低8位,最低是4位,精度变低,模型的体积会更小,运算的速度会更快,量化的意义就在于加速模型的推理能力,降低对于硬件的依赖。

现在使用的是通义千问2.5-0.5B-Instruct,这里的0.5B就代表着参数的数量,bfloat16就算每个参数所占的存储空间,模型的大小=参数的数量*每个参数所占的存储空间

3.架构特征组:

“hidden_act”:”silu” 隐藏层使用现代激活函数 silu(相比ReLU更平滑)

“num_hidden_layers”:”24” 深层网络结构(24层)配合intermediate_size:4864 大中间层维度增强模型容量

“num_attention_heads”:”14” 较小的注意力头数平衡计算效率

4.兼容性组:

“transformers_version”: “4.43.1” 明确标注Transformers库版本确保API兼容性

“model_type”: “qwen2” 声明模型架构形式用于Hugging Face库识别


核心参数详解:

如本地化使用通义千问,可通过此文件修改文本生成的效果

1.核心采样机制组:

do_sample=true: 开启概率采样模式(关闭时为确定性高的贪心搜索)

temperature=0.7: 中等随机水平(比默认1.0更保守,适合作业型文本生成)

top_p=0.8 + top_k=20: 组合采样策略(双重约束候选词的质量)

2.文本优化控制组:

repetition_penalty=1.1: 温和的重复惩罚参数(值越大越压制重复用词)

bos_token_id=pad_token_id: 特殊标记共享设计(注意:这与常规模型设计不同,可能用于处理可变长度输入的特殊场景)

3.工程兼容性:

明确标注transformers_version,提示用户需对应版本的库才能正确解析配置

打不开跳过


核心参数详解

1.长上下文支持:

“model_max_length”: 显式描述支持128K超长文本处理

“clean_up_tokenization_spaces”: false 维护原始空格格式确保长文本连贯性

2.对话格式控制:

chat_template 定义多模态对话逻辑:

eos_token 作为终止符贯穿全对话流程控制<|im_start|>/<|im_end|> 标记划分角色边界(system/user/assistant/tool)

<tool_call> XML块规范函数调用输出格式

之前的大模型是通过MaxLength来控制文本的最大输出,现在的大模型需要根据问题的答案长短来控制文本的输出,所以他这个模型使用eos_token定义的终止符,来做提前终止。这些特殊的终止符还有一个作用是与大模型的对话模板组合控制生成内容。

3.中文优化特性:

“add_prefix_space”: false 避免英文分词策略对中文处理干扰

“unk_token”: null 结合 “errors”: “replace” 实现对中文生僻字的容错处理

“tokenizer_class”: “Qwen2Tokenizer” 专用Qwen2Tokenizer含有中文高频词汇的特殊分割规则

应该有加密不看了

和之前Bert的vocab.txt一样,但是这里不开放,开放了使用者的就可以修改,就没有意义了,不看了

以下这种调用不推荐,原因在于:

1.transformer平台它推理模型的性能很低,它不是一个专门用来跑模型的一个框架。所以一般在真实使用的时候,不会选择用这种方式来调用大模型。

了这种方式,只是让我们更好的去理解,就是现在大模型的工作原理,对这段代码对它有一个流程化的理解,就可以了。

我们如果真正意义上面要去调用一个大模型的话,要用这三种方式:Ollama、vLLM、LMDeploy。


执行结果:

AI大模型本地私有化部署

Ollama 是一款开源的、专注于在本地设备上运行大型语言模型(LLM)的工具。它简化了复杂模型的部署和管理流程,允许用户无需依赖云端服务或网络连接,即可在自己的电脑、服务器甚至树莓派(微型单板计算机)等设备上体验多种先进的 AI 模型(如 Llama3、Mistral、Phi-3 等)。其核心目标是让本地化运行 LLM 变得低成本、高效率、高隐私。

1. 本地化部署

隐私与安全: 所有模型运行和数据处理均在本地完成,适合需保护敏感信息的场景(如企业数据、个人隐私)。
离线可用: 无需互联网连接,可在完全断开网络的设备使用。
资源优化: 支持量化模型(如 GGUF 格式),大幅降低内存占用(某些小型模型可在 8GB 内存的设备运行)。

2. 丰富的模型生态

主流模型支持: Llama3、Llama2、Mistral、Gemma、Phi-3、Wizard、CodeLlama 等。
多模态扩展: 通过插件支持图像识别、语音交互等扩展功能。
自定义模型: 用户可上传自行微调的模型(兼容 PyTorch、GGUF、Hugging Face 格式)。

3. 开箱即用

极简安装: 支持 macOS、Linux(Windows 通过 Docker/WSL),仅需一行命令完成安装。
统一接口: 提供命令行和 REST API,方便与其他工具(编程接口、Chat UI 应用)集成。

4. 多样化应用场景

开发调试: 快速构建本地 LLM 驱动的应用原型。
企业私有化: 内部知识库问答、文档分析等场景。
研究与教育: 低成本教学 AI 模型原理与实践。

1.Conda创建单独的环境

1.创建ollama环境

阿里云魔塔社区免费给的服务器每次开启需要重新激活conda:source /mnt/workspace/miniconda3/bin/activate

conda create -n ollama

AI大模型本地私有化部署

2.激活ollama环境

查看conda环境 :conda env list

激活ollama环境: conda activate ollama

AI大模型本地私有化部署

前面由base切换到了ollama环境,切换成功

2.下载ollama的Linux版本

1.进入官网

ollama.com/download/li… 复制命令

AI大模型本地私有化部署

2.执行命令

curl -fsSL ollama.com/install.sh | sh

但是这个玩意下载的时候很慢,这东西网络很不稳定,就是有有一段时间它的下载速度会比较快,有一段时间它下载的速度会非常慢。甚至于有一段时间它会提示你这个网络连接错误,网络连接错误。如果出现了这种情况,一般的解决方法就是最完美的解决方法是在你的服务器上面去挂个梯子,但是这个挂梯子不一定有效。所以说这个东西最大的困难就在于安装起来得靠运气。

3.下载安装包安装(推荐)

1.登录Github

找到ollama的Releases 或者直接跳转开始下载:github.com/ollama/olla…

AI大模型本地私有化部署

2.选择ollama-linux-amd64.tgz

AI大模型本地私有化部署

github.moeyy.xyz/ 但是实测下来用不了因为文件1.6个G太大了会变成下图这样,老老实实慢慢下载

AI大模型本地私有化部署

这是魔塔社区提供的SSH连接服务器的方式: help.aliyun.com/zh/pai/user…

不想重新搞了,我选择用我之前的基石智算服务器xftp上传。

上传完成后解压到usr目录不然普通用户默认无权访问,同时该路径不在系统的 PATH 环境变量中,执行: sudo tar -C /usr -xzf ollama-linux-amd64.tgz

如果出现了:-bash: sudo: command not found

执行这两个命令:

启动ollama服务:ollama serve

出现下图内容为启动成功:

AI大模型本地私有化部署

服务开启后默认端口是:11434

服务启动后,不要关闭这个窗口,另开一个窗口运行代码(重要,关了服务就没了)

可使用 ollama -v 查看版本

AI大模型本地私有化部署

使用 ollama list 查看模型,现在是没有的

AI大模型本地私有化部署

1.进入官网找到千问2.5

AI大模型本地私有化部署

2.选择0.5b版本,复制命令并在服务器执行

AI大模型本地私有化部署

ollama run qwen2.5:0.5b 执行后就会从ollama官网拉取这个模型,拉取下来后就可以直接使用。

AI大模型本地私有化部署

有点胡说八道,知识库没更新。

有几个问题:

1.前面下载了一个千问的模型,为啥不能直接跑?

因为ollama,他只能支持GGUF格式的模型,所以如果要跑ollama的模型,只有两个选择。第一个选择就是从它的官网上面去找模型,然后进行下载。第二个选择是,使用魔塔社区model scope的这个模型库去搜索GGUF格式的模型。

2.什么是GGUF?

一般指的是量化后的模型(阉割版),比正常的模型小一点,量化的缺点就算模型的效果会会变差了。

所以这个水平其实不是千问0.5B真实的水平,因为它是被量化之后的水平。但是量化带来的优势就在于模型的文件会变得更小,推理速度会更快,对于硬件的要求会更低。所以说ollama针对的是个人用户,它不针对于企业。

当然ollama也可以跑不量化的模型

目前的大模型推理框架里面,它的这个访问地址的接口协议都是OpenAI API的协议OpenAI API的协议,我们可以使用OpenAI API的风格来调用这个模型,调用ollama的这个模型。

model=”qwen2.5:0.5b”,需要使用ollama list 查看模型,用哪个写哪个:

AI大模型本地私有化部署

环境中是没有openAi 的服务的执行:pip install openai 命令


成功:

AI大模型本地私有化部署

vLLM 是一个专为大语言模型(LLM)推理和服务设计的高效开源库,由加州大学伯克利分校等团队开发。它通过独特的技术优化,显著提升了模型推理的速度和吞吐量,特别适合高并发、低延迟的应用场景。

内存管理优化: 借鉴操作系统的内存分页思想,将注意力机制的键值(KV Cache)分割成小块(分页),按需动态分配显存。
解决显存碎片问题: 传统方法因显存碎片导致利用率低(如仅60-70%),PagedAttention使显存利用率达99%以上,支持更长上下文并行处理。
性能提升:相比Hugging Face Transformers,吞吐量最高提升30倍。

极高性能: 单GPU支持每秒上千请求(如A100处理100B参数模型),适合高并发API服务。
全面兼容性: 支持主流模型(如Llama、GPT-2/3、Mistral、Yi),无缝接入Hugging Face模型库。
简化部署: 仅需几行代码即可启动生产级API服务,支持动态批处理、流式输出等。
开源社区驱动: 活跃开发者迭代优化,支持多GPU分布式推理。


1.进入官网地址

vllm.hyper.ai/docs/gettin…

AI大模型本地私有化部署

vLLM对环境是有要求的:

  • 操作系统:Linux
  • Python:3.8 – 3.12
  • GPU:计算能力 7.0 或更高(例如 V100、T4、RTX20xx、A100、L4、H100 等,显存16GB以上的基本都可以)

2.创建vLLM的Conda环境

阿里云魔塔社区免费给的服务器每次开启需要重新激活conda:source 千问 Qwen 教程 /mnt/workspace/miniconda3/bin/activate


这个vLLM他基于CUDA的,他与CUDA的版本是挂钩的,所以万万不能在base环境装vLLM,因为一旦你在base环境上面装了之后的话,只要你base环境的CUDA版本不是12.11的版本,它就会把你的CUDA给你卸载了,装它对应的这个版本。目前的vLMM只支持两个版本,一个是CUDA12.1,另外一个是CUDA11.8,其他的他不支持,所以这个玩意儿跟CUDA挂钩。

conda create -n vLLM python==3.12 -y

AI大模型本地私有化部署

3.激活vLLM的Conda环境

conda activate vLLM

AI大模型本地私有化部署

从base切换到vLLM成功。

4.执行安装vLLM

pip install vllm

AI大模型本地私有化部署

5.开启vLLM服务

vllm serve +模型绝对路径

vllm serve /mnt/workspace/LLM/Qwen/Qwen2.5-0.5B-Instruct

AI大模型本地私有化部署

产生这个错误是因为服务器第一次装的时候在root环境里面,新建的vLLM环境里面缺失modelscope的依赖包 ,所以执行pip install modelscope 安装即可

启动成功:

AI大模型本地私有化部署

6.使用代码调用vLLM服务中的千问


调用成功:

AI大模型本地私有化部署

LMDeploy 是一个由 上海人工智能实验室(InternLM团队) 开发的工具包,专注于大型语言模型(LLM)的压缩、部署和服务化。它的目标是帮助开发者和企业更高效地在实际场景中应用大模型(如百亿到千亿参数规模模型),解决高计算资源消耗和延迟等问题。

1. 高效推理优化

    • 模型压缩:支持 KV8 量化和 Weight INT4 量化,显著降低显存占用(最高可减少 50%),提升推理速度。
    • 持续批处理(Continuous Batch) :动态合并用户请求的输入,提高 GPU 利用率。
    • 页显存管理:通过类似操作系统的显存管理策略,进一步提升吞吐量。

2. 多后端支持

    • 内置高性能推理引擎 TurboMind,支持 Triton 和 TensorRT-LLM 作为后端,适配本地和云端部署。
    • 兼容 Transformers 模型结构,轻松部署 Hugging Face 等平台的预训练模型。

3. 多模态扩展

    • 支持视觉-语言多模态模型(如 LLaVA),实现端到端的高效推理。

4. 便捷的服务化

    • 提供 RESTful API 和 WebUI,支持快速搭建模型服务,适配云计算、边缘计算等场景。

1.KV Cache 量化

减少推理过程中键值(Key-Value)缓存的内存占用。

2.W4A16 量化

将模型权重压缩至 INT4 精度,保持精度损失极小(<1%)。

3.深度并行化

利用模型并行、流水线并行等技术,支撑千亿级模型的分布式部署。

1.进入官网

lmdeploy.readthedocs.io/zh-cn/lates…

2.创建LMDeploy的Conda环境

conda create -n lmdeploy python==3.12 -y

AI大模型本地私有化部署

3.激活LMDeploy的Conda环境

conda activate lmdeploy

AI大模型本地私有化部署

4.执行安装LMDeploy

pip install lmdeploy

AI大模型本地私有化部署

5.开启LMDeploy服务

lmdeploy serve api_server +模型的全路径

可能是因为lmdeploy与python3.12版本的兼容问题,执行 pip install partial-json-parser 命令

AI大模型本地私有化部署

重新执行:lmdeploy serve api_server /root/LLM/Qwen/Qwen2.5-0.5B-Instruct

AI大模型本地私有化部署

启动成功

6.使用代码调用LMDeploy服务中的千问

AI大模型本地私有化部署LMDeploy 比vLLM在显存的优化上要强很多,这个框架对于模型的量化支持力度比vLLM要更全要更全。它支持目前的两种主流量化,一种是离线的量化,一种是在线的量化。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/258163.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月13日 上午9:29
下一篇 2026年3月13日 上午9:30


相关推荐

关注全栈程序员社区公众号