This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
炼丹之道,贵在明晰:
训练任何模型,只要清楚这两个问题,就能愉快地开启炼丹之旅。
LLM,即大语言模型,本质上是一个“token接龙”高手,它不断预测下一个词符。这种推理生成方式被称为自回归模型,因为模型的输出会作为下一轮的输入,形成一个循环。
想象一下,一个初出茅庐的随机大模型,面对输入,它预测的下一个字符完全是随机的,就像在词表中随意指点江山。它对输入与下一个词符之间的联系一无所知,如同一个懵懂的孩童。
那么,它是如何学习的呢?在自注意力机制中,通过为qk增加掩码,softmax后将负无穷对应到0,隐藏掉n字符以后的内容。这样,输出的第n+1个字符只能关注到前n个字符,如同戴上了一副“只看过去”的眼镜。
有了明确的输入、输出和损失函数,再加上并行化的助力,我们就可以愉快地开始炼丹了。大模型从一个随机混沌的状态,逐渐学会输入与下一个词符之间的潜在联系。它预测下一个词的能力越来越娴熟,水平越来越高,仿佛从一个懵懂的孩童成长为一位博学的智者。
当然,以上只是为了便于理解而抽象出来的过程。实际上,大模型的输入是由数字组成的张量,而非自然语言字符。自然语言通过tokenizer(可以理解为一种词典)映射到词典的页码数字,进行输入计算。得到的输出数字再利用词典进行解码,重新得到自然语言。输出同样是一个N*len(tokenizer)的多分类概率张量,在Topk中选出的有概率的token,得到下一个词。损失函数则通过交叉熵损失函数进行计算。
Deleting the wiki page "Home" cannot be undone. Continue?