引言
大家好,我是微信公众号【AI安全这点事】的小编,对AI和安全感兴趣的朋友,欢迎关注公众号,点赞推荐文章。我们经常阅读有关预训练大型语言模型 (LLM) 的文章,但我们很少看到在训练过程中如何计算损失函数的可视化。本文将尝试分解和可视化如何计算通用 LLM 的损失。损失函数确定如何计算梯度以在训练期间更新权重。了解它们是如何计算的,这将使我们能够了解模型是如何学习的。
LLM如何生成文本
图1
一般来说,如图 1 所示,LLM 接受一系列标记作为输入,将它们通过其模型层传递,并输出一系列 logit。Logits 将具有其词汇量的大小。使用 Softmax 函数,我们可以将 logits 转换为多类概率。在这种情况下,“类”将是模型词汇表中的标记或“单词”。
图2
例如,如果模型词汇表有 10 个单词,我们将有一个最多 10 个的词汇标记索引,如图 2 的 Vocab 表所示。多类概率向量将由对应于 10 个标记索引中的每一个的概率组成,如图所示。这个单词概率表示模型“认为”该单词应该在该位置生成的可能性有多大。一种简单的生成方式是 “贪婪解码”,