赞
踩
为更好的理解本文,建议在阅读本文之前,先阅读以下两篇文章
对于llama3,我们之前已经做了针对llama3 早7数据微调后的测评(所谓早7,即指的是早期paper-7方面review,详见:微调LLama 3——七月论文审稿GPT第5版:拿早期paper-7方面review数据集微调LLama 3)
后来,llama3.1出来后,考虑到性能高于llama3,所以项目组同事青睐、文弱上周做了llama3.1通过早7数据微调后的测评
随后,为了对比,我又让项目组同事青睐、文弱分别做了(在本文之前没通过早4数据微调llama3和llama3.1)
最终,早7数据下,超gpt4 超的不容易;但早4数据下,超gpt4 则很轻松..
个人心得是:首先,llama3.1确实是比llama3 更强悍;其次,现在微调一下超过GPT4,已经不是啥新闻了..
基本前提
- # 安装 git-lfs
- curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
- sudo apt-get install git-lfs
- git lfs install
-
- # 下载模型
- GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct
- cd Meta-Llama-3.1-8B-Instruct
- git lfs pull --include="*.safetensors"
- # 可以再检查一下文件夹里的文件大小是否与Huggingface文件大小一致,重点检查超过1M的文件,如果存在某些文件文件不一致需要重新使用 git lfs pull 拉取一下该文件,将 --include= 改成该文件
- cd ..
要想使用llama3.1模型,transformers的版本需要 >= 4.43.3
- accelerate
- peft
- trl==0.8.6
- transformers==4.43.3
- # flash-attn 单独安装
- # pip install flash-attn==2.6.3 --no-build-isolation # 需要等待一段时间,最好有代理
- deepspeed==0.14.0
- torch==2.3.1
- ray
- numpy==1.26.4
- PyGithub
- huggingface-hub
- evaluate
- datasets
- bitsandbytes
- einops
- wandb
- tensorboard
- tiktoken
- pandas
- scipy
- matplotlib
- sentencepiece
- nltk
- xformers
- hf_transfer
- loguru
- tqdm
- transformers_stream_generator
- openpyxl
- httpx
- joblib
- scikit_learn
微调代码,详见七月官网首页的:大模型项目开发线上营 第二期
llama3.1 使用Qlora + flash attention v2 微调显存的占用与llama3 微调差不多,使用12k以下的文本长度用单张或多张A40/A6000(48G)即可,具体占用情况见下文
为了保证与llama3情况4更公平的性能对比,选择与前者相同的迭代次数,情况4推理选择的checkpoint迭代次数为1800,大约1.95个epoch
参数 | 说明 |
batch size=16 | 梯度累计总batch size=16 |
lr=1e-4 | 学习率的大小 |
max_prompt_length=11138 | paper 最长的大小,超过将被截取 |
max_response_length=1150 | review 最长的大小,超过将被截取 |
save_steps=100 | 迭代100次保存一次模型 |
num_train_epoch=3 | 迭代3个epoch |
llama3.1 微调的system prompt与llama3情况4的prompt一致
- SYSTEM_PROMPT = """Below is an "Instruction" that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
- Instruction:
- You are a professional machine learning conference reviewer who reviews a given paper and considers 7 criteria:
- ** How to evaluate the idea of the paper **
- ** Compared to previous similar works, what are the essential differences, such as any fundamental differences, improvements, innovations **
- ** How to evaluate the experimental results in the paper **
- ** Potential reasons for acceptance **
- ** Potential reasons for rejection **
- ** Other suggestions for further improving the quality of the paper **
- ** Other important review comments **
- The given paper is as follows."""
1.2.3 模型迭代过程
最终,由于微调参数与llama3相差无几,故均选择与llama3迭代次数相同的1800为最终的checkpoint
直接推理之下
可以看出来,同样为情况4 7review数据下,llama3.1的效果较llama3存在较大提升
接下来,对比下和GPT4的结果呢?如下图所示
结论:由于在未加空项序列抑制的情况下,llama3.1推理结果存在一定比例后三项为空项的情况,这在与gpt4-1106 pk是处于劣势的,下文加入适当序列抑制后,将反超gpt4
序列抑制的原理:适当减少空项序列 “<No related terms>” 生成的概率,增加模型生成的稳定性
疑问:减少“空项”出现的概率,“强制”让模型输出大项的子项,会生成不合理的结果吗?
答:应该不会,大模型输出token是具有一定概率性的,较好的微调的前提下,除了“空项token”外,其他的token也是合理的输出,而控制好“空项”的惩罚力度是比较重要的(本节中参与pk的模型序列抑制系数全部为0.95)
至于序列抑制实现代码详见七月官网首页的:大模型项目开发线上营 第二期
当加了序列抑制的llama3.1微调版模型去PK 没加序列抑制的llama3.1微调版模型时,得到的结果如下图所示
如此,证明了对空项做序列抑制的有效性
那再去PK下 我们的基线——GPT4 1106呢,如下图所示
结论:llama3.1 推理pk反超gpt-1106
既然本文开头提到了:“早7数据下,超gpt4 超的不容易;但早4数据下,超gpt4 则很轻松”,那我们来具体看下在早4数据下的微调效果
微调策略与上文微调情况4 早7review数据几乎一致,仅
- PROMPT = """You are a helpful assistant, below is an "Instruction" that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
- Instruction:
- you are a professional machine learning conference reviewer who reviews a given paper and considers 4 criteria:
- ** Significance and novelty **
- ** Potential reasons for acceptance **
- ** Potential reasons for rejection **
- ** Suggestions for improvement **
- The given paper is as follows.""".strip()
如下图所示
结论:同样为情况3 4review数据下,llama3.1推理的效果较llama3存在一定提升,考虑到情况3 4 review的大项数目与子项数目相对于情况4 7review均较少,可能llama3.1在4review数据上难以发挥“全部实力”,因此与llama3的差距不太大
如下图所示
结论:同样为情况3 4review数据下,微调llama3.1的效果较gpt4-1106强很多
至于具体微调的代码、数据集以及更多细节,详见七月官网首页的:大模型项目开发线上营 第二期
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。