Skip to content

LLaMA 常见面试题篇

来自:AiGC面试宝典

宁静致远 2024年01月27日 19:44


一、相比较于 LLaMA 而言,LLaMA2 有哪些改进,对于 LLaMA2 应该如何 fine-tune?

1. 背景介绍

LLaMA 和 LLaMA2 都是基于 Transformer 架构的大型语言模型(Large Language Model,LLM),广泛应用于文本生成、文本摘要、机器翻译、问答等多种自然语言处理任务。

LLaMA 采用了两种预训练任务

  • 无监督的 span 级别的 mask:让模型通过预测被遮盖的文本片段来学习语言表示
  • 有监督的多任务学习:将所有下游任务统一视为文本到文本的转换问题

LLaMA 使用了干净的大规模英文语料库 C4,包含约 750GB 的文本数据。

📝通俗解释:可以把 LLaMA 想象成一个学生,通过两种方式学习:一是大量自学读书(无监督学习),二是有老师指导做各种练习题(有监督多任务学习)。C4 语料库就像一个巨大的图书馆,让学生能够广泛阅读。


2. LLaMA2 的改进点

LLaMA2 是 LLaMA 的改进版本,在以下几个方面有所提升:

(1)数据量和质量

  • LLaMA2 使用了比 LLaMA1 多 40% 的数据进行预训练
  • 数据质量更高、来源更加多样
  • 包括来自 Surge 和 Scale 等数据标注公司的专业标注数据

📝通俗解释:LLaMA2 就像读了更多更好的书的学生,知识面更广、理解更深。

(2)上下文长度

  • LLaMA2 的上下文长度是 LLaMA1 的 两倍,达到了 4k 个 token
  • 这有助于模型理解更长的文本和更复杂的逻辑关系

📝通俗解释:就像人的工作记忆变强了,LLaMA2 能一次性处理更长的文章,不会"看了后面忘了前面"。

(3)模型架构

  • LLaMA2 在训练 34B70B 参数的模型时使用了**分组查询注意力(Grouped-Query Attention,GQA)**技术
  • 可以提高模型的推理速度和质量

📝通俗解释:GQA 是一种让模型"更聪明地思考"的技术,就像人脑能够同时处理多个相关信息,而不是逐个死记硬背。这样模型回答问题既快又准。

(4)微调方法

LLaMA2 使用了两种方法来微调对话模型(LLaMA2-Chat):

  • 监督微调(Supervised Fine-Tuning,SFT):使用标注好的数据直接训练模型
  • 人类反馈强化学习(Reinforcement Learning from Human Feedback,RLHF):根据人类反馈来优化模型

这两种方法使模型在有用性安全性方面都有显著提升。

📝通俗解释:SFT 就像请了一个老师傅手把手教技能,RLHF 则像让模型不断根据用户反馈自我改进。这样调教出来的模型既能力强,又不会乱说话。


3. LLaMA2 Fine-tune 步骤

对 LLaMA2 进行微调可以按照以下步骤进行:

Step 1:准备训练脚本

  • 使用 Meta 开源的 llama-recipes 项目 -该项目提供了快速开始的示例和配置文件
  • 支持自定义数据集和策略的方法

📝通俗解释:llama-recipes 就像一份详细的菜谱,告诉你如何把 LLaMA2 这块"原材料"做成想要的"菜肴"。

Step 2:准备数据集

  • 选择符合目标任务和领域的数据集
  • 推荐使用 Guanaco Dataset,这是一个多语言的对话数据集,支持 alpaca 格式
  • 也可以使用自己的数据集,只需按照 alpaca 格式进行组织即可

📝通俗解释:数据集就像教材,选择合适的教材才能让模型学到你想让它掌握的知识。alpaca 格式是一种标准化的"教材格式",方便模型阅读理解。

Step 3:准备模型

  • Hugging Face Hub 下载 LLaMA2 模型的权重
  • 将模型权重转换为 Hugging Face 格式

📝通俗解释:就像拿到一本空白的技能书,需要先下载基础版本,然后再根据你的需求进行"个性化定制"。

Step 4:启动训练

  • 可以使用单 GPU多 GPU 来进行训练
  • 可以选择是否使用以下技术来加速训练过程:
    • 参数高效微调(Parameter-Efficient Fine-Tuning,PEFT):如 LoRA 等方法
    • 量化(Quantization):降低模型精度以减少显存占用

📝通俗解释:PEFT 就像给模型做"微创手术",只调整一小部分参数就能达到不错的效果;量化则像把厚重的字典装进轻薄的手机里,用更少的内存运行大模型。


参考资源

基于 MIT 许可发布