面壁带来了小钢炮,MiniCPM3-4B

news2024/12/24 8:53:37

在这里插入图片描述

MiniCPM3-4B 是 MiniCPM 系列的第三代产品。 相比 MiniCPM1.0/MiniCPM2.0,MiniCPM3-4B 拥有更强大、更多用途的技能集,可以实现更广泛的应用。 MiniCPM3-4B 支持函数调用和代码解释器。 有关使用指南,请参阅高级功能。 MiniCPM3-4B 具有 32k 上下文窗口。 借助 LLMxMapReduce,MiniCPM3-4B 理论上可以处理无限上下文,而不需要大量内存。

在这里插入图片描述

相比 MiniCPM1.0 / MiniCPM2.0,MiniCPM3-4B 拥有更强大、更多用途的技能集,可用于更广泛的用途。MiniCPM3-4B 支持函数调用和代码解释器。

在这里插入图片描述

使用

Transformers

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

path = "openbmb/MiniCPM3-4B"
device = "cuda"

tokenizer = AutoTokenizer.from_pretrained(path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(path, torch_dtype=torch.bfloat16, device_map=device, trust_remote_code=True)

messages = [
    {"role": "user", "content": "推荐5个北京的景点。"},
]
model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to(device)

model_outputs = model.generate(
    model_inputs,
    max_new_tokens=1024,
    top_p=0.7,
    temperature=0.7
)

output_token_ids = [
    model_outputs[i][len(model_inputs[i]):] for i in range(len(model_inputs))
]

responses = tokenizer.batch_decode(output_token_ids, skip_special_tokens=True)[0]
print(responses)

vLLM

pip install git+https://github.com/OpenBMB/vllm.git@minicpm3

from transformers import AutoTokenizer
from vllm import LLM, SamplingParams

model_name = "openbmb/MiniCPM3-4B"
prompt = [{"role": "user", "content": "推荐5个北京的景点。"}]

tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
input_text = tokenizer.apply_chat_template(prompt, tokenize=False, add_generation_prompt=True)

llm = LLM(
    model=model_name,
    trust_remote_code=True,
    tensor_parallel_size=1
)
sampling_params = SamplingParams(top_p=0.7, temperature=0.7, max_tokens=1024, repetition_penalty=1.02)

outputs = llm.generate(prompts=input_text, sampling_params=sampling_params)

print(outputs[0].outputs[0].text)

评估结果

BenchmarkQwen2-7B-InstructGLM-4-9B-ChatGemma2-9B-itLlama3.1-8B-InstructGPT-3.5-Turbo-0125Phi-3.5-mini-Instruct(3.8B)MiniCPM3-4B
English
MMLU70.572.472.669.469.268.467.2
BBH64.976.365.267.870.368.670.2
MT-Bench8.418.357.888.288.178.608.41
IFEVAL (Prompt Strict-Acc.)51.064.571.971.558.849.468.4
Chinese
CMMLU80.971.559.555.854.546.973.3
CEVAL77.275.656.755.252.846.173.6
AlignBench v1.17.106.617.105.685.825.736.74
FollowBench-zh (SSR)63.056.457.050.664.658.166.8
Math
MATH49.650.646.051.941.846.446.6
GSM8K82.379.679.784.576.482.781.1
MathBench63.459.445.854.348.954.965.6
Code
HumanEval+70.167.161.662.866.568.968.3
MBPP+57.162.264.355.371.455.863.2
LiveCodeBench v322.220.219.220.424.019.622.6
Function Call
BFCL v271.670.119.273.375.448.476.0
Overall
Average65.365.057.960.861.057.266.3

声明

作为一个语言模型,MiniCPM3-4B 通过从大量文本中学习来生成内容。 但是,它不具备理解或表达个人观点或价值判断的能力。 MiniCPM3-4B 生成的任何内容都不代表模型开发者的观点或立场。 因此,在使用 MiniCPM3-4B 生成的内容时,用户应自行承担评估和验证的全部责任。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2115166.html

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

相关文章

微擎忘记后台登录用户名和密码怎么办?解决方法

微擎忘记后台登录名和登录密码是很常见的,服务器百科网fwqbk.com告诉你找回后台登录用户名和密码的方法: 一:找回微擎后台用户名 (如果只是忘记了后台登录密码,请忽略此步骤,跳转到第二步) 通…

博客摘录「 深度学习 | 编码器-解码器网络、seq2seq模型、束搜索算法」2024年9月7日

老师在课上是这样引入的: Sequence to Sequence Learning:两个循环神经网络组成。 红色部分和绿色部分都是RNN。 预测任务就是从一个序列到另一个序列。 第一个序列称之为原序列,第二个序列称为目标序列。两者…

【Windows】解决新版 Edge 浏览器开机自启问题(简单有效)

文章目录 1.前言2.查找资料3.查找方法4.解决办法 参考文章: 解决新版 Edge 浏览器开机自启问题(简单有效) Edge开机启动如何关闭 1.前言 电脑开机后edge浏览器开机自启动,并且在任务管理器–启动项内可看到edge浏览器&#xff0…

【Python篇】PyQt5 超详细教程——由入门到精通(中篇一)

文章目录 PyQt5入门级超详细教程前言第4部分:事件处理与信号槽机制4.1 什么是信号与槽?4.2 信号与槽的基本用法4.3 信号与槽的基础示例代码详解: 4.4 处理不同的信号代码详解: 4.5 自定义信号与槽代码详解: 4.6 信号槽…

如何部署Vue+Springboot项目

很多同学在项目上线的部署遇到困难,不懂得怎么部署项目,本文将会带大家手把手从前端部署、java部署来教会大家。 如果项目涉及到了docker相关中间件的环境配置,请参看:https://blog.csdn.net/weixin_73195042/article/details/13…

vue3 为组件的 emits 标注类型,defineEmits基于类型的定义的简单理解

1&#xff09;在 <script setup> 中&#xff0c;emit 函数的类型标注也可以通过运行时声明或是类型声明进行。 2&#xff09;基于类型的&#xff1a; const emit defineEmits<{ (e: change, id: number): void (e: update, value: string): void }>() 说明&#x…

STM32 PWM 详解(基于 STM32F429 HAL 库)

目录 前言 一、PWM 简介 二、STM32F429 的 PWM 功能 1.定时器资源 2.PWM 模式 3.PWM原理图 三、使用 HAL 库配置 STM32F429 的 PWM 1.开启时钟 2.配置定时器 3.配置通道 4.启动定时器 5.PWM 占空比的调节 四、应用实例 五、总结 前言 在嵌入式系统开发中&#…

Python的图像算术与逻辑运算详解

一.图像加法运算 图像加法运算主要有两种方法。第一种是调用Numpy库实现&#xff0c;目标图像像素为两张图像的像素之和&#xff1b;第二种是通过OpenCV调用add()函数实现。第二种方法的函数原型如下&#xff1a; dst add(src1, src2[, dst[, mask[, dtype]]]) – src1表示第…

JavaScript使用地理位置 API

前言 在JavaScript中&#xff0c;Geolocation API 是一种用于访问用户地理位置的接口。这个API允许网页应用程序获取用户的位置并提供基于位置的服务。 if (navigator.geolocation)navigator.geolocation.getCurrentPosition(function () {},function () {});这个函数中需要传…

VMware Workstation v17.6 中文注册精简版

VMware Workstation Pro 是一款功能强大的桌面虚拟化软件&#xff0c;它允许用户在单一的物理机器上同时运行多个操作系统。无论是在 Windows 或 Linux 主机上&#xff0c;您都可以轻松创建和运行各种虚拟机&#xff0c;包括 Windows、Linux 以及 BSD。 全新升级&#xff0c;更…

【debug】nvidia-smi:Failed to initialize NVML: Unknown Error

今天用服务器时又突然报错cuda不可用&#xff0c;输入nvidia-smi检查&#xff0c;报错如题。 根据网上搜的原因&#xff0c;可能是因为系统内核自动升级导致与驱动版本不匹配&#xff0c;尝试重启&#xff1a;reboot&#xff0c;报错&#xff1a; 尝试 exit 退出容器再进入&am…

android framework工程师遇到成长瓶颈迷茫怎么办?千里马经验分享

背景 近来有一些framework老司机粉丝朋友发来了一些framework工作中的一些疑问&#xff0c;具体描述如下&#xff1a; 这个同学遇到的问题&#xff0c;其实就是大部分framework开发者工作比较久后遇到的一个上升瓶颈问题。 具体总结有以下几个瓶颈问题 1、framework属于系…

Qt qrc机制

文章目录 0. 前言1. qrc机制2. qrc使用 0. 前言 要设置窗口图标&#xff0c;就需要有图片及其图片所在路径&#xff0c;在本机上可能没什么问题&#xff0c;但是换了一个机器&#xff0c;路径可能不一致或者图片丢失&#xff0c;这就导致图片显示不出来。 Qt引入qrc机制&…

基于springboot+vue实现的农家乐管理系统

基于springbootvue实现的山庄农家乐管理系统前后端分离项目&#xff08;文末查看源码lw&#xff09;4-10 系统角色&#xff1a; 管理员、用户 主要功能&#xff1a; &#xff08;1&#xff09;用户关键功能包含用户注册登陆、个人信息修改、首页、农家乐、美食信息、民宿信息…

Autosar(Davinci) --- 创建一个S/R类型的port(下)

前言: 前面章节我们讲解了S/R类型的Port如何创建,这一章节,我们着重讲一下生成的代码,以及我们如何添加代码让这些门与灯之间的关系产生连接。 一、CtSaDoor.c 在【Rte.c】的【IO_TASK】中我们可以看到,反复的判断Rte_Ev_Cyclic_IO_Task_0_200ms这个条件是否成立,当200…

FreeRTOS学习笔记(四)Freertos的中断管理及临界保护

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Cortex-M 中断管理1.1 中断优先级分组1.2 相关寄存器1.3 相关宏定义1.4 FreeRTOS 开关中断 二、临界段及其保护2.1 taskENTER_CRITICAL( ) 和 taskEXIT_CRI…

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略&#xff0c;该策略要求请求的域名、协议和端口必须与提供资源的服务相同。…

828华为云征文|部署RedisStack+可视化操作

目录 1.介绍 1.1 什么是华为云Flexus X实例 1.2 什么是Redis Stack ​编辑 2 准备华为云Flexus应用服务器L实例 3 准备docker环境 4 docker 安装 Redis Stack 4.1拉取镜像 4.2 确认镜像 4.3 启动容器 4.4 放行安全组端口 4.5 操作redis 5 docker compose 配置持久 1.…

Vision Transformer(ViT)模型原理及PyTorch逐行实现

Vision Transformer(ViT)模型原理及PyTorch逐行实现 一、TRM模型结构 1.Encoder Position Embedding 注入位置信息Multi-head Self-attention 对各个位置的embedding融合&#xff08;空间融合&#xff09;LayerNorm & ResidualFeedforward Neural Network 对每个位置上单…

LabVIEW FIFO详解

在LabVIEW的FPGA开发中&#xff0c;FIFO&#xff08;先入先出队列&#xff09;是常用的数据传输机制。通过配置FIFO的属性&#xff0c;工程师可以在FPGA和主机之间&#xff0c;或不同FPGA VIs之间进行高效的数据传输。根据具体需求&#xff0c;FIFO有多种类型与实现方式&#x…