transformers
Add FSDP plans to all models
#47165
Merged

Add FSDP plans to all models #47165

3outeille merged 194 commits into main from split/a-pr-5-fsdp-plans
3outeille
3outeille add distributed config
799ac94d
3outeille Add native FSDP2 module and migrate FSDP imports (Phase A PR-2).
22d4b52b
3outeille linting
4bfd1a64
3outeille unecessary
9487bdda
3outeille copyright edit
588884e6
3outeille revert
8cc48a06
3outeille add shard on read
672bbbe0
3outeille Merge branch 'main' into split/a-pr-1-distributed-config
5bbc7960
3outeille jsut shard on read
d0cc6a7d
3outeille Merge branch 'split/a-pr-1-distributed-config' into split/a-pr-2-fsdp…
6fd78131
3outeille Merge branch 'main' into split/a-pr-3-dual-path-loading
47519d7b
3outeille cleaning
063e57b0
3outeille Merge branch 'split/a-pr-3-dual-path-loading' of https://github.com/h…
c06dc35f
3outeille linting
9d2e86dd
3outeille fix
79457b3f
3outeille fix
f3e80210
3outeille Merge branch 'split/a-pr-1-distributed-config' into split/a-pr-2-fsdp…
acacae84
3outeille Merge branch 'main' into split/a-pr-1-distributed-config
54c1f4e5
3outeille Merge branch 'main' into split/a-pr-3-dual-path-loading
d23986ac
3outeille Merge branch 'split/a-pr-1-distributed-config' into split/a-pr-2-fsdp…
f219c74c
3outeille remove redundant test file
ea8243f8
3outeille Merge branch 'main' into split/a-pr-1-distributed-config
db31b043
3outeille Merge branch 'split/a-pr-1-distributed-config' into split/a-pr-2-fsdp…
4d840dcc
3outeille Update src/transformers/distributed/fsdp.py
c384fcdc
3outeille avoid looping, just look at dict
96258163
3outeille expand_fsdp returns reshard_targets, no_reshard_targets right away
59bcec56
3outeille better _resolve_tied_embed_lm_head_plan
ebf3585c
3outeille cleaning
e9693251
3outeille ruff
2376965e
3outeille Merge branch 'main' into split/a-pr-1-distributed-config
d8301145
3outeille Merge branch 'split/a-pr-1-distributed-config' into split/a-pr-2-fsdp…
a44f81f2
3outeille more robust detection of embed and lm_head
0f62c45e
3outeille Merge branch 'split/a-pr-2-fsdp-module' of https://github.com/hugging…
020f7d3f
3outeille Merge branch 'split/a-pr-2-fsdp-module' into split/a-pr-3-dual-path-l…
05d766f5
3outeille cleaning
da302ade
3outeille ruff
dfc665cd
3outeille typo
446fd6e9
3outeille cleaner
5aeaff74
3outeille cleaner
819ff149
3outeille Merge branch 'main' into split/a-pr-1-distributed-config
413d775c
3outeille Merge branch 'split/a-pr-1-distributed-config' into split/a-pr-2-fsdp…
7bc37223
3outeille Merge branch 'split/a-pr-2-fsdp-module' into split/a-pr-3-dual-path-l…
d6d8b51b
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
f8f27ffd
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
ce2f0019
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
ec87fff3
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
6e156fd4
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
606df0ac
3outeille typo
3ee8a928
3outeille Merge branch 'split/a-pr-3-dual-path-loading' of https://github.com/h…
6bc43aed
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
c4aa4b70
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
c5ad67b5
3outeille refactor dense path + apply_contiguous_shard
3c6c5f23
3outeille linting
74490d66
3outeille cleaning
db6c99e8
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
04c124ed
3outeille refactor _apply_strided_shard
8f214ef6
3outeille better
ab34afb2
3outeille refactor _slice_and_cat
c4bf166f
3outeille better comment
be61c49a
3outeille refactor moe dtensor shard ops
75ad5b9d
3outeille better comment
91cd7977
3outeille comment
68069dec
3outeille cleaning
83029ed7
3outeille linting
1f857df7
3outeille Merge branch 'split/a-pr-2-fsdp-module' into split/a-pr-3-dual-path-l…
aa140ed7
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
8b57aa41
3outeille Add FSDP orchestration: mesh init, distribute-before-load, and DCP save.
7c113940
3outeille Merge branch 'split/a-pr-2-fsdp-module' into split/a-pr-3-dual-path-l…
70544cd9
3outeille Merge branch 'split/a-pr-3-dual-path-loading' into split/a-pr-4-fsdp-…
17c6d402
3outeille add fsdp plan to 2 models for now
00eb1166
3outeille add tests fsdp mixin
be296ddf
3outeille linting
05900d60
3outeille refactor test fsdp mixin
fc2423bd
3outeille test fsdp mixin cleaning
5bbd8201
3outeille remove fsdp policy in tests + trim down further
b6d0b67a
3outeille test fsdp clean
ea361231
3outeille restore test_modeling_utils
bec4d23a
3outeille linting
8d3d3298
3outeille start trim down stuff
6316ee1e
3outeille fix
6e9004ec
3outeille breaking: cleaning modeling_utils.py
68df491a
3outeille load path with fsdp (dtensor) and tp (old tp) is linked
16b0b291
3outeille linting
e976a44c
3outeille add saving
a2fb155f
3outeille styling
5f52f196
3outeille fix tp ci
7f543017
3outeille add fsdp to ci
99f79acc
3outeille linting
b4514906
3outeille pick one model only for this PR
54ff4d1d
3outeille restore
33995399
3outeille trigger fsdp ci
11cf79c2
3outeille doc cleaning + tp_size remove
5b7ac3e5
3outeille fix tp ci for ep
06b0c394
3outeille edit doc
7a94d77a
3outeille move distributed function to utils + guarding
f3c742b7
3outeille linting
37df13ee
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
dd1000bb
3outeille expand_fsdp_plan iterate over modules
5c95559e
3outeille Merge branch 'split/a-pr-2-fsdp-module' of https://github.com/hugging…
00a11b6a
3outeille Merge branch 'split/a-pr-2-fsdp-module' into split/a-pr-3-dual-path-l…
fd3d4b08
3outeille Merge branch 'split/a-pr-3-dual-path-loading' into split/a-pr-4-fsdp-…
86875d22
3outeille comment about tie embedding
e4613e67
3outeille Merge branch 'split/a-pr-2-fsdp-module' into split/a-pr-3-dual-path-l…
c2b8451a
3outeille add comment tied embedding
d558f999
3outeille Merge branch 'split/a-pr-2-fsdp-module' into split/a-pr-3-dual-path-l…
aed1818b
3outeille Merge branch 'split/a-pr-3-dual-path-loading' into split/a-pr-4-fsdp-…
450579ba
3outeille add DistributedMixin
91260ba4
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
1541674d
3outeille Merge branch 'split/a-pr-2-fsdp-module' into split/a-pr-3-dual-path-l…
9fd759d8
3outeille solve merge conflict
84dd1078
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
9fae1b40
3outeille some cleaning
eb653bda
3outeille Merge branch 'split/a-pr-3-dual-path-loading' of https://github.com/h…
dcaa20ae
3outeille cleaning + comment
d03499fa
3outeille rename function for clarity
fb5533e1
3outeille Apply suggestion from @ArthurZucker
7838dc6c
3outeille doc
877052b5
3outeille Merge branch 'split/a-pr-3-dual-path-loading' of https://github.com/h…
59f666fa
3outeille comment
17643a7b
3outeille Merge branch 'split/a-pr-2-fsdp-module' into split/a-pr-3-dual-path-l…
7bb152cd
3outeille Merge branch 'main' into split/a-pr-2-fsdp-module
0b4d1e06
3outeille Merge branch 'split/a-pr-2-fsdp-module' into split/a-pr-3-dual-path-l…
101562d0
3outeille Merge branch 'split/a-pr-3-dual-path-loading' into split/a-pr-4-fsdp-…
99576ee8
3outeille linting
22215b7c
3outeille Merge branch 'split/a-pr-4-fsdp-orchestration' of https://github.com/…
f6ed4657
3outeille refactor
18d709c6
3outeille abstract to mixin
566ef6e4
3outeille typo
b632db38
3outeille Add FSDP plans to all models from distributed branch.
0eec8c78
HuggingFaceDocBuilderDev
3outeille fsdp plans
a1f4b71e
3outeille add fsdp plans
a07e5bf8
3outeille linting
0dfe224d
3outeille linting
e5a65357
3outeille Add distributed runtime utils and DistributedMixin (FSDP orchestratio…
e764cebd
3outeille Wire DistributedConfig through from_pretrained and save_pretrained (F…
61362b74
3outeille Add FSDP CI and end-to-end FSDP tests (FSDP orchestration 3/3).
eb34d37f
3outeille addd ep_plan
b866f008
3outeille Merge branch 'split/a-pr-4-1-distributed-runtime' into split/a-pr-4-2…
3da6fb9a
3outeille Merge branch 'split/a-pr-4-2-orchestration' into split/a-pr-4-3-fsdp-…
ca8d0370
3outeille restore validate module
b3f45385
3outeille Wire DistributedConfig through from_pretrained and save_pretrained.
b1fb1b93
3outeille revert
1bf32cc4
3outeille Merge branch 'split/a-pr-4-1-distributed-runtime' into split/a-pr-4-2…
1620c0f2
3outeille Merge branch 'split/a-pr-4-2-orchestration' into split/a-pr-4-3-fsdp-…
fe0dcf7d
3outeille inline distribute_model
e52fda3f
3outeille revert
71dde8aa
3outeille remove saving/loading
4e23dbf1
3outeille leaner mixin
5742a2ef
3outeille downgrade torch version guarding
5c81035d
3outeille remove
004354f8
3outeille linting
6d03414a
3outeille Merge branch 'split/a-pr-4-1-distributed-runtime' into split/a-pr-4-3…
450987f3
3outeille revert
47d85adb
3outeille Merge branch 'split/a-pr-4-2-fsdp-tests-ci' of https://github.com/hug…
c577f337
3outeille revert
b319d6ac
3outeille post_init() parallel plan move to mixin
eb9a081e
3outeille Merge branch 'split/a-pr-4-1-distributed-runtime' into split/a-pr-4-2…
d5358f3e
3outeille revert tp mixin
9a783c8c
3outeille Merge branch 'split/a-pr-4-1-distributed-runtime' into split/a-pr-4-2…
0448e72f
3outeille add save/load
259bff43
3outeille Merge branch 'main' into split/a-pr-4-1-distributed-runtime
b15b63e1
3outeille Merge branch 'main' into split/a-pr-4-1-distributed-runtime
17d611b4
3outeille Merge branch 'main' into split/a-pr-4-1-distributed-runtime
7fe841b7
3outeille Merge branch 'split/a-pr-4-1-distributed-runtime' into split/a-pr-4-2…
5f9b5ab2
3outeille Merge branch 'main' into split/a-pr-4-2-fsdp-tests-ci
b95be32b
3outeille 3outeille changed the base branch from split/a-pr-4-fsdp-orchestration to split/a-pr-4-2-fsdp-tests-ci 35 days ago
3outeille only FSDP save/load for now
d6257574
3outeille Merge branch 'split/a-pr-4-2-fsdp-tests-ci' of https://github.com/hug…
9e810e40
3outeille revert
049b89c0
3outeille Merge remote-tracking branch 'origin/split/a-pr-4-2-fsdp-tests-ci' in…
a03f35a0
3outeille refactor
6b35d0e3
3outeille Merge branch 'split/a-pr-4-2-fsdp-tests-ci' into split/a-pr-5-fsdp-plans
862b428b
3outeille modular
e5032053
3outeille Merge branch 'split/a-pr-5-fsdp-plans' of https://github.com/huggingf…
c7fa8437
3outeille 3outeille requested a review from ArthurZucker ArthurZucker 34 days ago
3outeille Merge branch 'main' into split/a-pr-4-2-fsdp-tests-ci
047bd41d
3outeille Merge branch 'main' into split/a-pr-4-2-fsdp-tests-ci
8c96054e
3outeille Merge branch 'split/a-pr-4-2-fsdp-tests-ci' into split/a-pr-5-fsdp-plans
a1b0d779
Base automatically changed from split/a-pr-4-2-fsdp-tests-ci to main 33 days ago
3outeille Merge branch 'main' into split/a-pr-5-fsdp-plans
c364a541
3outeille ea
36ca137e
3outeille Merge branch 'main' into split/a-pr-5-fsdp-plans
2f87b7db
ArthurZucker
ArthurZucker commented on 2026-07-24
3outeille Merge branch 'main' into split/a-pr-5-fsdp-plans
d44d5db9
3outeille add it to pretrained model
507a3c7d
3outeille linting
258ab19f
3outeille 3outeille requested a review from ArthurZucker ArthurZucker 29 days ago
3outeille 3outeille requested a review from vasqu vasqu 29 days ago
3outeille fix the test by moving in init class the fsdp plan instead of post init
70de2959
3outeille edit
830f0e40
3outeille Merge branch 'main' into split/a-pr-5-fsdp-plans
e1880b19
ArthurZucker
ArthurZucker approved these changes on 2026-07-27
3outeille Merge branch 'main' into split/a-pr-5-fsdp-plans
7a4f465a
3outeille revert unwanted changes
3d7d2f2d
3outeille pull
6232a5e8
3outeille 3outeille enabled auto-merge 28 days ago
3outeille Merge branch 'main' into split/a-pr-5-fsdp-plans
c277d336
3outeille Merge branch 'main' into split/a-pr-5-fsdp-plans
a23b171d
3outeille Merge branch 'main' into split/a-pr-5-fsdp-plans
f9273afb
3outeille Merge branch 'main' into split/a-pr-5-fsdp-plans
e63e45c3
3outeille fix ci
47e72898
3outeille Merge branch 'split/a-pr-5-fsdp-plans' of https://github.com/huggingf…
6c5f6c02
github-actions
github-actions
3outeille 3outeille merged 3e9d3e50 into main 28 days ago
3outeille 3outeille deleted the split/a-pr-5-fsdp-plans branch 28 days ago

Login to write a write a comment.

Login via GitHub

Reviewers
Assignees
No one assigned
Labels
Milestone