LLM 大语言模型实战 (十一)-大模型全流程实践
一、LLM-SFT实践
SFT 和 FT 的关系?
• SFT 一般说的是 instuction tuning(指令训练)
• FT 一般都是针对一些特定的场景,比如分类任务,也可以是LM 任务
• 但是假设两个任务都是 LM 任务,那么两者就是一样的
prompt learning 和 instruction learning 的区别?
- • instruction学习定义:针对每个任务,单独生成instruction(hard token),通过
在若干个full-shot任务上进行微调,然后在具体的任务上进行评估泛化能力(zero
shot),其中预训练模型参数是unfreeze(微调)的。 - • 和prompt的区别:Instruction Tuning和Prompt方法的核心一样,就是去发掘语言
模型本身具备的知识。而他们的不同点就在于,Prompt是去激发语言模型的补全能
力,比如给出上半句生成下半句、或者做完形填空,都还是像在做language model
任务,而Instruction Tuning则是激发语言模型的理解能力,通过给出更明显的指令,
让模型去理解并做出正确的反馈。
提示学习与指令学习
• prompt:扣篮王拉文:精彩暴扣表演!炸。这篇文章的类别是__
• instruction: {哪个类别最好的描述了这篇新闻?扣篮王拉文:精彩暴扣表
演!炸\n选项:故事,文化,娱乐,体育,财经,房产,汽车,教育,科技,
军事,旅游,国际,股票,农业,游戏\n答案:}
• 很明显可以看出,prompt 指的是一些模板,让模型去补全,用来减少训练和
任务之间的GAP
• instruct 则更多的需要模型的理解能力。
我们一般说的 SFT 实际上指的是 instuction tuning
二、微调模型
查看gpu配置
(base) root@kaiyi-rf80qoiv60ji-main:/openbayes/home/llm-corser# nvidia-smi
Thu Oct 10 03:18:50 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.146.02 Driver Version: 535.146.02 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 Tesla V100-SXM2-16GB On | 00000000:07:00.0 Off | 0 |
| N/A 38C P0 43W / 300W | 0MiB / 16384MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+
(base) root@kaiyi-rf80qoiv60ji-main:/openbayes/home/llm-corser#
课后作业
1、了解 kv cache、flash attention
2、跑通示例代码 (01:19:38/03:01:02)
3、用SFTTrainer 一个模型?(version, v1.py)
4、了解(version/v2.py) 里边的 DataCollatorForCompletionOnlyLLM()
为者常成,行者常至
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)