自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

夠快!爆火的ChatGPT等價開源項目來了,網(wǎng)友:我擔心跑不起來

人工智能
最近一段時間,由 OpenAI 開發(fā)的 AI 聊天機器人程序 ChatGPT 橫掃各大 AI 社區(qū),大家對它的熱情只增不減,不斷挖掘其潛力。

?最近一段時間,由 OpenAI 開發(fā)的 AI 聊天機器人程序 ChatGPT 橫掃各大 AI 社區(qū),大家對它的熱情只增不減,不斷挖掘其潛力。

有些研究者坐不住了,開始琢磨怎樣才能開發(fā)個等同于 ChatGPT 的開源軟件。還沒有行動的小伙伴這次參考示例來了,下面我們將要介紹的這個項目(PaLM + RLHF)就實現(xiàn)了這樣的功能。

圖片

項目地址:https://github.com/lucidrains/PaLM-rlhf-pytorch

該項目是在 PaLM 架構(gòu)之上實施 RLHF(人類反饋強化學習)?;旧系韧?ChatGPT,區(qū)別是使用了 PaLM。PaLM 是在谷歌的通用 AI 架構(gòu)「Pathways」上訓練而成的具有 5400 億參數(shù)的大型語言模型。而 RLHF,是 ChatGPT 在 GPT 3.5 系列模型的基礎(chǔ)上,引入「人工標注數(shù)據(jù) + 強化學習」(RLHF)來不斷微調(diào)預(yù)訓練語言模型,旨在讓大型語言模型(LLM)學會理解人類的命令,并學會根據(jù)給定的 prompt 給出最優(yōu)的答案。

想要了解 RLHF 更多內(nèi)容,可以參考:https://huggingface.co/blog/rlhf

正如網(wǎng)友所說的:「在 AI 領(lǐng)域中,每有一次專項突破,開發(fā)者們很快就會復現(xiàn)出一個開源版本?!?/p>

圖片

不過該項目目前只包含訓練架構(gòu)和代碼,沒有預(yù)先訓練好的權(quán)重。在使用說明上,文檔也顯示必須先要訓練 PaLM。

對此也有網(wǎng)友表示擔心,表示:這不是一個開箱即用的項目,還只是一個架構(gòu),就像 shell 一樣,需要昂貴的開銷才能訓練完成,沒有機構(gòu)能夠像谷歌那樣訓練 PaLM。

圖片

還有網(wǎng)友表示:「沒有預(yù)訓練權(quán)重是非常糟糕的,官方至少需要釋放 50% 的稀疏權(quán)重,剩下的讓開發(fā)者自己訓練,才是最好的選擇?!?/p>

圖片

不過也有網(wǎng)友表示自己會去嘗試:

圖片

下面我們來看看這個項目是如何運行的。

安裝

$ pip install palm-rlhf-pytorch

用法

首先訓練 PaLM,就像任何其他自回歸 transformer 一樣。

import torch
from palm_rlhf_pytorch import PaLM
palm = PaLM(
num_tokens = 20000,
dim = 512,
depth = 12
).cuda()
seq = torch.randint(0, 20000, (1, 2048)).cuda()
loss = palm(seq, return_loss = True)loss.backward()
# after much training, you can now generate sequences
generated = palm.generate(2048) # (1, 2048)

接著使用精選的人類反饋來訓練獎勵模型。在原始論文中,在沒有出現(xiàn)過擬合的情況下,無法從預(yù)訓練 transformer 中獲得微調(diào)的獎勵模型。項目作者則提供了使用 LoRA 進行微調(diào)的選項。

import torch
from palm_rlhf_pytorch import PaLM, RewardModel
palm = PaLM(
num_tokens = 20000,
dim = 512,
depth = 12,
causal = False
)
reward_model = RewardModel(
palm,
num_binned_output = 5 # say rating from 1 to 5
).cuda()
# mock data
seq = torch.randint(0, 20000, (1, 1024)).cuda()prompt_mask = torch.zeros(1, 1024).bool().cuda() # which part of the sequence is prompt, which part is response
labels = torch.randint(0, 5, (1,)).cuda()
# train
loss = reward_model(seq, prompt_mask = prompt_mask, labels = labels)loss.backward()
# after much training
reward = reward_model(seq, prompt_mask = prompt_mask)

最后將 transformer 和獎勵模型傳遞給 RLHFTrainer。

import torch
from palm_rlhf_pytorch import PaLM, RewardModel, RLHFTrainer
# load your pretrained palm
palm = PaLM(
num_tokens = 20000,
dim = 512,
depth = 12
).cuda()
palm.load('./path/to/pretrained/palm.pt')
# load your pretrained reward model
reward_model = RewardModel(
palm,
num_binned_output = 5
).cuda()
reward_model.load('./path/to/pretrained/reward_model.pt')
# ready your list of prompts for reinforcement learning
prompts = torch.randint(0, 256, (50000, 512)).cuda() # 50k prompts
# pass it all to the trainer and train
trainer = RLHFTrainer(
palm = palm,
reward_model = reward_model,
prompt_token_ids = prompts
)
trainer.train(num_episodes = 50000)
# then, if it succeeded...
# generate say 10 samples and use the reward model to return the best one
answer = trainer.generate(2048, prompt = prompts[0], num_samples = 10) # (<= 2048,)
責任編輯:趙寧寧 來源: 機器之心
相關(guān)推薦

2023-05-25 13:59:12

ChatGPT模型

2022-12-05 15:03:01

2023-01-31 07:42:29

代碼JDKMaven

2011-09-06 09:37:04

MTK平臺

2023-04-03 09:56:22

模型系統(tǒng)

2015-05-07 10:47:16

安卓市場

2024-02-23 09:02:21

前端開源項目

2019-08-22 17:22:41

人工智能機器學習技術(shù)

2023-02-09 12:31:20

2023-07-04 10:18:25

開源模型

2023-03-02 11:44:08

AI技術(shù)

2013-09-12 15:51:56

2023-05-11 15:27:06

2023-03-08 13:06:03

2022-12-12 09:01:03

2024-10-29 15:29:06

2024-03-01 17:01:15

GraphQL后端

2022-12-06 13:56:03

AI模型

2014-06-30 11:30:21

2025-01-21 12:44:50

點贊
收藏

51CTO技術(shù)棧公眾號