-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bump PyTorch pin to 20241112 #1367
base: main
Are you sure you want to change the base?
Conversation
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/torchchat/1367
Note: Links to docs will display an error until the docs builds have been completed. ❗ 1 Active SEVsThere are 1 currently active SEVs. If your PR is affected, please view them below: ❌ 22 New Failures, 2 Cancelled JobsAs of commit 5b91d46 with merge base b809b69 (): NEW FAILURES - The following jobs have failed:
CANCELLED JOBS - The following jobs were cancelled. Please retry:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
this looks accurate; according to https://download.pytorch.org/whl/nightly/torchvision/ there are only windows builds for that day. 20241112 appears to have both linux and windows. |
initial debugging shows the test-cpu-aoti segfault is within aoti_torch_cpu_cat, which is automatically generated by https://github.com/pytorch/pytorch/blob/7e86a7c0155295539996e0cf422883571126073e/torchgen/gen_aoti_c_shim.py . digging up the generated source now. |
torchchat/distributed/checkpoint.py
Outdated
@@ -96,6 +96,7 @@ def _load_checkpoints_from_storage( | |||
checkpoint_path, | |||
map_location=builder_args.device, | |||
mmap=True, | |||
weight_only=False, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does it needs false? All LLMs should be loadable with weights_only, shouldn't they? (Also, there are no such option as weight_only
(or so I hope :P ))
weight_only=False, | |
weights_only=True, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch on the typo;
As for setting it to False: I'd rather keep it behavior consistent in a pin bump PR; we can flip in a separate PR
@@ -238,7 +238,7 @@ def _to_core_aten( | |||
raise ValueError( | |||
f"Expected passed in model to be an instance of fx.GraphModule, got {type(model)}" | |||
) | |||
core_aten_ep = export(model, example_inputs, dynamic_shapes=dynamic_shapes) | |||
core_aten_ep = export_for_training(model, example_inputs, dynamic_shapes=dynamic_shapes) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure what we are doing here, but shouldn't TorchChat be exporting for inference?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was picked up from @tugsbayasgalan's PR migrating away from export(), but export_for_inference does sound more in line with what we want
@tugsbayasgalan Can you share info on the new APIs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep the intended use for inference IR is that user will export to a training IR and call run_decompositions() to lower to inference IR. In this flow, after core_aten_ep, there is to_edge call which lowers to inference. Export team is moving the IR to non-functional training IR so export_for_training will exist as an alias to official export. After we actually migrate official export, we will replace this call with export.
generated source looks OK. here's what doesn't look OK in the generated inductor .cpp file:
The problem seems to be |
@desertfire any change the above is a quick fix for you? |
actually we might just need pytorch/pytorch#139411 |
no torchvision nightly again today. I'm guessing we could probably use torchvision from yesterday with torch from today? |
I had issues with Vision nightlies requiring the corresponding PT nightly few weeks back, I'll give it another go Update: yup, vision is strict; will need to wait again |
_convert_weight_to_int4pack breakage appears to be from pytorch/pytorch#139611; I guess it's now called _convert_weight_to_int4pack_for_cpu . |
Best me to it; luckily AO has a fix so we'll need a bump there too: pytorch/ao#1278 |
pytorch/pytorch#139411 Also got reverted on pt/pt so that's fun |
pytorch/pytorch#139411 is relanded. |
Need to bump everything cuda related: pytorch/pytorch#140885 |
also need to manually edit torchchat/utils/gguf_loader.py. looks like that and spurious complaints about missing OMP on Mac are the two blockers left. |
Accounts for:
weight_only
default fromFalse
toTrue
weights_only
default flip fortorch.load
#1356export
toexport_for_training
Use training IR in torchchat export #1319