Introduce model memory estimator (#1876)
* Estimator
* Right err
* Fixup tests
* trust remote code
* Print output for debugging purposes
* trust_remote_code
* Address some comments
* change doc to req arg
* Properly check for _no_split_modules in transformer models
* Note on transformer models
* Check/handle pentabytes
Co-authored-by: Benjamin Bossan <BenjaminBossan@users.noreply.github.com>
* Tests are passing locally again, better handle for no_split
* Adjust setup?
* Let's see if the cleaner version works
* Refactor and clean up for testing
* Specify in comments
* Better error handling
* A million tests later
* More tests + err handling
* Require hub
* More with remote code
* Clean up
* Add a test for no_split
* Apply suggestions from code review
Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>
* Docstring
* Address some comments
* rm einops
* Let it err out
* Adjust errs
* Tests
* Reduce test repeats
* Clean up borders
* Tip on 20%
---------
Co-authored-by: Benjamin Bossan <BenjaminBossan@users.noreply.github.com>
Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>