Index1

这是一份很随意的草稿

下面的几篇文章是笔者学习 RLHF 的学习笔记,不保证正确性,仅用作备忘.

实现部分笔者将尝试分析 OpenRLHF@956b5ad 库中的代码实现.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
openrlhf
├── __init__.py
├── cli
│   ├── __init__.py
│   ├── batch_inference.py
│   ├── interactive_chat.py
│   ├── lora_combiner.py
│   ├── serve_rm.py
│   ├── train_dpo.py
│   ├── train_kd.py
│   ├── train_kto.py
│   ├── train_ppo.py
│   ├── train_ppo_ray.py
│   ├── train_prm.py
│   ├── train_rm.py
│   └── train_sft.py
├── datasets
│   ├── __init__.py
│   ├── process_reward_dataset.py
│   ├── prompts_dataset.py
│   ├── reward_dataset.py
│   ├── sft_dataset.py
│   ├── unpaired_preference_dataset.py
│   └── utils.py
├── models
│   ├── __init__.py
│   ├── actor.py
│   ├── loss.py
│   ├── model.py
│   ├── ring_attn_utils.py
│   └── utils.py
├── trainer
│   ├── __init__.py
│   ├── dpo_trainer.py
│   ├── kd_trainer.py
│   ├── kto_trainer.py
│   ├── ppo_trainer.py
│   ├── ppo_utils
│   │   ├── __init__.py
│   │   ├── experience_maker.py
│   │   ├── kl_controller.py
│   │   └── replay_buffer.py
│   ├── prm_trainer.py
│   ├── ray
│   │   ├── __init__.py
│   │   ├── launcher.py
│   │   ├── ppo_actor.py
│   │   ├── ppo_critic.py
│   │   ├── utils.py
│   │   ├── vllm_engine.py
│   │   └── vllm_worker_wrap.py
│   ├── rm_trainer.py
│   └── sft_trainer.py
└── utils
    ├── __init__.py
    ├── deepspeed
    │   ├── __init__.py
    │   ├── deepspeed.py
    │   └── deepspeed_utils.py
    ├── distributed_sampler.py
    ├── distributed_util.py
    ├── logging_utils.py
    ├── processor.py
    ├── remote_rm_utils.py
    └── utils.py

9 directories, 56 files