当前位置: 首页 > news >正文

计算语言模型计算每秒钟生成的token数量it/s

main() 函数的stream循环中,我们可以计算每秒钟生成的token数量,然后输出 it/s。在流式生成过程中,我们可以使用Python的time模块来计算速度。在测试时,生成速度会受到多个因素的影响,包括设备性能、模型大小、输入文本长度等。

import os
import torch
import platform
from colorama import Fore, Style
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation.utils import GenerationConfig
import timedef init_model():print("init model ...")model = AutoModelForCausalLM.from_pretrained("baichuan-inc/Baichuan-13B-Chat",torch_dtype=torch.float16,device_map="cuda",trust_remote_code=True)model.generation_config = GenerationConfig.from_pretrained("baichuan-inc/Baichuan-13B-Chat")tokenizer = AutoTokenizer.from_pretrained("baichuan-inc/Baichuan-13B-Chat",use_fast=False,trust_remote_code=True)return model, tokenizerdef clear_screen():if platform.system() == "Windows":os.system("cls")else:os.system("clear")print(Fore.YELLOW + Style.BRIGHT + "欢迎使用百川大模型,输入进行对话,clear 清空历史,CTRL+C 中断生成,stream 开关流式生成,exit 结束。")return []def main(stream=True):model, tokenizer = init_model()messages = clear_screen()while True:prompt = input(Fore.GREEN + Style.BRIGHT + "\n用户:" + Style.NORMAL)if prompt.strip() == "exit":breakif prompt.strip() == "clear":messages = clear_screen()continueprint(Fore.CYAN + Style.BRIGHT + "\nBaichuan:" + Style.NORMAL, end='')if prompt.strip() == "stream":stream = not streamprint(Fore.YELLOW + "({}流式生成)\n".format("开启" if stream else "关闭"), end='')continuemessages.append({"role": "user", "content": prompt})if stream:position = 0try:start_time = time.time()total_tokens = 0for response in model.chat(tokenizer, messages, stream=True):print(response[position:], end='', flush=True)position = len(response)total_tokens += len(tokenizer(response, return_tensors='pt')['input_ids'][0])if torch.backends.mps.is_available():torch.mps.empty_cache()end_time = time.time()elapsed_time = end_time - start_timetokens_per_second = total_tokens / elapsed_timeprint(f"\n\n生成速度:{tokens_per_second:.2f} tokens/s")except KeyboardInterrupt:passprint()else:response = model.chat(tokenizer, messages)print(response)if torch.backends.mps.is_available():torch.mps.empty_cache()messages.append({"role": "assistant", "content": response})print(Style.RESET_ALL)if __name__ == "__main__":main()

相关文章:

计算语言模型计算每秒钟生成的token数量it/s

在 main() 函数的stream循环中,我们可以计算每秒钟生成的token数量,然后输出 it/s。在流式生成过程中,我们可以使用Python的time模块来计算速度。在测试时,生成速度会受到多个因素的影响,包括设备性能、模型大小、输入…...

Clickhouse调研

1、独立组件个数(按进程) 默认情况下是1个;如果需要使用副本机制,需要依赖zookeeper;如果需要监控功能,还得依赖第三方监控系统。 2、单机部署 很好的支持单机运行,并且单机情况下查询入库性能不错(通过其提供的示例数据进行体验)。 3、窗口函数 Clickhouse没有显示…...

02.Redis实现添加缓存功能

学习目标&#xff1a; 提示&#xff1a;学习如何利用Redis实现添加缓存功能 学习产出&#xff1a; 流程图 1. 准备pom环境 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId&g…...

【1.2】Java微服务:SpringCloud概论

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。 &#x1f34e;个人主页&#xff1a;Meteors.的博客 &#x1f49e;当前专栏&#xff1a; 微服务 ✨特色专栏&#xff1a; 知识分享 &#x…...

右键文件夹 ------- 打开 vscode的方法

1、右键vscode点击属性 2、这是地址栏&#xff0c;一会复制即可 3、新建一个txt文件,将这个复制进去 Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\VSCode] "Open with Code" "Icon""D:\\Microsoft VS Code\\Code.exe"[HKE…...

小程序原生实现左右锚点联动

效果 wxml <view classbox><scroll-view scroll-y scroll-with-animation style"width:25%"><view classnav><view wx:for"{{navList}}" wx:keyindex class"title {{index active ?select:}}"data-index{{index}} bin…...

STM32 低功耗-睡眠模式

STM32 睡眠模式 文章目录 STM32 睡眠模式第1章 低功耗模式简介第2章 睡眠模式简介2.1 进入睡眠模式2.1 退出睡眠模式 第3章 睡眠模式代码示例总结 第1章 低功耗模式简介 在 STM32 的正常工作中&#xff0c;具有四种工作模式&#xff1a;运行、睡眠、停止和待机模式。 在系统或…...

IDEA用Gradle构建项目时,lombok插件无效的解决办法

Lombok 可用来帮助开发人员消除 Java 的重复代码&#xff0c;尤其是对于简单的 Java 对象&#xff08;POJO&#xff09;&#xff0c;比如说getter/setter/toString等方法的编写。它通过注解实现这一目的。 正确使用姿势 一、安装Lombok插件 菜单栏File -> Settings ->…...

基于方向编码的模板匹配算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ........................................................................... %选择移动个…...

shell centos 7 一键部署 KVM软件脚本

这个脚本有限地方还需要完善下 设计思路&#xff1a; 1、创建检查内核函数 check_kernel() 2、创建升级内核函数 update_kernel() 3、创建检查是否支持虚拟化函数 check_virtual() 4、创建检查操作系统函数 check_system() 5、创建检查网络函数 check_network() 6…...

64 # 实现一个 http-server

准备工作 上一节实现了通过 commander 的配置获取到用户的参数&#xff0c;下面完成借用 promise 写成类的方法一节没有完成的任务&#xff0c;实现一个 http-server&#xff0c;https://www.npmjs.com/package/http-server&#xff0c;http-server 是一个简单的零配置命令行静…...

HCIP作业3

题目 配置IP地址 R1 [r1]int g0/0/1 [r1-GigabitEthernet0/0/1]ip add 192.168.1.1 24 [r1-Serial4/0/0]ip add 12.1.1.1 24 R2 [r2]int s4/0/0 [r2-Serial4/0/0]ip add 12.1.1.2 24 [r2-Serial4/0/0]int s4/0/1 [r2-Serial4/0/1]ip add 32.1.1.1 24 [r2-Serial4/0/1]in…...

【测试学习三】软件测试的生命周期 BUG的相关知识

目录 一、软件测试的生命周期&#xff08;重要&#xff09; &#x1f351;1、软件的生命周期&#xff1f; &#x1f351;2、软件测试的生命周期&#xff1f; 二、关于BUG &#x1f351;1、如何描述与定义一个BUG&#xff1f;&#xff08;了解&#xff09; &#x1f351;2…...

git rebase 的坑儿

1 同步远程仓库 git pull --rebase拉取远程分支之后如果没有冲突直接使用 git rebase --continue若有冲突, 解决冲突, 一般是使用当前的更改, 因为传入的更改是你本地的更改 然后使用 git add 提交冲突 此处千万别使用 git commit --amend 最后使用 git rebase --continu…...

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)【四】

文章目录 SSM(Vue3ElementPlusAxiosSSM前后端分离)--基础环境搭建【四】项目介绍项目功能/界面● SSM 整合项目界面 创建表&#xff0c;使用逆向工程生成Bean、XxxMapper 和XxxMapper.xml1. 创建furns_ssm 数据库和furns 表使用MyBatis Generator 逆向工程生成bean mapper 接口…...

iPhone 8 Plus透明屏应用范围详解

iPhone 8 Plus是苹果公司于2017年推出的一款智能手机&#xff0c;它采用了全新的玻璃机身设计&#xff0c;支持无线充电&#xff0c;并且搭载了更强大的A11仿生芯片。 而透明屏则是一种新型的屏幕技术&#xff0c;可以使手机屏幕呈现出透明的效果。 透明屏是一种将屏幕背后的元…...

【前端面试手撕题】instanceof、Array.map、Array.filter、Array.reduce、_objectCreate

FED6 instanceof 描述 请补全JavaScript代码&#xff0c;要求以Boolean的形式返回第一个实例参数是否在第二个函数参数的原型链上。 <!DOCTYPE html> <html><head><meta charset"UTF-8"><style>/* 填写样式 */</style> </h…...

8.物联网操作系统之事件标志组

。事件标志组定义 FreeRTOS事件标志组介绍 FreeRTOS事件标志组工作原理 一。事件标志组定义 信号量信号量只能实现任务与单个事件或任务间的同步。但是某些任务可能会需要与多个事件或任务进行同步&#xff0c;此时就可以使用事件标志组来解决。事件标志组能够实现某个任务与…...

[腾讯云Cloud Studio实战训练营]无门槛使用GPT+Cloud Studio辅助编程完成Excel自动工资结算

目录 前言一、Cloud Studio产品介绍1.1 注册Cloud Studio 二、项目实验2.1 选择合适的开发环境2.2 实验项目介绍2.3 实验步骤三、总结 前言 chatgpt简单介绍: ChatGPT是一种基于GPT的自然语言处理模型&#xff0c;专门用于生成对话式文本。它是OpenAI于2021年发布的&#xff0…...

局域网ssh登录windows自带Linux系统(WSL)踩坑记录

局域网ssh登录windows自带Linux系统&#xff08;WSL&#xff09;踩坑记录 系统和工具安装查看IPLinux用户和端口设置Windows ssh 登录Mac ssh 登录 系统和工具安装 先按照网上的教程安装好Linux系统&#xff08;一般都是安装Ubuntu&#xff09;&#xff0c;安装好ssh等工具&am…...

Switch大气层系统终极指南:从零开始安装到完整自定义的完整教程

Switch大气层系统终极指南&#xff1a;从零开始安装到完整自定义的完整教程 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 想要让你的Switch焕发新生&#xff0c;享受官方系统无法提供的强…...

Axios 爆高危 RCE 漏洞 CVE-2026-40175:原理、PoC 利用与全网修复方案

2026年4月9日&#xff0c;全球最流行的JavaScript HTTP客户端Axios发布紧急安全更新&#xff0c;修复了编号为CVE-2026-40175的高危漏洞。该漏洞CVSS评分高达9.9/10&#xff0c;影响所有0.x和1.x版本&#xff0c;周下载量超过1亿次的庞大用户群体瞬间暴露在风险之中。与此前的供…...

GLM-4-9B-Chat-1M效果展示:100万token下跨章节逻辑推理能力实测

GLM-4-9B-Chat-1M效果展示&#xff1a;100万token下跨章节逻辑推理能力实测 1. 引言&#xff1a;当大模型遇上“超长待机” 想象一下&#xff0c;你手里有一本300页的小说&#xff0c;或者一个包含几十个文件的代码项目。你想让AI帮你分析整个故事的情节脉络&#xff0c;或者…...

【零日对抗样本防御白皮书】:基于动态梯度掩蔽+可信执行环境(TEE)的AIAgent双模防护架构(附GitHub开源验证代码)

第一章&#xff1a;AIAgent架构中的对抗样本防御 2026奇点智能技术大会(https://ml-summit.org) 在AIAgent系统中&#xff0c;对抗样本并非边缘威胁&#xff0c;而是影响决策链路完整性的结构性风险。当多模态感知模块&#xff08;如视觉编码器、语音转文本模型&#xff09;与…...

报价单外发失控:商业机密是怎么从邮件里流出去的

报价单发出去三天后&#xff0c;老板让我查一下那家客户——说采购在问能不能再降三个点。 我心里咯噔一下。 那份报价单我亲手发的&#xff0c;PDF格式&#xff0c;对方说"收到啦谢谢"&#xff0c;然后就没有然后了。结果现在采购开口就是三个点&#xff0c;明显是知…...

大数据分布式集群搭建与运维基础

前言在数字化高速发展的今天&#xff0c;大数据已经成为企业核心竞争力的重要组成部分。大数据分布式集群作为存储与计算海量数据的基础平台&#xff0c;其搭建、配置、管理与稳定运行&#xff0c;是大数据运维工作的重中之重。对于初学者而言&#xff0c;环境搭建复杂、网络异…...

电工接线仿真软件 下载即用无需联网 支持本地自定义操作

温馨提示&#xff1a;文末有资源获取方式免电工接线仿真软件介绍这款电工接线仿真软件免版本&#xff0c;专为安卓用户打造&#xff0c;无需联网即可使用&#xff0c;所有功能均支持本地自定义操作。 软件完全离线运行&#xff0c;杜绝网络限制&#xff0c;真正实现即装即用&am…...

3步如何从视频中自动提取PPT幻灯片?智能识别技术揭秘

3步如何从视频中自动提取PPT幻灯片&#xff1f;智能识别技术揭秘 【免费下载链接】extract-video-ppt extract the ppt in the video 项目地址: https://gitcode.com/gh_mirrors/ex/extract-video-ppt 还在为手动截图视频中的PPT而烦恼吗&#xff1f;每次观看在线课程或…...

web后端python安全-总结

Python的import关键字--不⽤⾃⼰从零写功能&#xff0c;直接⽤别⼈封装好的成熟代码。 写爬⾍不⽤⾃⼰写⽹络请求代码&#xff0c;导⼊requests库就能直接⽤Python爬⾍编写&#xff08;爬⽹络数字的工具&#xff09;Python Web 后端80% 的漏洞来自注入、越权、明文密码、配置泄…...

用TranslateGemma搭建私有翻译系统:数据安全,响应快速,效果稳定

用TranslateGemma搭建私有翻译系统&#xff1a;数据安全&#xff0c;响应快速&#xff0c;效果稳定 1. 为什么选择本地化翻译系统&#xff1f; 在当今全球化的工作环境中&#xff0c;高效准确的翻译工具已成为刚需。然而&#xff0c;传统的云端翻译服务存在几个关键痛点&…...