一、Llama3大模型是什么? 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阶段,因为灵活性很大程度上取决于用户自身。能够根据领域需求定制模型对于最大限度地提高其收益至关重要。因此,如果不参与到系统开发中,是不能产生最佳回报的。