使用说明
使用具有轻量级检索层的LoRA对Meta Llama 3.2-3B-指令进行微调
概述
该项目展示了参数的高效微调 Meta Llama 3.2-3B-说明书 使用 LoRA(低阶自适应) 在自定义指令响应数据集上。
该项目还实现了一个轻量级检索层,该层首先在结构化知识库中搜索精确匹配,然后再回到微调的LLM进行响应生成。这种混合方法改进了事实检索,同时保留了模型的生成能力。
这个项目是在我的 IonIdea的人工智能实习,在那里我获得了大型语言模型(LLM)、快速工程、监督微调和LLM推理管道的实践经验。
特性
- 使用LoRA微调Meta Llama 3.2-3B-指令
- 采用抱面TRL的监督微调(SFT)
- 用于知识库查找的轻量级检索层
- 一致响应的确定性LLM推理
- 使用LoRA适配器进行参数高效训练
- 端到端训练和推理管道
- 使用PyTorch进行GPU加速训练
建筑
培训管道
Instruction Dataset (JSONL)
│
▼
Formatting Function
│
▼
LoRA Fine-Tuning
│
▼
Meta Llama 3.2-3B-Instruct
│
▼
Fine-Tuned Model
推理管道
User Query
│
▼
Retrieval / Routing Layer
│ │
▼ ▼
Knowledge Base Fine-Tuned LLM
│ │
└───────┬────────┘
▼
Final Response
训练配置
| 参数 | 值 |
|---|---|
| 基本模型 | Meta Llama 3.2-3B-说明书 |
| 微调方法 | LoRA |
| 数据集大小 | 430个指令-响应对 |
| 训练步骤 | 800 |
| 时代 | ~8 |
| 批量大小 | 1 |
| 坡度累积 | 4 |
| 学习率 | 1e-4 |
| LoRA排名(r) | 16 |
| 洛拉阿尔法 | 32 |
| LoRA辍学率 | 0.05 |
培训结果
训练损失
| 步骤 | 损失 |
|---|---|
| 80 | 1.3466 |
| 160 | 0.7690 |
| 240 | 0.6978 |
| 320 | 0.6489 |
| 400 | 0.5539 |
| 480 | 0.5280 |
| 560 | 0.5192 |
| 640 | 0.5221 |
| 720 | 0.5111 |
| 800 | 0.5053 |
该模型在整个训练过程中表现出稳定的收敛性,损失从 1.35 到 0.51.
使用的技术
- python
- PyTorch
- 抱脸变形器
- 参数高效微调
- 总需求线
- 数据集
- 加速
- 谷歌Colab
- Meta Llama 3.2-3B-说明书
安装
克隆存储库
git clone https://github.com/ahmed7077/efficient-llm-adaptation.git
cd efficient-llm-adaptation
安装依赖项
pip install -r requirements.txt
或手动安装
pip install transformers datasets peft trl accelerate safetensors huggingface_hub
数据集格式
训练数据集应以JSONL格式提供。
例子:
{"instruction":"Who is the CEO of OpenAI?","output":"Sam Altman"}
{"instruction":"What is quantum computing?","output":"Quantum computing uses qubits for computation."}
每条记录包含:
- 指令
- 输出
训练
跑
python train.py
微调后的模型将另存为
llama32_lora_merged_exact
推断
跑
python inference.py
示例
Enter instruction:
Give details about Muhammad Ahmed
输出
Full Name: Muhammad Ahmed
Age: 20
DOB: 2005-05-23
Nationality: Indian
Degree: B.Tech
University: Presidency University
提示工程
在这个项目中,探索了不同的激励策略,包括:
- 零样本提示
- 一枪提示
- 很少有射门提示
对这些技术进行了评估,以更好地了解它们对LLM反应质量和行为的影响。
未来改进
- 使用向量数据库(FAISS/ChromaDB)实现语义检索
- 支持检索增强生成(RAG)
- 添加模型性能的评估指标
- 使用FastAPI或Streamlit部署模型
- 用模糊匹配和嵌入扩展检索层
致谢
- Llama模型的元人工智能
- 拥抱变形金刚、PEFT和TRL生态系统的面孔
- IonIdea Technologies提供实习机会和指导
许可证
该项目旨在用于教育和研究目的。