链载Ai

标题: 从零实现Llama3中文版 [打印本页]

作者: 链载Ai    时间: 2 小时前
标题: 从零实现Llama3中文版

1.前言

一个月前,Meta 发布了开源大模型 llama3 系列,在多个关键基准测试中优于业界 SOTA 模型,并在代码生成任务上全面领先。

此后,开发者们便开始了本地部署和实现,比如 llama3 的中文实现、llama3 的纯 NumPy 实现等。

几天前,有位名为「Nishant Aklecha」的开发者发布了一个从零开始实现 llama3 的存储库,包括跨多个头的注意力矩阵乘法、位置编码和每个层在内都有非常详细的解释,帮助我们理解大语言模型是如果构建和工作的。

该项目得到了大神 Karpathy 的称赞,他表示项目看起来不错,完全展开后,通过模块嵌套和相互调用,可以更容易看到实际的情况。

项目地址:https://github.com/naklecha/llama3-from-scratch

2.从零实现Llama3中文版

详细实现见仓库地址:https://github.com/wdndev/llama3-from-scratch-zh

项目主要翻译「Nishant Aklecha」的 https://github.com/naklecha/llama3-from-scratch 仓库,并对中文版做了特殊的适配,使该项目能在一台 16G RAM 的笔记本电脑上运行

  1. 将英文翻译为中文,文中的 Youtube 视频也替换为 Bilibili链接,方便查看;
  2. 将原版 Llama3-8B模型上传至Modescope社区,方便国内下载;
  3. 因原版 Llama3-8B 模型采用32层 Transformers,且大佬「Nishant Aklecha」使用CPU加载,如果加载全部的参数,16G内存机器加载失败,故选取原版 Llama3-8B 模型权重的前2层,重新保存,大小约占为2.7G,此教程也可以直接加载,实际测试内存占用约4~5G,唯一缺点是后续推理结果不对,但不影响学习矩阵变换等其他知识;
  4. Jupyter文件,可直接在 16G RAM 笔记本电脑运行;

2.1 实现细节

  1. 分词器(Tokenizer):






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5