当前位置:首页 > 教育 >

wpe零基础自学(wpe专业版使用教程)

来源:原点资讯(m.360kss.com)时间:2024-05-20 23:26:50作者:YD166手机阅读>>

只能说“钞能力”真伟大,openai 直接请了一群人,给 GPT 生成的多个回答进行排序打分,然后再根据这个打分训练一个奖励模型(GPT 生成的结果越好,得分越高),有了这样一个模型后,就可以用来指导 GPT 生成尽可能高分的回答了。

没钱也没精力,但不妨碍我们学习如何训练一个奖励模型,奖励模型的学习本质就是一个句子分类或者回归的任务。

这里找一个数据集来展示一下整个流程,比如 IMDB 影评数据集,常用于情感分析,也就是给文本的情感打分,输入就是影评,输出就是得分(积极或消极对应 1 或 0),那就能训练一个奖励模型了(比如可以用来指导 GPT 生成得分越高,也就是更加积极的文本)。

首先导入一下数据集(下载链接:https://ai.stanford.edu/~amaas/data/sentiment/)

def read_imdb_split(split_dir): split_dir = Path(split_dir) texts = [] labels = [] for label_dir in ["pos", "neg"]: for text_file in (split_dir/label_dir).iterdir(): texts.append(text_file.read_text(encoding='utf-8')) labels.append(0 if label_dir is "neg" else 1) return texts, labels train_texts, train_labels = read_imdb_split("./DataSmall/aclImdb/train") test_texts, test_labels = read_imdb_split("./DataSmall/aclImdb/test")

看一眼数据就是长这样,一段文本对应一个标签:

wpe零基础自学,wpe专业版使用教程(9)

同样的我们需要对其进行分词,转为一串 id,定义分词器,并构造数据集:

print("Tokenizing train, validate, test text ") tokenizer = DistilBertTokenizerFast.from_pretrained('distilbert-base-uncased') train_encodings = tokenizer(train_texts, truncation=True, padding=True) test_encodings = tokenizer(test_texts, truncation=True, padding=True) class IMDbDataset(torch.utils.data.Dataset): def __init__(self, encodings, labels): self.encodings = encodings self.labels = labels def __getitem__(self, idx): item = {key: torch.tensor(val[idx]) for key, val in self.encodings.items()} item['labels'] = torch.tensor(self.labels[idx]) return item def __len__(self): return len(self.labels) print("Loading tokenized text into Pytorch Datasets ") train_dataset = IMDbDataset(train_encodings, train_labels) test_dataset = IMDbDataset(test_encodings, test_labels) train_loader = DataLoader(train_dataset, batch_size=10, shuffle=True)

接下来定义一个用于预测得分的模型,以及优化器:

print("Loading pre-trained DistilBERT model ") model = DistilBertForSequenceClassification.from_pretrained('distilbert-base-uncased') model.to(device) model.train() optim = AdamW(model.parameters(), lr=5e-5)

接下来就可以开始模型的训练了:

for epoch in range(3): for (b_ix, batch) in enumerate(train_loader): optim.zero_grad() input_ids = batch['input_ids'].to(device) attention_mask = batch['attention_mask'].to(device) labels = batch['labels'].to(device) outputs = model(input_ids, attention_mask=attention_mask, labels=labels) loss = outputs[0] loss.backward() optim.step()

训练完模型后,我们就可以对任意文本来进行情感的打分了,比如:

wpe零基础自学,wpe专业版使用教程(10)

显然这是一句很 positive 的话,模型的打分为:

wpe零基础自学,wpe专业版使用教程(11)

本章的完整代码可以参考 James D. McCaffrey 的博客:

https://jamesmccaffrey.wordpress.com/author/jamesdmccaffrey/

PS:模型的选择问题,这里作为演示采样了一个 distilbert 作为奖励模型,但实际上 ChatGPT 用的奖励模型的规模应该是和生成模型差不多大小的模型。

到目前为止,我们已经能够训练一个能够生成文本的 GPT,一个能够对文本打分的奖励模型,接下来就需要考虑如果用奖励模型来教会 GPT 生成高分文本了。考虑到很多同学可能没有强化学习的基础,这里将插入一章强化学习的介绍。

(深度)强化学习简介

强化学习的内容其实很多,背后涉及的数学也挺多,身边很多人在入门过程就被劝退,为了让大家更易于接受,这里主要介绍一些必备的基础知识,以及从策略梯度方法到 PPO 算法的演进。

强化术语

在强化学习中,智能体和环境进行交互并基于一定的奖励机制来提高自身的水平;智能体的决策,一般称为策略(policy)决定了在当前环境状态下智能体应该去实施什么动作;实施完动作后,智能体会随着环境进入下一个状态,并获得相应的奖励或惩罚。这里附上两页 slides 帮助大家理解(图片来源为 wangshusen 老师的强化课程)。

wpe零基础自学,wpe专业版使用教程(12)

栏目热文

wpe教程全集(wpe新手入门教程)

wpe教程全集(wpe新手入门教程)

免责申明:本文章只记录自己每天学习情况,不参与任何牟利,如果侵犯到任何情况请联系本人,本人将及时删帖,本人也不是计算机专...

2024-05-20 22:56:02查看全文 >>

adobe证书有用吗(adobe证书有必要考吗)

adobe证书有用吗(adobe证书有必要考吗)

每每聊起“Adobe国际认证设计师含金量"这个话题,我都感觉自己像是有说不完的话想要和大家互诉衷肠。今天呢,就针...

2024-05-20 23:42:17查看全文 >>

adobe公司有多牛(adobe公司有多少软件)

adobe公司有多牛(adobe公司有多少软件)

2011年至今Adobe股价翻了近10倍,目前市值1112亿美元,相当于1.2个百度、1.7个京东。行情来源:富途证券(...

2024-05-20 23:17:00查看全文 >>

adobe有多厉害(adobe到底有多强大)

adobe有多厉害(adobe到底有多强大)

大家好,终于又熬到了令设计师们 最期待的十一月!说到11月,不仅有双11供大家剁手还有Apple秋季发布会供大家熬夜更重...

2024-05-20 23:01:39查看全文 >>

adobe的收费标准(adobe是付费的吗)

adobe的收费标准(adobe是付费的吗)

其实 6 月就有人发现在Adobe 的土耳其网站购买 Ps 和 Lr 的组合套餐,一年只要 600 多里拉,换算 RMB...

2024-05-20 23:35:55查看全文 >>

wpe教程图解(wpe专业版使用教程)

wpe教程图解(wpe专业版使用教程)

一、什么是塑料?塑料是一种具有可塑性的人造高分子有机化合物(树脂)。塑料是指以有机合成树脂为主要成分,加入或不加入其他...

2024-05-20 23:37:40查看全文 >>

wpe神途刷元宝教程(利用wpe刷游戏道具的思路)

wpe神途刷元宝教程(利用wpe刷游戏道具的思路)

这篇文章首要解说到的便是,一些老玩家在进行过好久的游戏后,所得到的一些主意,要提供给广阔新手朋友,以协助新人们在这些方面...

2024-05-20 23:27:34查看全文 >>

wpe中文版使用教程(wpe怎么进入)

wpe中文版使用教程(wpe怎么进入)

在外人眼里,这是一位不折不扣的“神童”。人们很难想到,这位中国信息安全产业百强企业的CEO,在十几年前就已经展开了一场创...

2024-05-20 23:14:36查看全文 >>

经典鬼故事300字(简短鬼故事3000字)

经典鬼故事300字(简短鬼故事3000字)

从前,有个李家村,村里有个穷书生李善,他已经娶妻,名叫小莲。 这天,小莲偶感风寒,李善进城去给小莲抓药。碰到熟人,硬拉他...

2024-05-20 23:01:49查看全文 >>

数据透视表怎么转换成一般表格(怎么把数据透视表变成正常的表格)

数据透视表怎么转换成一般表格(怎么把数据透视表变成正常的表格)

有人问道如何将透视表的字段分别显示在不同的列上面,也就是不要把所有的字段弄成大纲一样弄成一列。利用上面的字段拖拽得到下面...

2024-05-20 23:38:56查看全文 >>

文档排行