GitHub 热门项目: self-rewarding-lm-pytorch

摘要

GitHub项目:self-rewarding-lm-pytorch 仓库地址:https://github。

dataset the from import str
2026-05-26 1 阅读 GitHub Trending
GitHub 项目:self-rewarding-lm-pytorch 仓库地址:https://github.com/lucidrains/self-rewarding-lm-pytorch 星级:1409 | 作者:lucidrains 项目描述:MetaAI 自我奖励语言模型中提出的训练框架的实现 =================================================== 自述文件内容: ## 自我奖励语言模型 MetaAI 的自我奖励语言模型中提出的训练框架的实现 他们确实牢记了DPO 论文的标题。 该库还包含 SPIN 的实现,Teknium of Nous Research 对此表示乐观。 ## 欣赏 - A16Z 开源 AI 资助计划? Huggingface 的慷慨赞助,以及我的其他赞助商,为我提供了开源当前人工智能研究的独立性 ## 安装 `` 重击 $ pip install self-rewarding-lm-pytorch ```` ## 用法 ````蟒蛇 进口火炬 从 torch 导入张量 从 self_rewarding_lm_pytorch 导入( 自我奖励培训师, 创建模拟数据集 ) 从 x_transformers 导入 TransformerWrapper、解码器 变压器 = TransformerWrapper( 代币数量 = 256, 最大序列长度 = 1024, attn_layers = 解码器( 暗淡= 512, 深度 = 1, 头 = 8 ) ) sft_dataset = create_mock_dataset(100, lambda: (torch.randint(0, 256, (256,)), torch.tensor(1))) Prompt_dataset = create_mock_dataset(100, lambda: '模拟提示') defdecode_tokens(令牌:张量)->str: 解码令牌 = lambda 令牌:str(chr(max(32, 令牌))) 返回 ''.join(list(map(decode_token, tokens))) defencode_str(seq_str: str) -> 张量: 返回张量(列表(map(ord,seq_str))) 训练师 = SelfRewardingTrainer( 变压器, finetune_configs = 字典( train_sft_dataset = sft_dataset, self_reward_prompt_dataset=prompt_dataset, dpo_num_train_steps = 1000 ), tokenizer_decode = 解码令牌, tokenizer_encode = 编码_str, Accelerate_kwargs = 字典( 中央处理器=真 ) ) 教练(overwrite_checkpoints = True) # 每个微调阶段后的检查点将保存到 ./checkpoints ```` SPIN 可以按如下方式进行训练 - 也可以将其添加到微调管道中,如自述文件中的最后一个示例所示。 ````蟒蛇 进口火炬 从 self_rewarding_lm_pytorch 导入( SPIN训练器, 创建模拟数据集 ) 从 x_transformers 导入 TransformerWrapper、解码器 变压器 = TransformerWrapper( 代币数量 = 256, 最大序列长度 = 1024, attn_layers = 解码器( 暗淡= 512, 深度 = 6, 头 = 8 ) ) sft_dataset = create_mock_dataset(100, lambda: (torch.randint(0, 256, (256,)), torch.tensor(1))) spin_trainer = SPINTrainer( 变压器, 最大序列长度 = 16, train_sft_dataset = sft_dataset, 检查点_每个 = 100, spin_kwargs = 字典( λ=0.1, ), ) 自旋训练器() ```` 说你想要