当前位置: 首页 > news >正文

文心4.5开源模型部署实践

文心4.5开源模型部署实践

使用fastdeploy本地部署

执行命令:

python -m fastdeploy.entrypoints.openai.api_server \--model baidu/ERNIE-4.5-21B-A3B-Paddle \--port 8180 \--metrics-port 8181 \--engine-worker-queue-port 8182 \--max-model-len 32768 \--max-num-seqs 32

解释一下部署命令

该命令用于通过 FastDeploy 框架部署百度 ERNIE-4.5 大模型服务,并兼容 OpenAI API 协议。以下是参数详解:

1. ‌核心模块与模型

  • fastdeploy.entrypoints.openai.api_server:FastDeploy 提供的服务入口模块,用于启动兼容 OpenAI API 的 HTTP 服务‌12。
  • --model baidu/ERNIE-4.5-21B-A3B-Paddle:指定模型路径,此处为百度 ERNIE-4.5-21B 的 PaddlePaddle 格式模型,支持 210 亿参数规模‌23。

2. ‌端口配置

  • --port 8180:主服务监听端口,用于处理 API 请求(如文本生成、对话等)‌14。
  • --metrics-port 8181:监控指标端口,提供 Prometheus 格式的模型性能数据(如吞吐量、延迟)‌15。
  • --engine-worker-queue-port 8182:工作队列通信端口,协调多个推理引擎实例的任务分配‌15。

3. ‌性能与资源控制

  • --max-model-len 32768:限制模型单次处理的上下文最大长度(32K tokens),避免内存溢出‌14。
  • --max-num-seqs 32:设置批量处理的最大序列数,平衡并发性能与显存占用‌15。

4. ‌技术背景

  • FastDeploy‌:百度推出的高效推理框架,支持多硬件后端(如 GPU、NPU),优化了 PaddlePaddle 模型的部署效率‌23。
  • ERNIE-4.5‌:百度最新大语言模型,在代码生成、逻辑推理等任务上表现优异,需通过此类服务化部署提供 API 调用能力‌23。

5. ‌典型应用场景

  • 企业级 AI 中台:通过标准化 OpenAI API 协议集成到现有系统‌16。
  • 高并发推理:利用多端口设计实现负载均衡与监控‌15。
  • 长文本处理:32K 上下文窗口适合文档摘要、代码分析等任务‌34。

最近在实际工程中,发现32K上下文窗口实在太小了。怎么也要64K才好工作。

使用fastdeploy在星河社区部署

进入部署页面:飞桨AI Studio星河社区-人工智能学习与实训社区

点击:新建部署

部署内部模型

在热门模型库里,选FastDeploy推理框架,然后选文心4.5模型即可。

比如这里选了21B模型。

部署完毕,点“详情”,会提供api调用的测试代码,直接在python里调用即可。

这个模型来自:ERNIE-4.5-21B-A3B-Paddle_文心大模型_大语言模型_文本生成-飞桨AI Studio星河社区

我在部署了21B模型后,使用Auto-Coder工具构建一个项目进行了测试,这个21B模型还是挺厉害的,正好处于几乎符合Auto-Coder工具要求的那一档,也就是略低于DeepSeek-v3模型,但是勉强能用。

但是由于只能提供32k的上下文,这个限制较大,导致无法在Auto-Coder中真实的使用。

部署外部模型(其实是用ollam部署)

选择:外部部署,把部署链接cp过去

先尝试了部署最大的模型:baidu/ERNIE-4.5-300B-A47B-PT · HF Mirror

部署失败

再尝试部署这个:

https://huggingface.cn/baidu/ERNIE-4.5-300B-A47B-W4A8C8-TP4-Paddle

还是失败。证明300B的模型在星河是无法部署成功的。

也就是只有21B和28B等较小的模型才能部署成功。

星河官方已经设好了21B模型的部署,直接点一下就可以了。这里我们再从外部huggingface引入部署实践一下: 

使用这个模型

https://huggingface.co/baidu/ERNIE-4.5-21B-A3B-Base-Paddle

失败,再用这个试试

https://huggingface.co/baidu/ERNIE-4.5-21B-A3B-Base-PT

还是失败 

测试了半天,才发现这行小字:

说明:平台暂仅支持GGUF格式且不大于70B的公开模型部署,请遵守平台规范(禁止涉黄、暴力等违规信息)

所以只要大约70B,且不是GGUF格式的,都不能部署。新发布的文心模型,还都没有GGUF格式,所以都还不行。

有空再使用GGUF格式模型试试

在星河社区,看模型配置

{"architectures": ["Ernie4_5_MoeForCausalLM"],"bos_token_id": 1,"eos_token_id": 2,"hidden_act": "silu","hidden_size": 2560,"intermediate_size": 12288,"max_position_embeddings": 131072,"model_type": "ernie4_5_moe","num_attention_heads": 20,"num_key_value_heads": 4,"num_hidden_layers": 28,"pad_token_id": 0,"rms_norm_eps": 1e-05,"use_cache": false,"vocab_size": 103424,"rope_theta": 500000,"use_rmsnorm": true,"tie_word_embeddings": true,"use_bias": false,"moe_num_experts": 64,"moe_num_shared_experts": 2,"moe_layer_start_index": 1,"moe_intermediate_size": 1536,"moe_capacity": [64,64,64],"moe_gate": "topk","moe_k": 6,"moe_layer_interval": 1,"moe_use_aux_free": true,"dtype": "bfloat16","num_nextn_predict_layers": 1,"multi_token_pred_lambda": 0.3
}

这证明它是支持128K长文本的,那为什么使用中最大是32K呢?出现了这个报错:

  File "/home/skywalk/minipy312/lib/python3.12/site-packages/openai/_base_client.py", line 1037, in requestraise self._make_status_error_from_response(err.response) from None
openai.BadRequestError: Error code: 400 - {'object': 'error', 'message': 'Input text is too long, input_ids_len (32767) + min_tokens(1) >= max_model_len(32768)', 'code': 400}
╭────────────────────────────────────────────────── 🔥 System Error ───────────────────────────────────────────────────╮
│ FATAL ERROR:                                                                                                         │
│ Error code: 400 - {'object': 'error', 'message': 'Input text is too long, input_ids_len (32767) + min_tokens(1) >=   │
│ max_model_len(32768)', 'code': 400}                                                                                  │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
──────────────────────────────────────────────── Agentic Edit Finished ─────────────────────────────────────────────────
An error occurred: BadRequestError - Error code: 400 - {'object': 'error', 'message': 'Input text is too long, input_ids_len (32767) + min_tokens(1) >= max_model_len(32768)', 'code': 400}

不知道是模型设置了32K的上下文限制,还是Auto-Coder的拆分出了问题。

找到了,默认设置是51200

/conf conversation_prune_safe_zone_tokens:51200

把它设置为

/conf conversation_prune_safe_zone_tokens:32767试试

测试glm4试试

https://hf-mirror.com/unsloth/GLM-4-32B-0414-GGUF
https://huggingface.co/unsloth/GLM-4-32B-0414-GGUF

部署成功! 

不过在Auto-Coder里面一直刷,有些问题

coding@auto-coder.chat:~$ 继续
Successfully set configuration: event_file =
/home/skywalk/work/autocoder/.auto-coder/events/05ee5870-bcca-4f8f-b6a2-a10adb1fca8f_20250702-114604.jsonl
─────────────────────────────────────────── Starting Agentic Edit: autocoder ───────────────────────────────────────────
╭───────────────────────────────────────────────────── Objective ──────────────────────────────────────────────────────╮
│ User Query:                                                                                                          │
│ 继续                                                                                                                 │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
Conversation ID: 8c63e814-a349-414c-92e6-7be661ed09d3
当前会话总 tokens: 34624
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG当前会话总 tokens: 34652
当前会话总 tokens: 34720
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG当前会话总 tokens: 34749
当前会话总 tokens: 34817
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG当前会话总 tokens: 34846
当前会话总 tokens: 34914
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG当前会话总 tokens: 34943
当前会话总 tokens: 35011
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG当前会话总 tokens: 35040
当前会话总 tokens: 35108
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG当前会话总 tokens: 35137
当前会话总 tokens: 35205
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG当前会话总 tokens: 35234
当前会话总 tokens: 35302
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG当前会话总 tokens: 35331
当前会话总 tokens: 35399
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG当前会话总 tokens: 35428
当前会话总 tokens: 35496
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG当前会话总 tokens: 35525
当前会话总 tokens: 35593
GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG当前会话总 tokens: 35622
当前会话总 tokens: 35690

http://www.dtcms.com/a/264520.html

相关文章:

  • 使用Vue3实现输入emoji 表情包
  • 阿里云AppFlow AI助手打造智能搜索摘要新体验
  • 基于开源链动2+1模式AI智能名片S2B2C商城小程序的场景零售创新研究
  • 【Unity】MiniGame编辑器小游戏(八)三国华容道【HuarongRoad】
  • Active-Prompt:让AI更智能地学习推理的革命性技术
  • BlenderBot对话机器人大模型Facebook开发
  • Spring Framework 中 Java 配置
  • 51单片机外部引脚案例分析
  • 环境土壤物理Hydrus1D2D模型实践技术应用及典型案例分析
  • Docker Desktop导致存储空间不足时的解决方案
  • 【QT】ROS2 Humble联合使用QT教程
  • 【Unity】MiniGame编辑器小游戏(九)打砖块【Breakout】
  • 纹理贴图算法研究论文综述
  • 二、jenkins之idea提交项目到gitlab、jenkins获取项目
  • 将大仓库拆分为多个小仓库
  • 前端请求浏览器提示net::ERR_UNSAFE_PORT的解决方案
  • WPF路由事件:冒泡、隧道与直接全解析
  • 【Harmony】鸿蒙企业应用详解
  • 小型水电站综合自动化系统的介绍
  • 计算机组成笔记:缓存替换算法
  • QT6 源(147)模型视图架构里的表格窗体 QTableWidget 的范例代码举例,以及其条目 QTableWidgetItem 类型的源代码。
  • Re:从零开始的 磁盘调度进程调度算法(考研向)
  • Node.js 安装使用教程
  • Spring 生态创新应用:微服务架构设计与前沿技术融合实践
  • Kuikly 与 Flutter 的全面对比分析,结合技术架构、性能、开发体验等核心维度
  • 对于3DGS的理解
  • Redisson 与 Java 驻内存数据网格:分布式缓存的高可用解决方案
  • 【强化学习】深度解析 GRPO:从原理到实践的全攻略
  • 微信小程序入门实例_____打造你的专属单词速记小程序
  • 【并发编程】AQS原理详解笔记1