微软开源bitnet b1.58大模型,应用效果测评(问答、知识、数学、逻辑、分析)
目 录
-
前言... 2
-
应用部署... 2
-
应用效果... 3
1.1 问答方面... 3
1.2 知识方面... 4
1.3 数字运算... 6
1.4 逻辑方面... 6
1.5 分析方面... 7
- 结论... 8
1. 前言
微软开源的BitNet模型(特别是BitNet b1.58 2B4T)是一种革命性的低精度大语言模型(LLM),1.58位三值权重:权重仅取-1、0、+1三种值,每个参数平均占用约1.58位存储,结合8位整数激活值(W1.58A8配置),大幅压缩模型体积,通过创新的量化技术和架构设计,在性能、能效和部署灵活性上实现了显著突破。
在x86 CPU上推理速度提升2.37--6.17倍,ARM CPU上提升1.37--5.07倍,CPU解码延迟低至29毫秒;相比全精度模型,能耗降低55.4%--82.2%;非嵌入内存仅需0.4GB,仅为传统FP16模型的1/6(如Qwen 1.5B需2.6GB),支持在普通笔记本或嵌入式设备上运行100B参数的模型。
支持在CPU(如苹果M2芯片、ARM架构设备)上直接运行,无需GPU,适用于手机、IoT设备、嵌入式系统等资源受限场景;通过极低能耗和硬件要求,降低企业及个人使用大模型的成本,推动AI技术在发展中国家和小型企业中的普及。
但是,也有局限性,知识密集型任务(如TriviaQA)表现较弱,需优化数据分布。
2. 应用部署
>git clone --recursive https://github.com/microsoft/BitNet.git
>cd BitNet
>conda create -n bitnet-cpp python=3.9
>conda activate bitnet-cpp
>pip install -r requirements.txt
>huggingface-cli download microsoft/BitNet-b1.58-2B-4T-gguf --local-dir models/BitNet-b1.58-2B-4T
>python setup_env.py -md models/BitNet-b1.58-2B-4T -q i2_s
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 如果提示错误:bitnet.cpp error : no type named 'system_clock'。 **解决方案:**在BitNet\3rdparty\llama.cpp目录中查找common.cpp、log.cpp、imatrix.cpp、perplexity.cpp文件,加上#include <chrono>语句。 |
>python run_inference.py -m models/BitNet-b1.58-2B-4T/ggml-model-i2_s.gguf -p "You are a helpful assistant" -n 5000 -cnv

3. 应用效果
1.1 问答方面
问题1:你是谁?
问题2:你是微软的吗?
问题3:你的强项是哪些方面?
问题4:请你给我编写一篇文章,主题:一个小孩子正在打篮球。

1.2 知识方面
问题1:请问你对工业知识熟悉吗?
问题2:我想做一个机器人,请给我一个配件清单
问题3:你对稀土冶炼工艺熟悉吗?

问题1:你对炼铁工艺熟悉吗?。
问题2:一般炼铁的炉温突升的工况有哪些影响因素?(后面的回复中,无限循环)

问题1:你对铁合金冶炼工艺熟悉吗?
问题2:铁合金生产的电极控制,一般应该如何调整?

1.3 数学运算
问题1:1+1等于多少?
问题2:为什么1+1=2呢?
问题3:1+1>2,这个条件成立吗?
问题4:1+1-1*1/1等于几?
问题5:1/0等于几?

1.4 逻辑方面
问题1:现在的温度是100,正常温度应该是50-99之间,请问温度现在处于什么状态?
问题2:现在的温度是100,正常温度应该是50-99之间,如果温度超出上限值,那么提示:温度过高;如果温度超出下限值,那么提示:温度过低。根据现在温度值,给出提示信息。
问题3:a的取值范围为0和1,b的取值范围为0和1,给出a和b分别取值的组态情况。

1.5 分析方面
问题1:请帮我分析一个温度数据,正常温度应该在110到140。
"2025-5-4 16:16:28" "温度" "149",
"2025-5-4 16:16:30" "温度" "149",
"2025-5-4 16:16:32" "温度" "149",
"2025-5-4 16:16:34" "温度" "149"。

问题2:2(x−3) (x-3)+5=3x+10,求x。(应该x=1或x=6.5,后面的回复,无限循环了)

4. 结论
适合资源较少,简单的应用场景。或是自己根据场景进行微调。
物联网&大数据技术 QQ群:54256083
物联网&大数据项目 QQ群:727664080
QQ:504547114
微信:wxzz0151
博客:https://www.cnblogs.com/lsjwq
