概述:本笔记用于记录对DataWhale AI 夏令营大模型应用开发的task04笔记
一、打开魔搭平台,在终端中输入指令
二、依次执行代码块中的代码
三、环境准备与模型下载
四、数据处理
加载tokenizer
定义数据处理函数
def process_func(example):
MAX_LENGTH = 384 # Llama分词器会将一个中文字切分为多个token,因此需要放开一些最大长度,保证数据的完整性
instruction = tokenizer(f"{example['input']}<sep>")
response = tokenizer(f"{example['output']}<eod>")
input_ids = instruction["input_ids"] + response["input_ids"]
attention_mask = [1] * len(input_ids)
labels = [-100] * len(instruction["input_ids"]) + response["input_ids"] # instruction 不计算loss
if len(input_ids) > MAX_LENGTH: # 做一个截断
input_ids = input_ids[:MAX_LENGTH]
attention_mask = attention_mask[:MAX_LENGTH]
labels = labels[:MAX_LENGTH]
return {
"input_ids": input_ids,
"attention_mask": attention_mask,
"labels": labels
}
五、模型训练(省略部分代码图)
六、效果验证
七、运行streamlit查看微调以后的大模型应用