transformers/docs/source/en
Younes Belkada 4a51075a96
bitsandbytes - Linear8bitLt integration into transformers models (#17901)
* first commit

* correct replace function

* add final changes

- works like charm!
- cannot implement tests yet
- tested

* clean up a bit

* add bitsandbytes dependencies

* working version

- added import function
- added bitsandbytes utils file

* small fix

* small fix

- fix import issue

* fix import issues

* Apply suggestions from code review

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* refactor a bit

- move bitsandbytes utils to utils
- change comments on functions

* reformat docstring

- reformat docstring on init_empty_weights_8bit

* Update src/transformers/__init__.py

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* revert bad formatting

* change to bitsandbytes

* refactor a bit

- remove init8bit since it is useless

* more refactoring

- fixed init empty weights issue
- added threshold param

* small hack to make it work

* Update src/transformers/modeling_utils.py

* Update src/transformers/modeling_utils.py

* revmoe the small hack

* modify utils file

* make style + refactor a bit

* create correctly device map

* add correct dtype for device map creation

* Apply suggestions from code review

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* apply suggestions

- remove with torch.grad
- do not rely on Python bool magic!

* add docstring

 - add docstring for new kwargs

* add docstring

- comment `replace_8bit_linear` function
- fix weird formatting

* - added more documentation
- added new utility function for memory footprint tracking
- colab demo to add

* few modifs

- typo doc
- force cast into float16 when load_in_8bit is enabled

* added colab link

* add test architecture + docstring a bit

* refactor a bit testing class

* make style + refactor a bit

* enhance checks

- add more checks
- start writing saving test

* clean up a bit

* male style

* add more details on doc

* add more tests

- still needs to fix 2 tests

* replace by "or"

- could not fix it from GitHub GUI

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* refactor a bit testing code + add readme

* make style

* fix import issue

* Update src/transformers/modeling_utils.py

Co-authored-by: Michael Benayoun <mickbenayoun@gmail.com>

* add few comments

* add more doctring + make style

* more docstring

* raise error when loaded in 8bit

* make style

* add warning if loaded on CPU

* add small sanity check

* fix small comment

* add bitsandbytes on dockerfile

* Improve documentation

- improve documentation from comments

* add few comments

* slow tests pass on the VM but not on the CI VM

* Fix merge conflict

* make style

* another test should pass on a multi gpu setup

* fix bad import in testing file

* Fix slow tests

- remove dummy batches
- no more CUDA illegal memory errors

* odify dockerfile

* Update docs/source/en/main_classes/model.mdx

* Update Dockerfile

* Update model.mdx

* Update Dockerfile

* Apply suggestions from code review

* few modifications

- lm head can stay on disk/cpu
- change model name so that test pass

* change test value

- change test value to the correct output
- torch bmm changed to baddmm in bloom modeling when merging

* modify installation guidelines

* Apply suggestions from code review

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* replace `n`by `name`

* merge `load_in_8bit` and `low_cpu_mem_usage`

* first try - keep the lm head in full precision

* better check

- check the attribute `base_model_prefix` instead of computing the number of parameters

* added more tests

* Update src/transformers/utils/bitsandbytes.py

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>

* Merge branch 'integration-8bit' of https://github.com/younesbelkada/transformers into integration-8bit

* improve documentation

- fix typos for installation
- change title in the documentation

Co-authored-by: Sylvain Gugger <35901082+sgugger@users.noreply.github.com>
Co-authored-by: Michael Benayoun <mickbenayoun@gmail.com>
2022-08-10 09:13:36 +02:00
..
internal Allow from transformers import TypicalLogitsWarper (#17477) 2022-06-03 11:08:35 +02:00
main_classes bitsandbytes - Linear8bitLt integration into transformers models (#17901) 2022-08-10 09:13:36 +02:00
model_doc Add VideoMAE (#17821) 2022-08-04 18:02:55 +02:00
tasks Replace as_target context managers by direct calls (#18325) 2022-07-29 08:09:09 -04:00
_config.py Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
_toctree.yml Add VideoMAE (#17821) 2022-08-04 18:02:55 +02:00
accelerate.mdx update to use interlibrary links instead of Markdown (#18500) 2022-08-08 10:53:52 -05:00
add_new_model.mdx Rewrite push_to_hub to use upload_files (#18366) 2022-08-01 12:07:30 -04:00
add_new_pipeline.mdx Update add_new_pipeline.mdx (#18224) 2022-07-21 07:55:30 +02:00
autoclass_tutorial.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
benchmarks.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
bertology.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
big_models.mdx Add link to existing documentation (#17931) 2022-07-04 04:13:05 -04:00
community.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
contributing.md Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
converting_tensorflow_models.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
create_a_model.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
custom_models.mdx Fix some typos. (#17560) 2022-07-11 05:00:13 -04:00
debugging.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
fast_tokenizers.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
glossary.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
index.mdx Add VideoMAE (#17821) 2022-08-04 18:02:55 +02:00
installation.mdx Move cache folder to huggingface/hub for consistency with hf_hub (#18492) 2022-08-05 13:14:00 -04:00
migration.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
model_sharing.mdx Just re-reading the whole doc every couple of months 😬 (#18489) 2022-08-06 09:38:55 +02:00
model_summary.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
multilingual.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
notebooks.md Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
pad_truncation.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
perf_hardware.mdx [WIP] [doc] performance/scalability revamp (#15723) 2022-05-16 13:36:41 +02:00
perf_infer_cpu.mdx Extend Transformers Trainer Class to Enable PyTorch Torchscript for Inference (#17153) 2022-06-14 07:56:47 -04:00
perf_infer_gpu_many.mdx Improve performance docs (#17750) 2022-06-23 14:51:54 +02:00
perf_infer_gpu_one.mdx Improve performance docs (#17750) 2022-06-23 14:51:54 +02:00
perf_infer_special.mdx Improve performance docs (#17750) 2022-06-23 14:51:54 +02:00
perf_train_cpu_many.mdx start from 1.12, torch_ccl is renamed as oneccl_bindings_for_pytorch … (#18229) 2022-07-27 11:15:41 -04:00
perf_train_cpu.mdx Extend Transformers Trainer Class to Enable CPU AMP and Integrate Intel Extension for PyTorch (#17138) 2022-06-08 09:41:57 -04:00
perf_train_gpu_many.mdx Improve performance docs (#17750) 2022-06-23 14:51:54 +02:00
perf_train_gpu_one.mdx Update perf_train_gpu_one.mdx (#18532) 2022-08-08 20:33:34 +02:00
perf_train_special.mdx Improve performance docs (#17750) 2022-06-23 14:51:54 +02:00
perf_train_tpu.mdx Improve performance docs (#17750) 2022-06-23 14:51:54 +02:00
performance.mdx Improve performance docs (#17750) 2022-06-23 14:51:54 +02:00
perplexity.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
philosophy.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
pipeline_tutorial.mdx Add example of multimodal usage to pipeline tutorial (#18498) 2022-08-08 11:31:31 -05:00
pr_checks.mdx 📝 update documentation build section (#18548) 2022-08-09 18:22:55 -05:00
preprocessing.mdx Replace as_target context managers by direct calls (#18325) 2022-07-29 08:09:09 -04:00
quicktour.mdx Update some expected values in quicktour.mdx for resampy 0.3.0 (#18484) 2022-08-05 19:17:51 +02:00
run_scripts.mdx Just re-reading the whole doc every couple of months 😬 (#18489) 2022-08-06 09:38:55 +02:00
sagemaker.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
serialization.mdx Add mt5 onnx config (#18394) 2022-08-09 03:46:53 -04:00
task_summary.mdx Just re-reading the whole doc every couple of months 😬 (#18489) 2022-08-06 09:38:55 +02:00
testing.mdx Fix some typos. (#17560) 2022-07-11 05:00:13 -04:00
tokenizer_summary.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00
training.mdx 📝 update metric with evaluate (#18535) 2022-08-09 11:58:11 -05:00
troubleshooting.mdx Enable doc in Spanish (#16518) 2022-04-04 10:25:46 -04:00