mirror of
https://github.com/huggingface/text-generation-inference.git
synced 2025-04-21 14:52:20 +00:00
# What does this PR do? Reworked the loading logic. Idea is to use cleaner loading code: - Remove need for `no_init_weights` - Remove all weird `bnb_linear` and `load_weights` and `post_load_weights`. New code layout: - New class `Weights` in charge of handling loading the weights from multiple files into appropiate tensors (potentially sharded) - TP layers now are "shells", they contain the code to know what kind of sharding we need + eventual `all_reduce`. They do not inherit from linear, but they contain some kind of Linear instead - the contained linear can be either FastLinear, BnbLinear or GPTq Linear next. - All modeling code is explictly made for sharding, process group is just no-ops for non sharded code (removes a lot of test cases)  --------- Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-161.taildb5d.ts.net> Co-authored-by: Ubuntu <ubuntu@ip-172-31-41-161.ec2.internal> Co-authored-by: OlivierDehaene <olivier@huggingface.co> Co-authored-by: OlivierDehaene <23298448+OlivierDehaene@users.noreply.github.com>
41 lines
1.0 KiB
Python
41 lines
1.0 KiB
Python
from text_generation_server.utils.convert import convert_file, convert_files
|
|
from text_generation_server.utils.dist import initialize_torch_distributed
|
|
from text_generation_server.utils.weights import Weights
|
|
from text_generation_server.utils.hub import (
|
|
weight_files,
|
|
weight_hub_files,
|
|
download_weights,
|
|
EntryNotFoundError,
|
|
LocalEntryNotFoundError,
|
|
RevisionNotFoundError,
|
|
)
|
|
from text_generation_server.utils.tokens import (
|
|
NextTokenChooser,
|
|
HeterogeneousNextTokenChooser,
|
|
StoppingCriteria,
|
|
StopSequenceCriteria,
|
|
FinishReason,
|
|
Sampling,
|
|
Greedy,
|
|
)
|
|
|
|
__all__ = [
|
|
"convert_file",
|
|
"convert_files",
|
|
"initialize_torch_distributed",
|
|
"weight_files",
|
|
"weight_hub_files",
|
|
"download_weights",
|
|
"EntryNotFoundError",
|
|
"HeterogeneousNextTokenChooser",
|
|
"LocalEntryNotFoundError",
|
|
"RevisionNotFoundError",
|
|
"Greedy",
|
|
"NextTokenChooser",
|
|
"Sampling",
|
|
"StoppingCriteria",
|
|
"StopSequenceCriteria",
|
|
"FinishReason",
|
|
"Weights",
|
|
]
|