赞
踩
一个月前,Meta 发布了开源大模型 llama3 系列,在多个关键基准测试中优于业界 SOTA 模型,并在代码生成任务上全面领先。
此后,开发者们便开始了本地部署和实现,比如 llama3 的中文实现、llama3 的纯 NumPy 实现等。
几天前,有位名为「Nishant Aklecha」的开发者发布了一个从零开始实现 llama3 的存储库,包括跨多个头的注意力矩阵乘法、位置编码和每个层在内都有非常详细的解释,帮助我们理解大语言模型是如果构建和工作的。
该项目得到了大神 Karpathy 的称赞,他表示项目看起来不错,完全展开后,通过模块嵌套和相互调用,可以更容易看到实际的情况。
项目地址:https://github.com/naklecha/llama3-from-scratch
详细实现见仓库地址:wdndev/llama3-from-scratch-zh: 从零实现一个 llama3 中文版
项目主要翻译「Nishant Aklecha」的 llama3-from-scratch 仓库,并对中文版做了特殊的适配,使该项目能在一台 16G RAM 的笔记本电脑上运行:
tiktoken
库进行文本分词。<|begin_of_text|>
、文本结束<|end_of_text|>
等。tokenizer.encode
将文本转换为标记序列,通过tokenizer.decode
将标记序列转换回文本。dim
: 4096n_layers
: 32n_heads
: 32n_kv_heads
: 8vocab_size
: 128256multiple_of
、ffn_dim_multiplier
、norm_eps
、rope_theta
等。torch.nn.Embedding
层将标记ID转换为词嵌入向量。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。