基于台湾大学李宏毅教授的Introduction to Generative AI 2024 Spring课程,总结
生成式人工智能GAI实践任务。参考资源包括课程的课件、视频和实践任务的代码。
Introduction to Generative AI 2024 Spring
也感谢B站Up主搬运的视频
李宏毅2024春《生成式人工智能导论》_哔哩哔哩_bilibili
本文介绍LLM微调、学习人类偏好和微调稳定扩散模型三个关键实践内容,每个实践内容包括主要目标、理论知识及参考文献、训练数据、测试数据、调整超参数的方法、模型评价方法。
1 LLM微调
目标
基于预训练模型训练出完成某一特定任务的模型。
理论基础
温度调节、Top-K截断和Nucleus采样(也称为Top-p截断)是大型语言模型(LLM)的常用生成策略技术,用于调整生成文本的多样性和连贯性。
- 温度调节(Temperature Scaling):通过一个温度参数来平滑或锐化概率分布。温度较高时,概率分布更加平坦,生成的文本更加多样;温度较低时,概率分布更加尖锐,生成的文本更加确定。
- Top-K截断(Top-K Truncation):在生成下一个token时,只考虑概率最高的K个tokens,其他的tokens被设置为0概率,不会被选中。
- Nucleus采样(Top-p Sampling):选择累积概率超过某个阈值p的最小集合,然后从这个集合中采样下一个token。这样可以在保持多样性的同时,避免选择极低概率的token。
训练数据
instruction
input
output
数据条数:1040
测试数据
instruction
input
调整超参数
- Temperature:设定生产回复的随机度,值越小生成的回复越稳定- Top-k:增加生成回复的多样性和避免生成重复的词- Top-p:抽样的概率阈值,用于控制生成回复的多样性- max_length:生成回复的最大长度
评价方法
可以用大语言模型助教来评价格式和内容。需要准备包含评价标准和步骤的提示语。
2 学习人类偏好
目标
根据人类期望调整LLM的输出。
理论基础
RLHF Reinforcement Learning from Human Feedback参考https://openai.com/index/instruction-following/
Huggingface introduction to RLHF: https://huggingface.co/blog/rlhf https://huggingface.co/blog/trl-peft
RLHF需要训练一个Reward Model评估 LLM 输出的答案,学习哪种反应更好(更类似于人类的偏好),然后用强化学习微调LLM。RLHF的弱点是需要训练额外的Reward Model,强化学习训练非常不稳定,很难调整超参数。
DPO Direct Preference Optimization 直接提供两种不同的回答,一种是首选回答,另一种是非首选回答
LLM 直接从回答中学习偏好,而不需要明确的奖励模型。
参考文档 Direct Preference Optimization: Your Language Model is Secretly a Reward Model
https://arxiv.org/abs/2305.18290
训练数据
可以使用大语言模型生成,使用50条数据,每一条记录包括以下字段。
id编号:
prompt提示:输入问题
support支持:用支持的立场回答
oppose反对:用反对立场回答
测试数据
可以使用大语言模型生成,使用10条数据,每一条记录包括以下字段
id编号:
prompt提示:输入问题
调整超参数
support_ratio: 支持某个观点的数据比例
data_size: 决定 10~50 个训练数据的数量
num_epoch: 选择 1~3 以选择训练历元数
评价方法
查看针对测试数据的测试结果,比较原始模型和训练模型的回答。
3 微调稳定扩散模型
目的
通过对相同的面部图片进行微调,使稳定扩散Stable Diffusion模型生成一致的面部结果。
理论基础
LoRA: Low-Rank Adaptation of Large Language Models
https://arxiv.org/abs/2106.09685
LoRA,一种对已有训练好的模型进行微小改动的技术
调整超参数
learning_rate(推荐):模型的学习率,增加该值会使模型更关注训练数据而不是文本提示。(脸部距离↓(好)和 CLIP 分数↓(坏)
lora_rank:LoRA 模型的维度
lora_alpha(推荐):LoRA 模型的权重
lora_rank ⬆️=》Face Distance ↓CLIP 分数↓
learning_rate⬆️=》Face Distance ↓CLIP 分数↓
max_train_steps:总训练步骤
validation_prompt_num:验证图像的数量
validation_step_ratio:验证步骤与 max_train_steps 之比
评价方法
- Face Distance Score GitHub - HamadYA/GhostFaceNets: This repository contains the official implementation of GhostFaceNets, State-Of-The-Art lightweight face recognition models. GhostFaceNets: Lightweight Face Recognition Model From Cheap Operations | IEEE Journals & Magazine | IEEE Xplore
- CLIP Score GitHub - openai/CLIP: CLIP (Contrastive Language-Image Pretraining), Predict the most relevant text snippet given an image
- The number of Faceless Images 无脸图像的数量
4 GAI的安全问题
任务 1: LLM 是否会遵循有害的上下文示例?
任务 2:LLM 会回答带有刻板印象的问题吗?
此外,李宏毅教授的课程还包括了了解人工智能在想什么和讲座视频快速摘要等实践任务,也值得动手探索。
版权归原作者 苹果二 所有, 如有侵权,请联系我们删除。