add phi
This commit is contained in:
parent
6b08fc37f6
commit
44e227bbf8
2 changed files with 66 additions and 55 deletions
62
unsloth/registry/_phi.py
Normal file
62
unsloth/registry/_phi.py
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
from unsloth.registry.registry import ModelInfo, ModelMeta, QuantType, _register_models
|
||||
|
||||
_IS_PHI_REGISTERED = False
|
||||
_IS_PHI_INSTRUCT_REGISTERED = False
|
||||
|
||||
class PhiModelInfo(ModelInfo):
|
||||
@classmethod
|
||||
def construct_model_name(cls, base_name, version, size, quant_type, instruct_tag):
|
||||
key = f"{base_name}-{version}"
|
||||
key = cls.append_instruct_tag(key, instruct_tag)
|
||||
key = cls.append_quant_type(key, quant_type)
|
||||
return key
|
||||
|
||||
# Phi Model Meta
|
||||
PhiMeta = ModelMeta(
|
||||
org="microsoft",
|
||||
base_name="phi",
|
||||
instruct_tags=[None],
|
||||
model_version="4",
|
||||
model_sizes=["1"], # Assuming only one size
|
||||
model_info_cls=PhiModelInfo,
|
||||
is_multimodal=False,
|
||||
quant_types=[QuantType.NONE, QuantType.BNB, QuantType.UNSLOTH],
|
||||
)
|
||||
|
||||
# Phi Instruct Model Meta
|
||||
PhiInstructMeta = ModelMeta(
|
||||
org="microsoft",
|
||||
base_name="phi",
|
||||
instruct_tags=["mini-instruct"],
|
||||
model_version="4",
|
||||
model_sizes=["1"], # Assuming only one size
|
||||
model_info_cls=PhiModelInfo,
|
||||
is_multimodal=False,
|
||||
quant_types=[QuantType.NONE, QuantType.BNB, QuantType.UNSLOTH, QuantType.GGUF],
|
||||
)
|
||||
|
||||
def register_phi_models(include_original_model: bool = False):
|
||||
global _IS_PHI_REGISTERED
|
||||
if _IS_PHI_REGISTERED:
|
||||
return
|
||||
_register_models(PhiMeta, include_original_model=include_original_model)
|
||||
_IS_PHI_REGISTERED = True
|
||||
|
||||
def register_phi_instruct_models(include_original_model: bool = False):
|
||||
global _IS_PHI_INSTRUCT_REGISTERED
|
||||
if _IS_PHI_INSTRUCT_REGISTERED:
|
||||
return
|
||||
_register_models(PhiInstructMeta, include_original_model=include_original_model)
|
||||
_IS_PHI_INSTRUCT_REGISTERED = True
|
||||
|
||||
register_phi_models(include_original_model=True)
|
||||
register_phi_instruct_models(include_original_model=True)
|
||||
|
||||
if __name__ == "__main__":
|
||||
from unsloth.registry.registry import MODEL_REGISTRY, _check_model_info
|
||||
for model_id, model_info in MODEL_REGISTRY.items():
|
||||
model_info = _check_model_info(model_id)
|
||||
if model_info is None:
|
||||
print(f"\u2718 {model_id}")
|
||||
else:
|
||||
print(f"\u2713 {model_id}")
|
||||
|
|
@ -4,11 +4,11 @@ from typing import Callable, Literal
|
|||
from unsloth.registry._llama import LlamaMeta3_1, LlamaMeta3_2
|
||||
from unsloth.registry.common import ModelInfo, ModelMeta
|
||||
|
||||
_IS_LLAMA_REGISTERED = False
|
||||
_IS_LLAMA_VISION_REGISTERED = False
|
||||
# _IS_LLAMA_REGISTERED = False
|
||||
# _IS_LLAMA_VISION_REGISTERED = False
|
||||
|
||||
_IS_QWEN_REGISTERED = False
|
||||
_IS_QWEN_VL_REGISTERED = False
|
||||
# _IS_QWEN_REGISTERED = False
|
||||
# _IS_QWEN_VL_REGISTERED = False
|
||||
|
||||
_IS_GEMMA_REGISTERED = False
|
||||
|
||||
|
|
@ -17,28 +17,6 @@ _IS_PHI_INSTRUCT_REGISTERED = False
|
|||
|
||||
|
||||
|
||||
# class QwenModelInfo(ModelInfo):
|
||||
# @classmethod
|
||||
# def construct_model_name(
|
||||
# cls, base_name, version, size, quant_type, instruct_tag
|
||||
# ):
|
||||
# key = f"{base_name}{version}-{size}B"
|
||||
# key = cls.append_instruct_tag(key, instruct_tag)
|
||||
# key = cls.append_quant_type(key, quant_type)
|
||||
# return key
|
||||
|
||||
|
||||
# class QwenVLModelInfo(ModelInfo):
|
||||
# @classmethod
|
||||
# def construct_model_name(
|
||||
# cls, base_name, version, size, quant_type, instruct_tag
|
||||
# ):
|
||||
# key = f"{base_name}{version}-VL-{size}B"
|
||||
# key = cls.append_instruct_tag(key, instruct_tag)
|
||||
# key = cls.append_quant_type(key, quant_type)
|
||||
# return key
|
||||
|
||||
|
||||
# class PhiModelInfo(ModelInfo):
|
||||
# @classmethod
|
||||
# def construct_model_name(
|
||||
|
|
@ -55,35 +33,6 @@ _IS_PHI_INSTRUCT_REGISTERED = False
|
|||
|
||||
# # Qwen text only models
|
||||
# # NOTE: Qwen vision models will be registered separately
|
||||
# _QWEN_INFO = {
|
||||
# "org": "Qwen",
|
||||
# "base_name": "Qwen",
|
||||
# "instruct_tags": [None, "Instruct"],
|
||||
# "model_versions": ["2.5"],
|
||||
# "model_sizes": {"2.5": [3, 7]},
|
||||
# "is_multimodal": False,
|
||||
# "model_info_cls": QwenModelInfo,
|
||||
# }
|
||||
|
||||
# _QWEN_VL_INFO = {
|
||||
# "org": "Qwen",
|
||||
# "base_name": "Qwen",
|
||||
# "instruct_tags": ["Instruct"], # No base, only instruction tuned
|
||||
# "model_versions": ["2.5"],
|
||||
# "model_sizes": {"2.5": [3, 7, 32, 72]},
|
||||
# "is_multimodal": True,
|
||||
# "instruction_tuned_only": True,
|
||||
# "model_info_cls": QwenVLModelInfo,
|
||||
# }
|
||||
|
||||
# _GEMMA_INFO = {
|
||||
# "org": "google",
|
||||
# "base_name": "gemma",
|
||||
# "instruct_tags": ["pt", "it"], # pt = base, it = instruction tuned
|
||||
# "model_versions": ["3"],
|
||||
# "model_sizes": {"3": [1, 4, 12, 27]},
|
||||
# "is_multimodal": True,
|
||||
# }
|
||||
|
||||
# _PHI_INFO = {
|
||||
# "org": "microsoft",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue