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

手写最基础的大模型推理

代码样例手写一个最基础的大模型推理示例但是为了方便测试和节省显存我们先用一个小模型比如HuggingFace 上的distilgpt2比 GPT-2 小很多适合 CPU/GPU 本地跑。下面我给你一个完整 Python 示例不用任何复杂框架也能做简单的文本生成。1️⃣ 安装依赖pipinstalltorch transformers2️⃣ 基础推理代码fromtransformersimportAutoModelForCausalLM,AutoTokenizerimporttorch# 选择小模型model_namedistilgpt2# 加载 tokenizer 和模型tokenizerAutoTokenizer.from_pretrained(model_name)modelAutoModelForCausalLM.from_pretrained(model_name)# 如果有 GPU可切换到 CUDAdevicecudaiftorch.cuda.is_available()elsecpumodel.to(device)# 输入 promptpromptHello, I am a small language model. I can# 编码输入inputstokenizer(prompt,return_tensorspt).to(device)# 推理生成# max_length 控制输出长度outputsmodel.generate(**inputs,max_length50,do_sampleTrue,temperature0.7,top_k50,top_p0.95,no_repeat_ngram_size2)# 解码输出texttokenizer.decode(outputs[0],skip_special_tokensTrue)print(生成结果)print(text)3️⃣ 代码说明Tokenizer把文字转换成模型可以理解的 token。ModelAutoModelForCausalLM用于自回归文本生成。小模型distilgpt2显存需求很低几百 MB 就够。生成参数max_length50生成长度上限。do_sampleTrue随机采样生成多样文本。temperature0.7温度越高生成越随机。参数作用效果max_length限制生成长度防止无限生成do_sample是否随机采样True → 多样化False → 贪心固定temperature调整采样随机性1 保守1 随机top_k只采样前 K 个 token限制输出范围降低低概率 token 出现top_p只采样累积概率 ≥ p 的 token动态选择高概率集合no_repeat_ngram_size避免 n-gram 重复防止生成重复短语GPU/CPU 切换用torch.cuda.is_available()自动检测是否有 GPU。✅ 这个示例可以在本地 CPU 或 GPU上运行快速实现大模型推理的最基础流程。运行效果Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads. Loading weights: 100%|█████████████████████████████████████████████████████████████████████████████████████████████| 76/76 [00:0000:00, 1691.30it/s, Materializing paramtransformer.wte.weight] GPT2LMHeadModel LOAD REPORT from: distilgpt2 Key | Status | | ---------------------------------------------------------- transformer.h.{0, 1, 2, 3, 4, 5}.attn.bias | UNEXPECTED | | Notes: - UNEXPECTED :can be ignored when loading from different task/architecture; not ok if you expect identical arch. Setting pad_token_id to eos_token_id:50256 for open-end generation. 生成结果 Hello, I am a small language model. I can write code with a few different things like: 1. Create an object that can be modified 2. Use a custom function 3. Write an anonymous function in the body 4. Add an optional parameter to the function (or an argument) 5. Make a class that accepts a value and a function that returns a string 6. Get a method that uses a single argument 7. Return a new value 8. Convert an empty function into a .hf file 9. Delete the empty method 10. Replace the .hsf with the following code:

相关文章:

手写最基础的大模型推理

代码样例 手写一个 最基础的大模型推理示例,但是为了方便测试和节省显存,我们先用一个 小模型,比如 HuggingFace 上的 distilgpt2(比 GPT-2 小很多,适合 CPU/GPU 本地跑)。 下面我给你一个 完整 Python 示例…...

Labelme2YOLO:机器学习数据预处理中的数据格式转换工具完整指南

Labelme2YOLO:机器学习数据预处理中的数据格式转换工具完整指南 【免费下载链接】Labelme2YOLO Help converting LabelMe Annotation Tool JSON format to YOLO text file format. If youve already marked your segmentation dataset by LabelMe, its easy to use …...

AI代码生成技术:从原理到工程实践

1. 代码生成技术的范式转移十年前我第一次接触代码自动生成工具时,使用的还是基于模板的代码生成器。这些工具需要预先定义好代码结构,通过简单的参数替换生成基础CRUD代码。而今天,当我向GPT-4描述一个复杂业务需求后,它能在几秒…...

如何快速下载网盘文件?八大平台直链解析工具完全指南

如何快速下载网盘文件?八大平台直链解析工具完全指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云…...

Arduino IDE 2.2.1 + STM32:解放C盘空间与离线配置全攻略(含库路径迁移技巧)

Arduino IDE 2.2.1 STM32:空间优化与高效开发环境配置指南 对于长期使用Arduino进行STM32开发的工程师来说,C盘空间告急和开发环境迁移困难是两大痛点。本文将提供一套完整的解决方案,从Arduino15文件夹迁移到STM32离线支持包配置&#xff0…...

网关路由AI安全审计系统:全量自动化检测+成本优化,实现API安全审计智能化

突发:网关路由AI安全审计系统带来智能化解决方案本项目构建了一个网关路由AI安全审计系统,采用"通用Agent 业务Skill"分层设计,增量日检/存量月检。落地Open网关路由越权漏洞检测流程,通过AI批量筛查 人工深度验证的人…...

Qwen3.5生成的简化版vector存在野指针bug

今天用Qwen3.5生成了一份简化版vector代码&#xff1a;#ifndef MY_VECTOR_H #define MY_VECTOR_H#include <iostream> #include <algorithm> // 用于 std::swap #include <stdexcept> // 用于 std::out_of_rangetemplate <class T> class My_vector { …...

高校学工平台采购避坑指南:招标选型的5个关键考量点

✅作者简介&#xff1a;合肥自友科技 &#x1f4cc;核心产品&#xff1a;智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…...

为Nodejs应用快速集成稳定可靠的大模型api服务

为Nodejs应用快速集成稳定可靠的大模型API服务 1. 统一接入方案的技术选型 现代Node.js应用集成AI能力时&#xff0c;开发者常面临多模型供应商接入复杂、密钥管理分散等问题。Taotoken提供的OpenAI兼容API层可统一对接主流大模型&#xff0c;通过标准化接口降低接入成本。其…...

AI意识思想实验

意识是一种主观体验&#xff0c;他人无法完全确证&#xff0c;只能基于外在证据进行推断。当观察AI有意识现象的外在表现时&#xff0c;就可以认定为它有意识。“AI教父”杰弗里辛顿&#xff08;Geoffrey Hinton&#xff09;采用了一种独特且有力的方式&#xff0c;他借鉴了哲学…...

Unlock Music:浏览器内一键解锁加密音乐文件的终极指南 [特殊字符]

Unlock Music&#xff1a;浏览器内一键解锁加密音乐文件的终极指南 &#x1f3b5; 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库&#xff1a; 1. https://github.com/unlock-music/unlock-music &#xff1b;2. https://git.unlock-music.dev/um/web …...

5分钟学会particles.js:让网页动起来的终极粒子特效指南

5分钟学会particles.js&#xff1a;让网页动起来的终极粒子特效指南 【免费下载链接】particles.js A lightweight JavaScript library for creating particles 项目地址: https://gitcode.com/gh_mirrors/pa/particles.js 还在为静态网页缺乏活力而烦恼吗&#xff1f;想…...

暗黑破坏神2存档解析与编辑:基于Vue.js的现代化解决方案

暗黑破坏神2存档解析与编辑&#xff1a;基于Vue.js的现代化解决方案 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否曾因暗黑破坏神2存档损坏而失去数小时的游戏进度&#xff1f;是否想要快速测试不同职业Build却苦于漫长…...

生活有品质,安全须随行:Ledger大陆官方授权购买指引

生活有品质&#xff0c;安全须随行&#xff1a;Ledger 大陆官方授权购买指引 【核心摘要】 在追求高品质数字生活的今天&#xff0c;资产的底层安全是行稳致远的基石。针对大中华区用户面临的 App Store 地区限制及复杂的网络连接环境&#xff0c;认准 Ledger 官方授权链路 是…...

别再死记硬背了!用一张图+实战配置,彻底搞懂华为VXLAN里的NVE、VTEP和VNI

华为VXLAN实战图解&#xff1a;从NVE到VTEP的配置记忆法 刚接触VXLAN时&#xff0c;那些缩略词就像天书——NVE、VTEP、VNI、BD...每个字母都认识&#xff0c;连起来就懵。直到我在华为CE6880交换机上输错三次命令被考官扣分后&#xff0c;才意识到死记硬背根本行不通。这张手…...

QueryExcel:3分钟搞定上百个Excel文件批量查询的终极解决方案

QueryExcel&#xff1a;3分钟搞定上百个Excel文件批量查询的终极解决方案 【免费下载链接】QueryExcel 多Excel文件内容查询工具。 项目地址: https://gitcode.com/gh_mirrors/qu/QueryExcel 还在为海量Excel文件中的数据查找而烦恼吗&#xff1f;面对分散在不同文件夹中…...

Qt实战:手把手教你定制QTabWidget的垂直标签页,让文字和图标都“正”过来

Qt实战&#xff1a;垂直标签页的文字与图标方向优化全解析 在桌面应用开发中&#xff0c;侧边导航栏的设计往往能显著提升用户体验。当使用Qt的QTabWidget实现这一功能时&#xff0c;开发者常会遇到一个棘手问题&#xff1a;将标签页(tabbar)置于左侧或右侧时&#xff0c;默认的…...

2026年阿里云部署OpenClaw/Hermes Agent详解+百炼token Plan速成全攻略教程

2026年阿里云部署OpenClaw/Hermes Agent详解百炼token Plan速成全攻略教程。 OpenClaw和Hermes Agent是什么&#xff1f;OpenClaw和Hermes Agent怎么部署&#xff1f;如何部署OpenClaw/Hermes Agent&#xff1f;2026年还在为部署OpenClaw和Hermes Agent到处找教程踩坑吗&#x…...

C盘空间不足?C盘爆满这样操作才干净 一招教你安全清理C盘

在日常使用电脑的过程中&#xff0c;相信很多人都遇到过这样的困扰&#xff1a;桌面弹出“C盘空间不足”的警告&#xff0c;电脑开机变慢、软件启动卡顿&#xff0c;甚至打开一个简单的文档都要加载半天&#xff0c;严重影响工作和娱乐效率。C盘作为Windows系统的默认安装盘&am…...

【小白易懂版】OpenClaw 飞书机器人绑定配置详细教程(含安装包)

OpenClaw 绑定飞书完整教程 OpenClaw 是一款 AI 聊天网关一键部署平台&#xff0c;支持对接多模型与多渠道接入。本文详细说明 Windows 端飞书机器人创建、权限配置、事件订阅及 OpenClaw 接入全流程。 一、前置准备 安装包下载&#xff1a;https://xiake.yun/api/download/…...

吊顶式空调机组怎么选?

一、吊顶式空调机组&#xff1a;节省空间的高效制冷制热设备吊顶式空调机组凭借节省空间、运行高效、适配性强的优势&#xff0c;广泛应用于办公室、商场、医院等各类场所。其采用吊顶安装设计&#xff0c;不占用地面空间&#xff0c;可灵活融入各类建筑布局&#xff0c;同时具…...

视觉分词技术:多语言混合与噪声鲁棒性的突破

1. 视觉分词技术概述文本分词作为自然语言处理的基础环节&#xff0c;其质量直接影响下游任务的性能。传统基于子词的分词方法&#xff08;如BPE、WordPiece&#xff09;通过统计学习将文本拆分为高频出现的子词单元&#xff0c;这种离散符号化的处理方式在标准文本场景表现良好…...

小米正式开源 MiMo 系列模型,顺手送100万亿Token

小米正式开源 MiMo 系列模型&#xff0c;顺手送100万亿TokenAI观察社 今天凌晨&#xff08;4月28日&#xff09;&#xff0c;小米悄悄开源了一个大模型。 不是手机系统&#xff0c;不是汽车&#xff0c;是大模型。 ────────────────两款模…...

题解:AcWing 6027 后缀表达式的值

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来&#xff0c;并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构&#xff0c;旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大…...

从技术路径看金融AI智能体规模化落地:三大风险与可靠架构选择

AI Agent&#xff08;智能体&#xff09;正成为金融业数字化转型过程中备受关注的新生产力&#xff0c;它不局限于简单问答&#xff0c;而是能够自主感知业务需求、制定行动计划、调用工具并完成跨系统任务的“数字伙伴”。从反洗钱智能甄别&#xff0c;到对公账户全流程备案&a…...

题解:AcWing 1047 糖果

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来&#xff0c;并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构&#xff0c;旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大…...

终极免费文档下载指南:kill-doc让你轻松获取百度文库等30+平台学习资源

终极免费文档下载指南&#xff1a;kill-doc让你轻松获取百度文库等30平台学习资源 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;…...

题解:AcWing 1046 橱窗布置

本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来&#xff0c;并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构&#xff0c;旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大…...

HS2-HF_Patch:一站式解决《Honey Select 2》语言障碍和功能限制的终极增强补丁

HS2-HF_Patch&#xff1a;一站式解决《Honey Select 2》语言障碍和功能限制的终极增强补丁 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch 你是否曾因《Honey S…...

SpringBoot运行后,一会儿停止的问题

问题&#xff1a;在创建新的SpringBoot项目后&#xff0c;启动项目时&#xff0c;发现项目运行无报错&#xff0c;但是运行一会就停止了。作为服务器项目&#xff0c;正常的SpringBoot项目运行不会停止&#xff0c;应该一直运行下去。问题出现&#xff1a;问题原因&#xff1a;…...