Commit graph

162 commits

Author SHA1 Message Date
Pedro Rodriguez ac257bac19 Fix distributed all reduce grad norm
Summary:

With >1 GPU, but only 1 node, all reduces fail when inputs are not bf16. This uses a modified copy of torch's grad norm to avoid failures

Test Plan:

- Run unit tests:
- Run single gpu training: `python -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100`
- Run 1 node, multi-gpu training `torchrun --nproc-per-node 8 -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100`
2025-02-05 00:52:52 +00:00
Pedro Rodriguez 2d68e5126d merge commit for archive created by Sapling 2025-02-05 00:51:52 +00:00
Pedro Rodriguez 9cf7847e26 Fix distributed all reduce grad norm
Summary:

With >1 GPU, but only 1 node, all reduces fail when inputs are not bf16. This uses a modified copy of torch's grad norm to avoid failures

Test Plan:

- Run unit tests:
- Run single gpu training: `python -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100`
- Run 1 node, multi-gpu training `torchrun --nproc-per-node 8 -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100`
2025-02-05 00:51:27 +00:00
Pedro Rodriguez 8db01ac392
Merge 4ad4889405 into sapling-pr-archive-EntilZha 2025-02-04 16:30:42 -08:00
Pedro Rodriguez 4ad4889405 Update checkpointing to use fsspec
Summary:

- Make the data/checkpoint code fsspec compatible


Test Plan:

Run unit tests and the commands below

```
python -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100
```

```
torchrun --nproc-per-node 8 -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100
```

```
python -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100 dump_dir=s3://blt/scratch/checkpoint-test/
```

```
torchrun --nproc-per-node 8 -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100 dump_dir=s3://blt/scratch/checkpoint-test/
```
2025-02-05 00:30:38 +00:00
Pedro Rodriguez 97e3bc0427
Merge b2058fb0f6 into sapling-pr-archive-EntilZha 2025-02-04 16:30:13 -08:00
Pedro Rodriguez b2058fb0f6 Update checkpointing to use fsspec
Summary:

- Make arrow iterator able to read from jsonl files, the entropies are omitted in this case
- Make the data/checkpoint code fsspec compatible
- Fix issues with all reduce with non-bf16 in dist_sum and norm computation.
- Minimal fixes to get eval to run, it is slow currently
- Add bpb numbers during training


Test Plan:

Run unit tests and the commands below

```
python -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100
```

```
torchrun --nproc-per-node 8 -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100
```

```
python -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100 dump_dir=s3://blt/scratch/checkpoint-test/
```

```
torchrun --nproc-per-node 8 -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null checkpoint.dump.every=100 dump_dir=s3://blt/scratch/checkpoint-test/
```
2025-02-05 00:29:37 +00:00
Pedro Rodriguez 740d76cd69
Merge e742218d65 into sapling-pr-archive-EntilZha 2025-02-04 16:21:14 -08:00
Pedro Rodriguez e742218d65 Update checkpointing to use fsspec
Summary:

- Make arrow iterator able to read from jsonl files, the entropies are omitted in this case
- Make the data/checkpoint code fsspec compatible
- Fix issues with all reduce with non-bf16 in dist_sum and norm computation.
- Minimal fixes to get eval to run, it is slow currently
- Add bpb numbers during training


Test Plan:

Run

```
torchrun --nproc-per-node 8 -m bytelatent.train config=internal/configs/entropy_model.yaml eval=null max_steps=10100
```

```
python -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null
```

```
torchrun --nproc-per-node 8 -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null
```
2025-02-05 00:20:58 +00:00
Pedro Rodriguez 9c4cca558b
Merge bc39591032 into sapling-pr-archive-EntilZha
Some checks are pending
Lint with Black / lint (push) Waiting to run
Lint with isort / lint (push) Waiting to run
2025-02-04 10:19:56 -08:00
Pedro Rodriguez bc39591032 Several changes to enable entropy model training/eval
Summary:

- Make arrow iterator able to read from jsonl files, the entropies are omitted in this case
- Make the data/checkpoint code fsspec compatible
- Fix issues with all reduce with non-bf16 in dist_sum and norm computation.
- Minimal fixes to get eval to run, it is slow currently
- Add bpb numbers during training


Test Plan:

Run

```
torchrun --nproc-per-node 8 -m bytelatent.train config=internal/configs/entropy_model.yaml eval=null max_steps=10100
```

```
python -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null
```

```
torchrun --nproc-per-node 8 -m bytelatent.train config=internal/configs/s3_debug.yaml eval=null
```
2025-02-04 18:19:49 +00:00
Pedro Rodriguez f73b9e1a41 merge commit for archive created by Sapling 2025-02-04 18:05:21 +00:00
Pedro Rodriguez ab399e981d Several changes to enable entropy model training/eval
Summary:

- Make arrow iterator able to read from jsonl files, the entropies are omitted in this case
- Make the data/checkpoint code fsspec compatible
- Fix issues with all reduce with non-bf16 in dist_sum and norm computation.
- Minimal fixes to get eval to run, it is slow currently
- Add bpb numbers during training


Test Plan:

Run

```
torchrun --nproc-per-node 8 -m bytelatent.train config=internal/configs/entropy_model.yaml eval=null max_steps=10100
```
2025-02-04 18:05:16 +00:00
Pedro Rodriguez 48df9ce785
Merge c6ef4285e2 into sapling-pr-archive-EntilZha 2025-02-04 10:03:26 -08:00
Pedro Rodriguez c6ef4285e2 Several changes to enable entropy model training/eval
Summary:

- Make arrow iterator able to read from jsonl files, the entropies are omitted in this case
- Make the data/checkpoint code fsspec compatible
- Fix issues with all reduce with non-bf16 in dist_sum and norm computation.
- Minimal fixes to get eval to run, it is slow currently
- Add bpb numbers during training


Test Plan:
2025-02-04 18:03:19 +00:00
Pedro Rodriguez 4ff8341738
Merge 11cad6c84d into sapling-pr-archive-EntilZha
Some checks are pending
Lint with Black / lint (push) Waiting to run
Lint with isort / lint (push) Waiting to run
2025-02-03 18:29:37 -08:00
Pedro Rodriguez 11cad6c84d WIP parallel copy script
Summary:

Test Plan:
2025-01-28 00:57:06 +00:00
Pedro Rodriguez 7044771a12
This includes fixes that make checkpointing and reloading work correctly. (#35)
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
It also batches in a first set of changes for fixing eval code

Summary:

Test Plan:
2025-01-27 16:56:42 -08:00
Pedro Rodriguez 4db801a532
Merge caf82b924e into sapling-pr-archive-EntilZha
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
2025-01-27 16:54:52 -08:00
Pedro Rodriguez caf82b924e This includes fixes that make checkpointing and reloading work correctly.
It also batches in a first set of changes for fixing eval code

Summary:

Test Plan:
2025-01-28 00:54:47 +00:00
Pedro Rodriguez c2f1e4845e
Merge e02ba763b0 into sapling-pr-archive-EntilZha 2025-01-27 16:38:54 -08:00
Pedro Rodriguez e02ba763b0 This includes fixes that make checkpointing and reloading work correctly.
It also batches in a first set of changes for fixing eval code

Summary:

Test Plan:
2025-01-28 00:38:46 +00:00
Pedro Rodriguez 7622d28b74
Initial codes and scripts for training entropy model (#34)
Some checks are pending
Lint with Black / lint (push) Waiting to run
Lint with isort / lint (push) Waiting to run
Summary:

Test Plan:
2025-01-27 09:46:44 -08:00
Pedro Rodriguez b1c12dd275
Merge 34ca1f7d4b into sapling-pr-archive-EntilZha
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
2025-01-24 13:59:47 -08:00
Pedro Rodriguez 34ca1f7d4b Initial codes and scripts for training entropy model
Summary:

Test Plan:
2025-01-24 21:59:42 +00:00
Pedro Rodriguez f1a2589266
Merge fb09022e5e into sapling-pr-archive-EntilZha 2025-01-24 13:55:48 -08:00
Pedro Rodriguez fb09022e5e Initial codes and scripts for training entropy model
Summary:

Test Plan:
2025-01-24 21:55:41 +00:00
Pedro Rodriguez a809259e71
Use load_async flag to not start MP iterator (#33)
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
Summary:

Test Plan:
2025-01-24 10:57:20 -08:00
Pedro Rodriguez 17b727465f
Merge bd461af91a into sapling-pr-archive-EntilZha
Some checks are pending
Lint with Black / lint (push) Waiting to run
Lint with isort / lint (push) Waiting to run
2025-01-24 10:56:34 -08:00
Pedro Rodriguez bd461af91a Use load_async flag to not start MP iterator
Summary:

Test Plan:
2025-01-24 18:56:28 +00:00
Pedro Rodriguez bc42cebd7d
Update file check script to check sizes (#32)
Some checks failed
Lint with isort / lint (push) Has been cancelled
Lint with Black / lint (push) Has been cancelled
Summary:

Test Plan:
2025-01-22 13:06:46 -08:00
Pedro Rodriguez cbcc3e1868 merge commit for archive created by Sapling
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
2025-01-22 19:58:13 +00:00
Pedro Rodriguez 8a3084c346 Update file check script to check sizes
Summary:

Test Plan:
2025-01-22 19:58:04 +00:00
Ink 392117bff2
Fix realtime entropy patching (#26)
Some checks are pending
Lint with Black / lint (push) Waiting to run
Lint with isort / lint (push) Waiting to run
* allow loading of the entropy model directly

* remove unused argument

* remove spammy warning

* allow patch_batch_size to be adjusted in the forward() method

* revert to original patcher style, fix warning

* allow grads when calculating entropies

* fix grad flow

* return preds from calculate_entropies()

* remove legacy arg

* fix an error with monotonicity and small sequence lengths

* ensure patcher is serializable

* revert patcher to original

* remove unused import
2025-01-21 16:34:23 -08:00
Pedro Rodriguez 6ffeb66b53
Changes for training entropy model and correcting attention in local models (#25)
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
Summary:

- Refactor local model configs to be separate and clearer
- Add attention arguments and correct which attention is used in local models
- Preparation for being able to have an entropy train script
- Fix failing unit tests

Test Plan:
2025-01-17 14:23:01 -08:00
Pedro Rodriguez ee0d68395a merge commit for archive created by Sapling
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
2025-01-17 22:21:56 +00:00
Pedro Rodriguez 7f305b3871 [WIP] Changes for training entropy model and correcting attention in local models
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
Summary:

- Refactor local model configs to be separate and clearer
- Add attention arguments and correct which attention is used in local models
- Preparation for being able to have an entropy train script
- Fix failing unit tests

Test Plan:
2025-01-17 22:21:51 +00:00
Pedro Rodriguez 3e3a9fc314 merge commit for archive created by Sapling
Some checks are pending
Lint with Black / lint (push) Waiting to run
Lint with isort / lint (push) Waiting to run
2025-01-17 01:02:33 +00:00
Pedro Rodriguez 374409fa3b [WIP] Changes for training entropy model and correcting attention in local models
Some checks are pending
Lint with Black / lint (push) Waiting to run
Lint with isort / lint (push) Waiting to run
Summary:

- Refactor local model configs to be separate and clearer
- Add attention arguments and correct which attention is used in local models
- Preparation for being able to have an entropy train script
- Fix failing unit tests

Test Plan:
2025-01-17 01:02:27 +00:00
Pedro Rodriguez 020cf16c1b
Merge 38022ac06e into sapling-pr-archive-EntilZha
Some checks are pending
Lint with Black / lint (push) Waiting to run
Lint with isort / lint (push) Waiting to run
2025-01-16 13:51:17 -08:00
Pedro Rodriguez 38022ac06e [WIP] Changes for training entropy model and correcting attention in local models
Summary:

- Refactor local model configs to be separate and clearer
- Add attention arguments and correct which attention is used in local models
- Preparation for being able to have an entropy train script
- Fix failing unit tests

Test Plan:
2025-01-16 21:51:05 +00:00
Ink caec8d2621
allow flex-attention to be disabled (#19)
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
* allow flex-attention to silently fail

* allow flex-attn to be disabled via an env var
2025-01-14 09:32:07 -08:00
Pedro Rodriguez 1da3dd9315
Update preprocess_entropies script to blt inference + add fsspec support (#23)
Some checks are pending
Lint with Black / lint (push) Waiting to run
Lint with isort / lint (push) Waiting to run
Summary:

Test Plan:
2025-01-13 15:28:14 -08:00
Pedro Rodriguez 4974f9512d merge commit for archive created by Sapling
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
2025-01-13 23:26:35 +00:00
Pedro Rodriguez d718cfa9a1 Update preprocess_entropies script to blt inference + add fsspec support
Summary:

Test Plan:
2025-01-13 23:26:27 +00:00
Pedro Rodriguez 95e7e89f42 merge commit for archive created by Sapling 2025-01-13 23:14:27 +00:00
Pedro Rodriguez 3f045f1123 Update preprocess_entropies script to blt inference + add fsspec support
Summary:

Test Plan:
2025-01-13 23:14:09 +00:00
Pedro Rodriguez b0120da72f
Replace regular filesystem calls with fsspec + add s3 support (#18)
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
Summary:

For compatibility with either local/nfs or S3 datasets, swap to fsspec.

Add a tool to compare local and remote filesystems

Test Plan:

- Ran regular train script
- Ran with config with data in S3
2025-01-10 11:04:41 -08:00
Pedro Rodriguez 5657903dea merge commit for archive created by Sapling
Some checks failed
Lint with Black / lint (push) Has been cancelled
Lint with isort / lint (push) Has been cancelled
2025-01-10 01:04:26 +00:00
Pedro Rodriguez a1d05403b4 Replace regular filesystem calls with fsspec + add s3 support
Summary:

For compatibility with either local/nfs or S3 datasets, swap to fsspec.

Add a tool to compare local and remote filesystems

Test Plan:

- Ran regular train script
- Ran with config with data in S3
2025-01-10 01:04:18 +00:00