微软开源bitnet b1.58大模型,应用效果测评(问答、知识、数学、逻辑、分析)

目       录

1.     前言... 2

2.     应用部署... 2

3.     应用效果... 3

1.1          问答方面... 3

1.2          知识方面... 4

1.3          数字运算... 6

1.4          逻辑方面... 6

1.5          分析方面... 7

4.     结论... 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

微软开源bitnet b1.58大模型,应用效果测评(问答、知识、数学、逻辑、分析)的更多相关文章

  1. 千亿参数开源大模型 BLOOM 背后的技术

    假设你现在有了数据,也搞到了预算,一切就绪,准备开始训练一个大模型,一显身手了,"一朝看尽长安花"似乎近在眼前 -- 且慢!训练可不仅仅像这两个字的发音那么简单,看看 BLOOM ...

  2. 微软开源自动机器学习工具NNI安装与使用

    微软开源自动机器学习工具 – NNI安装与使用   在机器学习建模时,除了准备数据,最耗时耗力的就是尝试各种超参组合,找到最佳模型的过程了.对于初学者来说,常常是无从下手.即使是对于有经验的算法工程师 ...

  3. 【重磅】微软开源自动机器学习工具 - NNI

    [重磅]微软开源自动机器学习工具 - NNI 在机器学习建模时,除了准备数据,最耗时耗力的就是尝试各种超参组合,找到模型最佳效果的过程了.即使是对于有经验的算法工程师和数据科学家,有时候也很难把握其中 ...

  4. 微软开源的Trill是什么?

    微软开源的Trill是什么? https://www.cnblogs.com/CattaC/p/10143445.html 微软开源的Trill是什么? 以下是一篇15年的文章的译文:https:// ...

  5. NNI (Neurol Network Intelligence) 是微软开源的自动机器学习工具

    NNI (Neurol Network Intelligence) 是微软开源的自动机器学习工具 https://www.cnblogs.com/ms-uap/p/9719071.html [重磅]微 ...

  6. zz【重磅】微软开源自动机器学习工具 - NNI

    [重磅]微软开源自动机器学习工具 - NNI 在机器学习建模时,除了准备数据,最耗时耗力的就是尝试各种超参组合,找到模型最佳效果的过程了.即使是对于有经验的算法工程师和数据科学家,有时候也很难把握其中 ...

  7. 成为钢铁侠!只需一块RTX3090,微软开源贾维斯(J.A.R.V.I.S.)人工智能AI助理系统

    梦想照进现实,微软果然不愧是微软,开源了贾维斯(J.A.R.V.I.S.)人工智能助理系统,贾维斯(jarvis)全称为Just A Rather Very Intelligent System(只是 ...

  8. 微软开源.NET Core的执行引擎CoreCLR{转载}

    继去年12月宣布.NET Core开源之后,微软拥抱开源的决心又向前迈了一步,Microsoft于昨日在 .NET Framework Blog上 宣布开源.NET Core 的执行引擎 CoreCL ...

  9. 资深人士剖析微软开源.NET事件:战略重心已经从PC转移到云端

    本文是雷锋网对我的访谈整理的文章,源地址是 http://www.leiphone.com/news/201411/6KaGhD7PDABnvrRf.html 2014年11月13日,微软表示开源.N ...

  10. 分享一个.NET平台开源免费跨平台的大数据分析框架.NET for Apache Spark

    今天早上六点半左右微信群里就看到张队发的关于.NET Spark大数据的链接https://devblogs.microsoft.com/dotnet/introducing-net-for-apac ...

随机推荐

  1. Docker安装与镜像加速器的配置

    Docker简介 百科说:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机 ...

  2. 试试使用 Vitest 进行测试,确实可以减少bug

    vitest的简单介绍 Vitest 是一个基于 Vite 的单元测试框架,专为现代前端项目设计. 它结合了 Vite 的高性能和 Jest 的易用性, 提供了开箱即用的 TypeScript.ESM ...

  3. opencv实现像素统计的示例代码

    在 OpenCV 中,统计图像的像素信息(如像素值分布.最大值.最小值.均值等)是常见的操作.以下是一些常用的方法和函数,用于统计图像的像素信息: 统计像素值的基本信息 最大值.最小值.均值.标准差: ...

  4. Anoii之UDP与多路复用

    代码连接:https://github.com/Afeather2017/anoii/blob/master/src/udp_peer.cc 以往写了TCP的多路复用,发现它还挺难写对的.现在写UDP ...

  5. Manus,没有秘密「注解版」

    近来Manus走红,「争论」不断,我也在前文<Manus爆火,是硬核还是营销?>中阐述过自Manus发布后,行业讨论以及开源复刻的信息,以及我们如何结合蚂蚁图计算(TuGraph)技术,实 ...

  6. JMeter BeanShell 获取 HTTP Request 中的 Name

    场景:添加 JMeter log 输出,想输入自定义请求的名称 // 获取 response body prev.getResponseDataAsString(); // 获取 HTTP Reque ...

  7. docker批量删除容器或镜像

    删除容器 停止所有容器 删除所有容器,需要先停止所有运行中的容器 docker stop `docker ps -a -q` docker ps -a -q,意思是列出所有容器(包括未运行的),只显示 ...

  8. phpstorm、goland常用快捷键

    1) 文件操作相关的快捷键 快捷键 作用 Ctrl + E 打开最近浏览过的文件 Ctrl + N 快速打开某个 struct 结构体所在的文件 Ctrl + Shift + N 快速打开文件 Shi ...

  9. 浅谈 C# 13 中的 params 集合

    前言 在 C# 13 中,params 的改进使其从可变数量的数组参数升级为可变数量的集合类型参数.这一改进通过支持高性能集合类型(如Span<T>,ReadOnlySpan<T&g ...

  10. python-argparse用法简介

    1. argparse介绍 argparse是Python标准库中用于解析命令行参数的模块.它提供了一种简洁而灵活的方式来处理命令行参数,包括选项(可选参数)和位置参数(必需参数) 2. argpar ...