Llama3大模型原理代码精讲与部署微调评估实战

okkaandw · · 64 次点击 · 开始浏览    置顶

一、Llama3大模型是什么?(/s/1QlhehUwBI0kbbmGGNV097A 提取码:h54d ) Llama 是由 Meta的人工智能研究团队开发并开源的大型语言模型(LLM),继Llama 2+模型之后,Meta 进一步推出了性能更卓越的 Meta Llama 3系列语言模型,包括一个80亿参数模型和一个700亿参数模型。Llama370B 的性能美 Gemini1.5 Pro,全面超越 Claude 大杯,而 400B+ 的模型则有望与 Claude 超大杯和新版 GPT-4 Turbo 掰手腕 二、llama2和llama3有什么区别? llama3与llama2的模型架构完全相同,只是model的一些配置(主要是维度)有些不同,llama2推理的工程基本可以无缝支持llama3。在meta官方的代码库,模型计算部分的代码是一模一样的,也就是主干decoder only,用到了RoPE、SwiGLU、GQA等具体技术。 通过对比huggingface模型中的config.json,首先可以看出,模型都是 LlamaForCausalLM 这个类,模型结构不变。 三、Llama3的目标和最佳表现 Llama3拥抱开源社区。通过不断响应用户反馈来提升模型效果,并且持续在负责任的AI领域扮演重要角色。近期发布的基于文本的模型是Llama3集合的一部分。未来的目标是使Llama3成为多语言、多模态、长上下文、持续提升核心能力,如:推理和代码生成。 得益于pretraining和post-training的改进,我们的pretrained模型和instruction-fine-tuned模型是8B和70B最好的大模型。post-training的改进包括:降低误拒率、改进的对齐方法、模型回答的多样性。同时,我们也看到Llama3综合能力的提升,如:推理、代码生成、指令遵循。这使得Llama3更加可控。 四、从头构建LLaMA3大模型(Python) 首先是模型架构的选择。原工作用的是 GPT Neo 架构(可以看他们的 config),这个算是很老的模型了,最初是 EleutherAI 用来复现追踪 GPT-3 的工作的,现在用的也比较少了。我打算选用 LLaMA 架构,也算是符合研究主流、便于推广。LLaMA 3 主要多了个 GQA,也是现在模型的主流,我这里也用一下。 其次是数据的选择。既然是复现,就直接贯彻拿来主义,用原工作开源的数据集(主要是从头生成要花不少 api 费用)。原工作第一版的时候用的是 GPT-3.5 生成的数据,后面社区有人更新了第二版,是用 GPT-4 生成的,比原数据更好,就用它了。 最后是训练。其实我手上就两张 3060 12G 和 4060 Ti 16G,训这个确实是绰绰有余,但我还是不想在桌前吵我自己,于是继续用 Colab。现在 Colab 可以直接看到剩余使用时长了,虽然已经被砍到只有 3h 左右的用卡时间,但至少心里有个底,况且 3h 训我们这个也完全够了。 五、用户与LlaMA3进行交互的方式主要分为6个阶段。 阶段1:通过按原样使用模型,以适应广泛的应用场景。 第2阶段:在用户自定义的应用程序中使用模型。 第3阶段:使用提示工程来训练模型,以产生所需的输出。 第4阶段:在用户端使用提示工程,同时深入研究数据检索和微调,这仍然主要由LLM提供商管理。 第5阶段:把大部分事情掌握在自己(用户)手中,从提示工程到数据检索和微调(RAG模型、PEFT模型等)等诸多任务。 第6阶段:从头开始创建整个基础模型——从训练前到训练后。 为了最大限度地利用这些模型,建议最好的方法是使用上面的第5阶段,因为灵活性很大程度上取决于用户自身。能够根据领域需求定制模型对于最大限度地提高其收益至关重要。因此,如果不参与到系统开发中,是不能产生最佳回报的。 六、训练的算力 LLaMA 3在H100-80GB 的GPGPU上训练(TDP 为 700W),8B和70B的模型训练累计使用了 770 万个 GPGPU 时长。 训练过程使用了3种并行加速:数据并行、模​​型并行和管道并行。 在 16000个 GPU 上进行训练时,可实现每个 GPU 超过 400 TFLOPS 的计算利用率。(需要注意H100的稠密算力约为2000TFLOPS) Meta还开发了一种先进的训练堆栈,可以自动执行错误检测、处理和维护。改进了硬件可靠性和静默数据损坏检测机制,并开发了新的可扩展存储系统,以减少检查点和训练回滚的开销。 以上这些改进使总体有效培训时间超过 95%,训练效率比 Llama 2 提高了约3倍。 七、训练数据集 LLaMA 3 使用来自公开来源的超过 15 万亿个Token的数据进行预训练。微调数据包括公开可用的指令数据集,以及超过 1000 万个人工注释的示例。简而言之就是 More Data = Better Model。 8B 模型的预训练数据截止日期为 2023 年 3 月,70B 模型的预训练数据截止日期为 2023 年 12 月。 八、Llama 3 的主要亮点包括: 基于超过 15T token 训练,相当于 Llama 2 数据集的 7 倍还多; 支持 8K 长文本,改进的 tokenizer 具有 128K token 的词汇量,可实现更好的性能; 在大量重要基准中均具有最先进性能; 新能力范畴,包括增强的推理和代码能力; 训练效率比 Llama 2 高 3 倍; 带有 Llama Guard 2、Code Shield 和 CyberSec Eval 2 的新版信任和安全工具。 八、Llama 3:架构与训练 Meta的Llama 3模型在人工智能领域带来了显著的技术突破。其中一项创新是其分词器,它显著扩展了词汇量至128,256个令牌,相较于Llama 2的32,000个令牌,这是一个巨大的跃升。这种词汇量的增加不仅意味着模型能够更精细地理解和生成文本,而且也极大地增强了其多语言处理能力,从而提升了整体性能。 此外,Llama 3还引入了分组查询注意力(Grouped Query Attention, GQA)技术。这是一种先进的表示方法,它通过提高模型的可扩展性,帮助其更有效地处理更长的文本序列。特别是,Llama 3的8B版本采用了GQA技术,而8B和70B模型均能够处理长达8,192个令牌的序列。 这些创新不仅展示了Meta在AI技术上的领导地位,也预示着Llama 3将为各种应用场景带来前所未有的性能提升。无论是在理解复杂查询、生成创意内容,还是在多语言支持方面,Llama 3都展现了其强大的潜力。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

64 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传