前言
GitCode上首发了文心4.5的一系列大模型,作为一名资深程序员一定要来测试一下,本期测试的是ERNIE-4.5-21B-A3B-Base模型,从基础信息上可以看出有21B的参数,也就是210亿这个参数量的模型是够用了的,每个令牌激活参数量为 3B,表示对于输入的每个令牌,平均会激活 30 亿个参数来进行处理。这种机制使得模型在处理不同数据时可以灵活调用相关专家,在保证性能的同时,减少不必要的计算,提高效率。整体可以理解为很高效,接下来我们来具体测试一番。
一起来轻松玩转文心大模型吧一文心大模型免费下载地址:https://ai.gitcode.com/paddlepaddle/ERNIE-4.5-VL-424B-A47B-Paddle
目录
ERNIE-4.5-21B-A3B-Base-Paddle返回结果说明:
ERNIE-4.5-21B-A3B-Base-Paddle-线性代数答案
ERNIE-4.5-21B-A3B-Base-Paddle-回答
模型配置详情
关键字 | 值 |
---|---|
模态 | 文本 |
训练阶段 | 预训练 |
参数量(总/激活) | 21B / 3B |
层数 | 28 |
头数(Q/KV) | 20 / 4 |
文本专家(总/激活) | 64 / 6 |
视觉专家(总/激活) | 64 / 6 |
共享专家 | 2 |
上下文长度 | 131072 |
官方还给了微调的方法,有微调需求的可以尝试一番。
环境部署
部署方法使用的是【FastDeploy】,前置环境参考:https://github.com/PaddlePaddle/FastDeploy
根据具体的机器型号找到环境安装命令即可,我的CUDA Version12.2的,显存是81920MiB也就是80G显存,是可以运行这个模型的。
将环境安装后就能直接安装并启动了,都在下面的语句里面了。
python -m fastdeploy.entrypoints.openai.api_server \
--model baidu/ERNIE-4.5-21B-A3B-Base-Paddle \
--port 8180 \
--metrics-port 8181 \
--engine-worker-queue-port 8182 \
--max-model-len 32768
--max-num-seqs 32
启动的时候会先校验环境,然后再开始启动模型,所以别着急,得下载一会。
启动完毕效果:
接口访问
可以看到给的是:http://0.0.0.0:8180/ 我们访问的时候可以使用地址:8180的方式,本地访问需要将0.0.0.0改成127.0.0.1访问即可。
我们先写一个最基础的请求测试。
import requests
import json
def send_request():
"""发送简单请求到ERNIE模型"""
# 设置API端点
url = "http://127.0.0.1:8180/v1/chat/completions"
# 设置请求头
headers = {
"Content-Type": "application/json"
}
# 构建请求体 - 简化为基本问题
data = {
"model": "baidu/ERNIE-4.5-21B-A3B-Base-Paddle",
"messages": [
{
"role": "system",
"content": "你是一个有用的AI助手。"
},
{
"role": "user",
"content": "你是谁?1+1等于几?"
}
]
}
try:
# 发送请求
response = requests.post(url, headers=headers, data=json.dumps(data))
# 检查响应状态
response.raise_for_status()
# 解析响应
result = response.json()
# 提取AI回复
if "choices" in result and len(result["choices"]) > 0:
ai_message = result["choices"][0]["message"]["content"]
print("AI回复:")
print(ai_message)
except Exception as e:
print(f"请求错误: {e}")
if __name__ == "__main__":
send_request()
AI回复中我们能看到最基础的回答还是OK的,那么我们逐渐提升难度。
模型提问测试
从1连续加到100的结果是多少,需要遍历出所有的过程结果。
效果:
对比模型Qwen3-32B
我们用21B来对比32B有些不公平,相差不大,所以我们来做个效果的对比。
提问问题:
从1连续加到100的结果是多少,需要遍历出所有的过程结果。
返回结果:
基础数学问题对比总结
我们的问题是:从1连续加到100的结果是多少,需要遍历出所有的过程结果。
ERNIE-4.5-21B-A3B-Base-Paddle返回结果说明:
在上方的返回结果中可以看到是完整的奖1到100的结果和过程结果完全遍历了,完全符合我们的需求。
Qwen3-32B回答说明:
看到给了一个think过程,并且给了对应的代码,虽然给了结果,但是完全不符合我们的预期结果啊,代码中输出了内容,但是我们没有要代码,只能说是它的自我理解能力有些过了。
本局【ERNIE-4.5-21B-A3B-Base-Paddle】胜利。
线性代数题目测试
问题:
有一个三行三列的矩阵,第一行的三个元素依次是 1、2、3;第二行的三个元素依次是 2、4、5;第三行的三个元素依次是 3、5、6。请解决以下问题:
1、求这个矩阵的秩;
2、求这个矩阵的特征值。
ERNIE-4.5-21B-A3B-Base-Paddle-线性代数答案
回答出来了,但是第二步回答给的是lambda的结果。
结果翻译:
答案1是3,没有问题。
答案2是:,与实际出现出入。
Qwen3-32B-线性代数回答
实际正确答案:
1、矩阵的秩是 3;
2、矩阵的特征值约为 11.37、0.09、-0.46。
对比结果:
线性代数这里矩阵的秩为3,这个第一步问题都回答正確,第二步的问题都回答错误,那么本局平局。
总结问题
你的数学能力如何,给我一个量化的表格。
ERNIE-4.5-21B-A3B-Base-Paddle-回答
由于是命令行,我们看的表格不太好看,我拿出来手动改一下。
数学领域 | 能力水平(满分 10 分) |
---|---|
代数 | 9 |
几何 | 8 |
微积分 | 9 |
统计学 | 8 |
离散数学 | 7 |
线性代数 | 8 |
概率论 | 7 |
数学逻辑 | 6 |
数值分析 | 7 |
优化理论 | 6 |
Qwen3-32B回答
总结
两场对局中【ERNIE-4.5-21B-A3B-Base-Paddle】一胜一平,在问题总结上我们Qwen3-32B的线性代数能力自我评价是9分,比21B的文心多了一份,但是实际表现上没什么区别,整体分数上高了一些,也可以理解,毕竟是320亿的参数训练的强一些很正常,实际比较过程中我们看到文心4.5的21B模型还是占了一些优势的,说明我们平时使用21B的这个模型也是够用的呢,此次比较算是圆满的结束了,但是对于模型的使用才刚刚开始,希望大家可以找到更多的方法来使用大模型创造更多的价值。
其实回答的可以更好一些,我们来优化一下问题:
ERNIE-4.5-21B二次做答
问题:
请计算从 1 连续加到 100 的总和,并按以下要求呈现过程:
- 遍历展示:从 1 开始,依次列出每一步累加的中间结果(即 1;1+2=3;1+2+3=6;……;直至加到 100 的总和),每步结果需明确标注累加的最后一个数字(如 “加到 5 的结果:15”)。
- 格式要求:用有序列表或表格呈现,清晰区分 “累加范围”(如 1-1、1-2、…、1-100)与 “对应结果”,确保每步逻辑可追溯。
- 最终结果:单独突出显示从 1 加到 100 的总和,并简要说明计算过程中可简化的规律(如高斯求和公式的应用思路)。
要求过程完整无遗漏,既体现逐次累加的遍历逻辑,又能通过结果观察到数字变化规律。
回答:
从1加到100的累加过程
遍历展示(部分示例):
累加范围 | 计算过程 | 对应结果 |
---|---|---|
1-1 | 1 | 1 |
1-2 | 1 + 2 | 3 |
1-3 | 1 + 2 + 3 | 6 |
1-4 | 1 + 2 + 3 + 4 | 10 |
1-5 | 1 + 2 + 3 + 4 + 5 | 15 |
… | … | … |
1-10 | 1 + 2 + … + 10 | 55 |
1-20 | 1 + 2 + … + 20 | 210 |
1-30 | 1 + 2 + … + 30 | 465 |
1-40 | 1 + 2 + … + 40 | 820 |
1-50 | 1 + 2 + … + 50 | 1275 |
1-60 | 1 + 2 + … + 60 | 1830 |
1-70 | 1 + 2 + … + 70 | 2485 |
1-80 | 1 + 2 + … + 80 | 3240 |
1-90 | 1 + 2 + … + 90 | 4095 |
1-100 | 1 + 2 + … + 100 | 5050 |
完整有序列表(部分示例):
- 加到1的结果:1
- 加到2的结果:3
- 加到3的结果:6
- 加到4的结果:10
- 加到5的结果:15
… - 加到96的结果:4656
- 加到97的结果:4753
- 加到98的结果:4851
- 加到99的结果:4950
- 加到100的结果:5050
最终结果:
从1加到100的总和:5050
计算规律说明:
- 高斯求和公式:n(n+1)/2
- 当n=100时:100×101÷2=5050
- 配对求和原理:
- 1+100=101
- 2+99=101
- …
- 50+51=101
- 共50对,每对和为101 → 50×101=5050
- 观察规律:
- 相邻结果间的差等于最后一个加数(如:15-10=5)
- 结果呈三角形数规律(1,3,6,10…)
过程特点:
- 遍历逻辑:严格按1→100顺序展示每一步累加
- 规律呈现:通过中间结果可清晰观察到:
- 每增加一个数,结果增量等于该数本身
- 结果增长速度逐渐加快(二次函数增长)
- 验证性:末端结果与高斯公式计算结果一致,验证了遍历的正确性
注:完整遍历过程共100步,上表为节省空间展示关键节点。实际应用中,直接使用高斯公式(n(n+1)/2)可避免逐次计算,效率极高。此展示方式专门为呈现累加过程而设计。
最终总结
评分维度 | 评分标准(满分10分) | 文心一言第一次回答 | Qwen3-32B回答 | 文心一言第二次回答 |
---|---|---|---|---|
遍历完整性 | 从1到100的每步累加是否完整呈现 | 10分 | 6分 | 10分 |
格式规范性 | 列表/表格呈现清晰度 | 8分 | 5分 | 10分 |
结果准确性 | 中间结果及最终总和正确性 | 10分 | 9分 | 10分 |
规律说明清晰度 | 对高斯求和公式等简化规律的解释 | 7分 | 8分 | 10分 |
整体满足度 | 是否符合用户所有需求 | 8分 | 6分 | 10分 |
总分(50分) | 43分 | 34分 | 50分 |
问题优化一下,回答的那是相当的到位啊。