mirror of
https://github.com/hiyouga/LLaMA-Factory.git
synced 2025-07-31 10:42:50 +08:00
[deps] bump transformers to 4.49.0 (#8564)
This commit is contained in:
parent
62bd2c8047
commit
5817583630
3
.github/workflows/tests.yml
vendored
3
.github/workflows/tests.yml
vendored
@ -34,9 +34,6 @@ jobs:
|
|||||||
transformers:
|
transformers:
|
||||||
- null
|
- null
|
||||||
include: # test backward compatibility
|
include: # test backward compatibility
|
||||||
- python: "3.9"
|
|
||||||
os: "ubuntu-latest"
|
|
||||||
transformers: "4.45.0"
|
|
||||||
- python: "3.9"
|
- python: "3.9"
|
||||||
os: "ubuntu-latest"
|
os: "ubuntu-latest"
|
||||||
transformers: "4.49.0"
|
transformers: "4.49.0"
|
||||||
|
@ -449,7 +449,7 @@ huggingface-cli login
|
|||||||
| python | 3.9 | 3.10 |
|
| python | 3.9 | 3.10 |
|
||||||
| torch | 2.0.0 | 2.6.0 |
|
| torch | 2.0.0 | 2.6.0 |
|
||||||
| torchvision | 0.15.0 | 0.21.0 |
|
| torchvision | 0.15.0 | 0.21.0 |
|
||||||
| transformers | 4.45.0 | 4.50.0 |
|
| transformers | 4.49.0 | 4.50.0 |
|
||||||
| datasets | 2.16.0 | 3.2.0 |
|
| datasets | 2.16.0 | 3.2.0 |
|
||||||
| accelerate | 0.34.0 | 1.2.1 |
|
| accelerate | 0.34.0 | 1.2.1 |
|
||||||
| peft | 0.14.0 | 0.15.1 |
|
| peft | 0.14.0 | 0.15.1 |
|
||||||
@ -491,7 +491,7 @@ cd LLaMA-Factory
|
|||||||
pip install -e ".[torch,metrics]" --no-build-isolation
|
pip install -e ".[torch,metrics]" --no-build-isolation
|
||||||
```
|
```
|
||||||
|
|
||||||
Extra dependencies available: torch, torch-npu, metrics, deepspeed, liger-kernel, bitsandbytes, hqq, eetq, gptq, aqlm, vllm, sglang, galore, apollo, badam, adam-mini, qwen, minicpm_v, modelscope, openmind, swanlab, dev
|
Extra dependencies available: torch, torch-npu, metrics, deepspeed, liger-kernel, bitsandbytes, hqq, eetq, gptq, aqlm, vllm, sglang, galore, apollo, badam, adam-mini, qwen, minicpm_v, openmind, swanlab, dev
|
||||||
|
|
||||||
#### Install from Docker Image
|
#### Install from Docker Image
|
||||||
|
|
||||||
|
@ -451,7 +451,7 @@ huggingface-cli login
|
|||||||
| python | 3.9 | 3.10 |
|
| python | 3.9 | 3.10 |
|
||||||
| torch | 2.0.0 | 2.6.0 |
|
| torch | 2.0.0 | 2.6.0 |
|
||||||
| torchvision | 0.15.0 | 0.21.0 |
|
| torchvision | 0.15.0 | 0.21.0 |
|
||||||
| transformers | 4.45.0 | 4.50.0 |
|
| transformers | 4.49.0 | 4.50.0 |
|
||||||
| datasets | 2.16.0 | 3.2.0 |
|
| datasets | 2.16.0 | 3.2.0 |
|
||||||
| accelerate | 0.34.0 | 1.2.1 |
|
| accelerate | 0.34.0 | 1.2.1 |
|
||||||
| peft | 0.14.0 | 0.15.1 |
|
| peft | 0.14.0 | 0.15.1 |
|
||||||
@ -493,7 +493,7 @@ cd LLaMA-Factory
|
|||||||
pip install -e ".[torch,metrics]" --no-build-isolation
|
pip install -e ".[torch,metrics]" --no-build-isolation
|
||||||
```
|
```
|
||||||
|
|
||||||
可选的额外依赖项:torch、torch-npu、metrics、deepspeed、liger-kernel、bitsandbytes、hqq、eetq、gptq、aqlm、vllm、sglang、galore、apollo、badam、adam-mini、qwen、minicpm_v、modelscope、openmind、swanlab、dev
|
可选的额外依赖项:torch、torch-npu、metrics、deepspeed、liger-kernel、bitsandbytes、hqq、eetq、gptq、aqlm、vllm、sglang、galore、apollo、badam、adam-mini、qwen、minicpm_v、openmind、swanlab、dev
|
||||||
|
|
||||||
#### 从镜像安装
|
#### 从镜像安装
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ Before running the Docker container with GPU support, you need to install the fo
|
|||||||
# Ubuntu/Debian
|
# Ubuntu/Debian
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install docker.io
|
sudo apt-get install docker.io
|
||||||
|
|
||||||
# Or install Docker Engine from the official repository:
|
# Or install Docker Engine from the official repository:
|
||||||
# https://docs.docker.com/engine/install/
|
# https://docs.docker.com/engine/install/
|
||||||
```
|
```
|
||||||
@ -22,7 +22,7 @@ Before running the Docker container with GPU support, you need to install the fo
|
|||||||
```bash
|
```bash
|
||||||
# Ubuntu/Debian
|
# Ubuntu/Debian
|
||||||
sudo apt-get install docker-compose
|
sudo apt-get install docker-compose
|
||||||
|
|
||||||
# Or install the latest version:
|
# Or install the latest version:
|
||||||
# https://docs.docker.com/compose/install/
|
# https://docs.docker.com/compose/install/
|
||||||
```
|
```
|
||||||
@ -33,11 +33,11 @@ Before running the Docker container with GPU support, you need to install the fo
|
|||||||
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
|
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
|
||||||
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
|
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
|
||||||
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
|
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
|
||||||
|
|
||||||
# Install nvidia-container-toolkit
|
# Install nvidia-container-toolkit
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y nvidia-container-toolkit
|
sudo apt-get install -y nvidia-container-toolkit
|
||||||
|
|
||||||
# Restart Docker to apply changes
|
# Restart Docker to apply changes
|
||||||
sudo systemctl restart docker
|
sudo systemctl restart docker
|
||||||
```
|
```
|
||||||
|
@ -1,27 +1,36 @@
|
|||||||
transformers>=4.45.0,<=4.52.4,!=4.46.*,!=4.47.*,!=4.48.0,!=4.52.0; sys_platform != 'darwin'
|
# core deps
|
||||||
transformers>=4.45.0,<=4.51.3,!=4.46.*,!=4.47.*,!=4.48.0,!=4.52.0; sys_platform == 'darwin'
|
transformers>=4.49.0,<=4.52.4,!=4.52.0; sys_platform != 'darwin'
|
||||||
|
transformers>=4.49.0,<=4.51.3,!=4.52.0; sys_platform == 'darwin'
|
||||||
datasets>=2.16.0,<=3.6.0
|
datasets>=2.16.0,<=3.6.0
|
||||||
accelerate>=1.3.0,<=1.7.0
|
accelerate>=1.3.0,<=1.7.0
|
||||||
peft>=0.14.0,<=0.15.2
|
peft>=0.14.0,<=0.15.2
|
||||||
trl>=0.8.6,<=0.9.6
|
trl>=0.8.6,<=0.9.6
|
||||||
tokenizers>=0.19.0,<=0.21.1
|
tokenizers>=0.19.0,<=0.21.1
|
||||||
|
# gui
|
||||||
gradio>=4.38.0,<=5.31.0
|
gradio>=4.38.0,<=5.31.0
|
||||||
scipy
|
matplotlib>=3.7.0
|
||||||
|
tyro<0.9.0
|
||||||
|
# ops
|
||||||
einops
|
einops
|
||||||
|
numpy<2.0.0
|
||||||
|
pandas>=2.0.0
|
||||||
|
scipy
|
||||||
|
# model and tokenizer
|
||||||
sentencepiece
|
sentencepiece
|
||||||
tiktoken
|
tiktoken
|
||||||
protobuf
|
modelscope>=1.23
|
||||||
uvicorn
|
hf-transfer
|
||||||
fastapi
|
# python
|
||||||
sse-starlette
|
|
||||||
matplotlib>=3.7.0
|
|
||||||
fire
|
fire
|
||||||
omegaconf
|
omegaconf
|
||||||
packaging
|
packaging
|
||||||
|
protobuf
|
||||||
pyyaml
|
pyyaml
|
||||||
numpy<2.0.0
|
|
||||||
pydantic<=2.10.6
|
pydantic<=2.10.6
|
||||||
pandas>=2.0.0
|
# api
|
||||||
|
uvicorn
|
||||||
|
fastapi
|
||||||
|
sse-starlette
|
||||||
|
# media
|
||||||
av
|
av
|
||||||
librosa
|
librosa
|
||||||
tyro<0.9.0
|
|
||||||
|
1
setup.py
1
setup.py
@ -68,7 +68,6 @@ extra_require = {
|
|||||||
"referencing",
|
"referencing",
|
||||||
"jsonschema_specifications",
|
"jsonschema_specifications",
|
||||||
],
|
],
|
||||||
"modelscope": ["modelscope"],
|
|
||||||
"openmind": ["openmind"],
|
"openmind": ["openmind"],
|
||||||
"swanlab": ["swanlab"],
|
"swanlab": ["swanlab"],
|
||||||
"dev": ["pre-commit", "ruff", "pytest", "build"],
|
"dev": ["pre-commit", "ruff", "pytest", "build"],
|
||||||
|
@ -27,6 +27,10 @@ from typing import TYPE_CHECKING, BinaryIO, Literal, Optional, TypedDict, Union
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import torch
|
import torch
|
||||||
from transformers.image_utils import get_image_size, is_valid_image, to_numpy_array
|
from transformers.image_utils import get_image_size, is_valid_image, to_numpy_array
|
||||||
|
from transformers.models.mllama.processing_mllama import (
|
||||||
|
convert_sparse_cross_attention_mask_to_dense,
|
||||||
|
get_cross_attention_token_mask,
|
||||||
|
)
|
||||||
from typing_extensions import override
|
from typing_extensions import override
|
||||||
|
|
||||||
from ..extras.constants import AUDIO_PLACEHOLDER, IGNORE_INDEX, IMAGE_PLACEHOLDER, VIDEO_PLACEHOLDER
|
from ..extras.constants import AUDIO_PLACEHOLDER, IGNORE_INDEX, IMAGE_PLACEHOLDER, VIDEO_PLACEHOLDER
|
||||||
@ -51,17 +55,10 @@ if is_pyav_available():
|
|||||||
import av
|
import av
|
||||||
|
|
||||||
|
|
||||||
if is_transformers_version_greater_than("4.45.0"):
|
|
||||||
from transformers.models.mllama.processing_mllama import (
|
|
||||||
convert_sparse_cross_attention_mask_to_dense,
|
|
||||||
get_cross_attention_token_mask,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
if is_transformers_version_greater_than("4.52.0"):
|
if is_transformers_version_greater_than("4.52.0"):
|
||||||
from transformers.image_utils import make_flat_list_of_images
|
from transformers.image_utils import make_flat_list_of_images
|
||||||
from transformers.video_utils import make_batched_videos
|
from transformers.video_utils import make_batched_videos
|
||||||
elif is_transformers_version_greater_than("4.49.0"):
|
else:
|
||||||
from transformers.image_utils import make_batched_videos, make_flat_list_of_images
|
from transformers.image_utils import make_batched_videos, make_flat_list_of_images
|
||||||
|
|
||||||
|
|
||||||
|
@ -35,7 +35,6 @@ from transformers.utils import (
|
|||||||
from transformers.utils.versions import require_version
|
from transformers.utils.versions import require_version
|
||||||
|
|
||||||
from . import logging
|
from . import logging
|
||||||
from .packages import is_transformers_version_greater_than
|
|
||||||
|
|
||||||
|
|
||||||
_is_fp16_available = is_torch_npu_available() or is_torch_cuda_available()
|
_is_fp16_available = is_torch_npu_available() or is_torch_cuda_available()
|
||||||
@ -94,15 +93,11 @@ def check_version(requirement: str, mandatory: bool = False) -> None:
|
|||||||
|
|
||||||
def check_dependencies() -> None:
|
def check_dependencies() -> None:
|
||||||
r"""Check the version of the required packages."""
|
r"""Check the version of the required packages."""
|
||||||
check_version(
|
check_version("transformers>=4.49.0,<=4.52.4,!=4.52.0")
|
||||||
"transformers>=4.45.0,<=4.52.4,!=4.46.0,!=4.46.1,!=4.46.2,!=4.46.3,!=4.47.0,!=4.47.1,!=4.48.0,!=4.52.0"
|
|
||||||
)
|
|
||||||
check_version("datasets>=2.16.0,<=3.6.0")
|
check_version("datasets>=2.16.0,<=3.6.0")
|
||||||
check_version("accelerate>=1.3.0,<=1.7.0")
|
check_version("accelerate>=1.3.0,<=1.7.0")
|
||||||
check_version("peft>=0.14.0,<=0.15.2")
|
check_version("peft>=0.14.0,<=0.15.2")
|
||||||
check_version("trl>=0.8.6,<=0.9.6")
|
check_version("trl>=0.8.6,<=0.9.6")
|
||||||
if is_transformers_version_greater_than("4.46.0") and not is_transformers_version_greater_than("4.48.1"):
|
|
||||||
logger.warning_rank0_once("There are known bugs in transformers v4.46.0-v4.48.0, please use other versions.")
|
|
||||||
|
|
||||||
|
|
||||||
def calculate_tps(dataset: list[dict[str, Any]], metrics: dict[str, float], stage: Literal["sft", "rm"]) -> float:
|
def calculate_tps(dataset: list[dict[str, Any]], metrics: dict[str, float], stage: Literal["sft", "rm"]) -> float:
|
||||||
|
@ -348,7 +348,7 @@ def get_train_args(args: Optional[Union[dict[str, Any], list[str]]] = None) -> _
|
|||||||
if finetuning_args.finetuning_type == "lora":
|
if finetuning_args.finetuning_type == "lora":
|
||||||
# https://github.com/huggingface/transformers/blob/v4.50.0/src/transformers/trainer.py#L782
|
# https://github.com/huggingface/transformers/blob/v4.50.0/src/transformers/trainer.py#L782
|
||||||
training_args.label_names = training_args.label_names or ["labels"]
|
training_args.label_names = training_args.label_names or ["labels"]
|
||||||
|
|
||||||
if "swanlab" in training_args.report_to and finetuning_args.use_swanlab:
|
if "swanlab" in training_args.report_to and finetuning_args.use_swanlab:
|
||||||
training_args.report_to.remove("swanlab")
|
training_args.report_to.remove("swanlab")
|
||||||
|
|
||||||
|
@ -19,6 +19,7 @@ import torch
|
|||||||
from transformers import (
|
from transformers import (
|
||||||
AutoConfig,
|
AutoConfig,
|
||||||
AutoModelForCausalLM,
|
AutoModelForCausalLM,
|
||||||
|
AutoModelForImageTextToText,
|
||||||
AutoModelForSeq2SeqLM,
|
AutoModelForSeq2SeqLM,
|
||||||
AutoModelForTextToWaveform,
|
AutoModelForTextToWaveform,
|
||||||
AutoModelForVision2Seq,
|
AutoModelForVision2Seq,
|
||||||
@ -29,7 +30,6 @@ from trl import AutoModelForCausalLMWithValueHead
|
|||||||
|
|
||||||
from ..extras import logging
|
from ..extras import logging
|
||||||
from ..extras.misc import count_parameters, skip_check_imports, try_download_model_from_other_hub
|
from ..extras.misc import count_parameters, skip_check_imports, try_download_model_from_other_hub
|
||||||
from ..extras.packages import is_transformers_version_greater_than
|
|
||||||
from .adapter import init_adapter
|
from .adapter import init_adapter
|
||||||
from .model_utils.liger_kernel import apply_liger_kernel
|
from .model_utils.liger_kernel import apply_liger_kernel
|
||||||
from .model_utils.misc import register_autoclass
|
from .model_utils.misc import register_autoclass
|
||||||
@ -39,10 +39,6 @@ from .model_utils.valuehead import load_valuehead_params
|
|||||||
from .patcher import patch_config, patch_model, patch_processor, patch_tokenizer, patch_valuehead_model
|
from .patcher import patch_config, patch_model, patch_processor, patch_tokenizer, patch_valuehead_model
|
||||||
|
|
||||||
|
|
||||||
if is_transformers_version_greater_than("4.46.0"):
|
|
||||||
from transformers import AutoModelForImageTextToText
|
|
||||||
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from transformers import PretrainedConfig, PreTrainedModel, PreTrainedTokenizer, ProcessorMixin
|
from transformers import PretrainedConfig, PreTrainedModel, PreTrainedTokenizer, ProcessorMixin
|
||||||
|
|
||||||
@ -162,10 +158,7 @@ def load_model(
|
|||||||
else:
|
else:
|
||||||
if type(config) in AutoModelForVision2Seq._model_mapping.keys(): # image-text
|
if type(config) in AutoModelForVision2Seq._model_mapping.keys(): # image-text
|
||||||
load_class = AutoModelForVision2Seq
|
load_class = AutoModelForVision2Seq
|
||||||
elif (
|
elif type(config) in AutoModelForImageTextToText._model_mapping.keys(): # image-text
|
||||||
is_transformers_version_greater_than("4.46.0")
|
|
||||||
and type(config) in AutoModelForImageTextToText._model_mapping.keys()
|
|
||||||
): # image-text
|
|
||||||
load_class = AutoModelForImageTextToText
|
load_class = AutoModelForImageTextToText
|
||||||
elif type(config) in AutoModelForSeq2SeqLM._model_mapping.keys(): # audio-text
|
elif type(config) in AutoModelForSeq2SeqLM._model_mapping.keys(): # audio-text
|
||||||
load_class = AutoModelForSeq2SeqLM
|
load_class = AutoModelForSeq2SeqLM
|
||||||
|
@ -238,7 +238,6 @@ def test_llama4_plugin():
|
|||||||
_check_plugin(**check_inputs)
|
_check_plugin(**check_inputs)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.skipif(not is_transformers_version_greater_than("4.47.0"), reason="Requires transformers>=4.47.0")
|
|
||||||
def test_llava_plugin():
|
def test_llava_plugin():
|
||||||
image_seqlen = 576
|
image_seqlen = 576
|
||||||
tokenizer_module = _load_tokenizer_module(model_name_or_path="llava-hf/llava-1.5-7b-hf")
|
tokenizer_module = _load_tokenizer_module(model_name_or_path="llava-hf/llava-1.5-7b-hf")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user