链载Ai

标题: Llama模型核心技术分析 [打印本页]

作者: 链载Ai    时间: 3 小时前
标题: Llama模型核心技术分析

本文分析和总结Llama模型中的核心技术点,了解当前大语言模型的一般趋势和做法。

  1. 模型家族(不同Size模型,预训练和指令微调版本)


预训练提供70B和8B量级模型,8B更适合资源有限场景部署,但是质量弱于80B模型。

除了基本预训练模型提供给用户,也提供指令微调版本,用于对话,代码生产等场景直接用。

Meta Llama 3,可供广泛使用。此版本具有预训练和指令微调的语言模型,具有 8B 和 70B 参数,可支持广泛的用例。

使用预训练版本8B:

torchrun--nproc_per_node1example_text_completion.py\--ckpt_dirMeta-Llama-3-8B/\--tokenizer_pathMeta-Llama-3-8B/tokenizer.model\--max_seq_len128--max_batch_size4br

使用指令微调版本8B:

torchrun--nproc_per_node1example_chat_completion.py\--ckpt_dirMeta-Llama-3-8B-Instruct/\--tokenizer_pathMeta-Llama-3-8B-Instruct/tokenizer.model\--max_seq_len512--max_batch_size6br

其提供针对代码微调和负责任的AI微调的版本:

2.开源与闭源

Llama3是开源,但是注意License,目前Hugging Face上的模型有不同License,有的是到一定规模商用需要付费。

https://llama.meta.com/llama3/license/

3. 不同B的模型是独立训练还是量化得出的?

独立训练

4. 评测性能

指令微调版本模型:

目前评测角度及benchmark展示的为:

该评估集包含 1,800 个提示,涵盖 12 个关键用例:寻求建议、头脑风暴、分类、封闭式问答、编码、创意写作、提取、栖息角色/角色、开放式问答、推理、重写和总结。(asking for advice, brainstorming, classification, closed question answering, coding, creative writing, extraction, inhabiting a character/persona, open question answering, reasoning, rewriting, and summarization. )

总结起来是目前是纯语言模型,做文本输出,代码输出等场景。

为了防止过拟合数据,以及针对真实场景评测,同时做了人工评测。对比的是当前的主流开源模型或闭源模型。目前得胜率超过其他几个代表性模型。评测任务为:This evaluation set contains 1,800 prompts that cover 12 key use cases: asking for advice, brainstorming, classification, closed question answering, coding, creative writing, extraction, inhabiting a character/persona, open question answering, reasoning, rewriting, and summarization.

5. 模型卡片:

6. 输入输出安全性评测与保障

对Llama Guard模型为例:

它充当 LLM:它在其输出中生成文本,指示 给定的提示或响应是安全的/不安全的,如果基于策略不安全,则 还列出了违规的子类别。下面是一个示例:

7. SFT和RLHF作用

具体领域任务微调+遵从预定义指令及格式:调整后的版本使用监督微调 (SFT) 针对下游任务,例如code版本写代码。

安全对齐+已有的采样答案选择:带有人类反馈的强化学习 (RLHF),以符合人类对有用性和安全性的偏好。

为了在聊天用例中充分释放预训练模型的潜力,还对指令调整方法进行了创新。

后培训方法是监督微调 (SFT)、拒绝抽样、近端策略优化 (PPO) 和直接偏好优化 (DPO) 的组合。

SFT 中使用的提示的质量以及 PPO 和 DPO 中使用的偏好排名对对齐模型的性能有很大影响

在模型质量方面的一些最大改进来自于仔细管理这些数据,并对人工注释者提供的注释执行多轮质量保证。

通过 PPO 和 DPO 从偏好排名中学习也大大提高了 Llama 3 在推理和编码任务上的表现

为什么做RLHF:其发现,如果你问一个模型一个它难以回答的推理问题,模型有时会产生正确的推理痕迹:模型知道如何产生正确的答案,但它不知道如何选择它。对偏好排名的训练使模型能够学习如何选择它。

8. 15Ttoken和128K标记的分词器

因为文本中有大量冗余标记组合成文本,所以分词器代表去冗余后的唯一标记数量。

9. 训练数据

目前代价较高的是还需要引入人工标注数据。目前开源模型一般不用公司生产闭源数据,都是用的公开数据+人工新标注的数据。以防止数据泄露。一般根据发布时间为2024.4月推断,有1年的时间滞后性。

概述Llama 3 在来自公开来源的超过 15 万亿个数据代币上进行了预训练。微调数据包括公开可用的指令数据集,以及超过1000万个人工注释的示例。预训练和微调数据集均不包含元用户数据。

数据新鲜度8B 的预训练数据截止时间分别为 2023 年 3 月和 2023 年 12 月(70B 模型)。

10. 需要构建内部评测库

虽然很多是公开数据集但是需要内部评测库自动化评测。

In this section, we report the results for Llama 3 models on standard automatic benchmarks. For all the evaluations, we use our internal evaluations library. For details on the methodology seehere.

11. 为什么需要微调版本

普通版本基本做文本类的任务,微调版本可以做代码生成,Math数学等更复杂的合成与推理任务。同时高B模型效果更好,新一代模型效果更好。


为了在聊天用例中充分释放预训练模型的潜力,我们还对指令调整方法进行了创新。

我们的后培训方法是监督微调 (SFT)、拒绝抽样、近端策略优化 (PPO) 和直接偏好优化 (DPO) 的组合。

SFT 中使用的提示的质量以及 PPO 和 DPO 中使用的偏好排名对对齐模型的性能有很大影响

我们在模型质量方面的一些最大改进来自于仔细管理这些数据,并对人工注释者提供的注释执行多轮质量保证。

通过 PPO 和 DPO 从偏好排名中学习也大大提高了 Llama 3 在推理和编码任务上的表现

我们发现,如果你问一个模型一个它难以回答的推理问题,模型有时会产生正确的推理痕迹:模型知道如何产生正确的答案,但它不知道如何选择它。对偏好排名的训练使模型能够学习如何选择它。

12 Scaling Law的应用

13 并行化策略

评测指标:计算利用率 compute utilization。

本质是针对张量不同维度进行切分。

为了训练我们最大的 Llama 3 模型,我们结合了三种类型的并行化:数据并行化、模型并行化和管道并行化。我们最高效的实现是在 16K GPU 上同时训练时,每个 GPU 的计算利用率超过 400 TFLOPS。我们在两个定制的24K GPU 集群上执行了训练运行。为了最大限度地延长 GPU 正常运行时间,我们开发了一种先进的新训练堆栈,可自动执行错误检测、处理和维护。

其是混合精度训练,其达到了接近40%的计算利用率。

14 系统稳定性保障

评测指标:有效训练时间。总时间减去down机和hang时间,除以总时间的比例。

总之,这些改进将 Llama 3 的训练效率提高了 ~3 倍,比 Llama 2 提高了 ~3 倍。

15 数据预处理技巧

完成特定任务一定经过这类数据训练(例如多语言,但是语料数量和质量不同,英语已知是效果最好和语料数据十分相关),开源模型一般采用公开数据,数据会投入大量资金。数据质量一般通过过滤保留高质量数据,过滤方法是基于规则,字典和基于模型,围绕安全和质量。数据混合方法通过类似自动化机器学习做实验方式尝试出来。

16 下一步工作








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