大模型单次预测下一个token的过程分析,帮助理解model.generate

大模型单次预测下一个token的过程分析,帮助理解model.generate

from transformers import AutoModelForCausalLM, AutoTokenizer, AutoModel
from transformers.modeling_outputs import CausalLMOutputWithPast
device = "cuda" # the device to load the model ontompath='Models/Qwen2-1.5B-Instruct'
model = AutoModelForCausalLM.from_pretrained(mpath,torch_dtype="auto",device_map="auto"
)tokenizer = AutoTokenizer.from_pretrained(mpath)prompt = "Give me a short introduction to large language model."
messages = [{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(messages,tokenize=False,add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(device)print(model_inputs)
print(model_inputs['input_ids'].shape)
res=model(input_ids=model_inputs['input_ids'])print(type(res))
print(res.logits.shape)logg=res.logits[:,-1,:]
print(logg.shape)import torch
import torch.nn.functional as F
# 计算softmax
softmax_probs = F.softmax(logg, dim=1)# 获取最大概率的索引
max_index = torch.argmax(softmax_probs, dim=1)
print(max_index)# 将索引解码为文本
decoded_text = tokenizer.decode(max_index)print(decoded_text)

输出结果如下

{'input_ids': tensor([[151644,   8948,    198,   2610,    525,    264,  10950,  17847,     13,151645,    198, 151644,    872,    198,  35127,    752,    264,   2805,16800,    311,   3460,   4128,   1614,     13, 151645,    198, 151644,77091,    198]], device='cuda:0'), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1]], device='cuda:0')}
torch.Size([1, 29])
<class 'transformers.modeling_outputs.CausalLMOutputWithPast'>
torch.Size([1, 29, 151936])
torch.Size([1, 151936])
tensor([32], device='cuda:0')
A

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

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

相关文章

【PLG洞察】|向Figma学习如何打造标杆客户和实施分销策略

Figma是一款功能强大的在线协同设计工具&#xff0c;它主要被用于界面设计、原型设计和用户体验设计。作为国外知名的saas企业&#xff0c;对标国内的saas蓝海&#xff0c;它的增长实在惊人&#xff01;据称&#xff0c;Figma2020年的收入已达$75M, 2021年6月&#xff0c;美国的…

springSecurity学习笔记(一)

简介 Spring Security是一个Java框架&#xff0c;用于保护应用程序的安全性。它提供了一套全面的安全解决方案&#xff0c;包括身份验证、授权、防止攻击等功能。Spring Security基于过滤器链的概念&#xff0c;可以轻松地集成到任何基于Spring的应用程序中。它支持多种身份验…

没有可用软件包 docker-compose。

在 CentOS 上安装 docker-compose 时,如果遇到“没有可用软件包 docker-compose”的问题,可以通过以下步骤手动安装 docker-compose。 下载 docker-compose 二进制文件 首先,下载最新版本的 docker-compose 二进制文件。你可以从 GitHub Releases 页面找到最新版本的下载链接…

海洋CMS /js/player/dmplayer/dmku/ SQL注入漏洞复现(CVE-2024-29275)

0x01 产品简介 海洋CMS是一套专为不同需求的站长而设计的内容管理系统&#xff0c;灵活、方便、人性化设计、简单易用是最大的特色&#xff0c;可快速建立一个海量内容的专业网站。海洋CMS基于PHPMySql技术开发&#xff0c;完全开源免费 、无任何加密代码。 0x02 漏洞概述 海…

Jsch上传本地目录文件到服务器

文章目录 1.Jsch简介1.1 什么是Jsch1.2 Jsch使用步骤和简单示例 2.技术关键点3.Jsch实战3.1 maven依赖3.2 功能实现3.3 效果3.4 封装工具类 4.总结 摘要: 在一些框架开发工作中&#xff0c;需要为项目使用说明文档&#xff0c;来指导用户如何正确使用框架。比如通过markdown编写…

Python 模块之 Pywin32 模块入门

文章目录 版本1. Windows API 是什么2. Pywin32 模块是什么2.1 Pywin32 中的常用模块2.1.1 win32api2.1.2 win32con2.1.3 win32gui2.1.4 win32file2.1.5 win32registry 实现一个循环模拟点击功能 其它总结个人简介 版本 Python 3.x 1. Windows API 是什么 Windows API&#…

一文搞懂阻塞赋值和非阻塞赋值

目录 2.非阻塞赋值举例3.阻塞赋值举例4.总结 微信公众号获取更多FPGA相关源码&#xff1a; # 1.阻塞赋值和非阻塞赋值的区别&#xff1a; (1)阻塞赋值""&#xff0c;必须是阻塞赋值完成后&#xff0c;才进行下一条语句的执行&#xff1b;赋值一旦完成&#xff0c;等号…

MyBatis与MySql关系阐述

MyBatis是一个持久层&#xff08;persistence layer&#xff09;框架&#xff0c;用于简化Java应用程序与关系数据库&#xff08;如MySQL&#xff09;的交互。它通过消除大量冗余的JDBC代码&#xff0c;并提供了一个简单且易于使用的API&#xff0c;使得开发者可以更高效地进行…

pytest+requests+allure自动化测试接入Jenkins学习

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 最近在这整理知识&#xff0c;发现在pytest的知识文档缺少系统性&#xff0c;这里整理一下&…

black-box setting黑盒环境

“Black-box setting” 是一个术语&#xff0c;通常用于描述在机器学习、计算机安全和其他技术领域中的一种情况或设置。 定义和解释&#xff1a; 在技术和研究上&#xff0c;“black-box setting” 指的是对一个系统或模型的操作者来说&#xff0c;该系统或模型的内部工作机…

陕西移动联合中兴通讯,赋能5G RedCap智慧工厂建设

前不久&#xff0c;陕西移动联合中兴通讯、高新兴等产业伙伴在中兴通讯西安智能终端生产基地顺利完成5G RedCap在智慧工厂的应用实践。本次实践证明了5G RedCap在智慧工厂场景下的应用可行性&#xff0c;为RedCap在工业智能制造行业的应用打下基础。   5G RedCap技术是5G-A实现…

【cocos creator 3.x】 修改builtin-unlit 加了一个类似流光显示的mask参数

效果见图&#xff1a; shader 代码修改如下&#xff0c; 主要看 USE_MASK_UVY 关键字部分修改&#xff1a; // Copyright (c) 2017-2020 Xiamen Yaji Software Co., Ltd. CCEffect %{techniques:- name: opaquepasses:- vert: unlit-vs:vertfrag: unlit-fs:fragproperties: &a…

在Android Studio中将某个文件移出Git版本管理

最新在整理代码时发现&#xff0c;local.properties文件开头有这么一段注释&#xff1a; ## This file must *NOT* be checked into Version Control Systems, # as it contains information specific to your local configuration. 大意是这个文件不要加入到版本管理中。 之…

Linux-centos7 nvm使用

NVM下载使用 文件夹创建拉取nvm包在~/.bashrc的末尾&#xff0c;添加如下语句验证nvm是否安装成功 文件夹创建 mkdir /root/home/software/拉取nvm包 cd /root/home/software/ wget https://github.com/nvm-sh/nvm/archive/refs/tags/v0.38.0.tar.gz tar xvzf v0.38.0.tar.g…

MyBatis-Plus整合达梦数据库

文章目录 1. 环境准备2. 创建Spring Boot项目3. 引入依赖4. 配置数据源5. 配置MyBatis-Plus6. 创建实体类7. 创建Mapper接口8. 创建Service类9. 创建Controller类10. 创建Mapper XML文件11. 测试12. 进一步优化12.1 配置分页插件12.2 配置乐观锁插件13. 总结🎉欢迎来到Java学…

【Linux】常见指令的使用

文章目录 which指令stat 指令wc指令echo指令tree 指令whoami指令clear指令alias指令ls指令pwd指令cd 指令touch指令mkdir指令&#xff08;重要&#xff09;rmdir指令 && rm 指令&#xff08;重要&#xff09;man指令&#xff08;重要&#xff09;cp指令&#xff08;重要…

Java课程设计:基于swing的贪吃蛇小游戏

文章目录 一、项目介绍二、核心代码三、项目展示四、源码获取 一、项目介绍 贪吃蛇是一款经典的休闲益智游戏,自问世以来便深受广大用户的喜爱。这个游戏的基本玩法是控制一条不断增长的蛇,目标是吃掉屏幕上出现的食物,同时避免撞到边缘或自身。随着游戏的进行,蛇的身体会越长…

使用Task容易造成程序卡顿

Task虽然方便&#xff0c;据说在多核处理器中有利于提高程序性能。但是使用过程中总是出现莫名奇妙的卡顿&#xff0c;特别是计算机性能不高的时候。多个task偶尔会出现卡顿比较长的时间&#xff0c;才开始执行。不像thread可以立马开始执行。已经在两个项目中遇到类似问题&…

Burp Suite使用及BruteForc_test靶场实战

简介 Burp Suite是用于攻击和测试Web应用程序安全性的集成平台&#xff0c;包含多个协同工作的工具&#xff0c;支持信息共享与复杂攻击。设计有加速攻击流程的接口&#xff0c;所有工具共享强大框架&#xff0c;处理HTTP消息、持久性、认证、代理、日志和警报。主要用于安全性…

grpc代理服务的实现(一)

最近公司需要无感知基于服务代号来实现通信, 并监控和管理通信连接&#xff0c;目前公司使用的是如下的逻辑(当然逻辑简化了&#xff0c;但是思想不变) 目录 简单的原理图代理服务的实现创建 tls tcp 服务, 用于grpc client 和 grpc service 通信保存 与 代理服务建立的 grpc …