中国宁波网宁波新闻网站的优化从哪里进行

张小明 2025/12/27 8:00:00
中国宁波网宁波新闻,网站的优化从哪里进行,原神网页制作素材,写字就能赚钱做网站本文详细解析了大语言模型的核心原理#xff0c;重点介绍了Token的定义与分词过程、Next Token Prediction机制、位置编码的作用以及模型架构。通过nano-GPT代码实例#xff0c;展示了训练与推理阶段的实现差异#xff0c;并解释了温度参数如何控制生成文本的随机性。文章从…本文详细解析了大语言模型的核心原理重点介绍了Token的定义与分词过程、Next Token Prediction机制、位置编码的作用以及模型架构。通过nano-GPT代码实例展示了训练与推理阶段的实现差异并解释了温度参数如何控制生成文本的随机性。文章从基础概念到实践实现为理解大语言模型工作原理提供了系统性的知识框架。什么是 tokentoken是指文本中的一个词或者子词给定一句文本送入语言模型前首先要做的是对原始文本进行tokenize也就是把一个文本序列拆分为离散的token序洌其中tokenize是在无标签的语料上训练得到的一个token数量固定且唯一的分词器这里的token数量就是大家常说的词表英文中的 Token在英文中Token 通常是单词、子词或标点符号。一个单词可能对应一个 Token也可能被拆分为多个 Token。例如“unhappiness” 可能被拆分为 “un”、“happi” 和 “ness”。一般来说1 个 Token 对应 3 至 4 个字母或者约 0.75 个单词。中文中的 Token在中文中Token 通常是单个汉字或经过分词后的词语。例如“人工智能” 可能被拆分为 “人工” 和 “智能”。不同平台对 Token 的定义有所不同。例如通义千问和千帆大模型中 1 Token 等于 1 个汉字而腾讯混元大模型中 1 Token 约等于 1.8 个汉字当我们对文本进行分词后每个token可以对应一个embedding这也就是语言模型中的embedding层获得某个token的embedding就类似一个查表的过程我们知道文本序列是有顺序的而常见的语言模型都是基于注意力机制的transformer结构无法自动考虑文本的前后顺序因此需要自动加上位置编码也就是每个位置有一个位置embedding 然后和对应位置的token embedding进行相加在模型训练或推理阶段大家经常会听到上下文长度这个词它指的是模型训练时接收的token训练的最大长度如果在训练阶段只学习了一个较短长度的位置embedding那模型在推理阶段就不能够适用于较长文本(因为它没见过长文本的位置编码)语言模型的预训练当我们有了token的embedding和位置embedding后将它们送入一个decoder-only的transofrmer模型它会在每个token的位置输出一个对应的embedding(可以理解为就像是做了个特征加工)有了每个token的一个输出embedding后我们就可以拿它来做 next token prediction了其实就是当作一个分类问题来看待:首先我们把输出embedding送入一个线性层输出的维度是词表的大小就是让预测这个token的下一个token属于词表的哪一个为了将输出概率归一化需要再进行一个softmax变换训练时就是最大化这个概率使得它能够预测真实的下一个token推理时就是从这个概率分布中采样下一个token训练阶段: 因为有 因果自注意力Causal Self-Attention的存在我们可以一次性对一整个句子每个token进行下一个token的预测并计算所有位置token的loss因果自注意力通过引入一个“掩码”mask来实现这一机制。具体来说在计算注意力权重时模型会将当前时刻之后的所有位置的注意力权重设置为零。这样模型在预测下一个词时只能基于已经生成的词即前面的词来进行预测。推理阶段:以自回归的方式进行预测其中在预测下一个token时每次我们都有一个概率分布用于采样根据不同场景选择采样策略会略有不同比如有贪婪策略、核采样、Top-k采样等另外经常会看到Temperature这个概念它是用来控制生成的随机性的温度系数越小越稳定。代码实现https://github.com/karpathy/nanoGPT/tree/master对于各种基于Transformer的模型它们都是由很多个Block堆起来的每个Block主要有两个部分组成Multi-headed Causal Self-AttentionFeed-forward Neural Network结构的示意图如下看图搭一下单个Blockclass Block(nn.Module): def __init__(self config): super().__init__() self.ln_1 LayerNorm(config.n_embd biasconfig.bias) self.attn CausalSelfAttention(config) self.ln_2 LayerNorm(config.n_embd biasconfig.bias) self.mlp MLP(config) def forward(self x): x_ x self.attn(self.ln_1(x)) x x self.mlp(self.ln_2(x_)) return x整个nano-GPT的结构class GPT(nn.Module): def __init__(self config): super().__init__() assert config.vocab_size is not None assert config.block_size is not None self.config config self.transformer nn.ModuleDict(dict( wte nn.Embedding(config.vocab_size config.n_embd) wpe nn.Embedding(config.block_size config.n_embd) drop nn.Dropout(config.dropout) h nn.ModuleList([Block(config) for _ in range(config.n_layer)]) ln_f LayerNorm(config.n_embd biasconfig.bias) )) self.lm_head nn.Linear(config.n_embd config.vocab_size biasFalse) # with weight tying when using torch.compile() some warnings get generated: # UserWarning: functional_call was passed multiple values for tied weights. # This behavior is deprecated and will be an error in future versions # not 100% sure what this is so far seems to be harmless. TODO investigate self.transformer.wte.weight self.lm_head.weight # https://paperswithcode.com/method/weight-tying # init all weights self.apply(self._init_weights) # apply special scaled init to the residual projections per GPT-2 paper for pn p in self.named_parameters(): if pn.endswith(c_proj.weight): torch.nn.init.normal_(p mean0.0 std0.02/math.sqrt(2 * config.n_layer))最后一层用来分类的线性层的权重和token embedding层的权重共享。训练和推理的forward首先需要构建token embedding和位置embedding把它们叠加起来后过一个dropout然后就可以送入transformer的block中了。pos torch.arange(0 t dtypetorch.long devicedevice) # shape (t) # forward the GPT model itself tok_emb self.transformer.wte(idx) # token embeddings of shape (b t n_embd) pos_emb self.transformer.wpe(pos) # position embeddings of shape (t n_embd) x self.transformer.drop(tok_emb pos_emb) for block in self.transformer.h: x block(x) x self.transformer.ln_f(x)接下来看推理阶段根据当前输入序列进行一次前向传播利用温度系数对输出概率分布进行调整通过softmax进行归一化从概率分布进行采样下一个token拼接到当前句子并再进入下一轮循环torch.no_grad() def generate(self idx max_new_tokens temperature1.0 top_kNone): Take a conditioning sequence of indices idx (LongTensor of shape (bt)) and complete the sequence max_new_tokens times feeding the predictions back into the model each time. Most likely youll want to make sure to be in model.eval() mode of operation for this. for _ in range(max_new_tokens): # if the sequence context is growing too long we must crop it at block_size idx_cond idx if idx.size(1) self.config.block_size else idx[: -self.config.block_size:] # forward the model to get the logits for the index in the sequence logits _ self(idx_cond) # pluck the logits at the final step and scale by desired temperature logits logits[: -1 :] / temperature # optionally crop the logits to only the top k options if top_k is not None: v _ torch.topk(logits min(top_k logits.size(-1))) logits[logits v[: [-1]]] -float(Inf) # apply softmax to convert logits to (normalized) probabilities probs F.softmax(logits dim-1) # sample from the distribution idx_next torch.multinomial(probs num_samples1) # append sampled index to the running sequence and continue idx torch.cat((idx idx_next) dim1) return idx温度参数Temperature的作用温度参数temperature是一个超参数用于控制生成文本的随机性。它的作用是调整 logits 的分布从而影响最终的概率分布。具体来说temperature 1增加随机性当温度参数大于 1 时会放大 logits 的值使得 logits 的分布更加“平坦”。这意味着在 softmax 转换为概率分布后各个 token 的概率会更加接近从而增加生成结果的随机性。例如假设原始 logits 是[10 20 30]除以温度参数 2 后变为[5 10 15]经过 softmax 后概率分布会更加均匀。temperature 1减少随机性当温度参数小于 1 时会缩小 logits 的值使得 logits 的分布更加“尖锐”。这意味着在 softmax 转换为概率分布后高概率的 token 会更加突出而低概率的 token 的概率会进一步降低从而减少生成结果的随机性。例如假设原始 logits 是[10 20 30]除以温度参数 0.5 后变为[20 40 60]经过 softmax 后概率分布会更加集中在高概率的 token 上。temperature 1保持原始分布当温度参数等于 1 时logits 不变模型的输出概率分布保持原始的预测结果。为什么要调整温度参数增加随机性temperature 1有助于生成更多样化的文本避免模型总是生成相同的、高概率的 token。适用于需要创造性或多样性的场景例如诗歌生成、故事创作等。减少随机性temperature 1有助于生成更稳定、更符合预期的文本减少生成的噪声。适用于需要高准确性的场景例如机器翻译、问答系统等。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】为什么要学习大模型我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年人才缺口已超百万凸显培养不足。随着AI技术飞速发展预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。大模型入门到实战全套学习大礼包1、大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通2、大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。3、AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。4、大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。5、大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。适用人群第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…学习是一个过程只要学习就会有挑战。天道酬勤你越努力就会成为越优秀的自己。如果你能在15天内完成所有的任务那你堪称天才。然而如果你能完成 60-70% 的内容你就已经开始具备成为一名大模型 AI 的正确特征了。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

内蒙建设信息网站秦皇岛市网站制作公司

Axure RP终极汉化指南:3分钟快速实现完美中文界面 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包,不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为…

张小明 2025/12/27 5:03:03 网站建设

html5 mysql 网站开发郑州模板建站

SMBus协议通信帧格式图解说明:从时序到实战,彻底讲透你有没有遇到过这样的场景?系统突然掉电、风扇狂转却查不出原因,或者内存自检失败但硬件看起来完好无损……最后发现,问题竟出在一条不起眼的两根线——SMBus上。在…

张小明 2025/12/27 5:03:03 网站建设

怎样用腾讯云做网站旅游网站开发网站设计报告书

Figma中文插件终极指南:5分钟实现界面完全汉化 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 还在为Figma的英文界面而烦恼吗?每次操作都要反复查阅翻译工具&am…

张小明 2025/12/27 5:03:04 网站建设

做红k线网站网站文章内链怎么做

线性控制系统的可防护与不可防护子空间解析 1. 恶意节点检测测试 为了判断系统中是否存在恶意节点,每个诚实传感器 (i) 会对所报告的测量序列 ({z}) 进行如下测试。当且仅当测试在任意时刻 (t) 失败时,传感器才会判定系统中存在恶意节点。 测试内容为:在每个时刻 (t),检…

张小明 2025/12/27 5:03:04 网站建设

网站改版需要向百度000提交吗网站制作里的更多怎么做

ComfyUI工作流整合Stable Diffusion 3.5 FP8:实现批量生成高效输出 在AIGC内容生产逐渐从“创意实验”迈向“工业流水线”的今天,一个核心挑战日益凸显:如何在不牺牲图像质量的前提下,让像Stable Diffusion这样的大模型跑得更快、…

张小明 2025/12/27 5:03:05 网站建设

做视频网站视频文件都存放在哪如何备份wordpress

高效星露谷农场规划工具:从零开始打造你的完美农场 【免费下载链接】stardewplanner Stardew Valley farm planner 项目地址: https://gitcode.com/gh_mirrors/st/stardewplanner 你是否曾经在星露谷游戏中因为农场布局不合理而浪费宝贵时间?作物…

张小明 2025/12/27 5:03:06 网站建设