文心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.pswp.cn/news/912825.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912825.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python迭代器、生成器、闭包和装饰器(三器一包)

return、continue、break区别: return只能用在函数里面,表示从函数中返回,函数体内的后续任何代码都不执行continue只是跳出当前循环,进入下一循环break只是跳出全部循环,如果循环后面还有代码,会进行执行…

【Java】Maven

一.Maven简介 Maven的产生主要是为了解决Java项目中的两个问题: 1.依赖管理: 传统 Java 项目在引入第三方库时,需要手动下载 JAR 包并维护复杂的依赖关系。Maven 提供了统一的依赖管理机制,通过简单的配置即可自动从仓库下载并引…

人脸活体识别3:C/C++实现人脸眨眼 张嘴 点头 摇头识别(可实时检测)

人脸活体识别3:C/C实现人脸眨眼 张嘴 点头 摇头识别(可实时检测) 目录 人脸活体识别3:C/C实现人脸眨眼 张嘴 点头 摇头识别(可实时检测) 1. 前言 2.人脸活体识别方法 (1)基于人脸动作的检测​​ (2)​…

【ABAP】 从无到有 新建一个Webdynpro程序

、新建WDA 可从SE80在web dynpro 组件下 创建 并按例以下操作 2、插入窗口 3、相关功能 3-1、展示消息 DATA:lo_api_controller TYPE REF TO if_wd_controller,lo_message_handler TYPE REF TO if_wd_message_manager.lo_api_controller ? wd_this->wd_get_api( ).lo_mess…

ALV常用设置(更新中一)

之前设置了checkbox,但是触发不了单击事件,且alv自带的复选,鼠标移动单击别处就会自动取消。 **增加多选框到fieldcat,**这一点很重要,然后设置 IF gs_fcat-fieldname sel.gs_fcat-checkbox X. gs_fcat-edit X. …

NumPy 或 PyTorch/TensorFlow 中的张量理解

(2, 2, 3) 形状的 3D 数组(或张量)的结构。 个人理解: 2个2维数组(张量),2维数组(张量)里面有2个1维向量(张量),1维向量(张量&#x…

Linux环境下使用 C++ 与 OpenCV 实现 ONNX 分类模型推理

实验环境:Ubuntu 20.0 推理模型:ONNX分类模型 1. 安装依赖项 首先是需要安装依赖库,如g,cmake等,如果已经安装的话可以忽略 sudo apt install -y g sudo apt install -y cmake sudo apt install -y make sudo apt i…

AJAX 安装使用教程

一、AJAX 简介 AJAX(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够与服务器交换数据并更新部分网页内容的技术。它不是一种新语言,而是使用现有的标准组合:JavaScript XMLHttpRequest…

【牛客算法】牛客网编程题解:小红拼图

一、题目介绍 1.1. 题目链接 :小红拼图 https://www.nowcoder.com/questionTerminal/08b54686f0d14bd784d9d148c68a268a 1.2 题目介绍 小红正在玩一个拼图游戏,她有一些完全相同的拼图组件: 小红准备用这些组件来拼成一些图案。这些组件可…

买卖股票的最佳时机--js 算法

一、买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。…

C#基础(WndProc)

WndProc 是操作系统与你的程序“对话”的通道​​。当用户点击鼠标、按下键盘,或系统事件(如窗口移动)发生时,Windows 会将这些事件打包成“消息”,发送给你的窗口,而 WndProc 就是接收和处理这些消息的函数…

记录一个 Linux中脚本无法执行的问题

问题描述: 在本地的window系统传的云服务器上一个.sh结尾的安装Java环境的脚本 上传到云服务器后,使用命令赋予执行权限 chmod x 文件名然后看一下这个脚本变绿了就可以了 然后开始尝试执行 ./脚本名 然后就报错了 然后开始排查问题 1.检查并修复 She…

Iceberg在图灵落地应用

导读 百度MEG上一代大数据产品存在平台分散、易用性差等问题,导致开发效率低下、学习成本高,业务需求响应迟缓。为了解决这些问题,百度MEG内部开发了图灵3.0生态系统,包括Turing Data Engine(TDE)计算&存储引擎、Turing Data…

FPGA设计的用户约束

FPGA设计的用户约束 文章目录 FPGA设计的用户约束FPGA设计的用户约束综合约束管脚约束位置约束时序约束小总结 FPGA设计的用户约束 至此,HDL到门级网表的转化已经完成,对于编译器来说,下一步的任务就是要将门级网表转换并映射到具体的FPGA硬…

Spring 生态创新应用:微服务架构设计与前沿技术融合实践

在数字化转型的深水区,企业级应用正面临从 “单体架构” 向 “分布式智能架构” 的根本性跃迁。Spring 生态以其二十年技术沉淀形成的生态壁垒,已成为支撑这场变革的核心基础设施。从 2002 年 Rod Johnson 发布《Expert One-on-One J2EE Design and Deve…

车牌识别与标注:基于百度OCR与OpenCV的实现(一)

车牌识别与标注:基于百度OCR与OpenCV的实现 在计算机视觉领域,车牌识别是一项极具实用价值的技术,广泛应用于交通监控、智能停车场管理等领域。本文将介绍如何在macOS系统下,利用百度OCR API进行车牌识别,并结合OpenC…

【系统分析师】2021年真题:论文及解题思路

文章目录 试题一:论面向对象的信息系统分析方法试题二:论静态测试方法及其应用试题三:论富互联网应用的客户端开发技术试题四:论DevSecOps技术及其应用 试题一:论面向对象的信息系统分析方法 信息系统分析是信息系统生…

OFA-PT:统一多模态预训练模型的Prompt微调

摘要 Prompt微调已成为模型微调的新范式,并在自然语言预训练甚至视觉预训练中取得了成功。参数高效的Prompt微调方法通过优化soft embedding并保持预训练模型冻结,在计算成本低和几乎无性能损失方面展现出优势。在本研究中,我们探索了Prompt…

【硬核数学】2.5 “价值标尺”-损失函数:信息论如何设计深度学习的损失函数《从零构建机器学习、深度学习到LLM的数学认知》

欢迎来到本系列硬核数学之旅的第十篇,也是我们对经典数学领域进行深度学习“升级”的最后一站。我们已经拥有了强大的模型架构(基于张量)、高效的学习引擎(反向传播)和智能的优化策略(Adam等)。…

雷卯针对灵眸科技EASY EAI nano RV1126 开发板防雷防静电方案

一、应用场景 1. 人脸检测 2. 人脸识别 3. 安全帽检测 4. 人员检测 5. OCR文字识别 6. 人头检测 7. 表情神态识别 8. 人体骨骼点识别 9. 火焰检测 10. 人脸姿态估计 11. 人手检测 12. 车辆检测 13. 二维码识别 二、 功能概述 1 CPU 四核ARM Cortex-A71.5GHz 2 …