Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
4a541aa
support pp training
TongLi3701 Aug 12, 2024
515f8e4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 12, 2024
123107f
update rm
TongLi3701 Aug 12, 2024
56fd2dc
Merge branch 'coati/support-pp' of github.com:TongLi3701/ColossalAI i…
TongLi3701 Aug 12, 2024
2c92614
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 12, 2024
7d9907f
refactor
TongLi3701 Aug 12, 2024
6418670
Merge branch 'coati/support-pp' of github.com:TongLi3701/ColossalAI i…
TongLi3701 Aug 12, 2024
49f7428
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 12, 2024
a8356da
update test case
TongLi3701 Aug 13, 2024
8ce504d
fix
TongLi3701 Aug 13, 2024
8806efd
Merge branch 'hpcaitech:main' into coati/support-pp
TongLi3701 Aug 13, 2024
4a5bfc5
change to 4
TongLi3701 Aug 13, 2024
0b2b454
fix eval
TongLi3701 Aug 13, 2024
74ee10e
test
TongLi3701 Aug 13, 2024
22218d3
add pp
TongLi3701 Aug 13, 2024
2422341
hotfix
TongLi3701 Aug 13, 2024
2789c9e
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 13, 2024
38c84a1
support pp training
TongLi3701 Aug 12, 2024
5a24b0d
update rm
TongLi3701 Aug 12, 2024
f965ac8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 12, 2024
ba80449
refactor
TongLi3701 Aug 12, 2024
e624548
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 12, 2024
0ed8efc
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 12, 2024
5e968b9
update test case
TongLi3701 Aug 13, 2024
9f31a26
fix
TongLi3701 Aug 13, 2024
fc5299c
change to 4
TongLi3701 Aug 13, 2024
0247648
fix eval
TongLi3701 Aug 13, 2024
bf8e3a0
test
TongLi3701 Aug 13, 2024
dd05dd0
add pp
TongLi3701 Aug 13, 2024
a8840a0
hotfix
TongLi3701 Aug 13, 2024
3629b36
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 13, 2024
b841ded
Merge branch 'coati/support-pp' of github.com:TongLi3701/ColossalAI i…
TongLi3701 Aug 14, 2024
409f4b5
update
TongLi3701 Aug 14, 2024
e87cd8b
skip pp eval
TongLi3701 Aug 14, 2024
4191f21
update all reduce
TongLi3701 Aug 15, 2024
4516a4e
update sft
TongLi3701 Aug 15, 2024
10b72a3
update ignore
TongLi3701 Aug 15, 2024
b0c89bf
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 15, 2024
42fcc16
update no cache
TongLi3701 Aug 16, 2024
fbcb014
Merge branch 'coati/add-pp' of github.com:TongLi3701/ColossalAI into …
TongLi3701 Aug 16, 2024
3ab2f6f
add eval
TongLi3701 Aug 19, 2024
6b8f0ba
remove fi
TongLi3701 Aug 19, 2024
e458fd0
remove debug
TongLi3701 Aug 19, 2024
4f148ba
remove parentheses to avoid warning
TongLi3701 Aug 19, 2024
b1431d7
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Aug 19, 2024
038f1e0
Revert "add eval"
TongLi3701 Aug 20, 2024
ce655e3
fix conflict
TongLi3701 Aug 20, 2024
9af4b69
add all reduce
TongLi3701 Aug 20, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/run_chatgpt_examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,18 +31,18 @@ jobs:

- name: Install Colossal-AI
run: |
BUILD_EXT=1 pip install -v -e .
BUILD_EXT=1 pip install --no-cache-dir -v -e .

- name: Install ChatGPT
run: |
cd applications/ColossalChat
pip install -v .
pip install --no-cache-dir -v .
export BUILD_EXT=1
pip install -r examples/requirements.txt
pip install --no-cache-dir -r examples/requirements.txt

- name: Install Transformers
run: |
pip install transformers==4.36.2
pip install --no-cache-dir transformers==4.36.2

- name: Execute Examples
run: |
Expand Down
6 changes: 6 additions & 0 deletions applications/ColossalChat/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -161,3 +161,9 @@ applications/ColossalChat/sft_data
applications/ColossalChat/prompt_data
applications/ColossalChat/preference_data
applications/ColossalChat/temp

# Testing data
/kto_data/
/preference_data/
/prompt_data/
/sft_data/
4 changes: 3 additions & 1 deletion applications/ColossalChat/coati/trainer/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from coati.experience_maker import Experience
from torch.optim import Optimizer

from colossalai.booster import Booster
from colossalai.booster import Booster, Plugin

from .utils import is_rank_0

Expand All @@ -38,13 +38,15 @@ def __init__(
max_epochs: int,
model: nn.Module,
optimizer: Optimizer,
plugin: Plugin,
start_epoch: int = 0,
) -> None:
super().__init__()
self.booster = booster
self.max_epochs = max_epochs
self.model = model
self.optimizer = optimizer
self.plugin = plugin
self.start_epoch = start_epoch

@abstractmethod
Expand Down
7 changes: 5 additions & 2 deletions applications/ColossalChat/coati/trainer/dpo.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from tqdm import trange
from transformers import PreTrainedTokenizerBase

from colossalai.booster import Booster
from colossalai.booster import Booster, Plugin
from colossalai.cluster import DistCoordinator
from colossalai.utils import get_current_device

Expand Down Expand Up @@ -50,6 +50,7 @@ def __init__(
ref_model: Any,
booster: Booster,
actor_optim: Optimizer,
plugin: Plugin,
actor_lr_scheduler: _LRScheduler,
tokenizer: PreTrainedTokenizerBase,
max_epochs: int = 1,
Expand All @@ -63,7 +64,9 @@ def __init__(
save_dir: str = None,
coordinator: DistCoordinator = None,
) -> None:
super().__init__(booster, max_epochs=max_epochs, model=actor, optimizer=actor_optim, start_epoch=start_epoch)
super().__init__(
booster, max_epochs=max_epochs, model=actor, optimizer=actor_optim, plugin=plugin, start_epoch=start_epoch
)
self.ref_model = ref_model
self.actor_scheduler = actor_lr_scheduler
self.tokenizer = tokenizer
Expand Down
7 changes: 5 additions & 2 deletions applications/ColossalChat/coati/trainer/kto.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
from tqdm import trange
from transformers import PreTrainedTokenizerBase

from colossalai.booster import Booster
from colossalai.booster import Booster, Plugin
from colossalai.cluster import DistCoordinator
from colossalai.utils import get_current_device

Expand Down Expand Up @@ -53,6 +53,7 @@ def __init__(
ref_model: Any,
booster: Booster,
actor_optim: Optimizer,
plugin: Plugin,
actor_lr_scheduler: _LRScheduler,
tokenizer: PreTrainedTokenizerBase,
max_epochs: int = 1,
Expand All @@ -66,7 +67,9 @@ def __init__(
save_dir: str = None,
coordinator: DistCoordinator = None,
) -> None:
super().__init__(booster, max_epochs=max_epochs, model=actor, optimizer=actor_optim, start_epoch=start_epoch)
super().__init__(
booster, max_epochs=max_epochs, model=actor, optimizer=actor_optim, plugin=plugin, start_epoch=start_epoch
)
self.ref_model = ref_model
self.actor_scheduler = actor_lr_scheduler
self.tokenizer = tokenizer
Expand Down
7 changes: 5 additions & 2 deletions applications/ColossalChat/coati/trainer/orpo.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from tqdm import trange
from transformers import PreTrainedTokenizerBase

from colossalai.booster import Booster
from colossalai.booster import Booster, Plugin
from colossalai.cluster import DistCoordinator
from colossalai.utils import get_current_device

Expand Down Expand Up @@ -48,6 +48,7 @@ def __init__(
actor: Any,
booster: Booster,
actor_optim: Optimizer,
plugin: Plugin,
actor_lr_scheduler: _LRScheduler,
tokenizer: PreTrainedTokenizerBase,
max_epochs: int = 1,
Expand All @@ -59,7 +60,9 @@ def __init__(
save_dir: str = None,
coordinator: DistCoordinator = None,
) -> None:
super().__init__(booster, max_epochs=max_epochs, model=actor, optimizer=actor_optim, start_epoch=start_epoch)
super().__init__(
booster, max_epochs=max_epochs, model=actor, optimizer=actor_optim, plugin=plugin, start_epoch=start_epoch
)
self.actor_scheduler = actor_lr_scheduler
self.tokenizer = tokenizer
self.odds_ratio_loss_fn = OddsRatioLoss()
Expand Down
7 changes: 5 additions & 2 deletions applications/ColossalChat/coati/trainer/rm.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from torch.utils.data import DataLoader
from transformers import PreTrainedTokenizerBase

from colossalai.booster import Booster
from colossalai.booster import Booster, Plugin
from colossalai.cluster import DistCoordinator
from colossalai.utils import get_current_device

Expand Down Expand Up @@ -48,6 +48,7 @@ def __init__(
model: Any,
booster: Booster,
optimizer: Optimizer,
plugin: Plugin,
lr_scheduler: _LRScheduler,
tokenizer: PreTrainedTokenizerBase,
loss_fn: Optional[Callable] = None,
Expand All @@ -59,7 +60,9 @@ def __init__(
save_dir: str = None,
coordinator: DistCoordinator = None,
) -> None:
super().__init__(booster, max_epochs=max_epochs, model=model, optimizer=optimizer, start_epoch=start_epoch)
super().__init__(
booster, max_epochs=max_epochs, model=model, optimizer=optimizer, plugin=plugin, start_epoch=start_epoch
)
self.actor_scheduler = lr_scheduler
self.tokenizer = tokenizer
self.loss_fn = loss_fn if loss_fn is not None else LogSigLoss(beta=beta)
Expand Down
Loading