mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-30 03:22:05 +08:00
qwen3_moe (#3084)
This commit is contained in:
@@ -17,14 +17,16 @@
|
||||
from fastdeploy.config import LoadChoices, LoadConfig
|
||||
from fastdeploy.model_executor.model_loader.base_loader import BaseModelLoader
|
||||
from fastdeploy.model_executor.model_loader.default_loader import DefaultModelLoader
|
||||
from fastdeploy.model_executor.model_loader.new_loader import NewModelLoader
|
||||
from fastdeploy.model_executor.model_loader.default_loader_v1 import (
|
||||
DefaultModelLoaderV1,
|
||||
)
|
||||
|
||||
|
||||
def get_model_loader(load_config: LoadConfig) -> BaseModelLoader:
|
||||
"""get_model_loader"""
|
||||
|
||||
if load_config.load_choices == LoadChoices.NEW_LOADER:
|
||||
return NewModelLoader(load_config)
|
||||
if load_config.load_choices == LoadChoices.DEFAULT_V1:
|
||||
return DefaultModelLoaderV1(load_config)
|
||||
|
||||
return DefaultModelLoader(load_config)
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
# limitations under the License.
|
||||
"""
|
||||
|
||||
import contextlib
|
||||
|
||||
import paddle
|
||||
from paddle import nn
|
||||
from paddleformers.utils.log import logger
|
||||
@@ -62,15 +64,16 @@ class DefaultModelLoader(BaseModelLoader):
|
||||
self.clean_memory_fragments(state_dict)
|
||||
|
||||
def load_model(self, fd_config: FDConfig) -> nn.Layer:
|
||||
context = paddle.LazyGuard()
|
||||
architectures = fd_config.model_config.architectures[0]
|
||||
logger.info(f"Starting to load model {architectures}")
|
||||
|
||||
if fd_config.load_config.dynamic_load_weight:
|
||||
# register rl model
|
||||
import fastdeploy.rl # noqa
|
||||
|
||||
architectures = architectures + "RL"
|
||||
context = paddle.LazyGuard()
|
||||
else:
|
||||
context = contextlib.nullcontext()
|
||||
|
||||
with context:
|
||||
model_cls = ModelRegistry.get_class(architectures)
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
# limitations under the License.
|
||||
"""
|
||||
|
||||
import contextlib
|
||||
|
||||
import paddle
|
||||
from paddle import nn
|
||||
from paddleformers.utils.log import logger
|
||||
@@ -29,7 +31,7 @@ from fastdeploy.model_executor.models.model_base import ModelRegistry
|
||||
from fastdeploy.platforms import current_platform
|
||||
|
||||
|
||||
class NewModelLoader(BaseModelLoader):
|
||||
class DefaultModelLoaderV1(BaseModelLoader):
|
||||
"""ModelLoader that can load registered models"""
|
||||
|
||||
def __init__(self, load_config: LoadConfig):
|
||||
@@ -54,15 +56,19 @@ class NewModelLoader(BaseModelLoader):
|
||||
def load_model(self, fd_config: FDConfig) -> nn.Layer:
|
||||
architectures = fd_config.model_config.architectures[0]
|
||||
logger.info(f"Starting to load model {architectures}")
|
||||
|
||||
if fd_config.load_config.dynamic_load_weight:
|
||||
# register rl model
|
||||
import fastdeploy.rl # noqa
|
||||
|
||||
architectures = architectures + "RL"
|
||||
context = paddle.LazyGuard()
|
||||
|
||||
model_cls = ModelRegistry.get_class(architectures)
|
||||
model = model_cls(fd_config)
|
||||
else:
|
||||
context = contextlib.nullcontext()
|
||||
|
||||
with context:
|
||||
model_cls = ModelRegistry.get_class(architectures)
|
||||
model = model_cls(fd_config)
|
||||
|
||||
model.eval()
|
||||
|
||||
Reference in New Issue
Block a user