站长之家(ChinaZ.com)5月21日 消息:最近,一个教你从头开始实现Llama3的代码库在互联网上爆炸吸引了无数开发者的注意。Andrej,Andrej,知名人工智能专家 Karpathy一键三连(点赞、转发、评论),该项目在社交媒体X上的转赞收藏量超过6.8k,GitHub上收获的星标超过2k。
这个代码库的作者是Nishant Aklecha(以下简称“纳哥”),他详细解释了Llama3模型的实现过程,包括注意机制中多头矩阵乘法、位置编码和所有中间层的详细扩展和解释。换句话说,他解释了每行代码的功能。
Karpathy称赞纳哥是一个“有品质的人”,并指出这样的详细发展比嵌套和调用模块时更容易理解每一步都在做什么。
在运行纳哥提供的文件之前,需要提前下载Meta官方提供的Llama3模型权重。纳哥建议使用简单版本的KarpathyBPE代码进行分词。字节级(byte-level)BPE算法在UTF-8编码字符串上运行,广泛应用于大模型分词。Karpathy提供的代码库包含两个分词器,可以在给定文本上训练分词器的词汇表和合并规则,并将文本编码为token、将token解码为文本。
阅读模型文件的方式通常取决于模型类的编写方式和类中变量的命名。然而,由于纳哥从零开始实现Llama3,他将逐个阅读文件内容,并通过这种配置推断模型的结构和参数信息。
纳哥详细展示了如何将token转换为高维嵌入式表示,并将RMS归一化。然后,他构建了transformer第一层,加载归一化处理和注意力。然后,纳哥详细解释了query、key和value向量的生成和操作,包括位置编码的使用和注意力得分矩阵的生成和掩码处理。最后,他展示了如何乘以矩阵以获得最终的注意力值。
接下来,纳哥对每个注意力进行相同的数学操作,并将所有注意力得分合并成一个大的qkv_attention矩阵。然后通过矩阵乘法获得注意机制后的嵌入值,并将其添加到原始的token嵌入中进行集成处理,并通过前馈神经网络进行处理。
纳哥使用最终嵌入来预测下一个token值,并希望预测结果是42,这与《银河系漫游指南》中的“生命、宇宙和一切”相对应终极问题的答案”。模型预测的token编号为2983,与42相对应。
Nishant Aklecha是Glaive 人工智能研究员负责在摩根士丹利建立和改进定制语言模型平台,培训和微调大型语言模型。他还与朋友们创建了一个研究实验室A10,旨在使研究更加触手可及。
Nishant除了发布代码库外,还上传了YouTube视频来详细解释代码库的内容,并写了一篇博客来详细解释潜在的一致性模型(LCM)。
有兴趣的开发者可以访问GitHub链接了解更多信息:https://top.aibase.com/tool/llama3-from-scratch
Copyright © 2013-2023 bacaiyun.com. All Rights Reserved. 八彩云 版权所有 八彩云(北京)网络科技有限公司 京ICP备2023023517号
本站文章全部采集于互联网,如涉及版权问题请联系我们删除.联系QQ:888798,本站主机产品代理的世纪互联云通网络,域名代理为阿里云