通常情况下, 会根据模型拥有的层数(Llama 3 8b模型使用了32层)在之前的步骤 上重复运行操作,但使用的是不同的权重矩阵 。 Llama的输出仅是一个 单独的线性层 。
# first we norm the residual state
final_norm = RMSNorm(d)
out_normed = final_norm(out)
# then multiply by the linear layer to get our final output logits
final_output = nn.Linear(d, v, bias=False)
logits = final_output(out_normed).float()
logits.shape, logits
这段代码演示了 从归一化残差状态到生成最终输出(logits)的步骤。以下是代码的详细解释:
运行结果为
(torch.Size([1, 5, 10]),
tensor([[[-2.3261e-01, 3.8329e-01, 2.5670e-01, 1.6531e-01, -1.0194e+00,
-4.3299e-01, -4.1139e-01, 4.0203e-01, 2.1228e-02, 2.4993e-01],
[-1.2060e-01, -4.0359e-01, -2.0300e-01, 1.1591e-01, -7.0513e-01,
-2.5591e-04, 1.7559e-01, 1.0746e-01, -8.25e-01, 4.5576e-01],
[-3.1556e-02, 2.8738e-01, -5.06e-01, 6.5017e-02, -4.50e-01,
-6.8637e-01, 6.5953e-02, -1.1696e-01, 2.1315e-01, 6.1527e-01],
[-1.0283e-01, 3.3521e-01, -4.4820e-01, 1.7770e-01, -4.5767e-01,
-7.24e-01, 1.1968e-01, -1.8656e-01, 2.7823e-01, 5.3601e-01],
[-8.7929e-01, 4.0656e-03, 2.01e-01, -2.2597e-01, 4.3993e-01,
7.5321e-01, 6.8830e-02, -2.8203e-01, -3.8023e-01, -1.5378e-01]]],
grad_fn=<UnsafeViewBackward0>))
# softmax the logits to get the probability for each token's prediction across every token in the sequence
probs = F.softmax(logits, dim=-1)
probs
tensor([[[0.0777, 0.1438, 0.1267, 0.1156, 0.03, 0.0636, 0.09, 0.1465,
0.1001, 0.1258],
[0.0952, 0.0718, 0.0877, 0.1206, 0.0531, 0.1074, 0.1281, 0.1196,
0.0470, 0.1695],
[0.0957, 0.1316, 0.0567, 0.1053, 0.0629, 0.0497, 0.10, 0.0878,
0.1222, 0.1826],
[0.0881, 0.1366, 0.0624, 0.1167, 0.0618, 0.0473, 0.1101, 0.0811,
0.1290, 0.1669],
[0.0392, 0.0948, 0.1260, 0.0753, 0.1465, 0.2005, 0.1011, 0.0712,
0.05, 0.0809]]], grad_fn=<SoftmaxBackward0>)
# Greedily decode the probabilities to get our final predicted indices
greedy_indices = torch.argmax(probs, dim=-1)
greedy_indices
# if we were performing inference rather than training, that final token in the list would be the one to show the user
运行结果为:
tensor([[7, 9, 9, 9, 5]])
这段代码演示了如何从模型输出的 logits 转换为概率分布,并基于这些概率进行贪婪解码以得到最终预测的标记索引。以下是代码的详细解释:
应用softmax函数:
probs = F.softmax(logits, dim=-1)
这一行使用 PyTorch 的 softmax
函数沿最后一个维度(dim=-1
)对 logits 进行操作,将它们转换为概率分布。这会为序列中每个位置的每个标记生成概率。输出概率分布:
probs
张量将包含转换为概率后的结果,其形状与 logits 相同,但数值范围在0到1之间,并在每个序列位置上归一化为概率分布。贪婪解码:
greedy_indices = torch.argmax(probs, dim=-1)
这一行使用 argmax
函数沿最后一个维度贪婪地选择概率最高的标记索引。这相当于对每个位置选择概率最高的标记作为预测。输出预测的标记索引:
greedy_indices
张量将包含序列中每个位置预测的最高概率标记的索引。示例输出:
logits
的形状是 (batch_size, seq_len, v)
,那么 probs
和 greedy_indices
的形状也将是 (batch_size, seq_len, v)
。probs
将包含概率值,而 greedy_indices
将包含每个位置最可能的标记的索引。greedy_indices
张量在模型训练期间通常用于计算损失,而在推理(inference)阶段,它代表了模型对序列中每个位置的预测。
使用, 奖励单个正确的值,并抑制所有其他值
# create some random fake target indices to train on
target_token_indices = torch.randint(0, v, greedy_indices.shape)
print(target_token_indices)
# initialize the loss function
loss_fn = nn.CrossEntropyLoss()
# reshape logits to be compatible and calculate loss
loss = loss_fn(logits.view(1,v,seq_len), target_token_indices)
print(loss)
创建随机目标索引:
target_token_indices = torch.randint(0, v, greedy_indices.shape)
这一行创建了一个与 greedy_indices
形状相同的随机张量,其中的值从0到 v-1
之间随机选择,v
是词汇表的大小。这个随机张量模拟了训练过程中的目标数据。打印目标索引:
print(target_token_indices)
打印出创建的随机目标标记索引。初始化损失函数:
loss_fn = nn.CrossEntropyLoss()
创建了一个交叉熵损失函数实例,这是分类问题中常用的损失函数。重塑logits并计算损失:
loss = loss_fn(logits.view(1,v,seq_len), target_token_indices)
这一行首先将 logits
重塑为适合损失函数计算的形状 (1, v, seq_len)
,其中 v
是词汇表大小,seq_len
是序列长度。然后,使用重塑后的logits和目标索引 target_token_indices
计算损失。打印损失值:
print(loss)
打印出计算得到的损失值。运行结果为
tensor([[9, 1, 6, 7, 3]])
tensor(2.1829, grad_fn=<NllLoss2DBackward0>)
这些都是Llama 3执行的所有基本计算,其中大多数与Grok、Mixtral或Gemini等其他开源LLM没有任何不同(Llama与Gemini最相似,因为Mixtral和Grok使用用于它们的前馈网络)
模块一:Generative AI 原理本质、技术内核及工程实践周期详解
模块二:工业级 Prompting 技术内幕及端到端的基于LLM 的会议助理实战
模块三:三大 Llama 2 模型详解及实战构建安全可靠的智能对话系统
模块四:生产环境下 GenAI/LLMs 的五大核心问题及构建健壮的应用实战
模块五:大模型应用开发技术:Agentic-based 应用技术及案例实战
模块六:LLM 大模型微调及模型 Quantization 技术及案例实战
模块七:大模型高效微调 PEFT 算法、技术、流程及代码实战进阶
模块八:LLM 模型对齐技术、流程及进行文本Toxicity 分析实战
模块九:构建安全的 GenAI/LLMs 核心技术Red Teaming 解密实战
模块十:构建可信赖的企业私有安全大模型Responsible AI 实战
1、Llama开源模型家族大模型技术、工具和多模态详解:学员将深入了解Meta Llama 3的创新之处,比如其在语言模型技术上的突破,并学习到如何在Llama 3中构建trust and safety AI。他们将详细了解Llama 3的五大技术分支及工具,以及如何在AWS上实战Llama指令微调的案例。
2、解密Llama 3 Foundation Model模型结构特色技术及代码实现:深入了解Llama 3中的各种技术,比如Tiktokenizer、KV Cache、Grouped Multi-Query Attention等。通过项目二逐行剖析Llama 3的源码,加深对技术的理解。
3、解密Llama 3 Foundation Model模型结构核心技术及代码实现:SwiGLU Activation Function、FeedForward Block、Encoder Block等。通过项目三学习Llama 3的推理及Inferencing代码,加强对技术的实践理解。
4、基于LangGraph on Llama 3构建Responsible AI实战体验:通过项目四在Llama 3上实战基于LangGraph的Responsible AI项目。他们将了解到LangGraph的三大核心组件、运行机制和流程步骤,从而加强对Responsible AI的实践能力。
5、Llama模型家族构建技术构建安全可信赖企业级AI应用内幕详解:深入了解构建安全可靠的企业级AI应用所需的关键技术,比如Code Llama、Llama Guard等。项目五实战构建安全可靠的对话智能项目升级版,加强对安全性的实践理解。
6、Llama模型家族Fine-tuning技术与算法实战:学员将学习Fine-tuning技术与算法,比如Supervised Fine-Tuning(SFT)、Reward Model技术、PPO算法、DPO算法等。项目六动手实现PPO及DPO算法,加强对算法的理解和应用能力。
7、Llama模型家族基于AI反馈的强化学习技术解密:深入学习Llama模型家族基于AI反馈的强化学习技术,比如RLAIF和RLHF。项目七实战基于RLAIF的Constitutional AI。
8、Llama 3中的DPO原理、算法、组件及具体实现及算法进阶:学习Llama 3中结合使用PPO和DPO算法,剖析DPO的原理和工作机制,详细解析DPO中的关键算法组件,并通过综合项目八从零开始动手实现和测试DPO算法,同时课程将解密DPO进阶技术Iterative DPO及IPO算法。
9、Llama模型家族Safety设计与实现:在这个模块中,学员将学习Llama模型家族的Safety设计与实现,比如Safety in Pretraining、Safety Fine-Tuning等。构建安全可靠的GenAI/LLMs项目开发。
10、Llama 3构建可信赖的企业私有安全大模型Responsible AI系统:构建可信赖的企业私有安全大模型Responsible AI系统,掌握Llama 3的Constitutional AI、Red Teaming。
一、为何Sora通往AGI道路的里程碑?
1,探索从大规模语言模型(LLM)到大规模视觉模型(LVM)的关键转变,揭示其在实现通用人工智能(AGI)中的作用。
2,展示Visual Data和Text Data结合的成功案例,解析Sora在此过程中扮演的关键角色。
3,详细介绍Sora如何依据文本指令生成具有三维一致性(3D consistency)的视频内容。 4,解析Sora如何根据图像或视频生成高保真内容的技术路径。
5,探讨Sora在不同应用场景中的实践价值及其面临的挑战和局限性。
二、解码Sora架构原理
1,DiT (Diffusion Transformer)架构详解
2,DiT是如何帮助Sora实现Consistent、Realistic、Imaginative视频内容的?
3,探讨为何选用Transformer作为Diffusion的核心网络,而非技术如U-Net。
4,DiT的Patchification原理及流程,揭示其在处理视频和图像数据中的重要性。
5,Conditional Diffusion过程详解,及其在内容生成过程中的作用。
三、解码Sora关键技术解密
1,Sora如何利用Transformer和Diffusion技术理解物体间的互动,及其对模拟复杂互动场景的重要性。
2,为何说Space-time patches是Sora技术的核心,及其对视频生成能力的提升作用。
3,Spacetime latent patches详解,探讨其在视频压缩和生成中的关键角色。
4,Sora Simulator如何利用Space-time patches构建digital和physical世界,及其对模拟真实世界变化的能力。
5,Sora如何实现faithfully按照用户输入文本而生成内容,探讨背后的技术与创新。
6,Sora为何依据abstract concept而不是依据具体的pixels进行内容生成,及其对模型生成质量与多样性的影响。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igbc.cn 版权所有 湘ICP备2023023988号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务