From 1c31809652f9e970c681ba846f41b266035253f2 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 8 Jun 2024 21:11:32 +0800 Subject: [PATCH 001/169] update git workflows Former-commit-id: 4c4f950f3936edbce84796c9a5e11b61ea07864e --- .github/workflows/label_issue.yml | 17 +++++++++++++++++ .github/workflows/tests.yml | 17 ++++++++--------- 2 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 .github/workflows/label_issue.yml diff --git a/.github/workflows/label_issue.yml b/.github/workflows/label_issue.yml new file mode 100644 index 00000000..b9a5543c --- /dev/null +++ b/.github/workflows/label_issue.yml @@ -0,0 +1,17 @@ +name: label_issue + +on: + issues: + types: + - opened + +jobs: + label_issue: + runs-on: ubuntu-latest + + steps: + - env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + ISSUE_URL: ${{ github.event.issue.html_url }} + run: | + gh issue edit $ISSUE_URL --add-label "pending" diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 32edf6a8..6ddcbc05 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -3,14 +3,7 @@ name: tests on: push: branches: - - main - paths: - - "**.py" - - "requirements.txt" - - ".github/workflows/*.yml" - pull_request: - branches: - - main + - $default-branch paths: - "**.py" - "requirements.txt" @@ -19,21 +12,27 @@ on: jobs: tests: runs-on: ubuntu-latest + steps: - - uses: actions/checkout@v4 + - name: Checkout + uses: actions/checkout@v4 + - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.8" cache: "pip" cache-dependency-path: "setup.py" + - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install .[torch,dev] + - name: Check quality run: | make style && make quality + - name: Test with pytest run: | make test From 0c44309e155f95f97853bdbf4d11e6254f434558 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 8 Jun 2024 21:15:36 +0800 Subject: [PATCH 002/169] Update tests.yml Former-commit-id: 25c635ef2849fd173617b6a8d8d3f5d4f800a893 --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6ddcbc05..f3ac96db 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -3,7 +3,7 @@ name: tests on: push: branches: - - $default-branch + - main paths: - "**.py" - "requirements.txt" From e4b9c8010449357055da24cc33e8c2b2386a2889 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 8 Jun 2024 21:25:35 +0800 Subject: [PATCH 003/169] add pr ci Former-commit-id: b61d25cd705db821664f87adf37d2ed56c68130f --- .github/workflows/tests.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f3ac96db..96092662 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -8,6 +8,15 @@ on: - "**.py" - "requirements.txt" - ".github/workflows/*.yml" + pull_request: + types: + - review_requested + branches: + - main + paths: + - "**.py" + - "requirements.txt" + - ".github/workflows/*.yml" jobs: tests: From b187450340765ad601bbdcfa06e14271ab8645bc Mon Sep 17 00:00:00 2001 From: "-.-" Date: Sat, 8 Jun 2024 23:51:56 +0800 Subject: [PATCH 004/169] fix README Former-commit-id: 483cdd9b6ad42bc43a97df8ce867e3a9ef9bf5bc --- README.md | 2 +- README_zh.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index fb6c5782..4dea65b9 100644 --- a/README.md +++ b/README.md @@ -335,7 +335,7 @@ huggingface-cli login ```bash git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory -pip install -e '.[torch,metrics]' +pip install -e ".[torch,metrics]" ``` Extra dependencies available: torch, torch_npu, metrics, deepspeed, bitsandbytes, vllm, galore, badam, gptq, awq, aqlm, qwen, modelscope, quality diff --git a/README_zh.md b/README_zh.md index 142254df..ab0e8cb7 100644 --- a/README_zh.md +++ b/README_zh.md @@ -335,7 +335,7 @@ huggingface-cli login ```bash git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory -pip install -e '.[torch,metrics]' +pip install -e ".[torch,metrics]" ``` 可选的额外依赖项:torch、torch_npu、metrics、deepspeed、bitsandbytes、vllm、galore、badam、gptq、awq、aqlm、qwen、modelscope、quality From 18a86ea104447526c9c9f9614d2fe4ea2788ff6f Mon Sep 17 00:00:00 2001 From: mMrBun <2015711377@qq.com> Date: Sun, 9 Jun 2024 18:16:15 +0800 Subject: [PATCH 005/169] Implemented the tool_formatter and tool_extractor for glm4 tool_format Former-commit-id: cb1cbcb293917e960cad8f0eac7a11a122ab644a --- src/llamafactory/data/formatter.py | 42 +++++++++++++++++++++++++++++- src/llamafactory/data/template.py | 3 ++- 2 files changed, 43 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index 0cd3d6c1..344e01db 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -23,6 +23,17 @@ TOOL_SYSTEM_PROMPT = ( ) +GLM4_TOOL_SUFFIX_PROMPT = ( + "在调用上述函数时,请使用 Json 格式表示调用的参数。" +) + +GLM4_TOOL_PROMPT = ( + "你是一个名为 GLM-4 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的,你的任务是针对用户的问题和要求提供适当的答复和支持," + "{tool_text}" + +) + + def default_tool_formatter(tools: List[Dict[str, Any]]) -> str: tool_text = "" tool_names = [] @@ -53,6 +64,14 @@ def default_tool_formatter(tools: List[Dict[str, Any]]) -> str: ) +def glm4_tool_formatter(tools: List[Dict[str, Any]]) -> str: + tool_text = "" + for tool in tools: + tool_name = tool["name"] + tool_text += f"\n\n## {tool_name}\n\n{json.dumps(tool, ensure_ascii=False, indent=4)}\n{GLM4_TOOL_SUFFIX_PROMPT}" + return GLM4_TOOL_PROMPT.format(tool_text=tool_text) + + def default_tool_extractor(content: str) -> Union[str, Tuple[str, str]]: regex = re.compile(r"Action:\s*([a-zA-Z0-9_]+).*?Action Input:\s*(.*)", re.DOTALL) action_match = re.search(regex, content) @@ -69,10 +88,24 @@ def default_tool_extractor(content: str) -> Union[str, Tuple[str, str]]: return tool_name, json.dumps(arguments, ensure_ascii=False) +def glm4_tool_extractor(content: str) -> Union[str, Tuple[str, str]]: + lines = content.strip().split("\n") + if len(lines) != 2: + return content + tool_name = lines[0].strip() + tool_input = lines[1].strip() + try: + arguments = json.loads(tool_input) + except json.JSONDecodeError: + return content + return tool_name, json.dumps(arguments, ensure_ascii=False) + + + @dataclass class Formatter(ABC): slots: SLOTS = field(default_factory=list) - tool_format: Optional[Literal["default"]] = None + tool_format: Optional[Literal["default", "glm4"]] = None @abstractmethod def apply(self, **kwargs) -> SLOTS: ... @@ -175,6 +208,11 @@ class ToolFormatter(Formatter): if self.tool_format == "default": return [default_tool_formatter(tools)] + elif self.tool_format == "glm4": + """ + '[gMASK]<|system|>\n你是一个名为 GLM-4 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的,你的任务是针对用户的问题和要求提供适当的答复和支持。\n\n## get_current_weather\n\n{\n "name": "get_current_weather",\n "description": "Get the current weather",\n "parameters": {\n "type": "object",\n "properties": {\n "location": {\n "type": "string",\n "description": "The city and state, e.g. San Francisco, CA"\n },\n "format": {\n "type": "string",\n "enum": [\n "celsius",\n "fahrenheit"\n ],\n "description": "The temperature unit to use. Infer this from the users location."\n }\n },\n "required": [\n "location",\n "format"\n ]\n }\n}\n在调用上述函数时,请使用 Json 格式表示调用的参数。<|user|>\nWhat\'s the weather like in San Francisco, Tokyo, and Paris? use celsius<|assistant|>' + """ + return [glm4_tool_formatter(tools)] else: raise NotImplementedError except Exception: @@ -183,5 +221,7 @@ class ToolFormatter(Formatter): def extract(self, content: str) -> Union[str, Tuple[str, str]]: if self.tool_format == "default": return default_tool_extractor(content) + elif self.tool_format == "glm4": + return glm4_tool_extractor(content) else: raise NotImplementedError diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index 3dce5ec6..b2aea217 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -662,9 +662,10 @@ _register_template( name="glm4", format_user=StringFormatter(slots=["<|user|>\n{{content}}<|assistant|>"]), format_assistant=StringFormatter(slots=["\n{{content}}"]), - format_system=StringFormatter(slots=["[gMASK]{{content}}"]), + format_system=StringFormatter(slots=["[gMASK]<|system|>\n{{content}}"]), format_function=FunctionFormatter(slots=["{{name}}\n{{arguments}}"]), format_observation=StringFormatter(slots=["<|observation|>\n{{content}}<|assistant|>"]), + format_tools=ToolFormatter(tool_format="glm4"), stop_words=["<|user|>", "<|observation|>"], efficient_eos=True, force_system=True, From 3f11ab800f7dcf4b61a7c72ead4e051db11a8091 Mon Sep 17 00:00:00 2001 From: mMrBun <2015711377@qq.com> Date: Sun, 9 Jun 2024 18:25:22 +0800 Subject: [PATCH 006/169] Removed unnecessary comments. Former-commit-id: 6ed0b0c800d416379acf8395aa852c188c107eb9 --- src/llamafactory/data/formatter.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index 344e01db..9f58915b 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -209,9 +209,6 @@ class ToolFormatter(Formatter): if self.tool_format == "default": return [default_tool_formatter(tools)] elif self.tool_format == "glm4": - """ - '[gMASK]<|system|>\n你是一个名为 GLM-4 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的,你的任务是针对用户的问题和要求提供适当的答复和支持。\n\n## get_current_weather\n\n{\n "name": "get_current_weather",\n "description": "Get the current weather",\n "parameters": {\n "type": "object",\n "properties": {\n "location": {\n "type": "string",\n "description": "The city and state, e.g. San Francisco, CA"\n },\n "format": {\n "type": "string",\n "enum": [\n "celsius",\n "fahrenheit"\n ],\n "description": "The temperature unit to use. Infer this from the users location."\n }\n },\n "required": [\n "location",\n "format"\n ]\n }\n}\n在调用上述函数时,请使用 Json 格式表示调用的参数。<|user|>\nWhat\'s the weather like in San Francisco, Tokyo, and Paris? use celsius<|assistant|>' - """ return [glm4_tool_formatter(tools)] else: raise NotImplementedError From b6d63b33248b2762f1e794ea301cbeb9c3ce9774 Mon Sep 17 00:00:00 2001 From: mMrBun <2015711377@qq.com> Date: Mon, 10 Jun 2024 02:00:14 +0800 Subject: [PATCH 007/169] Optimize the handling of QWEN2 in scenarios involving multiple tool calls. Former-commit-id: 950e360ca00c29febadc14d5995de7d57b5c43a7 --- src/llamafactory/api/chat.py | 13 +++++++----- src/llamafactory/data/formatter.py | 34 ++++++++++++++++++------------ 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/llamafactory/api/chat.py b/src/llamafactory/api/chat.py index 98957bc1..d4db1eea 100644 --- a/src/llamafactory/api/chat.py +++ b/src/llamafactory/api/chat.py @@ -150,11 +150,14 @@ async def create_chat_completion_response( else: result = response.response_text - if isinstance(result, tuple): - name, arguments = result - function = Function(name=name, arguments=arguments) - tool_call = FunctionCall(id="call_{}".format(uuid.uuid4().hex), function=function) - response_message = ChatCompletionMessage(role=Role.ASSISTANT, tool_calls=[tool_call]) + if isinstance(result, list): + tool_calls = [] + for tool in result: + name, arguments = tool + function = Function(name=name, arguments=arguments) + tool_call = FunctionCall(id="call_{}".format(uuid.uuid4().hex), function=function) + tool_calls.append(tool_call) + response_message = ChatCompletionMessage(role=Role.ASSISTANT, tool_calls=tool_calls) finish_reason = Finish.TOOL else: response_message = ChatCompletionMessage(role=Role.ASSISTANT, content=result) diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index 9f58915b..1d917887 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -72,23 +72,29 @@ def glm4_tool_formatter(tools: List[Dict[str, Any]]) -> str: return GLM4_TOOL_PROMPT.format(tool_text=tool_text) -def default_tool_extractor(content: str) -> Union[str, Tuple[str, str]]: - regex = re.compile(r"Action:\s*([a-zA-Z0-9_]+).*?Action Input:\s*(.*)", re.DOTALL) - action_match = re.search(regex, content) +def default_tool_extractor(content: str) -> Union[str, List[Tuple[str, str]]]: + regex = re.compile(r"Action:\s*([a-zA-Z0-9_]+)\s*Action Input:\s*({.*?})(?=\nAction:|\Z)", re.DOTALL) + action_match = re.findall(regex, content) if not action_match: return content - tool_name = action_match.group(1).strip() - tool_input = action_match.group(2).strip().strip('"').strip("```") - try: - arguments = json.loads(tool_input) - except json.JSONDecodeError: - return content + results = [] + + for match in action_match: + tool_name, tool_input = match + tool_name = tool_name.strip() + tool_input = tool_input.strip().strip('"').strip("```") - return tool_name, json.dumps(arguments, ensure_ascii=False) + try: + arguments = json.loads(tool_input) + results.append((tool_name, json.dumps(arguments, ensure_ascii=False))) + except json.JSONDecodeError: + return content + + return results -def glm4_tool_extractor(content: str) -> Union[str, Tuple[str, str]]: +def glm4_tool_extractor(content: str) -> Union[str, List[Tuple[str, str]]]: lines = content.strip().split("\n") if len(lines) != 2: return content @@ -98,7 +104,7 @@ def glm4_tool_extractor(content: str) -> Union[str, Tuple[str, str]]: arguments = json.loads(tool_input) except json.JSONDecodeError: return content - return tool_name, json.dumps(arguments, ensure_ascii=False) + return [(tool_name, json.dumps(arguments, ensure_ascii=False))] @@ -110,7 +116,7 @@ class Formatter(ABC): @abstractmethod def apply(self, **kwargs) -> SLOTS: ... - def extract(self, content: str) -> Union[str, Tuple[str, str]]: + def extract(self, content: str) -> Union[str, List[Tuple[str, str]]]: raise NotImplementedError @@ -215,7 +221,7 @@ class ToolFormatter(Formatter): except Exception: return [""] - def extract(self, content: str) -> Union[str, Tuple[str, str]]: + def extract(self, content: str) -> Union[str, List[Tuple[str, str]]]: if self.tool_format == "default": return default_tool_extractor(content) elif self.tool_format == "glm4": From 3b244a69dce7157d69ed3a047e81bc0d9f5286a1 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 10 Jun 2024 21:24:15 +0800 Subject: [PATCH 008/169] fix #2666 Former-commit-id: c907d816670975daa900898660d3503708b7fc37 --- src/llamafactory/model/adapter.py | 2 +- tests/data/test_supervised.py | 32 ++++++++++++++--------- tests/model/model_utils/test_attention.py | 15 +++++------ tests/model/test_freeze.py | 19 ++++---------- tests/model/test_full.py | 8 +++--- tests/model/test_lora.py | 19 ++++---------- 6 files changed, 41 insertions(+), 54 deletions(-) diff --git a/src/llamafactory/model/adapter.py b/src/llamafactory/model/adapter.py index f4e501a7..34b9eda6 100644 --- a/src/llamafactory/model/adapter.py +++ b/src/llamafactory/model/adapter.py @@ -209,6 +209,7 @@ def _setup_lora_tuning( "lora_alpha": finetuning_args.lora_alpha, "lora_dropout": finetuning_args.lora_dropout, "use_rslora": finetuning_args.use_rslora, + "use_dora": finetuning_args.use_dora, "modules_to_save": finetuning_args.additional_target, } @@ -218,7 +219,6 @@ def _setup_lora_tuning( lora_config = LoraConfig( task_type=TaskType.CAUSAL_LM, inference_mode=False, - use_dora=finetuning_args.use_dora, **peft_kwargs, ) model = get_peft_model(model, lora_config) diff --git a/tests/data/test_supervised.py b/tests/data/test_supervised.py index bb7f71df..63a3453f 100644 --- a/tests/data/test_supervised.py +++ b/tests/data/test_supervised.py @@ -1,4 +1,5 @@ import os +import random import pytest from datasets import load_dataset @@ -8,17 +9,17 @@ from llamafactory.hparams import get_train_args from llamafactory.model import load_tokenizer -TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-LlamaForCausalLM") +TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") -TRAINING_ARGS = { +TRAIN_ARGS = { "model_name_or_path": TINY_LLAMA, "stage": "sft", "do_train": True, "finetuning_type": "full", - "dataset": "llamafactory/tiny_dataset", + "dataset": "llamafactory/tiny-supervised-dataset", "dataset_dir": "ONLINE", "template": "llama3", - "cutoff_len": 1024, + "cutoff_len": 8192, "overwrite_cache": True, "output_dir": "dummy_dir", "overwrite_output_dir": True, @@ -26,19 +27,24 @@ TRAINING_ARGS = { } -@pytest.mark.parametrize("test_num", [5]) -def test_supervised(test_num: int): - model_args, data_args, training_args, _, _ = get_train_args(TRAINING_ARGS) +@pytest.mark.parametrize("num_samples", [10]) +def test_supervised(num_samples: int): + model_args, data_args, training_args, _, _ = get_train_args(TRAIN_ARGS) tokenizer_module = load_tokenizer(model_args) tokenizer = tokenizer_module["tokenizer"] tokenized_data = get_dataset(model_args, data_args, training_args, stage="sft", **tokenizer_module) - original_data = load_dataset(TRAINING_ARGS["dataset"], split="train") - for test_idx in range(test_num): - decode_result = tokenizer.decode(tokenized_data["input_ids"][test_idx]) + original_data = load_dataset(TRAIN_ARGS["dataset"], split="train") + indexes = random.choices(range(len(original_data)), k=num_samples) + for index in indexes: + decoded_result = tokenizer.decode(tokenized_data["input_ids"][index]) + prompt = original_data[index]["instruction"] + if original_data[index]["input"]: + prompt += "\n" + original_data[index]["input"] + messages = [ - {"role": "user", "content": original_data[test_idx]["instruction"]}, - {"role": "assistant", "content": original_data[test_idx]["output"]}, + {"role": "user", "content": prompt}, + {"role": "assistant", "content": original_data[index]["output"]}, ] templated_result = tokenizer.apply_chat_template(messages, tokenize=False) - assert decode_result == templated_result + assert decoded_result == templated_result diff --git a/tests/model/model_utils/test_attention.py b/tests/model/model_utils/test_attention.py index 4d414289..751adda4 100644 --- a/tests/model/model_utils/test_attention.py +++ b/tests/model/model_utils/test_attention.py @@ -6,7 +6,12 @@ from llamafactory.hparams import get_infer_args from llamafactory.model import load_model, load_tokenizer -TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-LlamaForCausalLM") +TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") + +INFER_ARGS = { + "model_name_or_path": TINY_LLAMA, + "template": "llama3", +} def test_attention(): @@ -23,13 +28,7 @@ def test_attention(): "fa2": "LlamaFlashAttention2", } for requested_attention in attention_available: - model_args, _, finetuning_args, _ = get_infer_args( - { - "model_name_or_path": TINY_LLAMA, - "template": "llama2", - "flash_attn": requested_attention, - } - ) + model_args, _, finetuning_args, _ = get_infer_args({"flash_attn": requested_attention, **INFER_ARGS}) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args) for module in model.modules(): diff --git a/tests/model/test_freeze.py b/tests/model/test_freeze.py index c6cdec78..97800696 100644 --- a/tests/model/test_freeze.py +++ b/tests/model/test_freeze.py @@ -6,14 +6,14 @@ from llamafactory.hparams import get_train_args from llamafactory.model import load_model, load_tokenizer -TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-LlamaForCausalLM") +TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") -TRAINING_ARGS = { +TRAIN_ARGS = { "model_name_or_path": TINY_LLAMA, "stage": "sft", "do_train": True, "finetuning_type": "freeze", - "dataset": "llamafactory/tiny_dataset", + "dataset": "llamafactory/tiny-supervised-dataset", "dataset_dir": "ONLINE", "template": "llama3", "cutoff_len": 1024, @@ -25,12 +25,7 @@ TRAINING_ARGS = { def test_freeze_all_modules(): - model_args, _, _, finetuning_args, _ = get_train_args( - { - "freeze_trainable_layers": 1, - **TRAINING_ARGS, - } - ) + model_args, _, _, finetuning_args, _ = get_train_args({"freeze_trainable_layers": 1, **TRAIN_ARGS}) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) for name, param in model.named_parameters(): @@ -44,11 +39,7 @@ def test_freeze_all_modules(): def test_freeze_extra_modules(): model_args, _, _, finetuning_args, _ = get_train_args( - { - "freeze_trainable_layers": 1, - "freeze_extra_modules": "embed_tokens,lm_head", - **TRAINING_ARGS, - } + {"freeze_trainable_layers": 1, "freeze_extra_modules": "embed_tokens,lm_head", **TRAIN_ARGS} ) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) diff --git a/tests/model/test_full.py b/tests/model/test_full.py index ef57a980..6cb78f37 100644 --- a/tests/model/test_full.py +++ b/tests/model/test_full.py @@ -6,14 +6,14 @@ from llamafactory.hparams import get_train_args from llamafactory.model import load_model, load_tokenizer -TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-LlamaForCausalLM") +TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") -TRAINING_ARGS = { +TRAIN_ARGS = { "model_name_or_path": TINY_LLAMA, "stage": "sft", "do_train": True, "finetuning_type": "full", - "dataset": "llamafactory/tiny_dataset", + "dataset": "llamafactory/tiny-supervised-dataset", "dataset_dir": "ONLINE", "template": "llama3", "cutoff_len": 1024, @@ -25,7 +25,7 @@ TRAINING_ARGS = { def test_full(): - model_args, _, _, finetuning_args, _ = get_train_args(TRAINING_ARGS) + model_args, _, _, finetuning_args, _ = get_train_args(TRAIN_ARGS) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) for param in model.parameters(): diff --git a/tests/model/test_lora.py b/tests/model/test_lora.py index 1f2c02ae..2e2b89d9 100644 --- a/tests/model/test_lora.py +++ b/tests/model/test_lora.py @@ -6,14 +6,14 @@ from llamafactory.hparams import get_train_args from llamafactory.model import load_model, load_tokenizer -TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-LlamaForCausalLM") +TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") -TRAINING_ARGS = { +TRAIN_ARGS = { "model_name_or_path": TINY_LLAMA, "stage": "sft", "do_train": True, "finetuning_type": "lora", - "dataset": "llamafactory/tiny_dataset", + "dataset": "llamafactory/tiny-supervised-dataset", "dataset_dir": "ONLINE", "template": "llama3", "cutoff_len": 1024, @@ -25,12 +25,7 @@ TRAINING_ARGS = { def test_lora_all_modules(): - model_args, _, _, finetuning_args, _ = get_train_args( - { - "lora_target": "all", - **TRAINING_ARGS, - } - ) + model_args, _, _, finetuning_args, _ = get_train_args({"lora_target": "all", **TRAIN_ARGS}) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) linear_modules = set() @@ -48,11 +43,7 @@ def test_lora_all_modules(): def test_lora_extra_modules(): model_args, _, _, finetuning_args, _ = get_train_args( - { - "lora_target": "all", - "additional_target": "embed_tokens,lm_head", - **TRAINING_ARGS, - } + {"lora_target": "all", "additional_target": "embed_tokens,lm_head", **TRAIN_ARGS} ) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) From 144544cd3774ef9124896317b1012fbb224cd63e Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 10 Jun 2024 23:56:00 +0800 Subject: [PATCH 009/169] update evaluator Former-commit-id: 0012762b04d4082a3a7d98889cc3024adc92fc44 --- src/llamafactory/eval/evaluator.py | 4 +- src/llamafactory/eval/template.py | 9 ++-- tests/eval/test_eval_template.py | 77 ++++++++++++++++++++++++++++++ 3 files changed, 81 insertions(+), 9 deletions(-) create mode 100644 tests/eval/test_eval_template.py diff --git a/src/llamafactory/eval/evaluator.py b/src/llamafactory/eval/evaluator.py index 192f4815..5c6fb104 100644 --- a/src/llamafactory/eval/evaluator.py +++ b/src/llamafactory/eval/evaluator.py @@ -26,9 +26,7 @@ class Evaluator: self.template = get_template_and_fix_tokenizer(self.tokenizer, self.data_args.template) self.model = load_model(self.tokenizer, self.model_args, finetuning_args) self.eval_template = get_eval_template(self.eval_args.lang) - self.choice_inputs = [ - self.tokenizer.encode(self.eval_template.prefix + ch, add_special_tokens=False)[-1] for ch in CHOICES - ] + self.choice_inputs = [self.tokenizer.encode(ch, add_special_tokens=False)[-1] for ch in CHOICES] @torch.inference_mode() def batch_inference(self, batch_input: Dict[str, torch.Tensor]) -> List[str]: diff --git a/src/llamafactory/eval/template.py b/src/llamafactory/eval/template.py index a4a6ef0e..2cbb5aaf 100644 --- a/src/llamafactory/eval/template.py +++ b/src/llamafactory/eval/template.py @@ -10,7 +10,6 @@ class EvalTemplate: system: str choice: str answer: str - prefix: str def _parse_example(self, example: Dict[str, str]) -> Tuple[str, str]: r""" @@ -42,8 +41,8 @@ class EvalTemplate: eval_templates: Dict[str, "EvalTemplate"] = {} -def _register_eval_template(name: str, system: str, choice: str, answer: str, prefix: str) -> None: - eval_templates[name] = EvalTemplate(system=system, choice=choice, answer=answer, prefix=prefix) +def _register_eval_template(name: str, system: str, choice: str, answer: str) -> None: + eval_templates[name] = EvalTemplate(system=system, choice=choice, answer=answer) def get_eval_template(name: str) -> "EvalTemplate": @@ -56,8 +55,7 @@ _register_eval_template( name="en", system="The following are multiple choice questions (with answers) about {subject}.\n\n", choice="\n{choice}. {content}", - answer="\nAnswer: ", - prefix=" ", + answer="\nAnswer:", ) @@ -66,5 +64,4 @@ _register_eval_template( system="以下是中国关于{subject}考试的单项选择题,请选出其中的正确答案。\n\n", choice="\n{choice}. {content}", answer="\n答案:", - prefix=" ", ) diff --git a/tests/eval/test_eval_template.py b/tests/eval/test_eval_template.py new file mode 100644 index 00000000..f6a91a67 --- /dev/null +++ b/tests/eval/test_eval_template.py @@ -0,0 +1,77 @@ +from llamafactory.eval.template import get_eval_template + + +def test_eval_template_en(): + support_set = [ + { + "question": "Fewshot question", + "A": "Fewshot1", + "B": "Fewshot2", + "C": "Fewshot3", + "D": "Fewshot4", + "answer": "B", + } + ] + example = { + "question": "Target question", + "A": "Target1", + "B": "Target2", + "C": "Target3", + "D": "Target4", + "answer": "C", + } + template = get_eval_template(name="en") + messages = template.format_example(example, support_set=support_set, subject_name="SubName") + assert messages == [ + { + "role": "user", + "content": ( + "The following are multiple choice questions (with answers) about SubName.\n\n" + "Fewshot question\nA. Fewshot1\nB. Fewshot2\nC. Fewshot3\nD. Fewshot4\nAnswer:" + ), + }, + {"role": "assistant", "content": "B"}, + { + "role": "user", + "content": "Target question\nA. Target1\nB. Target2\nC. Target3\nD. Target4\nAnswer:", + }, + {"role": "assistant", "content": "C"}, + ] + + +def test_eval_template_zh(): + support_set = [ + { + "question": "示例问题", + "A": "示例答案1", + "B": "示例答案2", + "C": "示例答案3", + "D": "示例答案4", + "answer": "B", + } + ] + example = { + "question": "目标问题", + "A": "目标答案1", + "B": "目标答案2", + "C": "目标答案3", + "D": "目标答案4", + "answer": "C", + } + template = get_eval_template(name="zh") + messages = template.format_example(example, support_set=support_set, subject_name="主题") + assert messages == [ + { + "role": "user", + "content": ( + "以下是中国关于主题考试的单项选择题,请选出其中的正确答案。\n\n" + "示例问题\nA. 示例答案1\nB. 示例答案2\nC. 示例答案3\nD. 示例答案4\n答案:" + ), + }, + {"role": "assistant", "content": "B"}, + { + "role": "user", + "content": "目标问题\nA. 目标答案1\nB. 目标答案2\nC. 目标答案3\nD. 目标答案4\n答案:", + }, + {"role": "assistant", "content": "C"}, + ] From d984776d351635232fd106ff394a68aa611172fa Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 11 Jun 2024 00:19:17 +0800 Subject: [PATCH 010/169] fix #4145 Fix the docker image Former-commit-id: 949e9908ad634874cf5449ee9904745c7acda611 --- Dockerfile | 38 ++++++++++++++++++++++++++++++++++---- README.md | 36 ++++++++++++++++++------------------ README_zh.md | 34 ++++++++++++++++++---------------- docker-compose.yml | 10 ++++++++-- 4 files changed, 78 insertions(+), 40 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0a35e355..45849601 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,44 @@ -FROM nvcr.io/nvidia/pytorch:24.01-py3 +# Use the NVIDIA official image with PyTorch 2.3.0 +# https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel-24-02.html +FROM nvcr.io/nvidia/pytorch:24.02-py3 +# Define installation arguments +ARG INSTALL_BNB=false +ARG INSTALL_VLLM=false +ARG INSTALL_DEEPSPEED=false +ARG PIP_INDEX=https://pypi.org/simple + +# Set the working directory WORKDIR /app +# Install the requirements COPY requirements.txt /app/ -RUN pip install -r requirements.txt +RUN pip config set global.index-url $PIP_INDEX +RUN python -m pip install --upgrade pip +RUN python -m pip install -r requirements.txt +# Copy the rest of the application into the image COPY . /app/ -RUN pip install -e .[metrics,bitsandbytes,qwen] +# Install the LLaMA Factory +RUN EXTRA_PACKAGES="metrics"; \ + if [ "$INSTALL_BNB" = "true" ]; then \ + EXTRA_PACKAGES="${EXTRA_PACKAGES},bitsandbytes"; \ + fi; \ + if [ "$INSTALL_VLLM" = "true" ]; then \ + EXTRA_PACKAGES="${EXTRA_PACKAGES},vllm"; \ + fi; \ + if [ "$INSTALL_DEEPSPEED" = "true" ]; then \ + EXTRA_PACKAGES="${EXTRA_PACKAGES},deepspeed"; \ + fi; \ + pip install -e .[$EXTRA_PACKAGES] && \ + pip uninstall -y transformer-engine + +# Set up volumes VOLUME [ "/root/.cache/huggingface/", "/app/data", "/app/output" ] + +# Expose port 7860 for the LLaMA Board EXPOSE 7860 -CMD [ "llamafactory-cli", "webui" ] +# Expose port 8000 for the API service +EXPOSE 8000 diff --git a/README.md b/README.md index 4dea65b9..35dacd2e 100644 --- a/README.md +++ b/README.md @@ -405,9 +405,9 @@ Please refer to [data/README.md](data/README.md) for checking the details about Use the following 3 commands to run LoRA **fine-tuning**, **inference** and **merging** of the Llama3-8B-Instruct model, respectively. ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml -CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat examples/inference/llama3_lora_sft.yaml -CUDA_VISIBLE_DEVICES=0 llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml +llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml +llamafactory-cli chat examples/inference/llama3_lora_sft.yaml +llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml ``` See [examples/README.md](examples/README.md) for advanced usage (including distributed training). @@ -417,33 +417,33 @@ See [examples/README.md](examples/README.md) for advanced usage (including distr ### Fine-Tuning with LLaMA Board GUI (powered by [Gradio](https://github.com/gradio-app/gradio)) -#### Use local environment - ```bash -CUDA_VISIBLE_DEVICES=0 GRADIO_SHARE=1 llamafactory-cli webui +llamafactory-cli webui ``` - - -#### Use Docker +### Build Docker ```bash -docker build -f ./Dockerfile -t llama-factory:latest . -docker run --gpus=all \ +docker build -f ./Dockerfile \ + --build-arg INSTALL_BNB=false \ + --build-arg INSTALL_VLLM=false \ + --build-arg INSTALL_DEEPSPEED=false \ + --build-arg PIP_INDEX=https://pypi.org/simple \ + -t llamafactory:latest . + +docker run -it --gpus=all \ -v ./hf_cache:/root/.cache/huggingface/ \ -v ./data:/app/data \ -v ./output:/app/output \ -p 7860:7860 \ + -p 8000:8000 \ --shm-size 16G \ - --name llama_factory \ - -d llama-factory:latest + --name llamafactory \ + llamafactory:latest ``` -#### Use Docker Compose - -```bash -docker compose -f ./docker-compose.yml up -d -``` +> [!TIP] +> Use Docker Compose to build image via `docker compose up -d`.
Details about volume diff --git a/README_zh.md b/README_zh.md index ab0e8cb7..0ddb8b19 100644 --- a/README_zh.md +++ b/README_zh.md @@ -405,9 +405,9 @@ Docker 镜像: 下面三行命令分别对 Llama3-8B-Instruct 模型进行 LoRA **微调**、**推理**和**合并**。 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml -CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat examples/inference/llama3_lora_sft.yaml -CUDA_VISIBLE_DEVICES=0 llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml +llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml +llamafactory-cli chat examples/inference/llama3_lora_sft.yaml +llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml ``` 高级用法请参考 [examples/README_zh.md](examples/README_zh.md)(包括多 GPU 微调)。 @@ -417,31 +417,33 @@ CUDA_VISIBLE_DEVICES=0 llamafactory-cli export examples/merge_lora/llama3_lora_s ### LLaMA Board 可视化微调(由 [Gradio](https://github.com/gradio-app/gradio) 驱动) -#### 使用本地环境 - ```bash -CUDA_VISIBLE_DEVICES=0 GRADIO_SHARE=1 llamafactory-cli webui +llamafactory-cli webui ``` -#### 使用 Docker +### 构建 Docker ```bash -docker build -f ./Dockerfile -t llama-factory:latest . -docker run --gpus=all \ +docker build -f ./Dockerfile \ + --build-arg INSTALL_BNB=false \ + --build-arg INSTALL_VLLM=false \ + --build-arg INSTALL_DEEPSPEED=false \ + --build-arg PIP_INDEX=https://pypi.org/simple \ + -t llamafactory:latest . + +docker run -it --gpus=all \ -v ./hf_cache:/root/.cache/huggingface/ \ -v ./data:/app/data \ -v ./output:/app/output \ -p 7860:7860 \ + -p 8000:8000 \ --shm-size 16G \ - --name llama_factory \ - -d llama-factory:latest + --name llamafactory \ + llamafactory:latest ``` -#### 使用 Docker Compose - -```bash -docker compose -f ./docker-compose.yml up -d -``` +> [!TIP] +> 通过 `docker compose up -d` 使用 Docker Compose 构建镜像。
数据卷详情 diff --git a/docker-compose.yml b/docker-compose.yml index 9602a3e3..b3e4a34d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,17 +1,23 @@ version: '3.8' services: - llama-factory: + llamafactory: build: dockerfile: Dockerfile context: . - container_name: llama_factory + args: + INSTALL_BNB: false + INSTALL_VLLM: false + INSTALL_DEEPSPEED: false + PIP_INDEX: https://pypi.org/simple + container_name: llamafactory volumes: - ./hf_cache:/root/.cache/huggingface/ - ./data:/app/data - ./output:/app/output ports: - "7860:7860" + - "8000:8000" ipc: host deploy: resources: From 2f164c2c41993a93129edef5ce692db483d31423 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 11 Jun 2024 00:37:17 +0800 Subject: [PATCH 011/169] fix #4160 The split heads should be concatenated in dim=2 Former-commit-id: a793e8456b664ea0b48f0ba162999f18d06b4c2f --- src/llamafactory/model/model_utils/longlora.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/llamafactory/model/model_utils/longlora.py b/src/llamafactory/model/model_utils/longlora.py index c8dc52f5..cd468979 100644 --- a/src/llamafactory/model/model_utils/longlora.py +++ b/src/llamafactory/model/model_utils/longlora.py @@ -96,7 +96,8 @@ def llama_attention_forward( ( attn_output[:, :, : self.num_heads // 2], attn_output[:, :, self.num_heads // 2 :].roll(groupsz // 2, dims=1), - ) + ), + dim=2, ) attn_output = attn_output.reshape(bsz, q_len, self.hidden_size) @@ -194,7 +195,8 @@ def llama_flash_attention_2_forward( ( attn_output[:, :, : self.num_heads // 2], attn_output[:, :, self.num_heads // 2 :].roll(groupsz // 2, dims=1), - ) + ), + dim=2, ) attn_output = attn_output.reshape(bsz, q_len, self.hidden_size).contiguous() @@ -293,7 +295,8 @@ def llama_sdpa_attention_forward( ( attn_output[:, :, : self.num_heads // 2], attn_output[:, :, self.num_heads // 2 :].roll(groupsz // 2, dims=1), - ) + ), + dim=2, ) attn_output = attn_output.reshape(bsz, q_len, self.hidden_size) @@ -303,7 +306,7 @@ def llama_sdpa_attention_forward( def _apply_llama_patch() -> None: - require_version("transformers==4.40.2", "To fix: pip install transformers==4.40.2") + require_version("transformers==4.41.2", "To fix: pip install transformers==4.41.2") LlamaAttention.forward = llama_attention_forward LlamaFlashAttention2.forward = llama_flash_attention_2_forward LlamaSdpaAttention.forward = llama_sdpa_attention_forward From 75e1bbf1287c03842097b3f9a6b226d0ccdefba5 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 11 Jun 2024 00:44:26 +0800 Subject: [PATCH 012/169] release v0.8.1 Former-commit-id: 2b6ebd6b51133cf114d6f0e8605ad2bb26aa6d65 --- src/llamafactory/extras/env.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/extras/env.py b/src/llamafactory/extras/env.py index 1d4e43f1..8c34fd96 100644 --- a/src/llamafactory/extras/env.py +++ b/src/llamafactory/extras/env.py @@ -9,7 +9,7 @@ import trl from transformers.utils import is_torch_cuda_available, is_torch_npu_available -VERSION = "0.8.1.dev0" +VERSION = "0.8.1" def print_env() -> None: From d6632fefc96f6c25de324efe62d8c5463c2e3800 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 11 Jun 2024 00:50:53 +0800 Subject: [PATCH 013/169] set dev version Former-commit-id: 91e62a098fd997d0d1d12baef64d089aabc01fba --- src/llamafactory/extras/env.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/extras/env.py b/src/llamafactory/extras/env.py index 8c34fd96..a8cb799d 100644 --- a/src/llamafactory/extras/env.py +++ b/src/llamafactory/extras/env.py @@ -9,7 +9,7 @@ import trl from transformers.utils import is_torch_cuda_available, is_torch_npu_available -VERSION = "0.8.1" +VERSION = "0.8.2.dev0" def print_env() -> None: From e3baa5aa08c1028e501383053f68aecf2b2d1af7 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 11 Jun 2024 01:04:16 +0800 Subject: [PATCH 014/169] tiny fix Former-commit-id: 3f24337a8a995b145b1e8075bc23878eaa363844 --- src/llamafactory/model/model_utils/longlora.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/llamafactory/model/model_utils/longlora.py b/src/llamafactory/model/model_utils/longlora.py index cd468979..4a8c562a 100644 --- a/src/llamafactory/model/model_utils/longlora.py +++ b/src/llamafactory/model/model_utils/longlora.py @@ -182,11 +182,9 @@ def llama_flash_attention_2_forward( query_states, key_states, value_states = shift(query_states), shift(key_states), shift(value_states) if attention_mask is not None: attention_mask = attention_mask[:, :groupsz].repeat(num_groups, 1) - else: - groupsz = q_len attn_output: torch.Tensor = self._flash_attention_forward( - query_states, key_states, value_states, attention_mask, groupsz, dropout=dropout_rate + query_states, key_states, value_states, attention_mask, query_states.size(1), dropout=dropout_rate ) if getattr(self.config, "group_size_ratio", None) and self.training: # shift back From fb20b8dcc8ec128e79bf8e62dbe16a50c524bcdd Mon Sep 17 00:00:00 2001 From: Alfredo Luque Date: Tue, 11 Jun 2024 00:07:06 +0000 Subject: [PATCH 015/169] add manifest so requirements.txt in sdist Former-commit-id: 5f7b3b3ff6a0965bb5036868f7ca5612780d6766 --- MANIFEST.in | 1 + 1 file changed, 1 insertion(+) create mode 100644 MANIFEST.in diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 00000000..82c51f63 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +include LICENSE requirements.txt From 53de7f7cc36acc9705425826fbe4297b30ce63de Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 11 Jun 2024 12:48:53 +0800 Subject: [PATCH 016/169] tiny fix Former-commit-id: 90e14a960d1437a16d35dbabbb8aa50714583d3a --- src/llamafactory/hparams/parser.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index ff1fbf5d..ec5dd62c 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -171,9 +171,6 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: if training_args.do_train and model_args.quantization_device_map == "auto": raise ValueError("Cannot use device map for quantized models in training.") - if finetuning_args.use_dora and model_args.use_unsloth: - raise ValueError("Unsloth does not support DoRA.") - if finetuning_args.pure_bf16: if not is_torch_bf16_gpu_available(): raise ValueError("This device does not support `pure_bf16`.") From 5834651c4a5ddc7bdbb24b6cbc71b76a960a4123 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 11 Jun 2024 15:38:38 +0800 Subject: [PATCH 017/169] fix #4198 Former-commit-id: 89f2bd8c8c035181927bd530a7ffc733407d674c --- src/llamafactory/hparams/model_args.py | 12 ++++++++++ src/llamafactory/model/patcher.py | 2 +- src/llamafactory/train/trainer_utils.py | 32 +++++++++++-------------- 3 files changed, 27 insertions(+), 19 deletions(-) diff --git a/src/llamafactory/hparams/model_args.py b/src/llamafactory/hparams/model_args.py index 6352a420..71467770 100644 --- a/src/llamafactory/hparams/model_args.py +++ b/src/llamafactory/hparams/model_args.py @@ -1,6 +1,8 @@ from dataclasses import asdict, dataclass, field from typing import Any, Dict, Literal, Optional +from typing_extensions import Self + @dataclass class ModelArguments: @@ -216,3 +218,13 @@ class ModelArguments: def to_dict(self) -> Dict[str, Any]: return asdict(self) + + @classmethod + def copyfrom(cls, old_arg: Self, **kwargs) -> Self: + arg_dict = old_arg.to_dict() + arg_dict.update(**kwargs) + new_arg = cls(**arg_dict) + new_arg.compute_dtype = old_arg.compute_dtype + new_arg.device_map = old_arg.device_map + new_arg.model_max_length = old_arg.model_max_length + return new_arg diff --git a/src/llamafactory/model/patcher.py b/src/llamafactory/model/patcher.py index 87c92315..18221a10 100644 --- a/src/llamafactory/model/patcher.py +++ b/src/llamafactory/model/patcher.py @@ -79,7 +79,7 @@ def patch_config( if "device_map" not in init_kwargs and model_args.device_map: init_kwargs["device_map"] = model_args.device_map - if init_kwargs["device_map"] == "auto": + if init_kwargs.get("device_map", None) == "auto": init_kwargs["offload_folder"] = model_args.offload_folder diff --git a/src/llamafactory/train/trainer_utils.py b/src/llamafactory/train/trainer_utils.py index 0ddcdb11..7e9cc881 100644 --- a/src/llamafactory/train/trainer_utils.py +++ b/src/llamafactory/train/trainer_utils.py @@ -83,15 +83,12 @@ def create_ref_model( The valuehead parameter is randomly initialized since it is useless for PPO training. """ if finetuning_args.ref_model is not None: - ref_model_args_dict = model_args.to_dict() - ref_model_args_dict.update( - dict( - model_name_or_path=finetuning_args.ref_model, - adapter_name_or_path=finetuning_args.ref_model_adapters, - quantization_bit=finetuning_args.ref_model_quantization_bit, - ) + ref_model_args = ModelArguments.copyfrom( + model_args, + model_name_or_path=finetuning_args.ref_model, + adapter_name_or_path=finetuning_args.ref_model_adapters, + quantization_bit=finetuning_args.ref_model_quantization_bit, ) - ref_model_args = ModelArguments(**ref_model_args_dict) ref_finetuning_args = FinetuningArguments() tokenizer = load_tokenizer(ref_model_args)["tokenizer"] ref_model = load_model( @@ -102,9 +99,11 @@ def create_ref_model( if finetuning_args.finetuning_type == "lora": ref_model = None else: - tokenizer = load_tokenizer(model_args)["tokenizer"] + ref_model_args = ModelArguments.copyfrom(model_args) + ref_finetuning_args = FinetuningArguments() + tokenizer = load_tokenizer(ref_model_args)["tokenizer"] ref_model = load_model( - tokenizer, model_args, finetuning_args, is_trainable=False, add_valuehead=add_valuehead + tokenizer, ref_model_args, ref_finetuning_args, is_trainable=False, add_valuehead=add_valuehead ) logger.info("Created reference model from the model itself.") @@ -139,15 +138,12 @@ def create_reward_model( logger.info("Loaded adapter weights of reward model from {}".format(finetuning_args.reward_model)) return None else: - reward_model_args_dict = model_args.to_dict() - reward_model_args_dict.update( - dict( - model_name_or_path=finetuning_args.reward_model, - adapter_name_or_path=finetuning_args.reward_model_adapters, - quantization_bit=finetuning_args.reward_model_quantization_bit, - ) + reward_model_args = ModelArguments.copyfrom( + model_args, + model_name_or_path=finetuning_args.reward_model, + adapter_name_or_path=finetuning_args.reward_model_adapters, + quantization_bit=finetuning_args.reward_model_quantization_bit, ) - reward_model_args = ModelArguments(**reward_model_args_dict) reward_finetuning_args = FinetuningArguments() tokenizer = load_tokenizer(reward_model_args)["tokenizer"] reward_model = load_model( From 6c9cc199efb7b16305db20025b600b43966ce1a7 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 11 Jun 2024 15:40:21 +0800 Subject: [PATCH 018/169] Update bug-report.yml Former-commit-id: 53b74361d3d76c602f80854320efc555164afe44 --- .github/ISSUE_TEMPLATE/bug-report.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 1d962200..768adea6 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -38,7 +38,9 @@ body: 请合理使用 Markdown 标签来格式化您的文本。 placeholder: | + ```bash llamafactory-cli train ... + ``` - type: textarea id: expected-behavior From da39715085086c2b5ab487c04a7b31083b783b9e Mon Sep 17 00:00:00 2001 From: d <913015993@qq.com> Date: Tue, 11 Jun 2024 16:21:48 +0800 Subject: [PATCH 019/169] =?UTF-8?q?=E7=BB=8F=E8=BF=87=E5=A4=A7=E9=87=8F?= =?UTF-8?q?=E7=9A=84=E5=A2=9E=E9=87=8F=E9=A2=84=E8=AE=AD=E7=BB=83=EF=BC=8C?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E5=AF=B9=E6=AF=94=E8=AF=95=E9=AA=8C=EF=BC=8C?= =?UTF-8?q?=E5=8F=91=E7=8E=B0=E8=BF=99=E4=B8=AAbug=EF=BC=9Allama3=E5=9C=A8?= =?UTF-8?q?=E9=A2=84=E8=AE=AD=E7=BB=83=E6=97=B6=E4=BD=BF=E7=94=A8=E7=9A=84?= =?UTF-8?q?tokenizer.eos=5Ftoke=E6=98=AF'<|end=5Fof=5Ftext|>'=20=EF=BC=8C?= =?UTF-8?q?=E8=BF=99=E9=87=8C=E5=9C=A8=E6=AF=8F=E6=9D=A1=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=90=8E=E9=9D=A2=E4=B9=9F=E5=BE=97=E7=94=A8=E8=BF=99=E4=B8=AA?= =?UTF-8?q?=EF=BC=8C=E8=80=8C=E4=B8=8D=E6=98=AF'<|eot=5Fid|>'=EF=BC=8C?= =?UTF-8?q?=E5=90=A6=E5=88=99=E5=BE=88=E5=AE=B9=E6=98=93=E5=AF=BC=E8=87=B4?= =?UTF-8?q?=E4=B8=A5=E9=87=8D=E7=9A=84=E6=80=A7=E8=83=BD=E4=B8=8B=E9=99=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Former-commit-id: 6979f3f8480755604d8aea8164f6418126e094c5 --- src/llamafactory/data/processors/pretrain.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/llamafactory/data/processors/pretrain.py b/src/llamafactory/data/processors/pretrain.py index 87727b55..4050f74c 100644 --- a/src/llamafactory/data/processors/pretrain.py +++ b/src/llamafactory/data/processors/pretrain.py @@ -12,7 +12,8 @@ def preprocess_pretrain_dataset( examples: Dict[str, List[Any]], tokenizer: "PreTrainedTokenizer", data_args: "DataArguments" ) -> Dict[str, List[List[int]]]: # build grouped texts with format `X1 X2 X3 ...` if packing is enabled - text_examples = [messages[0]["content"] + tokenizer.eos_token for messages in examples["prompt"]] + eos_token = '<|end_of_text|>' if data_args.template == 'llama3' else tokenizer.eos_token + text_examples = [messages[0]["content"] + eos_token for messages in examples["prompt"]] if not data_args.packing: if data_args.template == "gemma": From 8c574eb3cbc6e5b0ede67f0992f81a39b345619d Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 11 Jun 2024 16:52:36 +0800 Subject: [PATCH 020/169] fix deepspeed version Former-commit-id: cca6f351081903ca3b5f79f10accc1bbbae0ee61 --- src/llamafactory/model/model_utils/moe.py | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/llamafactory/model/model_utils/moe.py b/src/llamafactory/model/model_utils/moe.py index e554e45a..8a73c844 100644 --- a/src/llamafactory/model/model_utils/moe.py +++ b/src/llamafactory/model/model_utils/moe.py @@ -1,5 +1,6 @@ -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Sequence +import torch from transformers.integrations import is_deepspeed_zero3_enabled from transformers.utils.versions import require_version @@ -10,6 +11,13 @@ if TYPE_CHECKING: from ...hparams import ModelArguments +def _set_z3_leaf_modules(model: "PreTrainedModel", leaf_modules: Sequence["torch.nn.Module"]) -> None: + require_version("deepspeed>=0.13.0", "To fix: pip install deepspeed>=0.13.0") + from deepspeed.utils import set_z3_leaf_modules # type: ignore + + set_z3_leaf_modules(model, leaf_modules) + + def add_z3_leaf_module(model: "PreTrainedModel") -> None: r""" Sets module as a leaf module to skip partitioning in deepspeed zero3. @@ -17,33 +25,30 @@ def add_z3_leaf_module(model: "PreTrainedModel") -> None: if not is_deepspeed_zero3_enabled(): return - require_version("deepspeed>=0.13.0", "To fix: pip install deepspeed>=0.13.0") - from deepspeed.utils import set_z3_leaf_modules # type: ignore - if getattr(model.config, "model_type", None) == "dbrx": from transformers.models.dbrx.modeling_dbrx import DbrxFFN - set_z3_leaf_modules(model, [DbrxFFN]) + _set_z3_leaf_modules(model, [DbrxFFN]) if getattr(model.config, "model_type", None) == "jamba": from transformers.models.jamba.modeling_jamba import JambaSparseMoeBlock - set_z3_leaf_modules(model, [JambaSparseMoeBlock]) + _set_z3_leaf_modules(model, [JambaSparseMoeBlock]) if getattr(model.config, "model_type", None) == "jetmoe": from transformers.models.jetmoe.modeling_jetmoe import JetMoeMoA, JetMoeMoE - set_z3_leaf_modules(model, [JetMoeMoA, JetMoeMoE]) + _set_z3_leaf_modules(model, [JetMoeMoA, JetMoeMoE]) if getattr(model.config, "model_type", None) == "mixtral": from transformers.models.mixtral.modeling_mixtral import MixtralSparseMoeBlock - set_z3_leaf_modules(model, [MixtralSparseMoeBlock]) + _set_z3_leaf_modules(model, [MixtralSparseMoeBlock]) if getattr(model.config, "model_type", None) == "qwen2moe": from transformers.models.qwen2_moe.modeling_qwen2_moe import Qwen2MoeSparseMoeBlock - set_z3_leaf_modules(model, [Qwen2MoeSparseMoeBlock]) + _set_z3_leaf_modules(model, [Qwen2MoeSparseMoeBlock]) def configure_moe(config: "PretrainedConfig", model_args: "ModelArguments", is_trainable: bool) -> None: From bf3de9bfe851916a7cfae9c267a2a61b276951f2 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Tue, 11 Jun 2024 17:02:14 +0800 Subject: [PATCH 021/169] Update pretrain.py Former-commit-id: 0c292332374fb96c3fc753abde42d070a0c1dca8 --- src/llamafactory/data/processors/pretrain.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/data/processors/pretrain.py b/src/llamafactory/data/processors/pretrain.py index 4050f74c..832c987e 100644 --- a/src/llamafactory/data/processors/pretrain.py +++ b/src/llamafactory/data/processors/pretrain.py @@ -12,7 +12,7 @@ def preprocess_pretrain_dataset( examples: Dict[str, List[Any]], tokenizer: "PreTrainedTokenizer", data_args: "DataArguments" ) -> Dict[str, List[List[int]]]: # build grouped texts with format `X1 X2 X3 ...` if packing is enabled - eos_token = '<|end_of_text|>' if data_args.template == 'llama3' else tokenizer.eos_token + eos_token = "<|end_of_text|>" if data_args.template == "llama3" else tokenizer.eos_token text_examples = [messages[0]["content"] + eos_token for messages in examples["prompt"]] if not data_args.packing: From c7e021a8371f7b1f4ceb6d95d91fccadaed78f55 Mon Sep 17 00:00:00 2001 From: codingma Date: Wed, 12 Jun 2024 10:39:05 +0800 Subject: [PATCH 022/169] update wechat_npu.jpg Former-commit-id: 557891debb8a64b73eea012f99780a7b76424cd5 --- assets/wechat_npu.jpg | Bin 151211 -> 131079 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/wechat_npu.jpg b/assets/wechat_npu.jpg index 97b6d5ddda47a3d90b1d56964b644298d8f14b06..761f53ac7285306707eba8faf49882c78febed12 100644 GIT binary patch literal 131079 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 literal 151211 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 z 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

  • v>qP_wd8?4uS8Ly~c__PIWezROl4?-?sMu4ILm1 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 Date: Wed, 12 Jun 2024 16:49:12 +0900 Subject: [PATCH 023/169] Support vllm==0.5.0 Former-commit-id: d65a3f7cb6dcd34e9a3ff9e30dffc52a7671d50b --- src/llamafactory/chat/vllm_engine.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/llamafactory/chat/vllm_engine.py b/src/llamafactory/chat/vllm_engine.py index 87ce8684..d096f6eb 100644 --- a/src/llamafactory/chat/vllm_engine.py +++ b/src/llamafactory/chat/vllm_engine.py @@ -13,7 +13,10 @@ from .base_engine import BaseEngine, Response if is_vllm_available(): from vllm import AsyncEngineArgs, AsyncLLMEngine, RequestOutput, SamplingParams from vllm.lora.request import LoRARequest - from vllm.sequence import MultiModalData + try: + from vllm.multimodal import MultiModalData # vllm==0.5.0 + except ImportError: + from vllm.sequence import MultiModalData # vllm<0.5.0 if TYPE_CHECKING: From f8497921fe2bc46434e38dc18bc1aaa67f23f042 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 12 Jun 2024 16:50:11 +0800 Subject: [PATCH 024/169] fix #4242 Former-commit-id: 577de2fa078ee62d61bca24b75fa59590e2ef66b --- Dockerfile | 2 +- src/llamafactory/chat/vllm_engine.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 45849601..3932ff30 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,7 +32,7 @@ RUN EXTRA_PACKAGES="metrics"; \ EXTRA_PACKAGES="${EXTRA_PACKAGES},deepspeed"; \ fi; \ pip install -e .[$EXTRA_PACKAGES] && \ - pip uninstall -y transformer-engine + pip uninstall -y transformer-engine flash-attn # Set up volumes VOLUME [ "/root/.cache/huggingface/", "/app/data", "/app/output" ] diff --git a/src/llamafactory/chat/vllm_engine.py b/src/llamafactory/chat/vllm_engine.py index d096f6eb..d2850a6e 100644 --- a/src/llamafactory/chat/vllm_engine.py +++ b/src/llamafactory/chat/vllm_engine.py @@ -13,10 +13,11 @@ from .base_engine import BaseEngine, Response if is_vllm_available(): from vllm import AsyncEngineArgs, AsyncLLMEngine, RequestOutput, SamplingParams from vllm.lora.request import LoRARequest + try: - from vllm.multimodal import MultiModalData # vllm==0.5.0 + from vllm.multimodal import MultiModalData # type: ignore (for vllm>=0.5.0) except ImportError: - from vllm.sequence import MultiModalData # vllm<0.5.0 + from vllm.sequence import MultiModalData # for vllm<0.5.0 if TYPE_CHECKING: From 77e4dc255fa9a5082b89aa7c65ebe81236e104f2 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 12 Jun 2024 17:39:12 +0800 Subject: [PATCH 025/169] update readme Former-commit-id: 2ce2e5bc478f6ffcafe8e6451b1fef4e8994694c --- README.md | 2 +- README_zh.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 35dacd2e..a773a5f4 100644 --- a/README.md +++ b/README.md @@ -443,7 +443,7 @@ docker run -it --gpus=all \ ``` > [!TIP] -> Use Docker Compose to build image via `docker compose up -d`. +> Use Docker Compose to build image via `docker-compose up -d`.
    Details about volume diff --git a/README_zh.md b/README_zh.md index 0ddb8b19..7a9cb159 100644 --- a/README_zh.md +++ b/README_zh.md @@ -443,7 +443,7 @@ docker run -it --gpus=all \ ``` > [!TIP] -> 通过 `docker compose up -d` 使用 Docker Compose 构建镜像。 +> 通过 `docker-compose up -d` 使用 Docker Compose 构建镜像。
    数据卷详情 From 65f2ba3802b0df1f320e5bb9e86a9a94c2ea3d16 Mon Sep 17 00:00:00 2001 From: hzhaoy Date: Wed, 12 Jun 2024 18:29:03 +0800 Subject: [PATCH 026/169] adapt vllm==0.5.0 Former-commit-id: 8fb6366ebec432c1333c80eb51007460ac5896bd --- src/llamafactory/chat/vllm_engine.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/llamafactory/chat/vllm_engine.py b/src/llamafactory/chat/vllm_engine.py index d2850a6e..34126adf 100644 --- a/src/llamafactory/chat/vllm_engine.py +++ b/src/llamafactory/chat/vllm_engine.py @@ -1,10 +1,12 @@ import uuid from typing import TYPE_CHECKING, AsyncGenerator, AsyncIterator, Dict, List, Optional, Sequence, Union +from packaging import version + from ..data import get_template_and_fix_tokenizer from ..extras.logging import get_logger from ..extras.misc import get_device_count -from ..extras.packages import is_vllm_available +from ..extras.packages import is_vllm_available, _get_package_version from ..model import load_config, load_tokenizer from ..model.model_utils.visual import LlavaMultiModalProjectorForYiVLForVLLM from .base_engine import BaseEngine, Response @@ -14,10 +16,10 @@ if is_vllm_available(): from vllm import AsyncEngineArgs, AsyncLLMEngine, RequestOutput, SamplingParams from vllm.lora.request import LoRARequest - try: - from vllm.multimodal import MultiModalData # type: ignore (for vllm>=0.5.0) - except ImportError: - from vllm.sequence import MultiModalData # for vllm<0.5.0 + if _get_package_version("vllm") >= version.parse("0.5.0"): + from vllm.multimodal.image import ImagePixelData + else: + from vllm.sequence import MultiModalData if TYPE_CHECKING: @@ -110,7 +112,10 @@ class VllmEngine(BaseEngine): if self.processor is not None and image is not None: # add image features image_processor: "BaseImageProcessor" = getattr(self.processor, "image_processor") pixel_values = image_processor(image, return_tensors="pt")["pixel_values"] - multi_modal_data = MultiModalData(type=MultiModalData.Type.IMAGE, data=pixel_values) + if _get_package_version("vllm") >= version.parse("0.5.0"): + multi_modal_data = ImagePixelData(pixel_values) + else: + multi_modal_data = MultiModalData(type=MultiModalData.Type.IMAGE, data=pixel_values) else: multi_modal_data = None From b2b0b960518d3931d8e0071b39a992b95ef162eb Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 00:07:48 +0800 Subject: [PATCH 027/169] fix docker compose usage Former-commit-id: 947a34f53b74e4cd2b964941cf1580bcabde2228 --- README.md | 10 ++++++++-- README_zh.md | 10 ++++++++-- docker-compose.yml | 5 +++-- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a773a5f4..65964560 100644 --- a/README.md +++ b/README.md @@ -423,6 +423,8 @@ llamafactory-cli webui ### Build Docker +#### Use Docker + ```bash docker build -f ./Dockerfile \ --build-arg INSTALL_BNB=false \ @@ -442,8 +444,12 @@ docker run -it --gpus=all \ llamafactory:latest ``` -> [!TIP] -> Use Docker Compose to build image via `docker-compose up -d`. +#### Use Docker Compose + +```bash +docker-compose up -d +docker-compose exec -it llamafactory bash +```
    Details about volume diff --git a/README_zh.md b/README_zh.md index 7a9cb159..7962a6d1 100644 --- a/README_zh.md +++ b/README_zh.md @@ -423,6 +423,8 @@ llamafactory-cli webui ### 构建 Docker +#### 使用 Docker + ```bash docker build -f ./Dockerfile \ --build-arg INSTALL_BNB=false \ @@ -442,8 +444,12 @@ docker run -it --gpus=all \ llamafactory:latest ``` -> [!TIP] -> 通过 `docker-compose up -d` 使用 Docker Compose 构建镜像。 +#### 使用 Docker Compose + +```bash +docker-compose up -d +docker-compose exec -it llamafactory bash +```
    数据卷详情 diff --git a/docker-compose.yml b/docker-compose.yml index b3e4a34d..c5dc34e9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: '3.8' - services: llamafactory: build: @@ -19,6 +17,9 @@ services: - "7860:7860" - "8000:8000" ipc: host + tty: true + stdin_open: true + command: bash deploy: resources: reservations: From 99ce085415bc6c2eeec41a7b288fff56c481bae0 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 00:48:44 +0800 Subject: [PATCH 028/169] fix lint Former-commit-id: 713fde4259233af645bade7790211064a07a2a6f --- README.md | 2 +- README_zh.md | 2 +- src/llamafactory/hparams/finetuning_args.py | 17 ++++++++--------- src/llamafactory/hparams/model_args.py | 12 ++++++++---- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 65964560..994a62c6 100644 --- a/README.md +++ b/README.md @@ -448,7 +448,7 @@ docker run -it --gpus=all \ ```bash docker-compose up -d -docker-compose exec -it llamafactory bash +docker-compose exec llamafactory bash ```
    Details about volume diff --git a/README_zh.md b/README_zh.md index 7962a6d1..fa395c6b 100644 --- a/README_zh.md +++ b/README_zh.md @@ -448,7 +448,7 @@ docker run -it --gpus=all \ ```bash docker-compose up -d -docker-compose exec -it llamafactory bash +docker-compose exec llamafactory bash ```
    数据卷详情 diff --git a/src/llamafactory/hparams/finetuning_args.py b/src/llamafactory/hparams/finetuning_args.py index 08af31e4..facbe792 100644 --- a/src/llamafactory/hparams/finetuning_args.py +++ b/src/llamafactory/hparams/finetuning_args.py @@ -1,5 +1,5 @@ from dataclasses import dataclass, field -from typing import Literal, Optional +from typing import List, Literal, Optional @dataclass @@ -319,20 +319,19 @@ class FinetuningArguments(FreezeArguments, LoraArguments, RLHFArguments, GaloreA return [item.strip() for item in arg.split(",")] return arg - self.freeze_trainable_modules = split_arg(self.freeze_trainable_modules) - self.freeze_extra_modules = split_arg(self.freeze_extra_modules) - self.lora_alpha = self.lora_alpha or self.lora_rank * 2 - self.lora_target = split_arg(self.lora_target) - self.additional_target = split_arg(self.additional_target) - self.galore_target = split_arg(self.galore_target) + self.freeze_trainable_modules: List[str] = split_arg(self.freeze_trainable_modules) + self.freeze_extra_modules: Optional[List[str]] = split_arg(self.freeze_extra_modules) + self.lora_alpha: int = self.lora_alpha or self.lora_rank * 2 + self.lora_target: List[str] = split_arg(self.lora_target) + self.additional_target: Optional[List[str]] = split_arg(self.additional_target) + self.galore_target: List[str] = split_arg(self.galore_target) self.freeze_vision_tower = self.freeze_vision_tower or self.train_mm_proj_only + self.use_ref_model = self.pref_loss not in ["orpo", "simpo"] assert self.finetuning_type in ["lora", "freeze", "full"], "Invalid fine-tuning method." assert self.ref_model_quantization_bit in [None, 8, 4], "We only accept 4-bit or 8-bit quantization." assert self.reward_model_quantization_bit in [None, 8, 4], "We only accept 4-bit or 8-bit quantization." - self.use_ref_model = self.pref_loss not in ["orpo", "simpo"] - if self.stage == "ppo" and self.reward_model is None: raise ValueError("`reward_model` is necessary for PPO training.") diff --git a/src/llamafactory/hparams/model_args.py b/src/llamafactory/hparams/model_args.py index 71467770..359beafd 100644 --- a/src/llamafactory/hparams/model_args.py +++ b/src/llamafactory/hparams/model_args.py @@ -1,9 +1,13 @@ from dataclasses import asdict, dataclass, field -from typing import Any, Dict, Literal, Optional +from typing import TYPE_CHECKING, Any, Dict, Literal, Optional, Union from typing_extensions import Self +if TYPE_CHECKING: + import torch + + @dataclass class ModelArguments: r""" @@ -194,9 +198,9 @@ class ModelArguments: ) def __post_init__(self): - self.compute_dtype = None - self.device_map = None - self.model_max_length = None + self.compute_dtype: Optional["torch.dtype"] = None + self.device_map: Optional[Union[str, Dict[str, Any]]] = None + self.model_max_length: Optional[int] = None if self.split_special_tokens and self.use_fast_tokenizer: raise ValueError("`split_special_tokens` is only supported for slow tokenizers.") From e89d1b1ec32d7177c35b7f72e26eb368defa9c2f Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 01:00:56 +0800 Subject: [PATCH 029/169] add neo-sft dataset Former-commit-id: c7a5620ccc72b7574255ea764693ccb866c48263 --- README.md | 1 + README_zh.md | 1 + data/dataset_info.json | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/README.md b/README.md index 994a62c6..5bbaf2d7 100644 --- a/README.md +++ b/README.md @@ -259,6 +259,7 @@ You also can add a custom chat template to [template.py](src/llamafactory/data/t - [Cosmopedia (en)](https://huggingface.co/datasets/HuggingFaceTB/cosmopedia) - [STEM (zh)](https://huggingface.co/datasets/hfl/stem_zh_instruction) - [Ruozhiba (zh)](https://huggingface.co/datasets/hfl/ruozhiba_gpt4_turbo) +- [Neo-sft (zh)](https://huggingface.co/datasets/m-a-p/neo_sft_phase2) - [LLaVA mixed (en&zh)](https://huggingface.co/datasets/BUAADreamer/llava-en-zh-300k) - [Open Assistant (de)](https://huggingface.co/datasets/mayflowergmbh/oasst_de) - [Dolly 15k (de)](https://huggingface.co/datasets/mayflowergmbh/dolly-15k_de) diff --git a/README_zh.md b/README_zh.md index fa395c6b..fb616909 100644 --- a/README_zh.md +++ b/README_zh.md @@ -259,6 +259,7 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd - [Cosmopedia (en)](https://huggingface.co/datasets/HuggingFaceTB/cosmopedia) - [STEM (zh)](https://huggingface.co/datasets/hfl/stem_zh_instruction) - [Ruozhiba (zh)](https://huggingface.co/datasets/hfl/ruozhiba_gpt4_turbo) +- [Neo-sft (zh)](https://huggingface.co/datasets/m-a-p/neo_sft_phase2) - [LLaVA mixed (en&zh)](https://huggingface.co/datasets/BUAADreamer/llava-en-zh-300k) - [Open Assistant (de)](https://huggingface.co/datasets/mayflowergmbh/oasst_de) - [Dolly 15k (de)](https://huggingface.co/datasets/mayflowergmbh/dolly-15k_de) diff --git a/data/dataset_info.json b/data/dataset_info.json index 8c5cbb45..1d226b3a 100644 --- a/data/dataset_info.json +++ b/data/dataset_info.json @@ -248,6 +248,10 @@ "ruozhiba_gpt4": { "hf_hub_url": "hfl/ruozhiba_gpt4_turbo" }, + "neo_sft": { + "hf_hub_url": "m-a-p/neo_sft_phase2", + "formatting": "sharegpt" + }, "llava_1k_en": { "hf_hub_url": "BUAADreamer/llava-en-zh-2k", "subset": "en", From 833aa324c2757efe73e3da41de32aa4171ddc4aa Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 01:58:16 +0800 Subject: [PATCH 030/169] clean code Former-commit-id: 2ed8270112755971e3f2dfd2f29c5939b077330a --- src/llamafactory/chat/vllm_engine.py | 12 +++++----- src/llamafactory/extras/packages.py | 22 +++++-------------- .../model/model_utils/attention.py | 7 +++--- src/llamafactory/train/sft/metric.py | 3 ++- 4 files changed, 17 insertions(+), 27 deletions(-) diff --git a/src/llamafactory/chat/vllm_engine.py b/src/llamafactory/chat/vllm_engine.py index 34126adf..e4c05478 100644 --- a/src/llamafactory/chat/vllm_engine.py +++ b/src/llamafactory/chat/vllm_engine.py @@ -1,12 +1,10 @@ import uuid from typing import TYPE_CHECKING, AsyncGenerator, AsyncIterator, Dict, List, Optional, Sequence, Union -from packaging import version - from ..data import get_template_and_fix_tokenizer from ..extras.logging import get_logger from ..extras.misc import get_device_count -from ..extras.packages import is_vllm_available, _get_package_version +from ..extras.packages import is_vllm_available, is_vllm_version_greater_than_0_5 from ..model import load_config, load_tokenizer from ..model.model_utils.visual import LlavaMultiModalProjectorForYiVLForVLLM from .base_engine import BaseEngine, Response @@ -16,7 +14,7 @@ if is_vllm_available(): from vllm import AsyncEngineArgs, AsyncLLMEngine, RequestOutput, SamplingParams from vllm.lora.request import LoRARequest - if _get_package_version("vllm") >= version.parse("0.5.0"): + if is_vllm_version_greater_than_0_5(): from vllm.multimodal.image import ImagePixelData else: from vllm.sequence import MultiModalData @@ -112,9 +110,9 @@ class VllmEngine(BaseEngine): if self.processor is not None and image is not None: # add image features image_processor: "BaseImageProcessor" = getattr(self.processor, "image_processor") pixel_values = image_processor(image, return_tensors="pt")["pixel_values"] - if _get_package_version("vllm") >= version.parse("0.5.0"): - multi_modal_data = ImagePixelData(pixel_values) - else: + if is_vllm_version_greater_than_0_5(): + multi_modal_data = ImagePixelData(image=pixel_values) + else: # TODO: remove vllm 0.4.3 support multi_modal_data = MultiModalData(type=MultiModalData.Type.IMAGE, data=pixel_values) else: multi_modal_data = None diff --git a/src/llamafactory/extras/packages.py b/src/llamafactory/extras/packages.py index 4c9e6492..0746bb4f 100644 --- a/src/llamafactory/extras/packages.py +++ b/src/llamafactory/extras/packages.py @@ -1,5 +1,6 @@ import importlib.metadata import importlib.util +from functools import lru_cache from typing import TYPE_CHECKING from packaging import version @@ -24,10 +25,6 @@ def is_fastapi_available(): return _is_package_available("fastapi") -def is_flash_attn2_available(): - return _is_package_available("flash_attn") and _get_package_version("flash_attn") > version.parse("2.0.0") - - def is_galore_available(): return _is_package_available("galore_torch") @@ -36,18 +33,10 @@ def is_gradio_available(): return _is_package_available("gradio") -def is_jieba_available(): - return _is_package_available("jieba") - - def is_matplotlib_available(): return _is_package_available("matplotlib") -def is_nltk_available(): - return _is_package_available("nltk") - - def is_pillow_available(): return _is_package_available("PIL") @@ -60,10 +49,6 @@ def is_rouge_available(): return _is_package_available("rouge_chinese") -def is_sdpa_available(): - return _get_package_version("torch") > version.parse("2.1.1") - - def is_starlette_available(): return _is_package_available("sse_starlette") @@ -74,3 +59,8 @@ def is_uvicorn_available(): def is_vllm_available(): return _is_package_available("vllm") + + +@lru_cache +def is_vllm_version_greater_than_0_5(): + return _get_package_version("vllm") >= version.parse("0.5.0") diff --git a/src/llamafactory/model/model_utils/attention.py b/src/llamafactory/model/model_utils/attention.py index b52ddc86..2bd36fdc 100644 --- a/src/llamafactory/model/model_utils/attention.py +++ b/src/llamafactory/model/model_utils/attention.py @@ -1,7 +1,8 @@ from typing import TYPE_CHECKING +from transformers.utils import is_flash_attn_2_available, is_torch_sdpa_available + from ...extras.logging import get_logger -from ...extras.packages import is_flash_attn2_available, is_sdpa_available if TYPE_CHECKING: @@ -21,13 +22,13 @@ def configure_attn_implementation(config: "PretrainedConfig", model_args: "Model requested_attn_implementation = "eager" elif model_args.flash_attn == "sdpa": - if not is_sdpa_available(): + if not is_torch_sdpa_available(): logger.warning("torch>=2.1.1 is required for SDPA attention.") return requested_attn_implementation = "sdpa" elif model_args.flash_attn == "fa2": - if not is_flash_attn2_available(): + if not is_flash_attn_2_available(): logger.warning("FlashAttention-2 is not installed.") return diff --git a/src/llamafactory/train/sft/metric.py b/src/llamafactory/train/sft/metric.py index b135fcfb..6ed356c1 100644 --- a/src/llamafactory/train/sft/metric.py +++ b/src/llamafactory/train/sft/metric.py @@ -2,9 +2,10 @@ from dataclasses import dataclass from typing import TYPE_CHECKING, Dict, Sequence, Tuple, Union import numpy as np +from transformers.utils import is_jieba_available, is_nltk_available from ...extras.constants import IGNORE_INDEX -from ...extras.packages import is_jieba_available, is_nltk_available, is_rouge_available +from ...extras.packages import is_rouge_available if TYPE_CHECKING: From 81ed4d8abf49abcb98df58240713a80f1d04e46a Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 02:25:50 +0800 Subject: [PATCH 031/169] fix #4209 DeepSpeed ZeRO3 has inflight param error when calling model.eval() Former-commit-id: cf9f2d6c42b5a37038c9eededbb767eae6a3f67d --- src/llamafactory/train/dpo/trainer.py | 7 +++++-- src/llamafactory/train/kto/trainer.py | 7 +++++-- src/llamafactory/train/ppo/trainer.py | 2 ++ src/llamafactory/train/trainer_utils.py | 13 ------------- 4 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/llamafactory/train/dpo/trainer.py b/src/llamafactory/train/dpo/trainer.py index d860b29a..5bdb9c43 100644 --- a/src/llamafactory/train/dpo/trainer.py +++ b/src/llamafactory/train/dpo/trainer.py @@ -1,3 +1,4 @@ +import warnings from collections import defaultdict from contextlib import nullcontext from types import MethodType @@ -10,7 +11,7 @@ from trl import DPOTrainer from trl.trainer import disable_dropout_in_model from ...extras.constants import IGNORE_INDEX -from ..trainer_utils import create_custom_optimzer, create_custom_scheduler, get_batch_logps, get_ref_context +from ..trainer_utils import create_custom_optimzer, create_custom_scheduler, get_batch_logps if TYPE_CHECKING: @@ -61,6 +62,8 @@ class CustomDPOTrainer(DPOTrainer): if not hasattr(self, "accelerator"): raise AttributeError("Please update `transformers`.") + warnings.simplefilter("ignore") # remove gc warnings on ref model + if ref_model is not None: if self.is_deepspeed_enabled: if not ( @@ -176,7 +179,7 @@ class CustomDPOTrainer(DPOTrainer): if self.ref_model is None: ref_model = model - ref_context = get_ref_context(self.accelerator, model) + ref_context = self.accelerator.unwrap_model(model).disable_adapter() else: ref_model = self.ref_model ref_context = nullcontext() diff --git a/src/llamafactory/train/kto/trainer.py b/src/llamafactory/train/kto/trainer.py index 22a84e4a..3b4488fc 100644 --- a/src/llamafactory/train/kto/trainer.py +++ b/src/llamafactory/train/kto/trainer.py @@ -1,3 +1,4 @@ +import warnings from collections import defaultdict from contextlib import nullcontext from types import MethodType @@ -9,7 +10,7 @@ from trl import KTOTrainer from trl.trainer import disable_dropout_in_model from ...extras.constants import IGNORE_INDEX -from ..trainer_utils import create_custom_optimzer, create_custom_scheduler, get_batch_logps, get_ref_context +from ..trainer_utils import create_custom_optimzer, create_custom_scheduler, get_batch_logps if TYPE_CHECKING: @@ -60,6 +61,8 @@ class CustomKTOTrainer(KTOTrainer): if not hasattr(self, "accelerator"): raise AttributeError("Please update `transformers`.") + warnings.simplefilter("ignore") # remove gc warnings on ref model + if ref_model is not None: if self.is_deepspeed_enabled: if not ( @@ -143,7 +146,7 @@ class CustomKTOTrainer(KTOTrainer): """ if self.ref_model is None: ref_model = model - ref_context = get_ref_context(self.accelerator, model) + ref_context = self.accelerator.unwrap_model(model).disable_adapter() else: ref_model = self.ref_model ref_context = nullcontext() diff --git a/src/llamafactory/train/ppo/trainer.py b/src/llamafactory/train/ppo/trainer.py index 2e1288e4..737c45a3 100644 --- a/src/llamafactory/train/ppo/trainer.py +++ b/src/llamafactory/train/ppo/trainer.py @@ -1,6 +1,7 @@ import math import os import sys +import warnings from types import MethodType from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple @@ -136,6 +137,7 @@ class CustomPPOTrainer(PPOTrainer, Trainer): device_type = unwrapped_model.pretrained_model.device.type self.amp_context = torch.autocast(device_type, dtype=model_args.compute_dtype) + warnings.simplefilter("ignore") # remove gc warnings on ref model if finetuning_args.reward_model_type == "full": if self.is_deepspeed_enabled: diff --git a/src/llamafactory/train/trainer_utils.py b/src/llamafactory/train/trainer_utils.py index 7e9cc881..48944a63 100644 --- a/src/llamafactory/train/trainer_utils.py +++ b/src/llamafactory/train/trainer_utils.py @@ -1,4 +1,3 @@ -from contextlib import contextmanager from typing import TYPE_CHECKING, Callable, Dict, List, Optional, Tuple, Union import torch @@ -19,7 +18,6 @@ if is_galore_available(): if TYPE_CHECKING: - from accelerate import Accelerator from transformers import PreTrainedModel, Seq2SeqTrainingArguments from trl import AutoModelForCausalLMWithValueHead @@ -154,17 +152,6 @@ def create_reward_model( return reward_model -@contextmanager -def get_ref_context(accelerator: "Accelerator", model: "PreTrainedModel"): - r""" - Gets adapter context for the reference model. - """ - with accelerator.unwrap_model(model).disable_adapter(): - model.eval() - yield - model.train() - - def _get_decay_parameter_names(model: "PreTrainedModel") -> List[str]: r""" Returns a list of names of parameters with weight decay. (weights in non-layernorm layers) From c51f5c2a0a26c0027a980caea3615750f3b81118 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 02:31:45 +0800 Subject: [PATCH 032/169] update wechat Former-commit-id: 9419f96609d791397f02b411966cd1ef779f2f97 --- assets/wechat.jpg | Bin 145964 -> 147680 bytes assets/wechat_npu.jpg | Bin 131079 -> 151685 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/wechat.jpg b/assets/wechat.jpg index e0e89b78501fdb9bef08244d9bba87b7397bda0d..47523aee5cf06f2a718c5af27e99ab02b359e0bb 100644 GIT binary patch literal 147680 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

    GyF^0ZNhet{{xX)xJsAbY=YZkms_t@*Jr_T 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

    nrtE_fbBH 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 MLMfsL{iA393xNvqy#N3J diff --git a/assets/wechat_npu.jpg b/assets/wechat_npu.jpg index 761f53ac7285306707eba8faf49882c78febed12..cf7019b5dae1c033fff2ead808b38e0963dfec64 100644 GIT binary patch literal 151685 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᩠qT{d1dI$4A|yFqB*f2>jX%n5<$l#L$5% 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 From 8fccaf20c551d4cd9686a302a253f732aa9df0d2 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 02:48:21 +0800 Subject: [PATCH 033/169] fix #4221 Former-commit-id: 6baafd4eb3147ad9f7d2952b8eb27c5486940f36 --- src/llamafactory/data/aligner.py | 8 ++++++-- src/llamafactory/data/loader.py | 11 ++++++----- src/llamafactory/data/preprocess.py | 3 +-- src/llamafactory/data/processors/feedback.py | 3 +-- src/llamafactory/data/processors/pairwise.py | 3 +-- src/llamafactory/data/processors/pretrain.py | 2 +- src/llamafactory/data/processors/supervised.py | 3 +-- src/llamafactory/data/processors/unsupervised.py | 3 +-- src/llamafactory/train/sft/metric.py | 2 +- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/llamafactory/data/aligner.py b/src/llamafactory/data/aligner.py index 434956af..3e9d5c46 100644 --- a/src/llamafactory/data/aligner.py +++ b/src/llamafactory/data/aligner.py @@ -10,6 +10,7 @@ from .data_utils import Role if TYPE_CHECKING: from datasets import Dataset, IterableDataset + from transformers import Seq2SeqTrainingArguments from ..hparams import DataArguments from .parser import DatasetAttr @@ -175,7 +176,10 @@ def convert_sharegpt( def align_dataset( - dataset: Union["Dataset", "IterableDataset"], dataset_attr: "DatasetAttr", data_args: "DataArguments" + dataset: Union["Dataset", "IterableDataset"], + dataset_attr: "DatasetAttr", + data_args: "DataArguments", + training_args: "Seq2SeqTrainingArguments", ) -> Union["Dataset", "IterableDataset"]: r""" Aligned dataset: @@ -208,7 +212,7 @@ def align_dataset( if not data_args.streaming: kwargs = dict( num_proc=data_args.preprocessing_num_workers, - load_from_cache_file=(not data_args.overwrite_cache), + load_from_cache_file=(not data_args.overwrite_cache) or (training_args.local_process_index != 0), desc="Converting format of dataset", ) diff --git a/src/llamafactory/data/loader.py b/src/llamafactory/data/loader.py index 2c236c76..ba426f81 100644 --- a/src/llamafactory/data/loader.py +++ b/src/llamafactory/data/loader.py @@ -18,8 +18,7 @@ from .template import get_template_and_fix_tokenizer if TYPE_CHECKING: from datasets import Dataset, IterableDataset - from transformers import ProcessorMixin, Seq2SeqTrainingArguments - from transformers.tokenization_utils import PreTrainedTokenizer + from transformers import PreTrainedTokenizer, ProcessorMixin, Seq2SeqTrainingArguments from ..hparams import DataArguments, ModelArguments from .parser import DatasetAttr @@ -32,6 +31,7 @@ def load_single_dataset( dataset_attr: "DatasetAttr", model_args: "ModelArguments", data_args: "DataArguments", + training_args: "Seq2SeqTrainingArguments", ) -> Union["Dataset", "IterableDataset"]: logger.info("Loading dataset {}...".format(dataset_attr)) data_path, data_name, data_dir, data_files = None, None, None, None @@ -123,7 +123,7 @@ def load_single_dataset( max_samples = min(data_args.max_samples, len(dataset)) dataset = dataset.select(range(max_samples)) - return align_dataset(dataset, dataset_attr, data_args) + return align_dataset(dataset, dataset_attr, data_args, training_args) def get_dataset( @@ -157,7 +157,8 @@ def get_dataset( if (stage == "rm" and dataset_attr.ranking is False) or (stage != "rm" and dataset_attr.ranking is True): raise ValueError("The dataset is not applicable in the current training stage.") - all_datasets.append(load_single_dataset(dataset_attr, model_args, data_args)) + all_datasets.append(load_single_dataset(dataset_attr, model_args, data_args, training_args)) + dataset = merge_dataset(all_datasets, data_args, training_args) with training_args.main_process_first(desc="pre-process dataset"): @@ -169,7 +170,7 @@ def get_dataset( if not data_args.streaming: kwargs = dict( num_proc=data_args.preprocessing_num_workers, - load_from_cache_file=(not data_args.overwrite_cache), + load_from_cache_file=(not data_args.overwrite_cache) or (training_args.local_process_index != 0), desc="Running tokenizer on dataset", ) diff --git a/src/llamafactory/data/preprocess.py b/src/llamafactory/data/preprocess.py index 97789c39..875f55d6 100644 --- a/src/llamafactory/data/preprocess.py +++ b/src/llamafactory/data/preprocess.py @@ -13,8 +13,7 @@ from .processors.unsupervised import preprocess_unsupervised_dataset, print_unsu if TYPE_CHECKING: - from transformers import ProcessorMixin, Seq2SeqTrainingArguments - from transformers.tokenization_utils import PreTrainedTokenizer + from transformers import PreTrainedTokenizer, ProcessorMixin, Seq2SeqTrainingArguments from ..hparams import DataArguments from .template import Template diff --git a/src/llamafactory/data/processors/feedback.py b/src/llamafactory/data/processors/feedback.py index 98d83658..5fba452c 100644 --- a/src/llamafactory/data/processors/feedback.py +++ b/src/llamafactory/data/processors/feedback.py @@ -6,8 +6,7 @@ from .processor_utils import get_paligemma_token_type_ids, get_pixel_values if TYPE_CHECKING: - from transformers import ProcessorMixin - from transformers.tokenization_utils import PreTrainedTokenizer + from transformers import PreTrainedTokenizer, ProcessorMixin from ...hparams import DataArguments from ..template import Template diff --git a/src/llamafactory/data/processors/pairwise.py b/src/llamafactory/data/processors/pairwise.py index fe984efa..db52c6a7 100644 --- a/src/llamafactory/data/processors/pairwise.py +++ b/src/llamafactory/data/processors/pairwise.py @@ -6,8 +6,7 @@ from .processor_utils import get_paligemma_token_type_ids, get_pixel_values if TYPE_CHECKING: - from transformers import ProcessorMixin - from transformers.tokenization_utils import PreTrainedTokenizer + from transformers import PreTrainedTokenizer, ProcessorMixin from ...hparams import DataArguments from ..template import Template diff --git a/src/llamafactory/data/processors/pretrain.py b/src/llamafactory/data/processors/pretrain.py index 832c987e..a10ccabd 100644 --- a/src/llamafactory/data/processors/pretrain.py +++ b/src/llamafactory/data/processors/pretrain.py @@ -3,7 +3,7 @@ from typing import TYPE_CHECKING, Any, Dict, List if TYPE_CHECKING: - from transformers.tokenization_utils import PreTrainedTokenizer + from transformers import PreTrainedTokenizer from ...hparams import DataArguments diff --git a/src/llamafactory/data/processors/supervised.py b/src/llamafactory/data/processors/supervised.py index 19d60280..f59f5371 100644 --- a/src/llamafactory/data/processors/supervised.py +++ b/src/llamafactory/data/processors/supervised.py @@ -7,8 +7,7 @@ from .processor_utils import get_paligemma_token_type_ids, get_pixel_values, gre if TYPE_CHECKING: - from transformers import ProcessorMixin - from transformers.tokenization_utils import PreTrainedTokenizer + from transformers import PreTrainedTokenizer, ProcessorMixin from ...hparams import DataArguments from ..template import Template diff --git a/src/llamafactory/data/processors/unsupervised.py b/src/llamafactory/data/processors/unsupervised.py index f711eeac..38497a15 100644 --- a/src/llamafactory/data/processors/unsupervised.py +++ b/src/llamafactory/data/processors/unsupervised.py @@ -6,8 +6,7 @@ from .processor_utils import get_paligemma_token_type_ids, get_pixel_values if TYPE_CHECKING: - from transformers import ProcessorMixin - from transformers.tokenization_utils import PreTrainedTokenizer + from transformers import PreTrainedTokenizer, ProcessorMixin from ...hparams import DataArguments from ..template import Template diff --git a/src/llamafactory/train/sft/metric.py b/src/llamafactory/train/sft/metric.py index 6ed356c1..923238d6 100644 --- a/src/llamafactory/train/sft/metric.py +++ b/src/llamafactory/train/sft/metric.py @@ -9,7 +9,7 @@ from ...extras.packages import is_rouge_available if TYPE_CHECKING: - from transformers.tokenization_utils import PreTrainedTokenizer + from transformers import PreTrainedTokenizer if is_jieba_available(): From 0926d810539523f990bd6bf5d6ddb501858b4088 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 03:15:06 +0800 Subject: [PATCH 034/169] update examples Former-commit-id: b6e008c152421db668c971b0828cbee6a80b16bc --- README.md | 2 +- README_zh.md | 2 +- examples/README.md | 126 ++++++++--------- examples/README_zh.md | 128 ++++++++---------- .../extras/fsdp_qlora/llama3_lora_sft.yaml | 4 +- .../extras/llama_pro/llama3_freeze_sft.yaml | 1 + examples/extras/loraplus/llama3_lora_sft.yaml | 1 + examples/extras/mod/llama3_full_sft.yaml | 1 + examples/lora_multi_gpu/llama3_lora_sft.yaml | 41 ------ .../llama3_full_predict.yaml | 0 .../llama3_full_sft_ds3.yaml} | 0 .../llama3_lora_dpo.yaml | 1 + .../llama3_lora_eval.yaml | 0 .../llama3_lora_kto.yaml | 2 + .../llama3_lora_ppo.yaml | 1 + .../llama3_lora_predict.yaml | 1 + .../llama3_lora_pretrain.yaml | 1 + .../llama3_lora_reward.yaml | 1 + .../llama3_lora_sft.yaml | 1 + .../llama3_lora_sft_ds0.yaml} | 4 +- .../llama3_lora_sft_ds3.yaml} | 4 +- .../llama3_preprocess.yaml | 0 .../llava1_5_lora_sft.yaml | 1 + .../llama3_lora_sft_aqlm.yaml | 1 + .../llama3_lora_sft_awq.yaml | 1 + .../llama3_lora_sft_bitsandbytes.yaml | 1 + .../llama3_lora_sft_gptq.yaml | 1 + 27 files changed, 128 insertions(+), 199 deletions(-) delete mode 100644 examples/lora_multi_gpu/llama3_lora_sft.yaml rename examples/{full_multi_gpu => train_full}/llama3_full_predict.yaml (100%) rename examples/{full_multi_gpu/llama3_full_sft.yaml => train_full/llama3_full_sft_ds3.yaml} (100%) rename examples/{lora_single_gpu => train_lora}/llama3_lora_dpo.yaml (96%) rename examples/{lora_single_gpu => train_lora}/llama3_lora_eval.yaml (100%) rename examples/{lora_single_gpu => train_lora}/llama3_lora_kto.yaml (94%) rename examples/{lora_single_gpu => train_lora}/llama3_lora_ppo.yaml (96%) rename examples/{lora_single_gpu => train_lora}/llama3_lora_predict.yaml (95%) rename examples/{lora_single_gpu => train_lora}/llama3_lora_pretrain.yaml (96%) rename examples/{lora_single_gpu => train_lora}/llama3_lora_reward.yaml (96%) rename examples/{lora_single_gpu => train_lora}/llama3_lora_sft.yaml (96%) rename examples/{lora_multi_npu/llama3_lora_sft_ds.yaml => train_lora/llama3_lora_sft_ds0.yaml} (98%) rename examples/{lora_multi_gpu/llama3_lora_sft_ds.yaml => train_lora/llama3_lora_sft_ds3.yaml} (98%) rename examples/{lora_single_gpu => train_lora}/llama3_preprocess.yaml (100%) rename examples/{lora_single_gpu => train_lora}/llava1_5_lora_sft.yaml (96%) rename examples/{qlora_single_gpu => train_qlora}/llama3_lora_sft_aqlm.yaml (96%) rename examples/{qlora_single_gpu => train_qlora}/llama3_lora_sft_awq.yaml (96%) rename examples/{qlora_single_gpu => train_qlora}/llama3_lora_sft_bitsandbytes.yaml (96%) rename examples/{qlora_single_gpu => train_qlora}/llama3_lora_sft_gptq.yaml (96%) diff --git a/README.md b/README.md index 5bbaf2d7..5dd10d5a 100644 --- a/README.md +++ b/README.md @@ -406,7 +406,7 @@ Please refer to [data/README.md](data/README.md) for checking the details about Use the following 3 commands to run LoRA **fine-tuning**, **inference** and **merging** of the Llama3-8B-Instruct model, respectively. ```bash -llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml +llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml llamafactory-cli chat examples/inference/llama3_lora_sft.yaml llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml ``` diff --git a/README_zh.md b/README_zh.md index fb616909..76bd2d89 100644 --- a/README_zh.md +++ b/README_zh.md @@ -406,7 +406,7 @@ Docker 镜像: 下面三行命令分别对 Llama3-8B-Instruct 模型进行 LoRA **微调**、**推理**和**合并**。 ```bash -llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml +llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml llamafactory-cli chat examples/inference/llama3_lora_sft.yaml llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml ``` diff --git a/examples/README.md b/examples/README.md index f985d552..3372afb9 100644 --- a/examples/README.md +++ b/examples/README.md @@ -4,59 +4,57 @@ Make sure to execute these commands in the `LLaMA-Factory` directory. ## Table of Contents -- [LoRA Fine-Tuning on A Single GPU](#lora-fine-tuning-on-a-single-gpu) -- [QLoRA Fine-Tuning on a Single GPU](#qlora-fine-tuning-on-a-single-gpu) -- [LoRA Fine-Tuning on Multiple GPUs](#lora-fine-tuning-on-multiple-gpus) -- [LoRA Fine-Tuning on Multiple NPUs](#lora-fine-tuning-on-multiple-npus) -- [Full-Parameter Fine-Tuning on Multiple GPUs](#full-parameter-fine-tuning-on-multiple-gpus) +- [LoRA Fine-Tuning](#lora-fine-tuning) +- [QLoRA Fine-Tuning](#qlora-fine-tuning) +- [Full-Parameter Fine-Tuning](#full-parameter-fine-tuning) - [Merging LoRA Adapters and Quantization](#merging-lora-adapters-and-quantization) - [Inferring LoRA Fine-Tuned Models](#inferring-lora-fine-tuned-models) - [Extras](#extras) ## Examples -### LoRA Fine-Tuning on A Single GPU +### LoRA Fine-Tuning #### (Continuous) Pre-Training ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_pretrain.yaml +llamafactory-cli train examples/train_lora/llama3_lora_pretrain.yaml ``` #### Supervised Fine-Tuning ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml +llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml ``` #### Multimodal Supervised Fine-Tuning ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llava1_5_lora_sft.yaml +llamafactory-cli train examples/train_lora/llava1_5_lora_sft.yaml ``` #### Reward Modeling ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_reward.yaml +llamafactory-cli train examples/train_lora/llama3_lora_reward.yaml ``` #### PPO Training ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_ppo.yaml +llamafactory-cli train examples/train_lora/llama3_lora_ppo.yaml ``` #### DPO/ORPO/SimPO Training ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_dpo.yaml +llamafactory-cli train examples/train_lora/llama3_lora_dpo.yaml ``` #### KTO Training ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_kto.yaml +llamafactory-cli train examples/train_lora/llama3_lora_kto.yaml ``` #### Preprocess Dataset @@ -64,95 +62,79 @@ CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lo It is useful for large dataset, use `tokenized_path` in config to load the preprocessed dataset. ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_preprocess.yaml +llamafactory-cli train examples/train_lora/llama3_preprocess.yaml ``` #### Evaluating on MMLU/CMMLU/C-Eval Benchmarks ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli eval examples/lora_single_gpu/llama3_lora_eval.yaml +llamafactory-cli eval examples/train_lora/llama3_lora_eval.yaml ``` #### Batch Predicting and Computing BLEU and ROUGE Scores ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_predict.yaml -``` - -### QLoRA Fine-Tuning on a Single GPU - -#### Supervised Fine-Tuning with 4/8-bit Bitsandbytes Quantization (Recommended) - -```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/qlora_single_gpu/llama3_lora_sft_bitsandbytes.yaml -``` - -#### Supervised Fine-Tuning with 4/8-bit GPTQ Quantization - -```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/qlora_single_gpu/llama3_lora_sft_gptq.yaml -``` - -#### Supervised Fine-Tuning with 4-bit AWQ Quantization - -```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/qlora_single_gpu/llama3_lora_sft_awq.yaml -``` - -#### Supervised Fine-Tuning with 2-bit AQLM Quantization - -```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/qlora_single_gpu/llama3_lora_sft_aqlm.yaml -``` - -### LoRA Fine-Tuning on Multiple GPUs - -#### Supervised Fine-Tuning on Single Node - -```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/lora_multi_gpu/llama3_lora_sft.yaml +llamafactory-cli train examples/train_lora/llama3_lora_predict.yaml ``` #### Supervised Fine-Tuning on Multiple Nodes ```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/lora_multi_gpu/llama3_lora_sft.yaml -CUDA_VISIBLE_DEVICES=0,1,2,3 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/lora_multi_gpu/llama3_lora_sft.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml ``` #### Supervised Fine-Tuning with DeepSpeed ZeRO-3 (Weight Sharding) ```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/lora_multi_gpu/llama3_lora_sft_ds.yaml +FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/llama3_lora_sft_ds.yaml ``` -### LoRA Fine-Tuning on Multiple NPUs +### QLoRA Fine-Tuning -#### Supervised Fine-Tuning with DeepSpeed ZeRO-0 +#### Supervised Fine-Tuning with 4/8-bit Bitsandbytes Quantization (Recommended) ```bash -ASCEND_RT_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/lora_multi_npu/llama3_lora_sft_ds.yaml +CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml ``` -### Full-Parameter Fine-Tuning on Multiple GPUs +#### Supervised Fine-Tuning with 4/8-bit GPTQ Quantization + +```bash +CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/train_qlora/llama3_lora_sft_gptq.yaml +``` + +#### Supervised Fine-Tuning with 4-bit AWQ Quantization + +```bash +CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/train_qlora/llama3_lora_sft_awq.yaml +``` + +#### Supervised Fine-Tuning with 2-bit AQLM Quantization + +```bash +CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/train_qlora/llama3_lora_sft_aqlm.yaml +``` + +### Full-Parameter Fine-Tuning #### Supervised Fine-Tuning on Single Node ```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/full_multi_gpu/llama3_full_sft.yaml +FORCE_TORCHRUN=1 llamafactory-cli train examples/train_full/llama3_full_sft.yaml ``` #### Supervised Fine-Tuning on Multiple Nodes ```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/full_multi_gpu/llama3_full_sft.yaml -CUDA_VISIBLE_DEVICES=0,1,2,3 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/full_multi_gpu/llama3_full_sft.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft.yaml ``` #### Batch Predicting and Computing BLEU and ROUGE Scores ```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/full_multi_gpu/llama3_full_predict.yaml +llamafactory-cli train examples/train_full/llama3_full_predict.yaml ``` ### Merging LoRA Adapters and Quantization @@ -162,35 +144,33 @@ CUDA_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/full_multi_gpu/llam Note: DO NOT use quantized model or `quantization_bit` when merging LoRA adapters. ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml +llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml ``` #### Quantizing Model using AutoGPTQ ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli export examples/merge_lora/llama3_gptq.yaml +llamafactory-cli export examples/merge_lora/llama3_gptq.yaml ``` ### Inferring LoRA Fine-Tuned Models -Use `CUDA_VISIBLE_DEVICES=0,1` to infer models on multiple devices. - #### Use CLI ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat examples/inference/llama3_lora_sft.yaml +llamafactory-cli chat examples/inference/llama3_lora_sft.yaml ``` #### Use Web UI ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli webchat examples/inference/llama3_lora_sft.yaml +llamafactory-cli webchat examples/inference/llama3_lora_sft.yaml ``` #### Launch OpenAI-style API ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli api examples/inference/llama3_lora_sft.yaml +llamafactory-cli api examples/inference/llama3_lora_sft.yaml ``` ### Extras @@ -198,32 +178,32 @@ CUDA_VISIBLE_DEVICES=0 llamafactory-cli api examples/inference/llama3_lora_sft.y #### Full-Parameter Fine-Tuning using GaLore ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/extras/galore/llama3_full_sft.yaml +llamafactory-cli train examples/extras/galore/llama3_full_sft.yaml ``` #### Full-Parameter Fine-Tuning using BAdam ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/extras/badam/llama3_full_sft.yaml +llamafactory-cli train examples/extras/badam/llama3_full_sft.yaml ``` #### LoRA+ Fine-Tuning ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/extras/loraplus/llama3_lora_sft.yaml +llamafactory-cli train examples/extras/loraplus/llama3_lora_sft.yaml ``` #### Mixture-of-Depths Fine-Tuning ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/extras/mod/llama3_full_sft.yaml +llamafactory-cli train examples/extras/mod/llama3_full_sft.yaml ``` #### LLaMA-Pro Fine-Tuning ```bash bash examples/extras/llama_pro/expand.sh -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/extras/llama_pro/llama3_freeze_sft.yaml +llamafactory-cli train examples/extras/llama_pro/llama3_freeze_sft.yaml ``` #### FSDP+QLoRA Fine-Tuning diff --git a/examples/README_zh.md b/examples/README_zh.md index cf5bbf49..64c31fbd 100644 --- a/examples/README_zh.md +++ b/examples/README_zh.md @@ -4,59 +4,57 @@ ## 目录 -- [单 GPU LoRA 微调](#单-gpu-lora-微调) -- [单 GPU QLoRA 微调](#单-gpu-qlora-微调) -- [多 GPU LoRA 微调](#多-gpu-lora-微调) -- [多 NPU LoRA 微调](#多-npu-lora-微调) -- [多 GPU 全参数微调](#多-gpu-全参数微调) +- [LoRA 微调](#lora-微调) +- [QLoRA 微调](#qlora-微调) +- [全参数微调](#全参数微调) - [合并 LoRA 适配器与模型量化](#合并-lora-适配器与模型量化) - [推理 LoRA 模型](#推理-lora-模型) - [杂项](#杂项) ## 示例 -### 单 GPU LoRA 微调 +### LoRA 微调 #### (增量)预训练 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_pretrain.yaml +llamafactory-cli train examples/train_lora/llama3_lora_pretrain.yaml ``` #### 指令监督微调 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_sft.yaml +llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml ``` #### 多模态指令监督微调 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llava1_5_lora_sft.yaml +llamafactory-cli train examples/train_lora/llava1_5_lora_sft.yaml ``` #### 奖励模型训练 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_reward.yaml +llamafactory-cli train examples/train_lora/llama3_lora_reward.yaml ``` #### PPO 训练 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_ppo.yaml +llamafactory-cli train examples/train_lora/llama3_lora_ppo.yaml ``` #### DPO/ORPO/SimPO 训练 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_dpo.yaml +llamafactory-cli train examples/train_lora/llama3_lora_dpo.yaml ``` #### KTO 训练 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_kto.yaml +llamafactory-cli train examples/train_lora/llama3_lora_kto.yaml ``` #### 预处理数据集 @@ -64,95 +62,79 @@ CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lo 对于大数据集有帮助,在配置中使用 `tokenized_path` 以加载预处理后的数据集。 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_preprocess.yaml +llamafactory-cli train examples/train_lora/llama3_preprocess.yaml ``` #### 在 MMLU/CMMLU/C-Eval 上评估 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli eval examples/lora_single_gpu/llama3_lora_eval.yaml +llamafactory-cli eval examples/train_lora/llama3_lora_eval.yaml ``` #### 批量预测并计算 BLEU 和 ROUGE 分数 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/lora_single_gpu/llama3_lora_predict.yaml +llamafactory-cli train examples/train_lora/llama3_lora_predict.yaml ``` -### 单 GPU QLoRA 微调 - -#### 基于 4/8 比特 Bitsandbytes 量化进行指令监督微调(推荐) +#### 多机指令监督微调 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/qlora_single_gpu/llama3_lora_sft_bitsandbytes.yaml -``` - -#### 基于 4/8 比特 GPTQ 量化进行指令监督微调 - -```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/qlora_single_gpu/llama3_lora_sft_gptq.yaml -``` - -#### 基于 4 比特 AWQ 量化进行指令监督微调 - -```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/qlora_single_gpu/llama3_lora_sft_awq.yaml -``` - -#### 基于 2 比特 AQLM 量化进行指令监督微调 - -```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/qlora_single_gpu/llama3_lora_sft_aqlm.yaml -``` - -### 多 GPU LoRA 微调 - -#### 在单机上进行指令监督微调 - -```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/lora_multi_gpu/llama3_lora_sft.yaml -``` - -#### 在多机上进行指令监督微调 - -```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/lora_multi_gpu/llama3_lora_sft.yaml -CUDA_VISIBLE_DEVICES=0,1,2,3 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/lora_multi_gpu/llama3_lora_sft.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml ``` #### 使用 DeepSpeed ZeRO-3 平均分配显存 ```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/lora_multi_gpu/llama3_lora_sft_ds.yaml +FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/llama3_lora_sft_ds.yaml ``` -### 多 NPU LoRA 微调 +### QLoRA 微调 -#### 使用 DeepSpeed ZeRO-0 进行指令监督微调 +#### 基于 4/8 比特 Bitsandbytes 量化进行指令监督微调(推荐) ```bash -ASCEND_RT_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/lora_multi_npu/llama3_lora_sft_ds.yaml +llamafactory-cli train examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml ``` -### 多 GPU 全参数微调 +#### 基于 4/8 比特 GPTQ 量化进行指令监督微调 + +```bash +llamafactory-cli train examples/train_qlora/llama3_lora_sft_gptq.yaml +``` + +#### 基于 4 比特 AWQ 量化进行指令监督微调 + +```bash +llamafactory-cli train examples/train_qlora/llama3_lora_sft_awq.yaml +``` + +#### 基于 2 比特 AQLM 量化进行指令监督微调 + +```bash +llamafactory-cli train examples/train_qlora/llama3_lora_sft_aqlm.yaml +``` + +### 全参数微调 #### 在单机上进行指令监督微调 ```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/full_multi_gpu/llama3_full_sft.yaml +FORCE_TORCHRUN=1 llamafactory-cli train examples/train_full/llama3_full_sft.yaml ``` #### 在多机上进行指令监督微调 ```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/full_multi_gpu/llama3_full_sft.yaml -CUDA_VISIBLE_DEVICES=0,1,2,3 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/full_multi_gpu/llama3_full_sft.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft.yaml ``` #### 批量预测并计算 BLEU 和 ROUGE 分数 ```bash -CUDA_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/full_multi_gpu/llama3_full_predict.yaml +llamafactory-cli train examples/train_full/llama3_full_predict.yaml ``` ### 合并 LoRA 适配器与模型量化 @@ -162,35 +144,33 @@ CUDA_VISIBLE_DEVICES=0,1,2,3 llamafactory-cli train examples/full_multi_gpu/llam 注:请勿使用量化后的模型或 `quantization_bit` 参数来合并 LoRA 适配器。 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml +llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml ``` #### 使用 AutoGPTQ 量化模型 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli export examples/merge_lora/llama3_gptq.yaml +llamafactory-cli export examples/merge_lora/llama3_gptq.yaml ``` ### 推理 LoRA 模型 -使用 `CUDA_VISIBLE_DEVICES=0,1` 进行多卡推理。 - #### 使用命令行接口 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat examples/inference/llama3_lora_sft.yaml +llamafactory-cli chat examples/inference/llama3_lora_sft.yaml ``` #### 使用浏览器界面 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli webchat examples/inference/llama3_lora_sft.yaml +llamafactory-cli webchat examples/inference/llama3_lora_sft.yaml ``` #### 启动 OpenAI 风格 API ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli api examples/inference/llama3_lora_sft.yaml +llamafactory-cli api examples/inference/llama3_lora_sft.yaml ``` ### 杂项 @@ -198,32 +178,32 @@ CUDA_VISIBLE_DEVICES=0 llamafactory-cli api examples/inference/llama3_lora_sft.y #### 使用 GaLore 进行全参数训练 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/extras/galore/llama3_full_sft.yaml +llamafactory-cli train examples/extras/galore/llama3_full_sft.yaml ``` #### 使用 BAdam 进行全参数训练 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/extras/badam/llama3_full_sft.yaml +llamafactory-cli train examples/extras/badam/llama3_full_sft.yaml ``` #### LoRA+ 微调 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/extras/loraplus/llama3_lora_sft.yaml +llamafactory-cli train examples/extras/loraplus/llama3_lora_sft.yaml ``` #### 深度混合微调 ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/extras/mod/llama3_full_sft.yaml +llamafactory-cli train examples/extras/mod/llama3_full_sft.yaml ``` #### LLaMA-Pro 微调 ```bash bash examples/extras/llama_pro/expand.sh -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/extras/llama_pro/llama3_freeze_sft.yaml +llamafactory-cli train examples/extras/llama_pro/llama3_freeze_sft.yaml ``` #### FSDP+QLoRA 微调 diff --git a/examples/extras/fsdp_qlora/llama3_lora_sft.yaml b/examples/extras/fsdp_qlora/llama3_lora_sft.yaml index 084269ef..cc773991 100644 --- a/examples/extras/fsdp_qlora/llama3_lora_sft.yaml +++ b/examples/extras/fsdp_qlora/llama3_lora_sft.yaml @@ -8,9 +8,6 @@ do_train: true finetuning_type: lora lora_target: all -### ddp -ddp_timeout: 180000000 - ### dataset dataset: identity,alpaca_en_demo template: llama3 @@ -34,6 +31,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/extras/llama_pro/llama3_freeze_sft.yaml b/examples/extras/llama_pro/llama3_freeze_sft.yaml index 444a1113..f92d6945 100644 --- a/examples/extras/llama_pro/llama3_freeze_sft.yaml +++ b/examples/extras/llama_pro/llama3_freeze_sft.yaml @@ -32,6 +32,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/extras/loraplus/llama3_lora_sft.yaml b/examples/extras/loraplus/llama3_lora_sft.yaml index 1ba654ec..57383ae0 100644 --- a/examples/extras/loraplus/llama3_lora_sft.yaml +++ b/examples/extras/loraplus/llama3_lora_sft.yaml @@ -31,6 +31,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/extras/mod/llama3_full_sft.yaml b/examples/extras/mod/llama3_full_sft.yaml index df03c1e0..085febfc 100644 --- a/examples/extras/mod/llama3_full_sft.yaml +++ b/examples/extras/mod/llama3_full_sft.yaml @@ -31,6 +31,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 pure_bf16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/lora_multi_gpu/llama3_lora_sft.yaml b/examples/lora_multi_gpu/llama3_lora_sft.yaml deleted file mode 100644 index 348e53b9..00000000 --- a/examples/lora_multi_gpu/llama3_lora_sft.yaml +++ /dev/null @@ -1,41 +0,0 @@ -### model -model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct - -### method -stage: sft -do_train: true -finetuning_type: lora -lora_target: all - -### ddp -ddp_timeout: 180000000 - -### dataset -dataset: identity,alpaca_en_demo -template: llama3 -cutoff_len: 1024 -max_samples: 1000 -overwrite_cache: true -preprocessing_num_workers: 16 - -### output -output_dir: saves/llama3-8b/lora/sft -logging_steps: 10 -save_steps: 500 -plot_loss: true -overwrite_output_dir: true - -### train -per_device_train_batch_size: 1 -gradient_accumulation_steps: 2 -learning_rate: 1.0e-4 -num_train_epochs: 3.0 -lr_scheduler_type: cosine -warmup_ratio: 0.1 -fp16: true - -### eval -val_size: 0.1 -per_device_eval_batch_size: 1 -eval_strategy: steps -eval_steps: 500 diff --git a/examples/full_multi_gpu/llama3_full_predict.yaml b/examples/train_full/llama3_full_predict.yaml similarity index 100% rename from examples/full_multi_gpu/llama3_full_predict.yaml rename to examples/train_full/llama3_full_predict.yaml diff --git a/examples/full_multi_gpu/llama3_full_sft.yaml b/examples/train_full/llama3_full_sft_ds3.yaml similarity index 100% rename from examples/full_multi_gpu/llama3_full_sft.yaml rename to examples/train_full/llama3_full_sft_ds3.yaml diff --git a/examples/lora_single_gpu/llama3_lora_dpo.yaml b/examples/train_lora/llama3_lora_dpo.yaml similarity index 96% rename from examples/lora_single_gpu/llama3_lora_dpo.yaml rename to examples/train_lora/llama3_lora_dpo.yaml index 78344330..db25fb51 100644 --- a/examples/lora_single_gpu/llama3_lora_dpo.yaml +++ b/examples/train_lora/llama3_lora_dpo.yaml @@ -32,6 +32,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/lora_single_gpu/llama3_lora_eval.yaml b/examples/train_lora/llama3_lora_eval.yaml similarity index 100% rename from examples/lora_single_gpu/llama3_lora_eval.yaml rename to examples/train_lora/llama3_lora_eval.yaml diff --git a/examples/lora_single_gpu/llama3_lora_kto.yaml b/examples/train_lora/llama3_lora_kto.yaml similarity index 94% rename from examples/lora_single_gpu/llama3_lora_kto.yaml rename to examples/train_lora/llama3_lora_kto.yaml index d5234c0a..f730c82e 100644 --- a/examples/lora_single_gpu/llama3_lora_kto.yaml +++ b/examples/train_lora/llama3_lora_kto.yaml @@ -6,6 +6,7 @@ stage: kto do_train: true finetuning_type: lora lora_target: all +pref_beta: 0.1 ### dataset dataset: kto_en_demo @@ -30,6 +31,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/lora_single_gpu/llama3_lora_ppo.yaml b/examples/train_lora/llama3_lora_ppo.yaml similarity index 96% rename from examples/lora_single_gpu/llama3_lora_ppo.yaml rename to examples/train_lora/llama3_lora_ppo.yaml index 98c842f9..e574014e 100644 --- a/examples/lora_single_gpu/llama3_lora_ppo.yaml +++ b/examples/train_lora/llama3_lora_ppo.yaml @@ -31,6 +31,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### generate max_new_tokens: 512 diff --git a/examples/lora_single_gpu/llama3_lora_predict.yaml b/examples/train_lora/llama3_lora_predict.yaml similarity index 95% rename from examples/lora_single_gpu/llama3_lora_predict.yaml rename to examples/train_lora/llama3_lora_predict.yaml index a127d248..148c8635 100644 --- a/examples/lora_single_gpu/llama3_lora_predict.yaml +++ b/examples/train_lora/llama3_lora_predict.yaml @@ -22,3 +22,4 @@ overwrite_output_dir: true ### eval per_device_eval_batch_size: 1 predict_with_generate: true +ddp_timeout: 180000000 diff --git a/examples/lora_single_gpu/llama3_lora_pretrain.yaml b/examples/train_lora/llama3_lora_pretrain.yaml similarity index 96% rename from examples/lora_single_gpu/llama3_lora_pretrain.yaml rename to examples/train_lora/llama3_lora_pretrain.yaml index db435ca9..839b3e51 100644 --- a/examples/lora_single_gpu/llama3_lora_pretrain.yaml +++ b/examples/train_lora/llama3_lora_pretrain.yaml @@ -29,6 +29,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/lora_single_gpu/llama3_lora_reward.yaml b/examples/train_lora/llama3_lora_reward.yaml similarity index 96% rename from examples/lora_single_gpu/llama3_lora_reward.yaml rename to examples/train_lora/llama3_lora_reward.yaml index 1ce42ea4..79559d19 100644 --- a/examples/lora_single_gpu/llama3_lora_reward.yaml +++ b/examples/train_lora/llama3_lora_reward.yaml @@ -30,6 +30,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/lora_single_gpu/llama3_lora_sft.yaml b/examples/train_lora/llama3_lora_sft.yaml similarity index 96% rename from examples/lora_single_gpu/llama3_lora_sft.yaml rename to examples/train_lora/llama3_lora_sft.yaml index 651b636f..fe30c575 100644 --- a/examples/lora_single_gpu/llama3_lora_sft.yaml +++ b/examples/train_lora/llama3_lora_sft.yaml @@ -30,6 +30,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/lora_multi_npu/llama3_lora_sft_ds.yaml b/examples/train_lora/llama3_lora_sft_ds0.yaml similarity index 98% rename from examples/lora_multi_npu/llama3_lora_sft_ds.yaml rename to examples/train_lora/llama3_lora_sft_ds0.yaml index a0ec8aa1..08b638e6 100644 --- a/examples/lora_multi_npu/llama3_lora_sft_ds.yaml +++ b/examples/train_lora/llama3_lora_sft_ds0.yaml @@ -6,9 +6,6 @@ stage: sft do_train: true finetuning_type: lora lora_target: all - -### ddp -ddp_timeout: 180000000 deepspeed: examples/deepspeed/ds_z0_config.json ### dataset @@ -34,6 +31,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/lora_multi_gpu/llama3_lora_sft_ds.yaml b/examples/train_lora/llama3_lora_sft_ds3.yaml similarity index 98% rename from examples/lora_multi_gpu/llama3_lora_sft_ds.yaml rename to examples/train_lora/llama3_lora_sft_ds3.yaml index 1c432fa7..b7266d61 100644 --- a/examples/lora_multi_gpu/llama3_lora_sft_ds.yaml +++ b/examples/train_lora/llama3_lora_sft_ds3.yaml @@ -6,9 +6,6 @@ stage: sft do_train: true finetuning_type: lora lora_target: all - -### ddp -ddp_timeout: 180000000 deepspeed: examples/deepspeed/ds_z3_config.json ### dataset @@ -34,6 +31,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/lora_single_gpu/llama3_preprocess.yaml b/examples/train_lora/llama3_preprocess.yaml similarity index 100% rename from examples/lora_single_gpu/llama3_preprocess.yaml rename to examples/train_lora/llama3_preprocess.yaml diff --git a/examples/lora_single_gpu/llava1_5_lora_sft.yaml b/examples/train_lora/llava1_5_lora_sft.yaml similarity index 96% rename from examples/lora_single_gpu/llava1_5_lora_sft.yaml rename to examples/train_lora/llava1_5_lora_sft.yaml index df510a93..55ac31fa 100644 --- a/examples/lora_single_gpu/llava1_5_lora_sft.yaml +++ b/examples/train_lora/llava1_5_lora_sft.yaml @@ -31,6 +31,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/qlora_single_gpu/llama3_lora_sft_aqlm.yaml b/examples/train_qlora/llama3_lora_sft_aqlm.yaml similarity index 96% rename from examples/qlora_single_gpu/llama3_lora_sft_aqlm.yaml rename to examples/train_qlora/llama3_lora_sft_aqlm.yaml index d54d6af6..7b6767d5 100644 --- a/examples/qlora_single_gpu/llama3_lora_sft_aqlm.yaml +++ b/examples/train_qlora/llama3_lora_sft_aqlm.yaml @@ -30,6 +30,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/qlora_single_gpu/llama3_lora_sft_awq.yaml b/examples/train_qlora/llama3_lora_sft_awq.yaml similarity index 96% rename from examples/qlora_single_gpu/llama3_lora_sft_awq.yaml rename to examples/train_qlora/llama3_lora_sft_awq.yaml index 5cef178a..a2a26e4b 100644 --- a/examples/qlora_single_gpu/llama3_lora_sft_awq.yaml +++ b/examples/train_qlora/llama3_lora_sft_awq.yaml @@ -30,6 +30,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/qlora_single_gpu/llama3_lora_sft_bitsandbytes.yaml b/examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml similarity index 96% rename from examples/qlora_single_gpu/llama3_lora_sft_bitsandbytes.yaml rename to examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml index b308dcab..cc773991 100644 --- a/examples/qlora_single_gpu/llama3_lora_sft_bitsandbytes.yaml +++ b/examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml @@ -31,6 +31,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 diff --git a/examples/qlora_single_gpu/llama3_lora_sft_gptq.yaml b/examples/train_qlora/llama3_lora_sft_gptq.yaml similarity index 96% rename from examples/qlora_single_gpu/llama3_lora_sft_gptq.yaml rename to examples/train_qlora/llama3_lora_sft_gptq.yaml index b950042e..ad3d854c 100644 --- a/examples/qlora_single_gpu/llama3_lora_sft_gptq.yaml +++ b/examples/train_qlora/llama3_lora_sft_gptq.yaml @@ -30,6 +30,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 From 4c40171c55ea9d87f5044472494d08cb81436b39 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 03:16:20 +0800 Subject: [PATCH 035/169] Update llama3_full_sft_ds3.yaml Former-commit-id: a19cdd39feafa91fdacae4818393f82e9724c53f --- examples/train_full/llama3_full_sft_ds3.yaml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/train_full/llama3_full_sft_ds3.yaml b/examples/train_full/llama3_full_sft_ds3.yaml index 40b62f24..40afd2ee 100644 --- a/examples/train_full/llama3_full_sft_ds3.yaml +++ b/examples/train_full/llama3_full_sft_ds3.yaml @@ -5,9 +5,6 @@ model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct stage: sft do_train: true finetuning_type: full - -### ddp -ddp_timeout: 180000000 deepspeed: examples/deepspeed/ds_z3_config.json ### dataset @@ -33,6 +30,7 @@ num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 fp16: true +ddp_timeout: 180000000 ### eval val_size: 0.1 From 27777c8e688f2e7f1f3fcff2985c7de4b6a88d23 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 03:19:18 +0800 Subject: [PATCH 036/169] add quant check in webui export tab Former-commit-id: c94e6c9411cc1165ea8180d377611a3ae47956e6 --- src/llamafactory/webui/components/export.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/llamafactory/webui/components/export.py b/src/llamafactory/webui/components/export.py index 7e1493c8..9d756a38 100644 --- a/src/llamafactory/webui/components/export.py +++ b/src/llamafactory/webui/components/export.py @@ -21,6 +21,13 @@ if TYPE_CHECKING: GPTQ_BITS = ["8", "4", "3", "2"] +def can_quantize(checkpoint_path: Union[str, List[str]]) -> "gr.Dropdown": + if isinstance(checkpoint_path, list) and len(checkpoint_path) != 0: + return gr.Dropdown(value="none", interactive=False) + else: + return gr.Dropdown(interactive=True) + + def save_model( lang: str, model_name: str, @@ -96,6 +103,9 @@ def create_export_tab(engine: "Engine") -> Dict[str, "Component"]: export_dir = gr.Textbox() export_hub_model_id = gr.Textbox() + checkpoint_path: gr.Dropdown = engine.manager.get_elem_by_id("top.checkpoint_path") + checkpoint_path.change(can_quantize, [checkpoint_path], [export_quantization_bit], queue=False) + export_btn = gr.Button() info_box = gr.Textbox(show_label=False, interactive=False) From f81a839197662517c86d7100d911d2ee7505c784 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 03:26:10 +0800 Subject: [PATCH 037/169] update examples Former-commit-id: 892e561c28cbbab1ee38a8022ddd9b397c873563 --- examples/README.md | 10 ++++++---- examples/README_zh.md | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/examples/README.md b/examples/README.md index 3372afb9..180d5f7b 100644 --- a/examples/README.md +++ b/examples/README.md @@ -11,6 +11,8 @@ Make sure to execute these commands in the `LLaMA-Factory` directory. - [Inferring LoRA Fine-Tuned Models](#inferring-lora-fine-tuned-models) - [Extras](#extras) +Use `CUDA_VISIBLE_DEVICES` (GPU) or `ASCEND_RT_VISIBLE_DEVICES` (NPU) to choose computing devices. + ## Examples ### LoRA Fine-Tuning @@ -87,7 +89,7 @@ FORCE_TORCHRUN=1 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llama #### Supervised Fine-Tuning with DeepSpeed ZeRO-3 (Weight Sharding) ```bash -FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/llama3_lora_sft_ds.yaml +FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/llama3_lora_sft_ds3.yaml ``` ### QLoRA Fine-Tuning @@ -121,14 +123,14 @@ CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/train_qlora/llama3_lora_s #### Supervised Fine-Tuning on Single Node ```bash -FORCE_TORCHRUN=1 llamafactory-cli train examples/train_full/llama3_full_sft.yaml +FORCE_TORCHRUN=1 llamafactory-cli train examples/train_full/llama3_full_sft_ds3.yaml ``` #### Supervised Fine-Tuning on Multiple Nodes ```bash -FORCE_TORCHRUN=1 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft.yaml -FORCE_TORCHRUN=1 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft_ds3.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft_ds3.yaml ``` #### Batch Predicting and Computing BLEU and ROUGE Scores diff --git a/examples/README_zh.md b/examples/README_zh.md index 64c31fbd..b6168a95 100644 --- a/examples/README_zh.md +++ b/examples/README_zh.md @@ -11,6 +11,8 @@ - [推理 LoRA 模型](#推理-lora-模型) - [杂项](#杂项) +使用 `CUDA_VISIBLE_DEVICES`(GPU)或 `ASCEND_RT_VISIBLE_DEVICES`(NPU)选择计算设备。 + ## 示例 ### LoRA 微调 @@ -87,7 +89,7 @@ FORCE_TORCHRUN=1 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llama #### 使用 DeepSpeed ZeRO-3 平均分配显存 ```bash -FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/llama3_lora_sft_ds.yaml +FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/llama3_lora_sft_ds3.yaml ``` ### QLoRA 微调 @@ -121,14 +123,14 @@ llamafactory-cli train examples/train_qlora/llama3_lora_sft_aqlm.yaml #### 在单机上进行指令监督微调 ```bash -FORCE_TORCHRUN=1 llamafactory-cli train examples/train_full/llama3_full_sft.yaml +FORCE_TORCHRUN=1 llamafactory-cli train examples/train_full/llama3_full_sft_ds3.yaml ``` #### 在多机上进行指令监督微调 ```bash -FORCE_TORCHRUN=1 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft.yaml -FORCE_TORCHRUN=1 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=0 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft_ds3.yaml +FORCE_TORCHRUN=1 NNODES=2 RANK=1 MASTER_ADDR=192.168.0.1 MASTER_PORT=29500 llamafactory-cli train examples/train_full/llama3_full_sft_ds3.yaml ``` #### 批量预测并计算 BLEU 和 ROUGE 分数 From d4ce280fbcc6d9dfbdb4c714816e2d45223c827b Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 13 Jun 2024 16:02:21 +0800 Subject: [PATCH 038/169] Update README.md Former-commit-id: 2d43b8bb49057e14a9f79146acdcc0cfa94bcc5a --- examples/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/README.md b/examples/README.md index 180d5f7b..a6d78936 100644 --- a/examples/README.md +++ b/examples/README.md @@ -97,25 +97,25 @@ FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/llama3_lora_sft_ds3. #### Supervised Fine-Tuning with 4/8-bit Bitsandbytes Quantization (Recommended) ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml +llamafactory-cli train examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml ``` #### Supervised Fine-Tuning with 4/8-bit GPTQ Quantization ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/train_qlora/llama3_lora_sft_gptq.yaml +llamafactory-cli train examples/train_qlora/llama3_lora_sft_gptq.yaml ``` #### Supervised Fine-Tuning with 4-bit AWQ Quantization ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/train_qlora/llama3_lora_sft_awq.yaml +llamafactory-cli train examples/train_qlora/llama3_lora_sft_awq.yaml ``` #### Supervised Fine-Tuning with 2-bit AQLM Quantization ```bash -CUDA_VISIBLE_DEVICES=0 llamafactory-cli train examples/train_qlora/llama3_lora_sft_aqlm.yaml +llamafactory-cli train examples/train_qlora/llama3_lora_sft_aqlm.yaml ``` ### Full-Parameter Fine-Tuning From a3f4925c2c2653d114f87641a908b03f1d3be39d Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 15 Jun 2024 04:05:54 +0800 Subject: [PATCH 039/169] add test cases Former-commit-id: b27269bd2b52fb9d43cde8a8b7f293099b0127a2 --- src/llamafactory/chat/vllm_engine.py | 2 +- src/llamafactory/hparams/model_args.py | 8 +-- src/llamafactory/model/adapter.py | 43 +++++++------ src/llamafactory/model/patcher.py | 5 +- src/llamafactory/train/ppo/trainer.py | 3 +- tests/model/test_base.py | 32 ++++++++++ tests/model/test_freeze.py | 22 ++++++- tests/model/test_full.py | 20 ++++++- tests/model/test_lora.py | 83 +++++++++++++++++++++++++- 9 files changed, 184 insertions(+), 34 deletions(-) create mode 100644 tests/model/test_base.py diff --git a/src/llamafactory/chat/vllm_engine.py b/src/llamafactory/chat/vllm_engine.py index e4c05478..f0812a99 100644 --- a/src/llamafactory/chat/vllm_engine.py +++ b/src/llamafactory/chat/vllm_engine.py @@ -52,7 +52,7 @@ class VllmEngine(BaseEngine): "model": model_args.model_name_or_path, "trust_remote_code": True, "download_dir": model_args.cache_dir, - "dtype": model_args.vllm_dtype, + "dtype": model_args.infer_dtype, "max_model_len": model_args.vllm_maxlen, "tensor_parallel_size": get_device_count() or 1, "gpu_memory_utilization": model_args.vllm_gpu_util, diff --git a/src/llamafactory/hparams/model_args.py b/src/llamafactory/hparams/model_args.py index 359beafd..bbac2e4b 100644 --- a/src/llamafactory/hparams/model_args.py +++ b/src/llamafactory/hparams/model_args.py @@ -136,10 +136,6 @@ class ModelArguments: default=8, metadata={"help": "Maximum rank of all LoRAs in the vLLM engine."}, ) - vllm_dtype: Literal["auto", "float16", "bfloat16", "float32"] = field( - default="auto", - metadata={"help": "Data type for model weights and activations in the vLLM engine."}, - ) offload_folder: str = field( default="offload", metadata={"help": "Path to offload model weights."}, @@ -148,6 +144,10 @@ class ModelArguments: default=True, metadata={"help": "Whether or not to use KV cache in generation."}, ) + infer_dtype: Literal["auto", "float16", "bfloat16", "float32"] = field( + default="auto", + metadata={"help": "Data type for model weights and activations at inference."} + ) hf_hub_token: Optional[str] = field( default=None, metadata={"help": "Auth token to log in with Hugging Face Hub."}, diff --git a/src/llamafactory/model/adapter.py b/src/llamafactory/model/adapter.py index 34b9eda6..c37f6009 100644 --- a/src/llamafactory/model/adapter.py +++ b/src/llamafactory/model/adapter.py @@ -25,8 +25,12 @@ def _setup_full_tuning( model: "PreTrainedModel", model_args: "ModelArguments", finetuning_args: "FinetuningArguments", + is_trainable: bool, cast_trainable_params_to_fp32: bool, ) -> None: + if not is_trainable: + return + logger.info("Fine-tuning method: Full") forbidden_modules = set() if model_args.visual_inputs and finetuning_args.freeze_vision_tower: @@ -47,8 +51,12 @@ def _setup_freeze_tuning( model: "PreTrainedModel", model_args: "ModelArguments", finetuning_args: "FinetuningArguments", + is_trainable: bool, cast_trainable_params_to_fp32: bool, ) -> None: + if not is_trainable: + return + logger.info("Fine-tuning method: Freeze") if model_args.visual_inputs: config = model.config.text_config @@ -132,7 +140,9 @@ def _setup_lora_tuning( is_trainable: bool, cast_trainable_params_to_fp32: bool, ) -> "PeftModel": - logger.info("Fine-tuning method: {}".format("DoRA" if finetuning_args.use_dora else "LoRA")) + if is_trainable: + logger.info("Fine-tuning method: {}".format("DoRA" if finetuning_args.use_dora else "LoRA")) + adapter_to_resume = None if model_args.adapter_name_or_path is not None: @@ -173,6 +183,8 @@ def _setup_lora_tuning( offload_folder=model_args.offload_folder, ) + logger.info("Loaded adapter(s): {}".format(",".join(model_args.adapter_name_or_path))) + if is_trainable and adapter_to_resume is None: # create new lora weights while training if len(finetuning_args.lora_target) == 1 and finetuning_args.lora_target[0] == "all": target_modules = find_all_linear_modules(model, finetuning_args.freeze_vision_tower) @@ -227,9 +239,6 @@ def _setup_lora_tuning( for param in filter(lambda p: p.requires_grad, model.parameters()): param.data = param.data.to(torch.float32) - if model_args.adapter_name_or_path is not None: - logger.info("Loaded adapter(s): {}".format(",".join(model_args.adapter_name_or_path))) - return model @@ -247,29 +256,27 @@ def init_adapter( Note that the trainable parameters must be cast to float32. """ - if (not is_trainable) and model_args.adapter_name_or_path is None: - logger.info("Adapter is not found at evaluation, load the base model.") - return model + if is_trainable and getattr(model, "quantization_method", None) and finetuning_args.finetuning_type != "lora": + raise ValueError("Quantized models can only be used for the LoRA tuning.") - if finetuning_args.finetuning_type != "lora" and getattr(model, "quantization_method", None): - raise ValueError("You can only use lora for quantized models.") - - if is_deepspeed_zero3_enabled() or is_fsdp_enabled() or finetuning_args.pure_bf16 or finetuning_args.use_badam: + if not is_trainable: + cast_trainable_params_to_fp32 = False + elif is_deepspeed_zero3_enabled() or is_fsdp_enabled() or finetuning_args.pure_bf16 or finetuning_args.use_badam: logger.info("ZeRO3/FSDP/PureBF16/BAdam detected, remaining trainable params as their original precision.") cast_trainable_params_to_fp32 = False else: logger.info("Upcasting trainable params to float32.") cast_trainable_params_to_fp32 = True - if is_trainable and finetuning_args.finetuning_type == "full": - _setup_full_tuning(model, model_args, finetuning_args, cast_trainable_params_to_fp32) - - if is_trainable and finetuning_args.finetuning_type == "freeze": - _setup_freeze_tuning(model, model_args, finetuning_args, cast_trainable_params_to_fp32) - - if finetuning_args.finetuning_type == "lora": + if finetuning_args.finetuning_type == "full": + _setup_full_tuning(model, model_args, finetuning_args, is_trainable, cast_trainable_params_to_fp32) + elif finetuning_args.finetuning_type == "freeze": + _setup_freeze_tuning(model, model_args, finetuning_args, is_trainable, cast_trainable_params_to_fp32) + elif finetuning_args.finetuning_type == "lora": model = _setup_lora_tuning( config, model, model_args, finetuning_args, is_trainable, cast_trainable_params_to_fp32 ) + else: + raise NotImplementedError("Unknown finetuning type: {}.".format(finetuning_args.finetuning_type)) return model diff --git a/src/llamafactory/model/patcher.py b/src/llamafactory/model/patcher.py index 18221a10..b97ff433 100644 --- a/src/llamafactory/model/patcher.py +++ b/src/llamafactory/model/patcher.py @@ -44,7 +44,10 @@ def patch_config( is_trainable: bool, ) -> None: if model_args.compute_dtype is None: # priority: bf16 > fp16 > fp32 - model_args.compute_dtype = infer_optim_dtype(model_dtype=getattr(config, "torch_dtype", None)) + if model_args.infer_dtype == "auto": + model_args.compute_dtype = infer_optim_dtype(model_dtype=getattr(config, "torch_dtype", None)) + else: + model_args.compute_dtype = getattr(torch, model_args.infer_dtype) if is_torch_npu_available(): use_jit_compile = os.environ.get("JIT_COMPILE", "0").lower() in ["true", "1"] diff --git a/src/llamafactory/train/ppo/trainer.py b/src/llamafactory/train/ppo/trainer.py index 737c45a3..45f47455 100644 --- a/src/llamafactory/train/ppo/trainer.py +++ b/src/llamafactory/train/ppo/trainer.py @@ -135,8 +135,7 @@ class CustomPPOTrainer(PPOTrainer, Trainer): unwrapped_model: "AutoModelForCausalLMWithValueHead" = self.accelerator.unwrap_model(self.model) self.is_chatglm_model = getattr(unwrapped_model.config, "model_type", None) == "chatglm" - device_type = unwrapped_model.pretrained_model.device.type - self.amp_context = torch.autocast(device_type, dtype=model_args.compute_dtype) + self.amp_context = torch.autocast(self.current_device.type, dtype=self.model_args.compute_dtype) warnings.simplefilter("ignore") # remove gc warnings on ref model if finetuning_args.reward_model_type == "full": diff --git a/tests/model/test_base.py b/tests/model/test_base.py new file mode 100644 index 00000000..32a3918e --- /dev/null +++ b/tests/model/test_base.py @@ -0,0 +1,32 @@ +import os + +import torch +from transformers import AutoModelForCausalLM + +from llamafactory.hparams import get_infer_args +from llamafactory.model import load_model, load_tokenizer + + +TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") + +INFER_ARGS = { + "model_name_or_path": TINY_LLAMA, + "template": "llama3", + "infer_dtype": "float16", +} + + +def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module"): + state_dict_a = model_a.state_dict() + state_dict_b = model_b.state_dict() + assert set(state_dict_a.keys()) == set(state_dict_b.keys()) + for name in state_dict_a.keys(): + assert torch.allclose(state_dict_a[name], state_dict_b[name]) is True + + +def test_base(): + model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False) + ref_model = AutoModelForCausalLM.from_pretrained(TINY_LLAMA, torch_dtype=model.dtype, device_map=model.device) + compare_model(model, ref_model) diff --git a/tests/model/test_freeze.py b/tests/model/test_freeze.py index 97800696..a0618315 100644 --- a/tests/model/test_freeze.py +++ b/tests/model/test_freeze.py @@ -2,7 +2,7 @@ import os import torch -from llamafactory.hparams import get_train_args +from llamafactory.hparams import get_infer_args, get_train_args from llamafactory.model import load_model, load_tokenizer @@ -23,8 +23,15 @@ TRAIN_ARGS = { "fp16": True, } +INFER_ARGS = { + "model_name_or_path": TINY_LLAMA, + "finetuning_type": "freeze", + "template": "llama3", + "infer_dtype": "float16", +} -def test_freeze_all_modules(): + +def test_freeze_train_all_modules(): model_args, _, _, finetuning_args, _ = get_train_args({"freeze_trainable_layers": 1, **TRAIN_ARGS}) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) @@ -37,7 +44,7 @@ def test_freeze_all_modules(): assert param.dtype == torch.float16 -def test_freeze_extra_modules(): +def test_freeze_train_extra_modules(): model_args, _, _, finetuning_args, _ = get_train_args( {"freeze_trainable_layers": 1, "freeze_extra_modules": "embed_tokens,lm_head", **TRAIN_ARGS} ) @@ -50,3 +57,12 @@ def test_freeze_extra_modules(): else: assert param.requires_grad is False assert param.dtype == torch.float16 + + +def test_freeze_inference(): + model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False) + for param in model.parameters(): + assert param.requires_grad is False + assert param.dtype == torch.float16 diff --git a/tests/model/test_full.py b/tests/model/test_full.py index 6cb78f37..802b987c 100644 --- a/tests/model/test_full.py +++ b/tests/model/test_full.py @@ -2,7 +2,7 @@ import os import torch -from llamafactory.hparams import get_train_args +from llamafactory.hparams import get_infer_args, get_train_args from llamafactory.model import load_model, load_tokenizer @@ -23,11 +23,27 @@ TRAIN_ARGS = { "fp16": True, } +INFER_ARGS = { + "model_name_or_path": TINY_LLAMA, + "finetuning_type": "full", + "template": "llama3", + "infer_dtype": "float16", +} -def test_full(): + +def test_full_train(): model_args, _, _, finetuning_args, _ = get_train_args(TRAIN_ARGS) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) for param in model.parameters(): assert param.requires_grad is True assert param.dtype == torch.float32 + + +def test_full_inference(): + model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False) + for param in model.parameters(): + assert param.requires_grad is False + assert param.dtype == torch.float16 diff --git a/tests/model/test_lora.py b/tests/model/test_lora.py index 2e2b89d9..3e2503f1 100644 --- a/tests/model/test_lora.py +++ b/tests/model/test_lora.py @@ -1,13 +1,18 @@ import os +from typing import Sequence import torch +from peft import LoraModel, PeftModel +from transformers import AutoModelForCausalLM -from llamafactory.hparams import get_train_args +from llamafactory.hparams import get_infer_args, get_train_args from llamafactory.model import load_model, load_tokenizer TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") +TINY_LLAMA_ADAPTER = os.environ.get("TINY_LLAMA_ADAPTER", "llamafactory/tiny-random-Llama-3-lora") + TRAIN_ARGS = { "model_name_or_path": TINY_LLAMA, "stage": "sft", @@ -23,8 +28,32 @@ TRAIN_ARGS = { "fp16": True, } +INFER_ARGS = { + "model_name_or_path": TINY_LLAMA, + "adapter_name_or_path": TINY_LLAMA_ADAPTER, + "finetuning_type": "lora", + "template": "llama3", + "infer_dtype": "float16", +} -def test_lora_all_modules(): + +def load_reference_model() -> "torch.nn.Module": + model = AutoModelForCausalLM.from_pretrained(TINY_LLAMA) + return PeftModel.from_pretrained(model, TINY_LLAMA_ADAPTER) + + +def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module", diff_keys: Sequence[str] = []): + state_dict_a = model_a.state_dict() + state_dict_b = model_b.state_dict() + assert set(state_dict_a.keys()) == set(state_dict_b.keys()) + for name in state_dict_a.keys(): + if any(key in name for key in diff_keys): + assert torch.allclose(state_dict_a[name], state_dict_b[name]) is False + else: + assert torch.allclose(state_dict_a[name], state_dict_b[name]) is True + + +def test_lora_train_all_modules(): model_args, _, _, finetuning_args, _ = get_train_args({"lora_target": "all", **TRAIN_ARGS}) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) @@ -41,7 +70,7 @@ def test_lora_all_modules(): assert linear_modules == {"q_proj", "k_proj", "v_proj", "o_proj", "up_proj", "gate_proj", "down_proj"} -def test_lora_extra_modules(): +def test_lora_train_extra_modules(): model_args, _, _, finetuning_args, _ = get_train_args( {"lora_target": "all", "additional_target": "embed_tokens,lm_head", **TRAIN_ARGS} ) @@ -61,3 +90,51 @@ def test_lora_extra_modules(): assert param.dtype == torch.float16 assert extra_modules == {"embed_tokens", "lm_head"} + + +def test_lora_train_old_adapters(): + model_args, _, _, finetuning_args, _ = get_train_args( + {"adapter_name_or_path": TINY_LLAMA_ADAPTER, "create_new_adapter": False, **TRAIN_ARGS} + ) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + + base_model = AutoModelForCausalLM.from_pretrained(TINY_LLAMA, torch_dtype=model.dtype, device_map=model.device) + ref_model = PeftModel.from_pretrained(base_model, TINY_LLAMA_ADAPTER, is_trainable=True) + for param in filter(lambda p: p.requires_grad, ref_model.parameters()): + param.data = param.data.to(torch.float32) + + compare_model(model, ref_model) + + +def test_lora_train_new_adapters(): + model_args, _, _, finetuning_args, _ = get_train_args( + {"adapter_name_or_path": TINY_LLAMA_ADAPTER, "create_new_adapter": True, **TRAIN_ARGS} + ) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + + base_model = AutoModelForCausalLM.from_pretrained(TINY_LLAMA, torch_dtype=model.dtype, device_map=model.device) + ref_model = PeftModel.from_pretrained(base_model, TINY_LLAMA_ADAPTER, is_trainable=True) + for param in filter(lambda p: p.requires_grad, ref_model.parameters()): + param.data = param.data.to(torch.float32) + + compare_model( + model, ref_model, diff_keys=["q_proj", "k_proj", "v_proj", "o_proj", "up_proj", "gate_proj", "down_proj"] + ) + + +def test_lora_inference(): + model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False) + + base_model = AutoModelForCausalLM.from_pretrained(TINY_LLAMA, torch_dtype=model.dtype, device_map=model.device) + ref_model: "LoraModel" = PeftModel.from_pretrained(base_model, TINY_LLAMA_ADAPTER) + ref_model = ref_model.merge_and_unload() + compare_model(model, ref_model) + + for name, param in model.named_parameters(): + assert param.requires_grad is False + assert param.dtype == torch.float16 + assert "lora" not in name From ab66ae8cd2b7dab32eaad5ae294233da416c6376 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 15 Jun 2024 04:34:55 +0800 Subject: [PATCH 040/169] fix #4295 Former-commit-id: 78589cf90c6e12e612f269b1c771f19f3dad83d2 --- src/llamafactory/train/sft/trainer.py | 10 +++++++--- src/llamafactory/train/sft/workflow.py | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/llamafactory/train/sft/trainer.py b/src/llamafactory/train/sft/trainer.py index c063b214..6bf5b7c0 100644 --- a/src/llamafactory/train/sft/trainer.py +++ b/src/llamafactory/train/sft/trainer.py @@ -13,6 +13,7 @@ from ..trainer_utils import create_custom_optimzer, create_custom_scheduler if TYPE_CHECKING: + from torch.utils.data import Dataset from transformers import ProcessorMixin from transformers.trainer import PredictionOutput @@ -94,7 +95,7 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): padded_tensor[:, -src_tensor.shape[-1] :] = src_tensor # adopt left-padding return padded_tensor.contiguous() # in contiguous memory - def save_predictions(self, predict_results: "PredictionOutput") -> None: + def save_predictions(self, dataset: "Dataset", predict_results: "PredictionOutput") -> None: r""" Saves model predictions to `output_dir`. @@ -120,6 +121,9 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): (preds[i][pad_len[0] :], preds[i][: pad_len[0]]), axis=-1 ) # move pad token to last + decoded_inputs = self.tokenizer.batch_decode( + dataset["input_ids"], skip_special_tokens=True, clean_up_tokenization_spaces=False + ) decoded_labels = self.tokenizer.batch_decode( labels, skip_special_tokens=True, clean_up_tokenization_spaces=False ) @@ -127,6 +131,6 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): with open(output_prediction_file, "w", encoding="utf-8") as writer: res: List[str] = [] - for label, pred in zip(decoded_labels, decoded_preds): - res.append(json.dumps({"label": label, "predict": pred}, ensure_ascii=False)) + for text, label, pred in zip(decoded_inputs, decoded_labels, decoded_preds): + res.append(json.dumps({"prompt": text, "label": label, "predict": pred}, ensure_ascii=False)) writer.write("\n".join(res)) diff --git a/src/llamafactory/train/sft/workflow.py b/src/llamafactory/train/sft/workflow.py index f09b5173..a989b3f7 100644 --- a/src/llamafactory/train/sft/workflow.py +++ b/src/llamafactory/train/sft/workflow.py @@ -93,7 +93,7 @@ def run_sft( predict_results.metrics.pop("predict_loss", None) trainer.log_metrics("predict", predict_results.metrics) trainer.save_metrics("predict", predict_results.metrics) - trainer.save_predictions(predict_results) + trainer.save_predictions(dataset, predict_results) # Create model card create_modelcard_and_push(trainer, model_args, data_args, training_args, finetuning_args) From ba9aa7e2aaf4eb31a92b12c14399e665dfe3ebeb Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 15 Jun 2024 04:47:13 +0800 Subject: [PATCH 041/169] fix #4292 Former-commit-id: 9092f963dba6f2e0eeade53b5b35e6b770f8348e --- src/llamafactory/webui/common.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/llamafactory/webui/common.py b/src/llamafactory/webui/common.py index 37b38df0..3b8d5378 100644 --- a/src/llamafactory/webui/common.py +++ b/src/llamafactory/webui/common.py @@ -39,7 +39,11 @@ def get_save_dir(*paths: str) -> os.PathLike: r""" Gets the path to saved model checkpoints. """ - paths = (path.replace(os.path.sep, "").replace(" ", "").strip() for path in paths) + if os.path.sep in paths[-1]: + logger.warning("Found complex path, some features may be not available.") + return paths[-1] + + paths = (path.replace(" ", "").strip() for path in paths) return os.path.join(DEFAULT_SAVE_DIR, *paths) From fcbfa70c19dc75d23ef29c681548405723465239 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 15 Jun 2024 04:57:19 +0800 Subject: [PATCH 042/169] disable DP Former-commit-id: d519b4d76d39b21a21b1d2f6f7ce6b3af9525d03 --- src/llamafactory/hparams/parser.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index ec5dd62c..3476a726 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -8,6 +8,7 @@ import transformers from transformers import HfArgumentParser, Seq2SeqTrainingArguments from transformers.integrations import is_deepspeed_zero3_enabled from transformers.trainer_utils import get_last_checkpoint +from transformers.training_args import ParallelMode from transformers.utils import is_torch_bf16_gpu_available from transformers.utils.versions import require_version @@ -162,6 +163,9 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: ): raise ValueError("PPO only accepts wandb or tensorboard logger.") + if training_args.parallel_mode == ParallelMode.NOT_DISTRIBUTED: + raise ValueError("Please launch distributed training with `llamafactory-cli` or `torchrun`.") + if training_args.max_steps == -1 and data_args.streaming: raise ValueError("Please specify `max_steps` in streaming mode.") @@ -181,14 +185,14 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: if ( finetuning_args.use_galore and finetuning_args.galore_layerwise - and training_args.parallel_mode.value == "distributed" + and training_args.parallel_mode == ParallelMode.DISTRIBUTED ): raise ValueError("Distributed training does not support layer-wise GaLore.") if ( finetuning_args.use_badam and finetuning_args.badam_mode == "layer" - and training_args.parallel_mode.value == "distributed" + and training_args.parallel_mode == ParallelMode.DISTRIBUTED ): raise ValueError("Layer-wise BAdam does not yet support distributed training, use ratio-wise BAdam.") @@ -230,7 +234,7 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: # Post-process training arguments if ( - training_args.parallel_mode.value == "distributed" + training_args.parallel_mode == ParallelMode.DISTRIBUTED and training_args.ddp_find_unused_parameters is None and finetuning_args.finetuning_type == "lora" ): @@ -290,7 +294,7 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: training_args.local_rank, training_args.device, training_args.n_gpu, - training_args.parallel_mode.value == "distributed", + training_args.parallel_mode == ParallelMode.DISTRIBUTED, str(model_args.compute_dtype), ) ) From 19ea51e4608d714fc3725dd38fe51c5e1ee80861 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 15 Jun 2024 05:11:33 +0800 Subject: [PATCH 043/169] fix #4271 Former-commit-id: f1aa6a411a55efea1064ea74b936ac8a3d856f8c --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 405ac46e..1756551e 100644 --- a/setup.py +++ b/setup.py @@ -23,7 +23,7 @@ extra_require = { "torch": ["torch>=1.13.1"], "torch-npu": ["torch==2.1.0", "torch-npu==2.1.0.post3", "decorator"], "metrics": ["nltk", "jieba", "rouge-chinese"], - "deepspeed": ["deepspeed>=0.10.0,<=0.14.0"], + "deepspeed": ["deepspeed>=0.10.0"], "bitsandbytes": ["bitsandbytes>=0.39.0"], "vllm": ["vllm>=0.4.3"], "galore": ["galore-torch"], From 4dcd124dbde23ce0b19b8e0617c20919927a8eb6 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 15 Jun 2024 05:13:16 +0800 Subject: [PATCH 044/169] update readme Former-commit-id: acd84ce5350ef985e3712a40442c6f7a54d08d40 --- README.md | 2 +- README_zh.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5dd10d5a..cae79694 100644 --- a/README.md +++ b/README.md @@ -463,7 +463,7 @@ docker-compose exec llamafactory bash ### Deploy with OpenAI-style API and vLLM ```bash -CUDA_VISIBLE_DEVICES=0,1 API_PORT=8000 llamafactory-cli api examples/inference/llama3_vllm.yaml +API_PORT=8000 llamafactory-cli api examples/inference/llama3_vllm.yaml ``` > [!TIP] diff --git a/README_zh.md b/README_zh.md index 76bd2d89..af3ff8f0 100644 --- a/README_zh.md +++ b/README_zh.md @@ -463,7 +463,7 @@ docker-compose exec llamafactory bash ### 利用 vLLM 部署 OpenAI API ```bash -CUDA_VISIBLE_DEVICES=0,1 API_PORT=8000 llamafactory-cli api examples/inference/llama3_vllm.yaml +API_PORT=8000 llamafactory-cli api examples/inference/llama3_vllm.yaml ``` > [!TIP] From 2946153cea71e2d6a7dd473e3f62908791884309 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 15 Jun 2024 17:54:33 +0800 Subject: [PATCH 045/169] add license Former-commit-id: d87108daa68bd40174b262be1ca65fe6e1b7ab56 --- evaluation/ceval/ceval.py | 1 + evaluation/cmmlu/cmmlu.py | 1 + evaluation/mmlu/mmlu.py | 1 + scripts/cal_flops.py | 23 +++++++++-- scripts/cal_lr.py | 23 +++++++++-- scripts/cal_ppl.py | 19 ++++++++- scripts/length_cdf.py | 19 ++++++++- scripts/llama_pro.py | 23 +++++++++-- scripts/llamafy_baichuan2.py | 22 ++++++++-- scripts/llamafy_qwen.py | 21 ++++++++-- scripts/loftq_init.py | 23 +++++++++-- scripts/test_toolcall.py | 15 +++++++ setup.py | 14 +++++++ src/api.py | 14 +++++++ src/llamafactory/__init__.py | 14 +++++++ src/llamafactory/api/app.py | 14 +++++++ src/llamafactory/api/chat.py | 14 +++++++ src/llamafactory/api/common.py | 14 +++++++ src/llamafactory/api/protocol.py | 14 +++++++ src/llamafactory/chat/__init__.py | 14 +++++++ src/llamafactory/chat/base_engine.py | 14 +++++++ src/llamafactory/chat/chat_model.py | 17 ++++++++ src/llamafactory/chat/hf_engine.py | 14 +++++++ src/llamafactory/chat/vllm_engine.py | 14 +++++++ src/llamafactory/cli.py | 14 +++++++ src/llamafactory/data/__init__.py | 14 +++++++ src/llamafactory/data/aligner.py | 14 +++++++ src/llamafactory/data/collator.py | 14 +++++++ src/llamafactory/data/data_utils.py | 14 +++++++ src/llamafactory/data/formatter.py | 14 +++++++ src/llamafactory/data/loader.py | 14 +++++++ src/llamafactory/data/parser.py | 14 +++++++ src/llamafactory/data/preprocess.py | 14 +++++++ src/llamafactory/data/processors/feedback.py | 14 +++++++ src/llamafactory/data/processors/pairwise.py | 14 +++++++ src/llamafactory/data/processors/pretrain.py | 17 ++++++++ .../data/processors/processor_utils.py | 14 +++++++ .../data/processors/supervised.py | 14 +++++++ .../data/processors/unsupervised.py | 14 +++++++ src/llamafactory/data/template.py | 14 +++++++ src/llamafactory/eval/evaluator.py | 39 +++++++++++++++++- src/llamafactory/eval/template.py | 14 +++++++ src/llamafactory/extras/callbacks.py | 14 +++++++ src/llamafactory/extras/constants.py | 14 +++++++ src/llamafactory/extras/env.py | 14 +++++++ src/llamafactory/extras/logging.py | 14 +++++++ src/llamafactory/extras/misc.py | 14 +++++++ src/llamafactory/extras/packages.py | 17 ++++++++ src/llamafactory/extras/ploting.py | 14 +++++++ src/llamafactory/hparams/__init__.py | 14 +++++++ src/llamafactory/hparams/data_args.py | 17 ++++++++ src/llamafactory/hparams/evaluation_args.py | 14 +++++++ src/llamafactory/hparams/finetuning_args.py | 14 +++++++ src/llamafactory/hparams/generating_args.py | 14 +++++++ src/llamafactory/hparams/model_args.py | 17 ++++++++ src/llamafactory/hparams/parser.py | 17 ++++++++ src/llamafactory/launcher.py | 14 +++++++ src/llamafactory/model/__init__.py | 14 +++++++ src/llamafactory/model/adapter.py | 14 +++++++ src/llamafactory/model/loader.py | 14 +++++++ .../model/model_utils/attention.py | 14 +++++++ .../model/model_utils/checkpointing.py | 19 ++++++++- .../model/model_utils/embedding.py | 14 +++++++ .../model/model_utils/longlora.py | 17 ++++++++ src/llamafactory/model/model_utils/misc.py | 14 +++++++ src/llamafactory/model/model_utils/mod.py | 14 +++++++ src/llamafactory/model/model_utils/moe.py | 14 +++++++ .../model/model_utils/quantization.py | 18 ++++++++- src/llamafactory/model/model_utils/rope.py | 18 +++++++++ src/llamafactory/model/model_utils/unsloth.py | 14 +++++++ .../model/model_utils/valuehead.py | 14 +++++++ src/llamafactory/model/model_utils/visual.py | 17 ++++++++ src/llamafactory/model/patcher.py | 14 +++++++ src/llamafactory/train/dpo/__init__.py | 14 +++++++ src/llamafactory/train/dpo/trainer.py | 17 ++++++++ src/llamafactory/train/dpo/workflow.py | 17 +++++++- src/llamafactory/train/kto/__init__.py | 14 +++++++ src/llamafactory/train/kto/trainer.py | 17 ++++++++ src/llamafactory/train/kto/workflow.py | 17 ++++++++ src/llamafactory/train/ppo/__init__.py | 14 +++++++ src/llamafactory/train/ppo/ppo_utils.py | 14 +++++++ src/llamafactory/train/ppo/trainer.py | 17 ++++++++ src/llamafactory/train/ppo/workflow.py | 17 +++++++- src/llamafactory/train/pt/__init__.py | 14 +++++++ src/llamafactory/train/pt/trainer.py | 14 +++++++ src/llamafactory/train/pt/workflow.py | 17 +++++++- src/llamafactory/train/rm/__init__.py | 14 +++++++ src/llamafactory/train/rm/metric.py | 14 +++++++ src/llamafactory/train/rm/trainer.py | 40 ++++++++++++++++++- src/llamafactory/train/rm/workflow.py | 39 +++++++++++++++++- src/llamafactory/train/sft/__init__.py | 14 +++++++ src/llamafactory/train/sft/metric.py | 18 +++++++++ src/llamafactory/train/sft/trainer.py | 17 ++++++++ src/llamafactory/train/sft/workflow.py | 17 +++++++- src/llamafactory/train/trainer_utils.py | 19 +++++++++ src/llamafactory/train/tuner.py | 14 +++++++ src/llamafactory/webui/chatter.py | 14 +++++++ src/llamafactory/webui/common.py | 14 +++++++ src/llamafactory/webui/components/__init__.py | 14 +++++++ src/llamafactory/webui/components/chatbot.py | 14 +++++++ src/llamafactory/webui/components/data.py | 14 +++++++ src/llamafactory/webui/components/eval.py | 14 +++++++ src/llamafactory/webui/components/export.py | 14 +++++++ src/llamafactory/webui/components/infer.py | 14 +++++++ src/llamafactory/webui/components/top.py | 14 +++++++ src/llamafactory/webui/components/train.py | 14 +++++++ src/llamafactory/webui/css.py | 14 +++++++ src/llamafactory/webui/engine.py | 14 +++++++ src/llamafactory/webui/interface.py | 14 +++++++ src/llamafactory/webui/locales.py | 14 +++++++ src/llamafactory/webui/manager.py | 14 +++++++ src/llamafactory/webui/runner.py | 14 +++++++ src/llamafactory/webui/utils.py | 14 +++++++ src/train.py | 14 +++++++ src/webui.py | 14 +++++++ tests/data/test_supervised.py | 14 +++++++ tests/eval/test_eval_template.py | 14 +++++++ tests/model/model_utils/test_attention.py | 14 +++++++ tests/model/test_base.py | 14 +++++++ tests/model/test_freeze.py | 14 +++++++ tests/model/test_full.py | 14 +++++++ tests/model/test_lora.py | 14 +++++++ 122 files changed, 1848 insertions(+), 32 deletions(-) diff --git a/evaluation/ceval/ceval.py b/evaluation/ceval/ceval.py index 4111d6b4..48442d50 100644 --- a/evaluation/ceval/ceval.py +++ b/evaluation/ceval/ceval.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + import os import datasets diff --git a/evaluation/cmmlu/cmmlu.py b/evaluation/cmmlu/cmmlu.py index 37efb328..5ff548a4 100644 --- a/evaluation/cmmlu/cmmlu.py +++ b/evaluation/cmmlu/cmmlu.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + import os import datasets diff --git a/evaluation/mmlu/mmlu.py b/evaluation/mmlu/mmlu.py index a4530250..1065fb31 100644 --- a/evaluation/mmlu/mmlu.py +++ b/evaluation/mmlu/mmlu.py @@ -11,6 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. + import os import datasets diff --git a/scripts/cal_flops.py b/scripts/cal_flops.py index ac87e0ab..627b5534 100644 --- a/scripts/cal_flops.py +++ b/scripts/cal_flops.py @@ -1,7 +1,20 @@ # coding=utf-8 -# Calculates the flops of pre-trained models. -# Usage: python cal_flops.py --model_name_or_path path_to_model --batch_size 1 --seq_length 512 -# Inspired by: https://www.deepspeed.ai/tutorials/flops-profiler/ +# Copyright 2024 Microsoft Corporation and the LlamaFactory team. +# +# This code is inspired by Microsoft's DeepSpeed library. +# https://www.deepspeed.ai/tutorials/flops-profiler/ +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import fire import torch @@ -17,6 +30,10 @@ def calculate_flops( seq_length: int = 256, flash_attn: str = "auto", ): + r""" + Calculates the flops of pre-trained models. + Usage: python cal_flops.py --model_name_or_path path_to_model --batch_size 1 --seq_length 512 + """ with get_accelerator().device(0): chat_model = ChatModel(dict(model_name_or_path=model_name_or_path, template="empty", flash_attn=flash_attn)) fake_input = torch.ones((batch_size, seq_length), dtype=torch.long, device=chat_model.model.device) diff --git a/scripts/cal_lr.py b/scripts/cal_lr.py index bfa32cc9..ff21d27c 100644 --- a/scripts/cal_lr.py +++ b/scripts/cal_lr.py @@ -1,7 +1,20 @@ # coding=utf-8 -# Calculates the optimal learning rate for 7B/13B models using LLaMA's hyper-parameters. -# Usage: python cal_lr.py --model_name_or_path path_to_model --dataset alpaca_en --cutoff_len 1024 --batch_size 16 -# Inspired by: https://github.com/imoneoi/openchat/blob/master/ochat/training_deepspeed/train.py +# Copyright 2024 imoneoi and the LlamaFactory team. +# +# This code is inspired by imoneoi's OpenChat library. +# https://github.com/imoneoi/openchat/blob/3.6.0/ochat/training_deepspeed/train.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import math from typing import Literal @@ -32,6 +45,10 @@ def calculate_lr( cutoff_len: int = 1024, # i.e. maximum input length during training is_mistral: bool = False, # mistral model uses a smaller learning rate, ): + r""" + Calculates the optimal learning rate for 7B/13B models using LLaMA's hyper-parameters. + Usage: python cal_lr.py --model_name_or_path path_to_model --dataset alpaca_en --cutoff_len 1024 --batch_size 16 + """ model_args, data_args, training_args, _, _ = get_train_args( dict( stage=stage, diff --git a/scripts/cal_ppl.py b/scripts/cal_ppl.py index 387b756c..fb503629 100644 --- a/scripts/cal_ppl.py +++ b/scripts/cal_ppl.py @@ -1,6 +1,17 @@ # coding=utf-8 -# Calculates the ppl on the dataset of the pre-trained models. -# Usage: python cal_ppl.py --model_name_or_path path_to_model --save_name ppl.json +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import json from dataclasses import dataclass @@ -56,6 +67,10 @@ def cal_ppl( max_samples: Optional[int] = None, train_on_prompt: bool = False, ): + r""" + Calculates the ppl on the dataset of the pre-trained models. + Usage: python cal_ppl.py --model_name_or_path path_to_model --save_name ppl.json + """ model_args, data_args, training_args, finetuning_args, _ = get_train_args( dict( stage=stage, diff --git a/scripts/length_cdf.py b/scripts/length_cdf.py index 7739dcf0..4cdf01e6 100644 --- a/scripts/length_cdf.py +++ b/scripts/length_cdf.py @@ -1,6 +1,17 @@ # coding=utf-8 -# Calculates the distribution of the input lengths in the dataset. -# Usage: python length_cdf.py --model_name_or_path path_to_model --dataset alpaca_en --template default +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. from collections import defaultdict @@ -19,6 +30,10 @@ def length_cdf( template: str = "default", interval: int = 1000, ): + r""" + Calculates the distribution of the input lengths in the dataset. + Usage: python length_cdf.py --model_name_or_path path_to_model --dataset alpaca_en --template default + """ model_args, data_args, training_args, _, _ = get_train_args( dict( stage="sft", diff --git a/scripts/llama_pro.py b/scripts/llama_pro.py index 727998ae..f315335a 100644 --- a/scripts/llama_pro.py +++ b/scripts/llama_pro.py @@ -1,7 +1,20 @@ # coding=utf-8 -# Performs block expansion for LLaMA, Mistral, Qwen1.5 or Yi models. -# Usage: python llama_pro.py --model_name_or_path meta-llama/Llama-2-7b-hf --output_dir llama2_pro --num_expand 8 -# Inspired by: https://github.com/TencentARC/LLaMA-Pro/blob/main/scripts/block_expansion.py +# Copyright 2024 Tencent Inc. and the LlamaFactory team. +# +# This code is inspired by Tencent's LLaMA-Pro library. +# https://github.com/TencentARC/LLaMA-Pro/blob/main/scripts/block_expansion.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import json import os @@ -37,6 +50,10 @@ def block_expansion( shard_size: Optional[str] = "2GB", save_safetensors: Optional[bool] = False, ): + r""" + Performs block expansion for LLaMA, Mistral, Qwen1.5 or Yi models. + Usage: python llama_pro.py --model_name_or_path meta-llama/Llama-2-7b-hf --output_dir llama2_pro --num_expand 8 + """ config: "PretrainedConfig" = AutoConfig.from_pretrained(model_name_or_path) num_layers = getattr(config, "num_hidden_layers") setattr(config, "num_hidden_layers", num_layers + num_expand) diff --git a/scripts/llamafy_baichuan2.py b/scripts/llamafy_baichuan2.py index 1ae58879..19284f5f 100644 --- a/scripts/llamafy_baichuan2.py +++ b/scripts/llamafy_baichuan2.py @@ -1,8 +1,17 @@ # coding=utf-8 -# Converts the Baichuan2-7B model in the same format as LLaMA2-7B. -# Usage: python llamafy_baichuan2.py --input_dir input --output_dir output -# Inspired by: https://huggingface.co/fireballoon/baichuan-llama-7b/blob/main/convert_baichuan_to_llama.py -# Converted model: https://huggingface.co/hiyouga/Baichuan2-7B-Base-LLaMAfied +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import json import os @@ -79,6 +88,11 @@ def save_config(input_dir: str, output_dir: str): def llamafy_baichuan2( input_dir: str, output_dir: str, shard_size: Optional[str] = "2GB", save_safetensors: Optional[bool] = False ): + r""" + Converts the Baichuan2-7B model in the same format as LLaMA2-7B. + Usage: python llamafy_baichuan2.py --input_dir input --output_dir output + Converted model: https://huggingface.co/hiyouga/Baichuan2-7B-Base-LLaMAfied + """ try: os.makedirs(output_dir, exist_ok=False) except Exception as e: diff --git a/scripts/llamafy_qwen.py b/scripts/llamafy_qwen.py index 69cf3e8e..e5b59483 100644 --- a/scripts/llamafy_qwen.py +++ b/scripts/llamafy_qwen.py @@ -1,7 +1,17 @@ # coding=utf-8 -# Converts the Qwen models in the same format as LLaMA2. -# Usage: python llamafy_qwen.py --input_dir input --output_dir output -# Converted model: https://huggingface.co/hiyouga/Qwen-14B-Chat-LLaMAfied +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import json import os @@ -131,6 +141,11 @@ def save_config(input_dir: str, output_dir: str, torch_dtype: str): def llamafy_qwen( input_dir: str, output_dir: str, shard_size: Optional[str] = "2GB", save_safetensors: Optional[bool] = False ): + r""" + Converts the Qwen models in the same format as LLaMA2. + Usage: python llamafy_qwen.py --input_dir input --output_dir output + Converted model: https://huggingface.co/hiyouga/Qwen-14B-Chat-LLaMAfied + """ try: os.makedirs(output_dir, exist_ok=False) except Exception as e: diff --git a/scripts/loftq_init.py b/scripts/loftq_init.py index 7f244316..159dea06 100644 --- a/scripts/loftq_init.py +++ b/scripts/loftq_init.py @@ -1,7 +1,20 @@ # coding=utf-8 -# Initializes LoRA weights with LoRA-fine-tuning-aware Quantization (LoftQ) -# Usage: python loftq_init.py --model_name_or_path path_to_model --save_dir output_dir -# Inspired by: https://github.com/huggingface/peft/blob/main/examples/loftq_finetuning/quantize_save_load.py +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's PEFT library. +# https://github.com/huggingface/peft/blob/v0.10.0/examples/loftq_finetuning/quantize_save_load.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import os from typing import TYPE_CHECKING, Optional @@ -49,6 +62,10 @@ def quantize_loftq( lora_target: Optional[str] = "q_proj,v_proj", save_safetensors: Optional[bool] = False, ): + r""" + Initializes LoRA weights with LoRA-fine-tuning-aware Quantization (LoftQ) + Usage: python loftq_init.py --model_name_or_path path_to_model --save_dir output_dir + """ tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype="auto") loftq_config = LoftQConfig(loftq_bits=loftq_bits, loftq_iter=loftq_iter) diff --git a/scripts/test_toolcall.py b/scripts/test_toolcall.py index 7e460017..6f6fd06c 100644 --- a/scripts/test_toolcall.py +++ b/scripts/test_toolcall.py @@ -1,3 +1,18 @@ +# coding=utf-8 +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import os from typing import Sequence diff --git a/setup.py b/setup.py index 1756551e..3d2ac921 100644 --- a/setup.py +++ b/setup.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os import re diff --git a/src/api.py b/src/api.py index 3655e393..0f925497 100644 --- a/src/api.py +++ b/src/api.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os import uvicorn diff --git a/src/llamafactory/__init__.py b/src/llamafactory/__init__.py index 78230937..9d732777 100644 --- a/src/llamafactory/__init__.py +++ b/src/llamafactory/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + # Level: api, webui > chat, eval, train > data, model > hparams > extras from .cli import VERSION diff --git a/src/llamafactory/api/app.py b/src/llamafactory/api/app.py index 21edab2f..c1264617 100644 --- a/src/llamafactory/api/app.py +++ b/src/llamafactory/api/app.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os from contextlib import asynccontextmanager from typing import Optional diff --git a/src/llamafactory/api/chat.py b/src/llamafactory/api/chat.py index 98957bc1..a2074dbb 100644 --- a/src/llamafactory/api/chat.py +++ b/src/llamafactory/api/chat.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import base64 import io import json diff --git a/src/llamafactory/api/common.py b/src/llamafactory/api/common.py index 5ad9a071..d1ac94de 100644 --- a/src/llamafactory/api/common.py +++ b/src/llamafactory/api/common.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json from typing import TYPE_CHECKING, Any, Dict diff --git a/src/llamafactory/api/protocol.py b/src/llamafactory/api/protocol.py index 055fa781..a69132ea 100644 --- a/src/llamafactory/api/protocol.py +++ b/src/llamafactory/api/protocol.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import time from enum import Enum, unique from typing import Any, Dict, List, Optional, Union diff --git a/src/llamafactory/chat/__init__.py b/src/llamafactory/chat/__init__.py index a1a79de6..07276d48 100644 --- a/src/llamafactory/chat/__init__.py +++ b/src/llamafactory/chat/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from .base_engine import BaseEngine from .chat_model import ChatModel diff --git a/src/llamafactory/chat/base_engine.py b/src/llamafactory/chat/base_engine.py index 65b6c59c..92a51ebe 100644 --- a/src/llamafactory/chat/base_engine.py +++ b/src/llamafactory/chat/base_engine.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from abc import ABC, abstractmethod from dataclasses import dataclass from typing import TYPE_CHECKING, Any, AsyncGenerator, Dict, List, Literal, Optional, Sequence, Union diff --git a/src/llamafactory/chat/chat_model.py b/src/llamafactory/chat/chat_model.py index 281ef0c1..fb800106 100644 --- a/src/llamafactory/chat/chat_model.py +++ b/src/llamafactory/chat/chat_model.py @@ -1,3 +1,20 @@ +# Copyright 2024 THUDM and the LlamaFactory team. +# +# This code is inspired by the THUDM's ChatGLM implementation. +# https://github.com/THUDM/ChatGLM-6B/blob/main/cli_demo.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import asyncio from threading import Thread from typing import TYPE_CHECKING, Any, AsyncGenerator, Dict, Generator, List, Optional, Sequence diff --git a/src/llamafactory/chat/hf_engine.py b/src/llamafactory/chat/hf_engine.py index 28e6a409..a7ff7015 100644 --- a/src/llamafactory/chat/hf_engine.py +++ b/src/llamafactory/chat/hf_engine.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import asyncio import concurrent.futures import os diff --git a/src/llamafactory/chat/vllm_engine.py b/src/llamafactory/chat/vllm_engine.py index f0812a99..d488a039 100644 --- a/src/llamafactory/chat/vllm_engine.py +++ b/src/llamafactory/chat/vllm_engine.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import uuid from typing import TYPE_CHECKING, AsyncGenerator, AsyncIterator, Dict, List, Optional, Sequence, Union diff --git a/src/llamafactory/cli.py b/src/llamafactory/cli.py index 5042e53c..c7f136b3 100644 --- a/src/llamafactory/cli.py +++ b/src/llamafactory/cli.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os import random import subprocess diff --git a/src/llamafactory/data/__init__.py b/src/llamafactory/data/__init__.py index b08691d3..307853bc 100644 --- a/src/llamafactory/data/__init__.py +++ b/src/llamafactory/data/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from .collator import KTODataCollatorWithPadding, PairwiseDataCollatorWithPadding from .data_utils import Role, split_dataset from .loader import get_dataset diff --git a/src/llamafactory/data/aligner.py b/src/llamafactory/data/aligner.py index 3e9d5c46..299bdca3 100644 --- a/src/llamafactory/data/aligner.py +++ b/src/llamafactory/data/aligner.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os from functools import partial from typing import TYPE_CHECKING, Any, Dict, List, Union diff --git a/src/llamafactory/data/collator.py b/src/llamafactory/data/collator.py index 1dc8dd8d..e4859ff5 100644 --- a/src/llamafactory/data/collator.py +++ b/src/llamafactory/data/collator.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from dataclasses import dataclass from typing import Any, Dict, Sequence diff --git a/src/llamafactory/data/data_utils.py b/src/llamafactory/data/data_utils.py index 9b313112..cc9761b1 100644 --- a/src/llamafactory/data/data_utils.py +++ b/src/llamafactory/data/data_utils.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from enum import Enum, unique from typing import TYPE_CHECKING, Dict, List, Tuple, Union diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index 0cd3d6c1..590e682b 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import re from abc import ABC, abstractmethod diff --git a/src/llamafactory/data/loader.py b/src/llamafactory/data/loader.py index ba426f81..f44ef5de 100644 --- a/src/llamafactory/data/loader.py +++ b/src/llamafactory/data/loader.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import inspect import os import sys diff --git a/src/llamafactory/data/parser.py b/src/llamafactory/data/parser.py index ec97bfc1..4bebcd68 100644 --- a/src/llamafactory/data/parser.py +++ b/src/llamafactory/data/parser.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import os from dataclasses import dataclass diff --git a/src/llamafactory/data/preprocess.py b/src/llamafactory/data/preprocess.py index 875f55d6..9a8b97f3 100644 --- a/src/llamafactory/data/preprocess.py +++ b/src/llamafactory/data/preprocess.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from functools import partial from typing import TYPE_CHECKING, Callable, Literal, Optional, Tuple diff --git a/src/llamafactory/data/processors/feedback.py b/src/llamafactory/data/processors/feedback.py index 5fba452c..219ab353 100644 --- a/src/llamafactory/data/processors/feedback.py +++ b/src/llamafactory/data/processors/feedback.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence, Tuple from ...extras.constants import IGNORE_INDEX diff --git a/src/llamafactory/data/processors/pairwise.py b/src/llamafactory/data/processors/pairwise.py index db52c6a7..b2939348 100644 --- a/src/llamafactory/data/processors/pairwise.py +++ b/src/llamafactory/data/processors/pairwise.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence, Tuple from ...extras.constants import IGNORE_INDEX diff --git a/src/llamafactory/data/processors/pretrain.py b/src/llamafactory/data/processors/pretrain.py index a10ccabd..fb4c840c 100644 --- a/src/llamafactory/data/processors/pretrain.py +++ b/src/llamafactory/data/processors/pretrain.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's transformers library. +# https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/language-modeling/run_clm.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from itertools import chain from typing import TYPE_CHECKING, Any, Dict, List diff --git a/src/llamafactory/data/processors/processor_utils.py b/src/llamafactory/data/processors/processor_utils.py index 9903a053..93df0cd5 100644 --- a/src/llamafactory/data/processors/processor_utils.py +++ b/src/llamafactory/data/processors/processor_utils.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import bisect from typing import TYPE_CHECKING, List, Sequence diff --git a/src/llamafactory/data/processors/supervised.py b/src/llamafactory/data/processors/supervised.py index f59f5371..eb5ffb1a 100644 --- a/src/llamafactory/data/processors/supervised.py +++ b/src/llamafactory/data/processors/supervised.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from collections import defaultdict from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence, Tuple diff --git a/src/llamafactory/data/processors/unsupervised.py b/src/llamafactory/data/processors/unsupervised.py index 38497a15..75ad4d51 100644 --- a/src/llamafactory/data/processors/unsupervised.py +++ b/src/llamafactory/data/processors/unsupervised.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence, Tuple from ...extras.logging import get_logger diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index b600c567..786c679f 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from dataclasses import dataclass from typing import TYPE_CHECKING, Dict, List, Optional, Sequence, Tuple, Union diff --git a/src/llamafactory/eval/evaluator.py b/src/llamafactory/eval/evaluator.py index 5c6fb104..bbd7a44b 100644 --- a/src/llamafactory/eval/evaluator.py +++ b/src/llamafactory/eval/evaluator.py @@ -1,4 +1,41 @@ -# Inspired by: https://github.com/hendrycks/test/blob/master/evaluate_flan.py +# Copyright 2024 the LlamaFactory team. +# +# This code is inspired by Dan's test library. +# https://github.com/hendrycks/test/blob/master/evaluate_flan.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# MIT License +# +# Copyright (c) 2020 Dan Hendrycks +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. import inspect import json diff --git a/src/llamafactory/eval/template.py b/src/llamafactory/eval/template.py index 2cbb5aaf..7d524e7c 100644 --- a/src/llamafactory/eval/template.py +++ b/src/llamafactory/eval/template.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from dataclasses import dataclass from typing import Dict, List, Sequence, Tuple diff --git a/src/llamafactory/extras/callbacks.py b/src/llamafactory/extras/callbacks.py index 441ebbfd..0dff6a69 100644 --- a/src/llamafactory/extras/callbacks.py +++ b/src/llamafactory/extras/callbacks.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import logging import os diff --git a/src/llamafactory/extras/constants.py b/src/llamafactory/extras/constants.py index 7d96fb5f..e31e7419 100644 --- a/src/llamafactory/extras/constants.py +++ b/src/llamafactory/extras/constants.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from collections import OrderedDict, defaultdict from enum import Enum from typing import Dict, Optional diff --git a/src/llamafactory/extras/env.py b/src/llamafactory/extras/env.py index a8cb799d..586c24c0 100644 --- a/src/llamafactory/extras/env.py +++ b/src/llamafactory/extras/env.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import platform import accelerate diff --git a/src/llamafactory/extras/logging.py b/src/llamafactory/extras/logging.py index 430b8a48..67622212 100644 --- a/src/llamafactory/extras/logging.py +++ b/src/llamafactory/extras/logging.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import logging import os import sys diff --git a/src/llamafactory/extras/misc.py b/src/llamafactory/extras/misc.py index fc33f77e..3d969df1 100644 --- a/src/llamafactory/extras/misc.py +++ b/src/llamafactory/extras/misc.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import gc import os from typing import TYPE_CHECKING, Dict, Tuple diff --git a/src/llamafactory/extras/packages.py b/src/llamafactory/extras/packages.py index 0746bb4f..35f546ab 100644 --- a/src/llamafactory/extras/packages.py +++ b/src/llamafactory/extras/packages.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's transformers library. +# https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/utils/import_utils.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import importlib.metadata import importlib.util from functools import lru_cache diff --git a/src/llamafactory/extras/ploting.py b/src/llamafactory/extras/ploting.py index dea23bbe..596d55e7 100644 --- a/src/llamafactory/extras/ploting.py +++ b/src/llamafactory/extras/ploting.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import math import os diff --git a/src/llamafactory/hparams/__init__.py b/src/llamafactory/hparams/__init__.py index d1ee98dd..cfe448c1 100644 --- a/src/llamafactory/hparams/__init__.py +++ b/src/llamafactory/hparams/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from .data_args import DataArguments from .evaluation_args import EvaluationArguments from .finetuning_args import FinetuningArguments diff --git a/src/llamafactory/hparams/data_args.py b/src/llamafactory/hparams/data_args.py index 1e0cd08c..95284766 100644 --- a/src/llamafactory/hparams/data_args.py +++ b/src/llamafactory/hparams/data_args.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's transformers library. +# https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/language-modeling/run_clm.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from dataclasses import dataclass, field from typing import Literal, Optional diff --git a/src/llamafactory/hparams/evaluation_args.py b/src/llamafactory/hparams/evaluation_args.py index 5a05f6f6..a7f221ca 100644 --- a/src/llamafactory/hparams/evaluation_args.py +++ b/src/llamafactory/hparams/evaluation_args.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os from dataclasses import dataclass, field from typing import Literal, Optional diff --git a/src/llamafactory/hparams/finetuning_args.py b/src/llamafactory/hparams/finetuning_args.py index facbe792..52dc299e 100644 --- a/src/llamafactory/hparams/finetuning_args.py +++ b/src/llamafactory/hparams/finetuning_args.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from dataclasses import dataclass, field from typing import List, Literal, Optional diff --git a/src/llamafactory/hparams/generating_args.py b/src/llamafactory/hparams/generating_args.py index 0ee17d1a..7ebb4eed 100644 --- a/src/llamafactory/hparams/generating_args.py +++ b/src/llamafactory/hparams/generating_args.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from dataclasses import asdict, dataclass, field from typing import Any, Dict, Optional diff --git a/src/llamafactory/hparams/model_args.py b/src/llamafactory/hparams/model_args.py index bbac2e4b..0a91f0fa 100644 --- a/src/llamafactory/hparams/model_args.py +++ b/src/llamafactory/hparams/model_args.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's transformers library. +# https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/language-modeling/run_clm.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from dataclasses import asdict, dataclass, field from typing import TYPE_CHECKING, Any, Dict, Literal, Optional, Union diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 3476a726..1c57567c 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's transformers library. +# https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/language-modeling/run_clm.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import logging import os import sys diff --git a/src/llamafactory/launcher.py b/src/llamafactory/launcher.py index de154db9..65e0b68f 100644 --- a/src/llamafactory/launcher.py +++ b/src/llamafactory/launcher.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from llamafactory.train.tuner import run_exp diff --git a/src/llamafactory/model/__init__.py b/src/llamafactory/model/__init__.py index 9d23d59f..4abbaa1b 100644 --- a/src/llamafactory/model/__init__.py +++ b/src/llamafactory/model/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from .loader import load_config, load_model, load_tokenizer from .model_utils.misc import find_all_linear_modules from .model_utils.valuehead import load_valuehead_params diff --git a/src/llamafactory/model/adapter.py b/src/llamafactory/model/adapter.py index c37f6009..dfa71525 100644 --- a/src/llamafactory/model/adapter.py +++ b/src/llamafactory/model/adapter.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import re from typing import TYPE_CHECKING diff --git a/src/llamafactory/model/loader.py b/src/llamafactory/model/loader.py index 697a04e7..69cccd93 100644 --- a/src/llamafactory/model/loader.py +++ b/src/llamafactory/model/loader.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Any, Dict, Optional, TypedDict from transformers import AutoConfig, AutoModelForCausalLM, AutoModelForVision2Seq, AutoProcessor, AutoTokenizer diff --git a/src/llamafactory/model/model_utils/attention.py b/src/llamafactory/model/model_utils/attention.py index 2bd36fdc..8ff3807b 100644 --- a/src/llamafactory/model/model_utils/attention.py +++ b/src/llamafactory/model/model_utils/attention.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING from transformers.utils import is_flash_attn_2_available, is_torch_sdpa_available diff --git a/src/llamafactory/model/model_utils/checkpointing.py b/src/llamafactory/model/model_utils/checkpointing.py index e0657be8..e4e84b12 100644 --- a/src/llamafactory/model/model_utils/checkpointing.py +++ b/src/llamafactory/model/model_utils/checkpointing.py @@ -1,3 +1,21 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's Transformers and PEFT library. +# https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/modeling_utils.py +# https://github.com/huggingface/peft/blob/v0.10.0/src/peft/utils/other.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import inspect from functools import partial from types import MethodType @@ -68,7 +86,6 @@ def prepare_model_for_training( (1) cast the layernorm in fp32 (2) make output embedding layer require grads (3) add the upcasting of the lm_head in fp32 - Inspired by: https://github.com/huggingface/peft/blob/v0.7.1/src/peft/utils/other.py#L72 """ if model_args.upcast_layernorm: logger.info("Upcasting layernorm weights in float32.") diff --git a/src/llamafactory/model/model_utils/embedding.py b/src/llamafactory/model/model_utils/embedding.py index 3d9278e3..3ff79828 100644 --- a/src/llamafactory/model/model_utils/embedding.py +++ b/src/llamafactory/model/model_utils/embedding.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import math from contextlib import nullcontext from typing import TYPE_CHECKING diff --git a/src/llamafactory/model/model_utils/longlora.py b/src/llamafactory/model/model_utils/longlora.py index 4a8c562a..7af43dcf 100644 --- a/src/llamafactory/model/model_utils/longlora.py +++ b/src/llamafactory/model/model_utils/longlora.py @@ -1,3 +1,20 @@ +# Copyright 2024 EleutherAI, HuggingFace Inc., and the LlamaFactory team. +# +# This code is based on the EleutherAI's GPT-NeoX and HuggingFace's Transformers libraries. +# https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/models/llama/modeling_llama.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import math from typing import TYPE_CHECKING, Optional, Tuple diff --git a/src/llamafactory/model/model_utils/misc.py b/src/llamafactory/model/model_utils/misc.py index 4851bd29..a2812228 100644 --- a/src/llamafactory/model/model_utils/misc.py +++ b/src/llamafactory/model/model_utils/misc.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, List from ...extras.logging import get_logger diff --git a/src/llamafactory/model/model_utils/mod.py b/src/llamafactory/model/model_utils/mod.py index 5708a1a8..ec73af00 100644 --- a/src/llamafactory/model/model_utils/mod.py +++ b/src/llamafactory/model/model_utils/mod.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING from ...extras.constants import MOD_SUPPORTED_MODELS diff --git a/src/llamafactory/model/model_utils/moe.py b/src/llamafactory/model/model_utils/moe.py index 8a73c844..5c7473aa 100644 --- a/src/llamafactory/model/model_utils/moe.py +++ b/src/llamafactory/model/model_utils/moe.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Sequence import torch diff --git a/src/llamafactory/model/model_utils/quantization.py b/src/llamafactory/model/model_utils/quantization.py index 02a54f07..9e6b9da4 100644 --- a/src/llamafactory/model/model_utils/quantization.py +++ b/src/llamafactory/model/model_utils/quantization.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's Optimum library. +# https://github.com/huggingface/optimum/blob/v1.20.0/optimum/gptq/data.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os import random from enum import Enum, unique @@ -41,7 +58,6 @@ class QuantizationMethod(str, Enum): def _get_quantization_dataset(tokenizer: "PreTrainedTokenizer", model_args: "ModelArguments") -> List[str]: r""" - Inspired by: https://github.com/huggingface/optimum/blob/v1.16.0/optimum/gptq/data.py#L133 TODO: remove tokenizer.decode() https://github.com/huggingface/optimum/pull/1600 """ if os.path.isfile(model_args.export_quantization_dataset): diff --git a/src/llamafactory/model/model_utils/rope.py b/src/llamafactory/model/model_utils/rope.py index 93ab8929..88303c4d 100644 --- a/src/llamafactory/model/model_utils/rope.py +++ b/src/llamafactory/model/model_utils/rope.py @@ -1,3 +1,21 @@ +# Copyright 2024 LMSYS and the LlamaFactory team. +# Copyright 2023 Rohan Taori, Ishaan Gulrajani, Tianyi Zhang, Yann Dubois, Xuechen Li +# +# This code is inspired by the LMSYS's FastChat library. +# https://github.com/lm-sys/FastChat/blob/v0.2.30/fastchat/train/train.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import math from typing import TYPE_CHECKING diff --git a/src/llamafactory/model/model_utils/unsloth.py b/src/llamafactory/model/model_utils/unsloth.py index 8a16409d..9cfaec61 100644 --- a/src/llamafactory/model/model_utils/unsloth.py +++ b/src/llamafactory/model/model_utils/unsloth.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Any, Dict, Optional from ...extras.logging import get_logger diff --git a/src/llamafactory/model/model_utils/valuehead.py b/src/llamafactory/model/model_utils/valuehead.py index 64333688..9ab3d45a 100644 --- a/src/llamafactory/model/model_utils/valuehead.py +++ b/src/llamafactory/model/model_utils/valuehead.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Dict import torch diff --git a/src/llamafactory/model/model_utils/visual.py b/src/llamafactory/model/model_utils/visual.py index c8260b7f..37237485 100644 --- a/src/llamafactory/model/model_utils/visual.py +++ b/src/llamafactory/model/model_utils/visual.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's TRL library. +# https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/models/llava/modeling_llava.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Tuple import torch diff --git a/src/llamafactory/model/patcher.py b/src/llamafactory/model/patcher.py index b97ff433..053516e4 100644 --- a/src/llamafactory/model/patcher.py +++ b/src/llamafactory/model/patcher.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os from types import MethodType from typing import TYPE_CHECKING, Any, Dict diff --git a/src/llamafactory/train/dpo/__init__.py b/src/llamafactory/train/dpo/__init__.py index 43fe9420..9ce0d089 100644 --- a/src/llamafactory/train/dpo/__init__.py +++ b/src/llamafactory/train/dpo/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from .workflow import run_dpo diff --git a/src/llamafactory/train/dpo/trainer.py b/src/llamafactory/train/dpo/trainer.py index 5bdb9c43..475d08c3 100644 --- a/src/llamafactory/train/dpo/trainer.py +++ b/src/llamafactory/train/dpo/trainer.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's TRL library. +# https://github.com/huggingface/trl/blob/v0.8.0/trl/trainer/dpo_trainer.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import warnings from collections import defaultdict from contextlib import nullcontext diff --git a/src/llamafactory/train/dpo/workflow.py b/src/llamafactory/train/dpo/workflow.py index 992985b0..8c3c2eb1 100644 --- a/src/llamafactory/train/dpo/workflow.py +++ b/src/llamafactory/train/dpo/workflow.py @@ -1,4 +1,19 @@ -# Inspired by: https://github.com/huggingface/trl/blob/main/examples/research_projects/stack_llama_2/scripts/dpo_llama2.py +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's TRL library. +# https://github.com/huggingface/trl/blob/v0.8.0/examples/scripts/dpo.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. from typing import TYPE_CHECKING, List, Optional diff --git a/src/llamafactory/train/kto/__init__.py b/src/llamafactory/train/kto/__init__.py index 34c7905a..a1900368 100644 --- a/src/llamafactory/train/kto/__init__.py +++ b/src/llamafactory/train/kto/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from .workflow import run_kto diff --git a/src/llamafactory/train/kto/trainer.py b/src/llamafactory/train/kto/trainer.py index 3b4488fc..6e96fc0c 100644 --- a/src/llamafactory/train/kto/trainer.py +++ b/src/llamafactory/train/kto/trainer.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's TRL library. +# https://github.com/huggingface/trl/blob/v0.8.0/trl/trainer/kto_trainer.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import warnings from collections import defaultdict from contextlib import nullcontext diff --git a/src/llamafactory/train/kto/workflow.py b/src/llamafactory/train/kto/workflow.py index c79b160b..8a7af6d4 100644 --- a/src/llamafactory/train/kto/workflow.py +++ b/src/llamafactory/train/kto/workflow.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's TRL library. +# https://github.com/huggingface/trl/blob/v0.8.0/examples/scripts/kto.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, List, Optional from ...data import KTODataCollatorWithPadding, get_dataset, split_dataset diff --git a/src/llamafactory/train/ppo/__init__.py b/src/llamafactory/train/ppo/__init__.py index d17336d5..161f6f5d 100644 --- a/src/llamafactory/train/ppo/__init__.py +++ b/src/llamafactory/train/ppo/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from .workflow import run_ppo diff --git a/src/llamafactory/train/ppo/ppo_utils.py b/src/llamafactory/train/ppo/ppo_utils.py index fec3fc1e..05c40946 100644 --- a/src/llamafactory/train/ppo/ppo_utils.py +++ b/src/llamafactory/train/ppo/ppo_utils.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json from contextlib import nullcontext from typing import TYPE_CHECKING, Dict, List, Literal, Optional diff --git a/src/llamafactory/train/ppo/trainer.py b/src/llamafactory/train/ppo/trainer.py index 45f47455..61420f3b 100644 --- a/src/llamafactory/train/ppo/trainer.py +++ b/src/llamafactory/train/ppo/trainer.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's TRL library. +# https://github.com/huggingface/trl/blob/v0.8.0/trl/trainer/ppo_trainer.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import math import os import sys diff --git a/src/llamafactory/train/ppo/workflow.py b/src/llamafactory/train/ppo/workflow.py index 111704c6..891d539a 100644 --- a/src/llamafactory/train/ppo/workflow.py +++ b/src/llamafactory/train/ppo/workflow.py @@ -1,4 +1,19 @@ -# Inspired by: https://github.com/lvwerra/trl/blob/main/examples/research_projects/stack_llama/scripts/rl_training.py +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's TRL library. +# https://github.com/huggingface/trl/blob/v0.8.0/examples/scripts/ppo.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. from typing import TYPE_CHECKING, List, Optional diff --git a/src/llamafactory/train/pt/__init__.py b/src/llamafactory/train/pt/__init__.py index bdf397f6..d80e6f22 100644 --- a/src/llamafactory/train/pt/__init__.py +++ b/src/llamafactory/train/pt/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from .workflow import run_pt diff --git a/src/llamafactory/train/pt/trainer.py b/src/llamafactory/train/pt/trainer.py index 1d96e82f..09729f2e 100644 --- a/src/llamafactory/train/pt/trainer.py +++ b/src/llamafactory/train/pt/trainer.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from types import MethodType from typing import TYPE_CHECKING, Dict, Optional diff --git a/src/llamafactory/train/pt/workflow.py b/src/llamafactory/train/pt/workflow.py index 8a635567..f1df314e 100644 --- a/src/llamafactory/train/pt/workflow.py +++ b/src/llamafactory/train/pt/workflow.py @@ -1,4 +1,19 @@ -# Inspired by: https://github.com/huggingface/transformers/blob/v4.34.1/examples/pytorch/language-modeling/run_clm.py +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's transformers library. +# https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/language-modeling/run_clm.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. import math from typing import TYPE_CHECKING, List, Optional diff --git a/src/llamafactory/train/rm/__init__.py b/src/llamafactory/train/rm/__init__.py index dedac35f..48278315 100644 --- a/src/llamafactory/train/rm/__init__.py +++ b/src/llamafactory/train/rm/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from .workflow import run_rm diff --git a/src/llamafactory/train/rm/metric.py b/src/llamafactory/train/rm/metric.py index 99dc6ab8..fb880b1c 100644 --- a/src/llamafactory/train/rm/metric.py +++ b/src/llamafactory/train/rm/metric.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import Dict, Sequence, Tuple, Union import numpy as np diff --git a/src/llamafactory/train/rm/trainer.py b/src/llamafactory/train/rm/trainer.py index bfb344dc..14695d7d 100644 --- a/src/llamafactory/train/rm/trainer.py +++ b/src/llamafactory/train/rm/trainer.py @@ -1,3 +1,42 @@ +# Copyright 2024 the LlamaFactory team. +# +# This code is inspired by CarperAI's trlx library. +# https://github.com/CarperAI/trlx/blob/v0.7.0/examples/summarize_rlhf/reward_model/reward_model.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# MIT License +# +# Copyright (c) 2022 CarperAI +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + import json import os from types import MethodType @@ -79,7 +118,6 @@ class PairwiseTrainer(Trainer): chosen_scores, rejected_scores = [], [] # Compute pairwise loss. Only backprop on the different tokens before padding - # Inspired by: https://github.com/CarperAI/trlx/blob/main/examples/summarize_rlhf/reward_model/reward_model.py loss = 0 for i in range(batch_size): chosen_length = (chosen_input_ids[i] != self.tokenizer.pad_token_id).nonzero()[-1] + 1 diff --git a/src/llamafactory/train/rm/workflow.py b/src/llamafactory/train/rm/workflow.py index 2e9e194b..75c0a2bf 100644 --- a/src/llamafactory/train/rm/workflow.py +++ b/src/llamafactory/train/rm/workflow.py @@ -1,4 +1,41 @@ -# Inspired by: https://github.com/CarperAI/trlx/blob/main/examples/summarize_rlhf/reward_model/train_reward_model_gptj.py +# Copyright 2024 the LlamaFactory team. +# +# This code is inspired by CarperAI's trlx library. +# https://github.com/CarperAI/trlx/blob/v0.7.0/examples/summarize_rlhf/reward_model/train_reward_model_gptj.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# MIT License +# +# Copyright (c) 2022 CarperAI +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. from typing import TYPE_CHECKING, List, Optional diff --git a/src/llamafactory/train/sft/__init__.py b/src/llamafactory/train/sft/__init__.py index f2f84e78..475dfe5f 100644 --- a/src/llamafactory/train/sft/__init__.py +++ b/src/llamafactory/train/sft/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from .workflow import run_sft diff --git a/src/llamafactory/train/sft/metric.py b/src/llamafactory/train/sft/metric.py index 923238d6..d2147c22 100644 --- a/src/llamafactory/train/sft/metric.py +++ b/src/llamafactory/train/sft/metric.py @@ -1,3 +1,21 @@ +# Copyright 2024 HuggingFace Inc., THUDM, and the LlamaFactory team. +# +# This code is inspired by HuggingFace's transformers library and THUDM's ChatGLM implementation. +# https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/summarization/run_summarization.py +# https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/main.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from dataclasses import dataclass from typing import TYPE_CHECKING, Dict, Sequence, Tuple, Union diff --git a/src/llamafactory/train/sft/trainer.py b/src/llamafactory/train/sft/trainer.py index 6bf5b7c0..6ab6914e 100644 --- a/src/llamafactory/train/sft/trainer.py +++ b/src/llamafactory/train/sft/trainer.py @@ -1,3 +1,20 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's transformers library. +# https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/trainer_seq2seq.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import os from types import MethodType diff --git a/src/llamafactory/train/sft/workflow.py b/src/llamafactory/train/sft/workflow.py index a989b3f7..dfc71cfb 100644 --- a/src/llamafactory/train/sft/workflow.py +++ b/src/llamafactory/train/sft/workflow.py @@ -1,4 +1,19 @@ -# Inspired by: https://github.com/huggingface/transformers/blob/v4.34.1/examples/pytorch/summarization/run_summarization.py +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by HuggingFace's transformers library. +# https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/summarization/run_summarization.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. from typing import TYPE_CHECKING, List, Optional diff --git a/src/llamafactory/train/trainer_utils.py b/src/llamafactory/train/trainer_utils.py index 48944a63..5621d5df 100644 --- a/src/llamafactory/train/trainer_utils.py +++ b/src/llamafactory/train/trainer_utils.py @@ -1,3 +1,22 @@ +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by the GaLore's implementation: https://github.com/jiaweizzhao/GaLore +# and the LoRA+'s implementation: https://github.com/nikhil-ghosh-berkeley/loraplus +# and the BAdam's implementation: https://github.com/Ledzy/BAdam +# and the TRL's implementation: https://github.com/huggingface/trl +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Callable, Dict, List, Optional, Tuple, Union import torch diff --git a/src/llamafactory/train/tuner.py b/src/llamafactory/train/tuner.py index eed875e9..788b4c4f 100644 --- a/src/llamafactory/train/tuner.py +++ b/src/llamafactory/train/tuner.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Any, Dict, List, Optional import torch diff --git a/src/llamafactory/webui/chatter.py b/src/llamafactory/webui/chatter.py index c82710d3..864c41c7 100644 --- a/src/llamafactory/webui/chatter.py +++ b/src/llamafactory/webui/chatter.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import os from typing import TYPE_CHECKING, Dict, Generator, List, Optional, Sequence, Tuple diff --git a/src/llamafactory/webui/common.py b/src/llamafactory/webui/common.py index 3b8d5378..980428a4 100644 --- a/src/llamafactory/webui/common.py +++ b/src/llamafactory/webui/common.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import os from collections import defaultdict diff --git a/src/llamafactory/webui/components/__init__.py b/src/llamafactory/webui/components/__init__.py index 5c1e21b8..715fb6e4 100644 --- a/src/llamafactory/webui/components/__init__.py +++ b/src/llamafactory/webui/components/__init__.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from .chatbot import create_chat_box from .eval import create_eval_tab from .export import create_export_tab diff --git a/src/llamafactory/webui/components/chatbot.py b/src/llamafactory/webui/components/chatbot.py index f83694b1..ad74114b 100644 --- a/src/llamafactory/webui/components/chatbot.py +++ b/src/llamafactory/webui/components/chatbot.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Dict, Tuple from ...data import Role diff --git a/src/llamafactory/webui/components/data.py b/src/llamafactory/webui/components/data.py index 232b973d..88e500cf 100644 --- a/src/llamafactory/webui/components/data.py +++ b/src/llamafactory/webui/components/data.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import os from typing import TYPE_CHECKING, Any, Dict, List, Tuple diff --git a/src/llamafactory/webui/components/eval.py b/src/llamafactory/webui/components/eval.py index 0a7a0f44..b522913e 100644 --- a/src/llamafactory/webui/components/eval.py +++ b/src/llamafactory/webui/components/eval.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Dict from ...extras.packages import is_gradio_available diff --git a/src/llamafactory/webui/components/export.py b/src/llamafactory/webui/components/export.py index 9d756a38..14257949 100644 --- a/src/llamafactory/webui/components/export.py +++ b/src/llamafactory/webui/components/export.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Dict, Generator, List, Union from ...extras.constants import PEFT_METHODS diff --git a/src/llamafactory/webui/components/infer.py b/src/llamafactory/webui/components/infer.py index 970f4629..03bccd7f 100644 --- a/src/llamafactory/webui/components/infer.py +++ b/src/llamafactory/webui/components/infer.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Dict from ...extras.packages import is_gradio_available diff --git a/src/llamafactory/webui/components/top.py b/src/llamafactory/webui/components/top.py index fd0ead3d..2515a83d 100644 --- a/src/llamafactory/webui/components/top.py +++ b/src/llamafactory/webui/components/top.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Dict from ...data import TEMPLATES diff --git a/src/llamafactory/webui/components/train.py b/src/llamafactory/webui/components/train.py index 72dfc858..673f6bf4 100644 --- a/src/llamafactory/webui/components/train.py +++ b/src/llamafactory/webui/components/train.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Dict from transformers.trainer_utils import SchedulerType diff --git a/src/llamafactory/webui/css.py b/src/llamafactory/webui/css.py index 36e3d4c2..53982119 100644 --- a/src/llamafactory/webui/css.py +++ b/src/llamafactory/webui/css.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + CSS = r""" .duplicate-button { margin: auto !important; diff --git a/src/llamafactory/webui/engine.py b/src/llamafactory/webui/engine.py index eb6142d3..04893215 100644 --- a/src/llamafactory/webui/engine.py +++ b/src/llamafactory/webui/engine.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Any, Dict from .chatter import WebChatModel diff --git a/src/llamafactory/webui/interface.py b/src/llamafactory/webui/interface.py index bae3ba76..d25f4d38 100644 --- a/src/llamafactory/webui/interface.py +++ b/src/llamafactory/webui/interface.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os from ..extras.packages import is_gradio_available diff --git a/src/llamafactory/webui/locales.py b/src/llamafactory/webui/locales.py index e30feab2..427f01b8 100644 --- a/src/llamafactory/webui/locales.py +++ b/src/llamafactory/webui/locales.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + LOCALES = { "lang": { "en": { diff --git a/src/llamafactory/webui/manager.py b/src/llamafactory/webui/manager.py index 326fdb8d..7e9b801a 100644 --- a/src/llamafactory/webui/manager.py +++ b/src/llamafactory/webui/manager.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from typing import TYPE_CHECKING, Dict, Generator, List, Set, Tuple diff --git a/src/llamafactory/webui/runner.py b/src/llamafactory/webui/runner.py index 35014628..76982934 100644 --- a/src/llamafactory/webui/runner.py +++ b/src/llamafactory/webui/runner.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os from copy import deepcopy from subprocess import Popen, TimeoutExpired diff --git a/src/llamafactory/webui/utils.py b/src/llamafactory/webui/utils.py index e39f2aa4..6ce2a8e7 100644 --- a/src/llamafactory/webui/utils.py +++ b/src/llamafactory/webui/utils.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import json import os import signal diff --git a/src/train.py b/src/train.py index b20aa9d2..6703ffdb 100644 --- a/src/train.py +++ b/src/train.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from llamafactory.train.tuner import run_exp diff --git a/src/webui.py b/src/webui.py index bbefb54e..99370af2 100644 --- a/src/webui.py +++ b/src/webui.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os from llamafactory.webui.interface import create_ui diff --git a/tests/data/test_supervised.py b/tests/data/test_supervised.py index 63a3453f..a72800d2 100644 --- a/tests/data/test_supervised.py +++ b/tests/data/test_supervised.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os import random diff --git a/tests/eval/test_eval_template.py b/tests/eval/test_eval_template.py index f6a91a67..f85d9d57 100644 --- a/tests/eval/test_eval_template.py +++ b/tests/eval/test_eval_template.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + from llamafactory.eval.template import get_eval_template diff --git a/tests/model/model_utils/test_attention.py b/tests/model/model_utils/test_attention.py index 751adda4..97ac9dcc 100644 --- a/tests/model/model_utils/test_attention.py +++ b/tests/model/model_utils/test_attention.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os from transformers.utils import is_flash_attn_2_available, is_torch_sdpa_available diff --git a/tests/model/test_base.py b/tests/model/test_base.py index 32a3918e..462e8cfa 100644 --- a/tests/model/test_base.py +++ b/tests/model/test_base.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os import torch diff --git a/tests/model/test_freeze.py b/tests/model/test_freeze.py index a0618315..ac5a023c 100644 --- a/tests/model/test_freeze.py +++ b/tests/model/test_freeze.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os import torch diff --git a/tests/model/test_full.py b/tests/model/test_full.py index 802b987c..bcd6480f 100644 --- a/tests/model/test_full.py +++ b/tests/model/test_full.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os import torch diff --git a/tests/model/test_lora.py b/tests/model/test_lora.py index 3e2503f1..e49c026c 100644 --- a/tests/model/test_lora.py +++ b/tests/model/test_lora.py @@ -1,3 +1,17 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + import os from typing import Sequence From f0d6e63f557f7bb932c122d41342cd579928e17d Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 15 Jun 2024 17:58:52 +0800 Subject: [PATCH 046/169] add minicpm #4227 Former-commit-id: 572d8bbfdd73c1a00b432f0d0411f46fad6aa1a6 --- src/llamafactory/extras/constants.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/llamafactory/extras/constants.py b/src/llamafactory/extras/constants.py index e31e7419..73a9969d 100644 --- a/src/llamafactory/extras/constants.py +++ b/src/llamafactory/extras/constants.py @@ -682,6 +682,21 @@ register_model_group( ) +register_model_group( + models={ + "MiniCPM-2B-SFT-Chat": { + DownloadSource.DEFAULT: "openbmb/MiniCPM-2B-sft-bf16", + DownloadSource.MODELSCOPE: "OpenBMB/miniCPM-bf16", + }, + "MiniCPM-2B-DPO-Chat": { + DownloadSource.DEFAULT: "openbmb/MiniCPM-2B-dpo-bf16", + DownloadSource.MODELSCOPE: "OpenBMB/MiniCPM-2B-dpo-bf16", + }, + }, + template="cpm", +) + + register_model_group( models={ "Mistral-7B-v0.1": { From 8053929b206fdb85bd39169b3a47a8b453e78a18 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 15 Jun 2024 19:51:20 +0800 Subject: [PATCH 047/169] add tests Former-commit-id: 1b834f50be64ae9b5123da0e6f528cfbd5167477 --- Makefile | 2 +- src/llamafactory/extras/misc.py | 9 ++- tests/data/test_supervised.py | 2 +- tests/model/model_utils/test_checkpointing.py | 74 +++++++++++++++++++ tests/model/test_base.py | 30 +++++++- tests/model/test_freeze.py | 3 + tests/model/test_full.py | 2 + tests/model/test_lora.py | 58 +++++++++++++-- 8 files changed, 166 insertions(+), 14 deletions(-) create mode 100644 tests/model/model_utils/test_checkpointing.py diff --git a/Makefile b/Makefile index 65be047b..3f13b215 100644 --- a/Makefile +++ b/Makefile @@ -11,4 +11,4 @@ style: ruff format $(check_dirs) test: - pytest tests/ + CUDA_VISIBLE_DEVICES= pytest tests/ diff --git a/src/llamafactory/extras/misc.py b/src/llamafactory/extras/misc.py index 3d969df1..93153b3e 100644 --- a/src/llamafactory/extras/misc.py +++ b/src/llamafactory/extras/misc.py @@ -22,6 +22,7 @@ from transformers import InfNanRemoveLogitsProcessor, LogitsProcessorList, PreTr from transformers.utils import ( SAFE_WEIGHTS_NAME, WEIGHTS_NAME, + is_safetensors_available, is_torch_bf16_gpu_available, is_torch_cuda_available, is_torch_mps_available, @@ -34,6 +35,11 @@ from .constants import V_HEAD_SAFE_WEIGHTS_NAME, V_HEAD_WEIGHTS_NAME from .logging import get_logger +if is_safetensors_available(): + from safetensors import safe_open + from safetensors.torch import save_file + + _is_fp16_available = is_torch_npu_available() or is_torch_cuda_available() try: _is_bf16_available = is_torch_bf16_gpu_available() @@ -128,9 +134,6 @@ def fix_valuehead_checkpoint( return if safe_serialization: - from safetensors import safe_open - from safetensors.torch import save_file - path_to_checkpoint = os.path.join(output_dir, SAFE_WEIGHTS_NAME) with safe_open(path_to_checkpoint, framework="pt", device="cpu") as f: state_dict: Dict[str, torch.Tensor] = {key: f.get_tensor(key) for key in f.keys()} diff --git a/tests/data/test_supervised.py b/tests/data/test_supervised.py index a72800d2..9f7b2dbf 100644 --- a/tests/data/test_supervised.py +++ b/tests/data/test_supervised.py @@ -41,7 +41,7 @@ TRAIN_ARGS = { } -@pytest.mark.parametrize("num_samples", [10]) +@pytest.mark.parametrize("num_samples", [16]) def test_supervised(num_samples: int): model_args, data_args, training_args, _, _ = get_train_args(TRAIN_ARGS) tokenizer_module = load_tokenizer(model_args) diff --git a/tests/model/model_utils/test_checkpointing.py b/tests/model/model_utils/test_checkpointing.py new file mode 100644 index 00000000..670e693d --- /dev/null +++ b/tests/model/model_utils/test_checkpointing.py @@ -0,0 +1,74 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +import torch + +from llamafactory.extras.misc import get_current_device +from llamafactory.hparams import get_train_args +from llamafactory.model import load_model, load_tokenizer + + +TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") + +TRAIN_ARGS = { + "model_name_or_path": TINY_LLAMA, + "stage": "sft", + "do_train": True, + "finetuning_type": "lora", + "lora_target": "all", + "dataset": "llamafactory/tiny-supervised-dataset", + "dataset_dir": "ONLINE", + "template": "llama3", + "cutoff_len": 1024, + "overwrite_cache": True, + "output_dir": "dummy_dir", + "overwrite_output_dir": True, + "fp16": True, +} + + +def test_checkpointing_enable(): + model_args, _, _, finetuning_args, _ = get_train_args({"disable_gradient_checkpointing": False, **TRAIN_ARGS}) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + for module in filter(lambda m: hasattr(m, "gradient_checkpointing"), model.modules()): + assert getattr(module, "gradient_checkpointing") is True + + +def test_checkpointing_disable(): + model_args, _, _, finetuning_args, _ = get_train_args({"disable_gradient_checkpointing": True, **TRAIN_ARGS}) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + for module in filter(lambda m: hasattr(m, "gradient_checkpointing"), model.modules()): + assert getattr(module, "gradient_checkpointing") is False + + +def test_upcast_layernorm(): + model_args, _, _, finetuning_args, _ = get_train_args({"upcast_layernorm": True, **TRAIN_ARGS}) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + for name, param in model.named_parameters(): + if param.ndim == 1 and "norm" in name: + assert param.dtype == torch.float32 + + +def test_upcast_lmhead_output(): + model_args, _, _, finetuning_args, _ = get_train_args({"upcast_lmhead_output": True, **TRAIN_ARGS}) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + inputs = torch.randn((1, 16), dtype=torch.float16, device=get_current_device()) + outputs: "torch.Tensor" = model.lm_head(inputs) + assert outputs.dtype == torch.float32 diff --git a/tests/model/test_base.py b/tests/model/test_base.py index 462e8cfa..ee0b2886 100644 --- a/tests/model/test_base.py +++ b/tests/model/test_base.py @@ -13,16 +13,21 @@ # limitations under the License. import os +from typing import Dict import torch from transformers import AutoModelForCausalLM +from trl import AutoModelForCausalLMWithValueHead +from llamafactory.extras.misc import get_current_device from llamafactory.hparams import get_infer_args from llamafactory.model import load_model, load_tokenizer TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") +TINY_LLAMA_VALUEHEAD = os.environ.get("TINY_LLAMA_VALUEHEAD", "llamafactory/tiny-random-Llama-3-valuehead") + INFER_ARGS = { "model_name_or_path": TINY_LLAMA, "template": "llama3", @@ -38,9 +43,32 @@ def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module"): assert torch.allclose(state_dict_a[name], state_dict_b[name]) is True +def post_init(self: "AutoModelForCausalLMWithValueHead", state_dict: Dict[str, "torch.Tensor"]): + state_dict = {k[7:]: state_dict[k] for k in state_dict.keys() if k.startswith("v_head.")} + self.v_head.load_state_dict(state_dict, strict=False) + del state_dict + + def test_base(): model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False) - ref_model = AutoModelForCausalLM.from_pretrained(TINY_LLAMA, torch_dtype=model.dtype, device_map=model.device) + + ref_model = AutoModelForCausalLM.from_pretrained( + TINY_LLAMA, torch_dtype=torch.float16, device_map=get_current_device() + ) + compare_model(model, ref_model) + + +def test_valuehead(): + AutoModelForCausalLMWithValueHead.post_init = post_init # patch for CPU test + model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) + tokenizer_module = load_tokenizer(model_args) + model = load_model( + tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False, add_valuehead=True + ) + + ref_model = AutoModelForCausalLMWithValueHead.from_pretrained( + TINY_LLAMA_VALUEHEAD, torch_dtype=torch.float16, device_map=get_current_device() + ) compare_model(model, ref_model) diff --git a/tests/model/test_freeze.py b/tests/model/test_freeze.py index ac5a023c..5f478af6 100644 --- a/tests/model/test_freeze.py +++ b/tests/model/test_freeze.py @@ -49,6 +49,7 @@ def test_freeze_train_all_modules(): model_args, _, _, finetuning_args, _ = get_train_args({"freeze_trainable_layers": 1, **TRAIN_ARGS}) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + for name, param in model.named_parameters(): if name.startswith("model.layers.1."): assert param.requires_grad is True @@ -64,6 +65,7 @@ def test_freeze_train_extra_modules(): ) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + for name, param in model.named_parameters(): if name.startswith("model.layers.1.") or any(module in name for module in ["embed_tokens", "lm_head"]): assert param.requires_grad is True @@ -77,6 +79,7 @@ def test_freeze_inference(): model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False) + for param in model.parameters(): assert param.requires_grad is False assert param.dtype == torch.float16 diff --git a/tests/model/test_full.py b/tests/model/test_full.py index bcd6480f..0a6e0743 100644 --- a/tests/model/test_full.py +++ b/tests/model/test_full.py @@ -49,6 +49,7 @@ def test_full_train(): model_args, _, _, finetuning_args, _ = get_train_args(TRAIN_ARGS) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + for param in model.parameters(): assert param.requires_grad is True assert param.dtype == torch.float32 @@ -58,6 +59,7 @@ def test_full_inference(): model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False) + for param in model.parameters(): assert param.requires_grad is False assert param.dtype == torch.float16 diff --git a/tests/model/test_lora.py b/tests/model/test_lora.py index e49c026c..4923c8ad 100644 --- a/tests/model/test_lora.py +++ b/tests/model/test_lora.py @@ -18,7 +18,9 @@ from typing import Sequence import torch from peft import LoraModel, PeftModel from transformers import AutoModelForCausalLM +from trl import AutoModelForCausalLMWithValueHead +from llamafactory.extras.misc import get_current_device from llamafactory.hparams import get_infer_args, get_train_args from llamafactory.model import load_model, load_tokenizer @@ -27,6 +29,8 @@ TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") TINY_LLAMA_ADAPTER = os.environ.get("TINY_LLAMA_ADAPTER", "llamafactory/tiny-random-Llama-3-lora") +TINY_LLAMA_VALUEHEAD = os.environ.get("TINY_LLAMA_VALUEHEAD", "llamafactory/tiny-random-Llama-3-valuehead") + TRAIN_ARGS = { "model_name_or_path": TINY_LLAMA, "stage": "sft", @@ -67,10 +71,29 @@ def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module", diff_k assert torch.allclose(state_dict_a[name], state_dict_b[name]) is True +def test_lora_train_qv_modules(): + model_args, _, _, finetuning_args, _ = get_train_args({"lora_target": "q_proj,v_proj", **TRAIN_ARGS}) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + + linear_modules = set() + for name, param in model.named_parameters(): + if any(module in name for module in ["lora_A", "lora_B"]): + linear_modules.add(name.split(".lora_", maxsplit=1)[0].split(".")[-1]) + assert param.requires_grad is True + assert param.dtype == torch.float32 + else: + assert param.requires_grad is False + assert param.dtype == torch.float16 + + assert linear_modules == {"q_proj", "v_proj"} + + def test_lora_train_all_modules(): model_args, _, _, finetuning_args, _ = get_train_args({"lora_target": "all", **TRAIN_ARGS}) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + linear_modules = set() for name, param in model.named_parameters(): if any(module in name for module in ["lora_A", "lora_B"]): @@ -90,6 +113,7 @@ def test_lora_train_extra_modules(): ) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + extra_modules = set() for name, param in model.named_parameters(): if any(module in name for module in ["lora_A", "lora_B"]): @@ -113,7 +137,9 @@ def test_lora_train_old_adapters(): tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) - base_model = AutoModelForCausalLM.from_pretrained(TINY_LLAMA, torch_dtype=model.dtype, device_map=model.device) + base_model = AutoModelForCausalLM.from_pretrained( + TINY_LLAMA, torch_dtype=torch.float16, device_map=get_current_device() + ) ref_model = PeftModel.from_pretrained(base_model, TINY_LLAMA_ADAPTER, is_trainable=True) for param in filter(lambda p: p.requires_grad, ref_model.parameters()): param.data = param.data.to(torch.float32) @@ -128,7 +154,9 @@ def test_lora_train_new_adapters(): tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) - base_model = AutoModelForCausalLM.from_pretrained(TINY_LLAMA, torch_dtype=model.dtype, device_map=model.device) + base_model = AutoModelForCausalLM.from_pretrained( + TINY_LLAMA, torch_dtype=torch.float16, device_map=get_current_device() + ) ref_model = PeftModel.from_pretrained(base_model, TINY_LLAMA_ADAPTER, is_trainable=True) for param in filter(lambda p: p.requires_grad, ref_model.parameters()): param.data = param.data.to(torch.float32) @@ -138,17 +166,31 @@ def test_lora_train_new_adapters(): ) +def test_lora_train_valuehead(): + model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) + tokenizer_module = load_tokenizer(model_args) + model = load_model( + tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True, add_valuehead=True + ) + + ref_model: "AutoModelForCausalLMWithValueHead" = AutoModelForCausalLMWithValueHead.from_pretrained( + TINY_LLAMA_VALUEHEAD, torch_dtype=torch.float16, device_map=get_current_device() + ) + state_dict = model.state_dict() + ref_state_dict = ref_model.state_dict() + + assert torch.allclose(state_dict["v_head.summary.weight"], ref_state_dict["v_head.summary.weight"]) + assert torch.allclose(state_dict["v_head.summary.bias"], ref_state_dict["v_head.summary.bias"]) + + def test_lora_inference(): model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False) - base_model = AutoModelForCausalLM.from_pretrained(TINY_LLAMA, torch_dtype=model.dtype, device_map=model.device) + base_model = AutoModelForCausalLM.from_pretrained( + TINY_LLAMA, torch_dtype=torch.float16, device_map=get_current_device() + ) ref_model: "LoraModel" = PeftModel.from_pretrained(base_model, TINY_LLAMA_ADAPTER) ref_model = ref_model.merge_and_unload() compare_model(model, ref_model) - - for name, param in model.named_parameters(): - assert param.requires_grad is False - assert param.dtype == torch.float16 - assert "lora" not in name From 96b82ccd4d013580071b9e321ab5d137538da512 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 15 Jun 2024 20:06:17 +0800 Subject: [PATCH 048/169] use fixture Former-commit-id: 80a9e6bf94cf14fa63e6b6cdf7e1ce13722c8b5e --- src/llamafactory/hparams/model_args.py | 2 +- tests/model/test_base.py | 15 ++++++++++----- tests/model/test_lora.py | 14 +++++++++++++- 3 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/llamafactory/hparams/model_args.py b/src/llamafactory/hparams/model_args.py index 0a91f0fa..53bdbdf2 100644 --- a/src/llamafactory/hparams/model_args.py +++ b/src/llamafactory/hparams/model_args.py @@ -163,7 +163,7 @@ class ModelArguments: ) infer_dtype: Literal["auto", "float16", "bfloat16", "float32"] = field( default="auto", - metadata={"help": "Data type for model weights and activations at inference."} + metadata={"help": "Data type for model weights and activations at inference."}, ) hf_hub_token: Optional[str] = field( default=None, diff --git a/tests/model/test_base.py b/tests/model/test_base.py index ee0b2886..2deedde2 100644 --- a/tests/model/test_base.py +++ b/tests/model/test_base.py @@ -15,6 +15,7 @@ import os from typing import Dict +import pytest import torch from transformers import AutoModelForCausalLM from trl import AutoModelForCausalLMWithValueHead @@ -43,10 +44,14 @@ def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module"): assert torch.allclose(state_dict_a[name], state_dict_b[name]) is True -def post_init(self: "AutoModelForCausalLMWithValueHead", state_dict: Dict[str, "torch.Tensor"]): - state_dict = {k[7:]: state_dict[k] for k in state_dict.keys() if k.startswith("v_head.")} - self.v_head.load_state_dict(state_dict, strict=False) - del state_dict +@pytest.fixture +def fix_valuehead_cpu_loading(): + def post_init(self: "AutoModelForCausalLMWithValueHead", state_dict: Dict[str, "torch.Tensor"]): + state_dict = {k[7:]: state_dict[k] for k in state_dict.keys() if k.startswith("v_head.")} + self.v_head.load_state_dict(state_dict, strict=False) + del state_dict + + AutoModelForCausalLMWithValueHead.post_init = post_init def test_base(): @@ -60,8 +65,8 @@ def test_base(): compare_model(model, ref_model) +@pytest.mark.usefixtures("fix_valuehead_cpu_loading") def test_valuehead(): - AutoModelForCausalLMWithValueHead.post_init = post_init # patch for CPU test model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) tokenizer_module = load_tokenizer(model_args) model = load_model( diff --git a/tests/model/test_lora.py b/tests/model/test_lora.py index 4923c8ad..fe032332 100644 --- a/tests/model/test_lora.py +++ b/tests/model/test_lora.py @@ -13,8 +13,9 @@ # limitations under the License. import os -from typing import Sequence +from typing import Dict, Sequence +import pytest import torch from peft import LoraModel, PeftModel from transformers import AutoModelForCausalLM @@ -71,6 +72,16 @@ def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module", diff_k assert torch.allclose(state_dict_a[name], state_dict_b[name]) is True +@pytest.fixture +def fix_valuehead_cpu_loading(): + def post_init(self: "AutoModelForCausalLMWithValueHead", state_dict: Dict[str, "torch.Tensor"]): + state_dict = {k[7:]: state_dict[k] for k in state_dict.keys() if k.startswith("v_head.")} + self.v_head.load_state_dict(state_dict, strict=False) + del state_dict + + AutoModelForCausalLMWithValueHead.post_init = post_init + + def test_lora_train_qv_modules(): model_args, _, _, finetuning_args, _ = get_train_args({"lora_target": "q_proj,v_proj", **TRAIN_ARGS}) tokenizer_module = load_tokenizer(model_args) @@ -166,6 +177,7 @@ def test_lora_train_new_adapters(): ) +@pytest.mark.usefixtures("fix_valuehead_cpu_loading") def test_lora_train_valuehead(): model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) tokenizer_module = load_tokenizer(model_args) From c0c6b8075a7c0c0c4c166e80ecaaa4555659ef57 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sun, 16 Jun 2024 01:06:41 +0800 Subject: [PATCH 049/169] tiny fix Former-commit-id: 38b6b0f52edeb8ba45aa03b415b3c0c1b0e0c1e4 --- scripts/cal_flops.py | 2 +- scripts/cal_lr.py | 2 +- scripts/llama_pro.py | 2 +- src/llamafactory/data/processors/pretrain.py | 2 +- src/llamafactory/eval/evaluator.py | 2 +- src/llamafactory/extras/packages.py | 2 +- src/llamafactory/hparams/data_args.py | 2 +- src/llamafactory/model/model_utils/checkpointing.py | 2 +- src/llamafactory/model/model_utils/longlora.py | 6 ++++-- src/llamafactory/model/model_utils/quantization.py | 2 +- src/llamafactory/model/model_utils/visual.py | 2 +- src/llamafactory/train/dpo/workflow.py | 2 +- src/llamafactory/train/kto/trainer.py | 4 ++-- src/llamafactory/train/kto/workflow.py | 2 +- src/llamafactory/train/ppo/trainer.py | 2 +- src/llamafactory/train/ppo/workflow.py | 2 +- src/llamafactory/train/pt/workflow.py | 2 +- src/llamafactory/train/rm/trainer.py | 4 ++-- src/llamafactory/train/rm/workflow.py | 2 +- src/llamafactory/train/sft/metric.py | 2 +- src/llamafactory/train/sft/workflow.py | 2 +- tests/model/test_base.py | 2 +- 22 files changed, 27 insertions(+), 25 deletions(-) diff --git a/scripts/cal_flops.py b/scripts/cal_flops.py index 627b5534..32526d89 100644 --- a/scripts/cal_flops.py +++ b/scripts/cal_flops.py @@ -1,7 +1,7 @@ # coding=utf-8 # Copyright 2024 Microsoft Corporation and the LlamaFactory team. # -# This code is inspired by Microsoft's DeepSpeed library. +# This code is inspired by the Microsoft's DeepSpeed library. # https://www.deepspeed.ai/tutorials/flops-profiler/ # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/scripts/cal_lr.py b/scripts/cal_lr.py index ff21d27c..ad6992cb 100644 --- a/scripts/cal_lr.py +++ b/scripts/cal_lr.py @@ -1,7 +1,7 @@ # coding=utf-8 # Copyright 2024 imoneoi and the LlamaFactory team. # -# This code is inspired by imoneoi's OpenChat library. +# This code is inspired by the imoneoi's OpenChat library. # https://github.com/imoneoi/openchat/blob/3.6.0/ochat/training_deepspeed/train.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/scripts/llama_pro.py b/scripts/llama_pro.py index f315335a..395375ef 100644 --- a/scripts/llama_pro.py +++ b/scripts/llama_pro.py @@ -1,7 +1,7 @@ # coding=utf-8 # Copyright 2024 Tencent Inc. and the LlamaFactory team. # -# This code is inspired by Tencent's LLaMA-Pro library. +# This code is inspired by the Tencent's LLaMA-Pro library. # https://github.com/TencentARC/LLaMA-Pro/blob/main/scripts/block_expansion.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/data/processors/pretrain.py b/src/llamafactory/data/processors/pretrain.py index fb4c840c..67d6009b 100644 --- a/src/llamafactory/data/processors/pretrain.py +++ b/src/llamafactory/data/processors/pretrain.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's transformers library. +# This code is inspired by the HuggingFace's transformers library. # https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/language-modeling/run_clm.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/eval/evaluator.py b/src/llamafactory/eval/evaluator.py index bbd7a44b..d3140793 100644 --- a/src/llamafactory/eval/evaluator.py +++ b/src/llamafactory/eval/evaluator.py @@ -1,6 +1,6 @@ # Copyright 2024 the LlamaFactory team. # -# This code is inspired by Dan's test library. +# This code is inspired by the Dan's test library. # https://github.com/hendrycks/test/blob/master/evaluate_flan.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/extras/packages.py b/src/llamafactory/extras/packages.py index 35f546ab..0a84a293 100644 --- a/src/llamafactory/extras/packages.py +++ b/src/llamafactory/extras/packages.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's transformers library. +# This code is inspired by the HuggingFace's transformers library. # https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/utils/import_utils.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/hparams/data_args.py b/src/llamafactory/hparams/data_args.py index 95284766..39290e21 100644 --- a/src/llamafactory/hparams/data_args.py +++ b/src/llamafactory/hparams/data_args.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's transformers library. +# This code is inspired by the HuggingFace's transformers library. # https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/language-modeling/run_clm.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/model/model_utils/checkpointing.py b/src/llamafactory/model/model_utils/checkpointing.py index e4e84b12..f5314125 100644 --- a/src/llamafactory/model/model_utils/checkpointing.py +++ b/src/llamafactory/model/model_utils/checkpointing.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's Transformers and PEFT library. +# This code is inspired by the HuggingFace's Transformers and PEFT library. # https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/modeling_utils.py # https://github.com/huggingface/peft/blob/v0.10.0/src/peft/utils/other.py # diff --git a/src/llamafactory/model/model_utils/longlora.py b/src/llamafactory/model/model_utils/longlora.py index 7af43dcf..af30bd50 100644 --- a/src/llamafactory/model/model_utils/longlora.py +++ b/src/llamafactory/model/model_utils/longlora.py @@ -1,7 +1,9 @@ -# Copyright 2024 EleutherAI, HuggingFace Inc., and the LlamaFactory team. +# Copyright 2024 EleutherAI, HuggingFace Inc., Yukang Chen, and the LlamaFactory team. # -# This code is based on the EleutherAI's GPT-NeoX and HuggingFace's Transformers libraries. +# This code is based on the EleutherAI's GPT-NeoX and the HuggingFace's Transformers libraries. # https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/models/llama/modeling_llama.py +# This code is also inspired by the original LongLoRA implementation. +# https://github.com/dvlab-research/LongLoRA/blob/main/llama_attn_replace.py # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/src/llamafactory/model/model_utils/quantization.py b/src/llamafactory/model/model_utils/quantization.py index 9e6b9da4..0a0fca34 100644 --- a/src/llamafactory/model/model_utils/quantization.py +++ b/src/llamafactory/model/model_utils/quantization.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's Optimum library. +# This code is inspired by the HuggingFace's Optimum library. # https://github.com/huggingface/optimum/blob/v1.20.0/optimum/gptq/data.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/model/model_utils/visual.py b/src/llamafactory/model/model_utils/visual.py index 37237485..700bf470 100644 --- a/src/llamafactory/model/model_utils/visual.py +++ b/src/llamafactory/model/model_utils/visual.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's TRL library. +# This code is inspired by the HuggingFace's Transformers library. # https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/models/llava/modeling_llava.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/train/dpo/workflow.py b/src/llamafactory/train/dpo/workflow.py index 8c3c2eb1..431b5285 100644 --- a/src/llamafactory/train/dpo/workflow.py +++ b/src/llamafactory/train/dpo/workflow.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's TRL library. +# This code is inspired by the HuggingFace's TRL library. # https://github.com/huggingface/trl/blob/v0.8.0/examples/scripts/dpo.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/train/kto/trainer.py b/src/llamafactory/train/kto/trainer.py index 6e96fc0c..91d68975 100644 --- a/src/llamafactory/train/kto/trainer.py +++ b/src/llamafactory/train/kto/trainer.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's TRL library. +# This code is inspired by the HuggingFace's TRL library. # https://github.com/huggingface/trl/blob/v0.8.0/trl/trainer/kto_trainer.py # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -114,8 +114,8 @@ class CustomKTOTrainer(KTOTrainer): def _save(self, output_dir: Optional[str] = None, state_dict: Optional[Dict[str, "torch.Tensor"]] = None) -> None: super()._save(output_dir, state_dict) + output_dir = output_dir if output_dir is not None else self.args.output_dir if self.processor is not None: - output_dir = output_dir if output_dir is not None else self.args.output_dir getattr(self.processor, "image_processor").save_pretrained(output_dir) def forward( diff --git a/src/llamafactory/train/kto/workflow.py b/src/llamafactory/train/kto/workflow.py index 8a7af6d4..8182a184 100644 --- a/src/llamafactory/train/kto/workflow.py +++ b/src/llamafactory/train/kto/workflow.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's TRL library. +# This code is inspired by the HuggingFace's TRL library. # https://github.com/huggingface/trl/blob/v0.8.0/examples/scripts/kto.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/train/ppo/trainer.py b/src/llamafactory/train/ppo/trainer.py index 61420f3b..df4a37be 100644 --- a/src/llamafactory/train/ppo/trainer.py +++ b/src/llamafactory/train/ppo/trainer.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's TRL library. +# This code is inspired by the HuggingFace's TRL library. # https://github.com/huggingface/trl/blob/v0.8.0/trl/trainer/ppo_trainer.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/train/ppo/workflow.py b/src/llamafactory/train/ppo/workflow.py index 891d539a..4f4d2820 100644 --- a/src/llamafactory/train/ppo/workflow.py +++ b/src/llamafactory/train/ppo/workflow.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's TRL library. +# This code is inspired by the HuggingFace's TRL library. # https://github.com/huggingface/trl/blob/v0.8.0/examples/scripts/ppo.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/train/pt/workflow.py b/src/llamafactory/train/pt/workflow.py index f1df314e..b84a0e7d 100644 --- a/src/llamafactory/train/pt/workflow.py +++ b/src/llamafactory/train/pt/workflow.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's transformers library. +# This code is inspired by the HuggingFace's transformers library. # https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/language-modeling/run_clm.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/train/rm/trainer.py b/src/llamafactory/train/rm/trainer.py index 14695d7d..7f91e5f5 100644 --- a/src/llamafactory/train/rm/trainer.py +++ b/src/llamafactory/train/rm/trainer.py @@ -1,6 +1,6 @@ # Copyright 2024 the LlamaFactory team. # -# This code is inspired by CarperAI's trlx library. +# This code is inspired by the CarperAI's trlx library. # https://github.com/CarperAI/trlx/blob/v0.7.0/examples/summarize_rlhf/reward_model/reward_model.py # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -89,8 +89,8 @@ class PairwiseTrainer(Trainer): def _save(self, output_dir: Optional[str] = None, state_dict: Optional[Dict[str, "torch.Tensor"]] = None) -> None: super()._save(output_dir, state_dict) + output_dir = output_dir if output_dir is not None else self.args.output_dir if self.processor is not None: - output_dir = output_dir if output_dir is not None else self.args.output_dir getattr(self.processor, "image_processor").save_pretrained(output_dir) def compute_loss( diff --git a/src/llamafactory/train/rm/workflow.py b/src/llamafactory/train/rm/workflow.py index 75c0a2bf..6f24e964 100644 --- a/src/llamafactory/train/rm/workflow.py +++ b/src/llamafactory/train/rm/workflow.py @@ -1,6 +1,6 @@ # Copyright 2024 the LlamaFactory team. # -# This code is inspired by CarperAI's trlx library. +# This code is inspired by the CarperAI's trlx library. # https://github.com/CarperAI/trlx/blob/v0.7.0/examples/summarize_rlhf/reward_model/train_reward_model_gptj.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/llamafactory/train/sft/metric.py b/src/llamafactory/train/sft/metric.py index d2147c22..95bfcb69 100644 --- a/src/llamafactory/train/sft/metric.py +++ b/src/llamafactory/train/sft/metric.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc., THUDM, and the LlamaFactory team. # -# This code is inspired by HuggingFace's transformers library and THUDM's ChatGLM implementation. +# This code is inspired by the HuggingFace's transformers library and the THUDM's ChatGLM implementation. # https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/summarization/run_summarization.py # https://github.com/THUDM/ChatGLM-6B/blob/main/ptuning/main.py # diff --git a/src/llamafactory/train/sft/workflow.py b/src/llamafactory/train/sft/workflow.py index dfc71cfb..885bc7ac 100644 --- a/src/llamafactory/train/sft/workflow.py +++ b/src/llamafactory/train/sft/workflow.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's transformers library. +# This code is inspired by the HuggingFace's transformers library. # https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/summarization/run_summarization.py # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/tests/model/test_base.py b/tests/model/test_base.py index 2deedde2..954492ef 100644 --- a/tests/model/test_base.py +++ b/tests/model/test_base.py @@ -41,7 +41,7 @@ def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module"): state_dict_b = model_b.state_dict() assert set(state_dict_a.keys()) == set(state_dict_b.keys()) for name in state_dict_a.keys(): - assert torch.allclose(state_dict_a[name], state_dict_b[name]) is True + assert torch.allclose(state_dict_a[name], state_dict_b[name]) @pytest.fixture From f25b8626bfcf52971eda674be874e08b142854b9 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sun, 16 Jun 2024 01:08:12 +0800 Subject: [PATCH 050/169] support pissa Former-commit-id: 8c1046d78ac6c8f9429b73617e35e1eccb35138f --- README.md | 6 +- README_zh.md | 6 +- examples/README.md | 6 ++ examples/README_zh.md | 6 ++ examples/extras/pissa/llama3_lora_sft.yaml | 42 ++++++++++ scripts/loftq_init.py | 72 +++++++---------- scripts/pissa_init.py | 79 ++++++++++++++++++ src/llamafactory/hparams/finetuning_args.py | 20 ++++- src/llamafactory/hparams/model_args.py | 8 +- src/llamafactory/hparams/parser.py | 5 +- src/llamafactory/model/adapter.py | 25 ++++-- src/llamafactory/train/dpo/trainer.py | 13 ++- src/llamafactory/train/pt/trainer.py | 12 ++- src/llamafactory/train/sft/trainer.py | 13 ++- src/llamafactory/train/trainer_utils.py | 54 ++++++++++++- src/llamafactory/webui/components/train.py | 9 ++- src/llamafactory/webui/locales.py | 14 ++++ src/llamafactory/webui/runner.py | 2 + tests/model/test_pissa.py | 90 +++++++++++++++++++++ 19 files changed, 406 insertions(+), 76 deletions(-) create mode 100644 examples/extras/pissa/llama3_lora_sft.yaml create mode 100644 scripts/pissa_init.py create mode 100644 tests/model/test_pissa.py diff --git a/README.md b/README.md index cae79694..cb9a7222 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ Choose your path: - **Various models**: LLaMA, LLaVA, Mistral, Mixtral-MoE, Qwen, Yi, Gemma, Baichuan, ChatGLM, Phi, etc. - **Integrated methods**: (Continuous) pre-training, (multimodal) supervised fine-tuning, reward modeling, PPO, DPO, KTO, ORPO, etc. - **Scalable resources**: 32-bit full-tuning, 16-bit freeze-tuning, 16-bit LoRA and 2/4/8-bit QLoRA via AQLM/AWQ/GPTQ/LLM.int8. -- **Advanced algorithms**: GaLore, BAdam, DoRA, LongLoRA, LLaMA Pro, Mixture-of-Depths, LoRA+, LoftQ and Agent tuning. +- **Advanced algorithms**: GaLore, BAdam, DoRA, LongLoRA, LLaMA Pro, Mixture-of-Depths, LoRA+, LoftQ, PiSSA and Agent tuning. - **Practical tricks**: FlashAttention-2, Unsloth, RoPE scaling, NEFTune and rsLoRA. - **Experiment monitors**: LlamaBoard, TensorBoard, Wandb, MLflow, etc. - **Faster inference**: OpenAI-style API, Gradio UI and CLI with vLLM worker. @@ -71,9 +71,9 @@ Compared to ChatGLM's [P-Tuning](https://github.com/THUDM/ChatGLM2-6B/tree/main/ ## Changelog -[24/06/07] We supported fine-tuning the **[Qwen-2](https://qwenlm.github.io/blog/qwen2/)** series models. +[24/06/16] We support **[PiSSA](https://arxiv.org/abs/2404.02948)** algorithm. See [examples](examples/README.md) for usage. -[24/06/05] We supported fine-tuning the **[GLM-4-9B/GLM-4-9B-Chat](https://github.com/THUDM/GLM-4)** models. +[24/06/07] We supported fine-tuning the **[Qwen2](https://qwenlm.github.io/blog/qwen2/)** and **[GLM-4](https://github.com/THUDM/GLM-4)** models. [24/05/26] We supported **[SimPO](https://arxiv.org/abs/2405.14734)** algorithm for preference learning. See [examples](examples/README.md) for usage. diff --git a/README_zh.md b/README_zh.md index af3ff8f0..5c005f30 100644 --- a/README_zh.md +++ b/README_zh.md @@ -49,7 +49,7 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd - **多种模型**:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。 - **集成方法**:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练、KTO 训练、ORPO 训练等等。 - **多种精度**:32 比特全参数微调、16 比特冻结微调、16 比特 LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8 的 2/4/8 比特 QLoRA 微调。 -- **先进算法**:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ 和 Agent 微调。 +- **先进算法**:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA 和 Agent 微调。 - **实用技巧**:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。 - **实验监控**:LlamaBoard、TensorBoard、Wandb、MLflow 等等。 - **极速推理**:基于 vLLM 的 OpenAI 风格 API、浏览器界面和命令行接口。 @@ -71,9 +71,9 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd ## 更新日志 -[24/06/07] 我们支持了 **[Qwen-2](https://qwenlm.github.io/blog/qwen2/)** 系列模型的微调。 +[24/06/16] 我们支持了 **[PiSSA](https://arxiv.org/abs/2404.02948)** 算法。详细用法请参照 [examples](examples/README_zh.md)。 -[24/06/05] 我们支持了 **[GLM-4-9B/GLM-4-9B-Chat](https://github.com/THUDM/GLM-4)** 模型的微调。 +[24/06/07] 我们支持了 **[Qwen2](https://qwenlm.github.io/blog/qwen2/)** 和 **[GLM-4](https://github.com/THUDM/GLM-4)** 模型的微调。 [24/05/26] 我们支持了 **[SimPO](https://arxiv.org/abs/2405.14734)** 偏好对齐算法。详细用法请参照 [examples](examples/README_zh.md)。 diff --git a/examples/README.md b/examples/README.md index a6d78936..902d26b1 100644 --- a/examples/README.md +++ b/examples/README.md @@ -213,3 +213,9 @@ llamafactory-cli train examples/extras/llama_pro/llama3_freeze_sft.yaml ```bash bash examples/extras/fsdp_qlora/single_node.sh ``` + +#### PiSSA Fine-Tuning + +```bash +llamafactory-cli train examples/extras/pissa/llama3_lora_sft.yaml +``` diff --git a/examples/README_zh.md b/examples/README_zh.md index b6168a95..586e498c 100644 --- a/examples/README_zh.md +++ b/examples/README_zh.md @@ -213,3 +213,9 @@ llamafactory-cli train examples/extras/llama_pro/llama3_freeze_sft.yaml ```bash bash examples/extras/fsdp_qlora/single_node.sh ``` + +#### PiSSA 微调 + +```bash +llamafactory-cli train examples/extras/pissa/llama3_lora_sft.yaml +``` diff --git a/examples/extras/pissa/llama3_lora_sft.yaml b/examples/extras/pissa/llama3_lora_sft.yaml new file mode 100644 index 00000000..fd4b9f1d --- /dev/null +++ b/examples/extras/pissa/llama3_lora_sft.yaml @@ -0,0 +1,42 @@ +### model +model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct + +### method +stage: sft +do_train: true +finetuning_type: lora +lora_target: all +pissa_init: true +pissa_iter: 4 +pissa_convert: true + +### dataset +dataset: identity,alpaca_en_demo +template: llama3 +cutoff_len: 1024 +max_samples: 1000 +overwrite_cache: true +preprocessing_num_workers: 16 + +### output +output_dir: saves/llama3-8b/lora/sft +logging_steps: 10 +save_steps: 500 +plot_loss: true +overwrite_output_dir: true + +### train +per_device_train_batch_size: 1 +gradient_accumulation_steps: 8 +learning_rate: 1.0e-4 +num_train_epochs: 3.0 +lr_scheduler_type: cosine +warmup_ratio: 0.1 +fp16: true +ddp_timeout: 180000000 + +### eval +val_size: 0.1 +per_device_eval_batch_size: 1 +eval_strategy: steps +eval_steps: 500 diff --git a/scripts/loftq_init.py b/scripts/loftq_init.py index 159dea06..556f342c 100644 --- a/scripts/loftq_init.py +++ b/scripts/loftq_init.py @@ -1,7 +1,7 @@ # coding=utf-8 # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's PEFT library. +# This code is based on the HuggingFace's PEFT library. # https://github.com/huggingface/peft/blob/v0.10.0/examples/loftq_finetuning/quantize_save_load.py # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -17,11 +17,9 @@ # limitations under the License. import os -from typing import TYPE_CHECKING, Optional +from typing import TYPE_CHECKING import fire -import torch -import torch.nn as nn from peft import LoftQConfig, LoraConfig, TaskType, get_peft_model from transformers import AutoModelForCausalLM, AutoTokenizer @@ -30,41 +28,20 @@ if TYPE_CHECKING: from transformers import PreTrainedModel -class Shell(nn.Module): - def __init__(self, weight: torch.Tensor, bias: Optional[torch.Tensor] = None): - super().__init__() - self.weight = nn.Parameter(weight, requires_grad=False) - if bias is not None: - self.bias = nn.Parameter(bias, requires_grad=False) - - -def unwrap_model(model: nn.Module, pattern=".base_layer") -> None: - for name in {k.split(pattern)[0] for k, _ in model.named_modules() if pattern in k}: - parent_name = ".".join(name.split(".")[:-1]) - child_name = name.split(".")[-1] - parent_module = model.get_submodule(parent_name) - child_module = getattr(parent_module, child_name) - base_layer = getattr(child_module, "base_layer") - weight = getattr(base_layer, "weight", None) - bias = getattr(base_layer, "bias", None) - setattr(parent_module, child_name, Shell(weight, bias)) - - print("Model unwrapped.") - - def quantize_loftq( model_name_or_path: str, - save_dir: str, - loftq_bits: Optional[int] = 4, - loftq_iter: Optional[int] = 1, - lora_alpha: Optional[int] = None, - lora_rank: Optional[int] = 16, - lora_target: Optional[str] = "q_proj,v_proj", - save_safetensors: Optional[bool] = False, + output_dir: str, + loftq_bits: int = 4, + loftq_iter: int = 4, + lora_alpha: int = None, + lora_rank: int = 16, + lora_dropout: float = 0, + lora_target: str = "q_proj,v_proj", + save_safetensors: bool = True, ): r""" Initializes LoRA weights with LoRA-fine-tuning-aware Quantization (LoftQ) - Usage: python loftq_init.py --model_name_or_path path_to_model --save_dir output_dir + Usage: python loftq_init.py --model_name_or_path path_to_model --output_dir output_dir """ tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype="auto") @@ -74,25 +51,34 @@ def quantize_loftq( inference_mode=True, r=lora_rank, lora_alpha=lora_alpha if lora_alpha is not None else lora_rank * 2, - lora_dropout=0.1, + lora_dropout=lora_dropout, target_modules=[name.strip() for name in lora_target.split(",")], init_lora_weights="loftq", loftq_config=loftq_config, ) # Init LoftQ model - lora_model = get_peft_model(model, lora_config) - base_model: "PreTrainedModel" = lora_model.get_base_model() + print("Initializing LoftQ weights, it may be take several minutes, wait patiently.") + peft_model = get_peft_model(model, lora_config) + loftq_dir = os.path.join(output_dir, "loftq_init") # Save LoftQ model - setattr(lora_model.base_model.peft_config["default"], "base_model_name_or_path", save_dir) - setattr(lora_model.base_model.peft_config["default"], "init_lora_weights", True) - lora_model.save_pretrained(os.path.join(save_dir, "adapters"), safe_serialization=save_safetensors) + setattr(peft_model.peft_config["default"], "base_model_name_or_path", output_dir) + setattr(peft_model.peft_config["default"], "init_lora_weights", True) # don't apply loftq again + peft_model.save_pretrained(loftq_dir, safe_serialization=save_safetensors) + print("Adapter weights saved in {}".format(loftq_dir)) # Save base model - unwrap_model(base_model) - base_model.save_pretrained(save_dir, safe_serialization=save_safetensors) - tokenizer.save_pretrained(save_dir) + base_model: "PreTrainedModel" = peft_model.unload() + base_model.save_pretrained(output_dir, safe_serialization=save_safetensors) + tokenizer.save_pretrained(output_dir) + print("Model weights saved in {}".format(output_dir)) + + print("Fine-tune this model with:") + print("model_name_or_path: {}".format(output_dir)) + print("adapter_name_or_path: {}".format(loftq_dir)) + print("finetuning_type: lora") + print("quantization_bit: {}".format(loftq_bits)) if __name__ == "__main__": diff --git a/scripts/pissa_init.py b/scripts/pissa_init.py new file mode 100644 index 00000000..1b673c45 --- /dev/null +++ b/scripts/pissa_init.py @@ -0,0 +1,79 @@ +# coding=utf-8 +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is based on the HuggingFace's PEFT library. +# https://github.com/huggingface/peft/blob/v0.11.0/examples/pissa_finetuning/preprocess.py +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os +from typing import TYPE_CHECKING + +import fire +from peft import LoraConfig, TaskType, get_peft_model +from transformers import AutoModelForCausalLM, AutoTokenizer + + +if TYPE_CHECKING: + from transformers import PreTrainedModel + + +def quantize_pissa( + model_name_or_path: str, + output_dir: str, + pissa_iter: int = 4, + lora_alpha: int = None, + lora_rank: int = 16, + lora_dropout: float = 0, + lora_target: str = "q_proj,v_proj", + save_safetensors: bool = True, +): + r""" + Initializes LoRA weights with Principal Singular values and Singular vectors Adaptation (PiSSA) + Usage: python pissa_init.py --model_name_or_path path_to_model --output_dir output_dir + """ + tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True) + model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype="auto") + lora_config = LoraConfig( + task_type=TaskType.CAUSAL_LM, + r=lora_rank, + lora_alpha=lora_alpha if lora_alpha is not None else lora_rank * 2, + lora_dropout=lora_dropout, + target_modules=[name.strip() for name in lora_target.split(",")], + init_lora_weights="pissa" if pissa_iter == -1 else "pissa_niter_{}".format(pissa_iter) + ) + + # Init PiSSA model + peft_model = get_peft_model(model, lora_config) + pissa_dir = os.path.join(output_dir, "pissa_init") + + # Save PiSSA model + setattr(peft_model.peft_config["default"], "init_lora_weights", True) # don't apply pissa again + peft_model.save_pretrained(pissa_dir, safe_serialization=save_safetensors) + print("Adapter weights saved in {}".format(pissa_dir)) + + # Save base model + base_model: "PreTrainedModel" = peft_model.unload() + base_model.save_pretrained(output_dir, safe_serialization=save_safetensors) + tokenizer.save_pretrained(output_dir) + print("Model weights saved in {}".format(output_dir)) + + print("Fine-tune this model with:") + print("model_name_or_path: {}".format(output_dir)) + print("adapter_name_or_path: {}".format(pissa_dir)) + print("finetuning_type: lora") + print("pissa_convert: true") + + +if __name__ == "__main__": + fire.Fire(quantize_pissa) diff --git a/src/llamafactory/hparams/finetuning_args.py b/src/llamafactory/hparams/finetuning_args.py index 52dc299e..1ef46eca 100644 --- a/src/llamafactory/hparams/finetuning_args.py +++ b/src/llamafactory/hparams/finetuning_args.py @@ -108,6 +108,18 @@ class LoraArguments: default=False, metadata={"help": "Whether or not to use the weight-decomposed lora method (DoRA)."}, ) + pissa_init: bool = field( + default=False, + metadata={"help": "Whether or not to initialize a PiSSA adapter."}, + ) + pissa_iter: int = field( + default=4, + metadata={"help": "The number of iteration steps performed by FSVD in PiSSA. Use -1 to disable it."}, + ) + pissa_convert: bool = field( + default=False, + metadata={"help": "Whether or not to convert the PiSSA adapter to a normal LoRA adapter."}, + ) create_new_adapter: bool = field( default=False, metadata={"help": "Whether or not to create a new adapter with randomly initialized weight."}, @@ -340,7 +352,7 @@ class FinetuningArguments(FreezeArguments, LoraArguments, RLHFArguments, GaloreA self.additional_target: Optional[List[str]] = split_arg(self.additional_target) self.galore_target: List[str] = split_arg(self.galore_target) self.freeze_vision_tower = self.freeze_vision_tower or self.train_mm_proj_only - self.use_ref_model = self.pref_loss not in ["orpo", "simpo"] + self.use_ref_model = (self.stage == "dpo" and self.pref_loss not in ["orpo", "simpo"]) assert self.finetuning_type in ["lora", "freeze", "full"], "Invalid fine-tuning method." assert self.ref_model_quantization_bit in [None, 8, 4], "We only accept 4-bit or 8-bit quantization." @@ -367,5 +379,11 @@ class FinetuningArguments(FreezeArguments, LoraArguments, RLHFArguments, GaloreA if self.loraplus_lr_ratio is not None and self.finetuning_type != "lora": raise ValueError("`loraplus_lr_ratio` is only valid for LoRA training.") + if self.pissa_convert and self.finetuning_type != "lora": + raise ValueError("`pissa_convert` is only valid for LoRA training.") + + if self.pissa_convert and (self.stage in ["rm", "ppo", "kto"] or self.use_ref_model): + raise ValueError("Cannot use PiSSA for current training stage.") + if self.train_mm_proj_only and self.finetuning_type != "full": raise ValueError("`train_mm_proj_only` is only valid for full training.") diff --git a/src/llamafactory/hparams/model_args.py b/src/llamafactory/hparams/model_args.py index 53bdbdf2..996e9130 100644 --- a/src/llamafactory/hparams/model_args.py +++ b/src/llamafactory/hparams/model_args.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's transformers library. +# This code is inspired by the HuggingFace's transformers library. # https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/language-modeling/run_clm.py # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -45,6 +45,10 @@ class ModelArguments: ) }, ) + adapter_folder: Optional[str] = field( + default=None, + metadata={"help": "The folder containing the adapter weights to load."}, + ) cache_dir: Optional[str] = field( default=None, metadata={"help": "Where to store the pre-trained models downloaded from huggingface.co or modelscope.cn."}, @@ -150,7 +154,7 @@ class ModelArguments: metadata={"help": "Whether or not to disable CUDA graph in the vLLM engine."}, ) vllm_max_lora_rank: int = field( - default=8, + default=32, metadata={"help": "Maximum rank of all LoRAs in the vLLM engine."}, ) offload_folder: str = field( diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 1c57567c..31a805f6 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's transformers library. +# This code is inspired by the HuggingFace's transformers library. # https://github.com/huggingface/transformers/blob/v4.40.0/examples/pytorch/language-modeling/run_clm.py # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -90,6 +90,9 @@ def _verify_model_args(model_args: "ModelArguments", finetuning_args: "Finetunin if finetuning_args.finetuning_type != "lora": raise ValueError("Quantization is only compatible with the LoRA method.") + if finetuning_args.use_pissa: + raise ValueError("Please use scripts/pissa_init.py for quantized PiSSA.") + if model_args.resize_vocab: raise ValueError("Cannot resize embedding layers of a quantized model.") diff --git a/src/llamafactory/model/adapter.py b/src/llamafactory/model/adapter.py index dfa71525..a8f3a256 100644 --- a/src/llamafactory/model/adapter.py +++ b/src/llamafactory/model/adapter.py @@ -179,8 +179,16 @@ def _setup_lora_tuning( else: adapter_to_merge = model_args.adapter_name_or_path + init_kwargs = { + "subfolder": model_args.adapter_folder, + "offload_folder": model_args.offload_folder, + "cache_dir": model_args.cache_dir, + "revision": model_args.model_revision, + "token": model_args.hf_hub_token, + } + for adapter in adapter_to_merge: - model: "LoraModel" = PeftModel.from_pretrained(model, adapter, offload_folder=model_args.offload_folder) + model: "LoraModel" = PeftModel.from_pretrained(model, adapter, **init_kwargs) model = model.merge_and_unload() if len(adapter_to_merge) > 0: @@ -190,12 +198,7 @@ def _setup_lora_tuning( if model_args.use_unsloth: model = load_unsloth_peft_model(config, model_args, is_trainable=is_trainable) else: - model = PeftModel.from_pretrained( - model, - adapter_to_resume, - is_trainable=is_trainable, - offload_folder=model_args.offload_folder, - ) + model = PeftModel.from_pretrained(model, adapter_to_resume, is_trainable=is_trainable, **init_kwargs) logger.info("Loaded adapter(s): {}".format(",".join(model_args.adapter_name_or_path))) @@ -242,6 +245,14 @@ def _setup_lora_tuning( if model_args.use_unsloth: model = get_unsloth_peft_model(model, model_args, peft_kwargs) else: + if finetuning_args.pissa_init: + if finetuning_args.pissa_iter == -1: + logger.info("Using PiSSA initialization.") + peft_kwargs["init_lora_weights"] = "pissa" + else: + logger.info("Using PiSSA initialization with FSVD steps {}.".format(finetuning_args.pissa_iter)) + peft_kwargs["init_lora_weights"] = "pissa_niter_{}".format(finetuning_args.pissa_iter) + lora_config = LoraConfig( task_type=TaskType.CAUSAL_LM, inference_mode=False, diff --git a/src/llamafactory/train/dpo/trainer.py b/src/llamafactory/train/dpo/trainer.py index 475d08c3..9928d0bc 100644 --- a/src/llamafactory/train/dpo/trainer.py +++ b/src/llamafactory/train/dpo/trainer.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's TRL library. +# This code is inspired by the HuggingFace's TRL library. # https://github.com/huggingface/trl/blob/v0.8.0/trl/trainer/dpo_trainer.py # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,6 +15,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +import os import warnings from collections import defaultdict from contextlib import nullcontext @@ -28,7 +29,7 @@ from trl import DPOTrainer from trl.trainer import disable_dropout_in_model from ...extras.constants import IGNORE_INDEX -from ..trainer_utils import create_custom_optimzer, create_custom_scheduler, get_batch_logps +from ..trainer_utils import convert_pissa_adapter, create_custom_optimzer, create_custom_scheduler, get_batch_logps if TYPE_CHECKING: @@ -91,6 +92,9 @@ class CustomDPOTrainer(DPOTrainer): self.ref_model = self.accelerator.prepare_model(self.ref_model, evaluation_mode=True) self.ref_model.eval() + if finetuning_args.pissa_convert: + self.save_model(os.path.join(self.args.output_dir, "pissa_init")) + if finetuning_args.use_badam: from badam import clip_grad_norm_for_sparse_tensor @@ -109,8 +113,11 @@ class CustomDPOTrainer(DPOTrainer): def _save(self, output_dir: Optional[str] = None, state_dict: Optional[Dict[str, "torch.Tensor"]] = None) -> None: super()._save(output_dir, state_dict) + output_dir = output_dir if output_dir is not None else self.args.output_dir + if self.finetuning_args.pissa_convert: + convert_pissa_adapter(output_dir, state_dict, self.accelerator, self.model, self.args) + if self.processor is not None: - output_dir = output_dir if output_dir is not None else self.args.output_dir getattr(self.processor, "image_processor").save_pretrained(output_dir) def odds_ratio_loss(self, chosen_logps: "torch.Tensor", rejected_logps: "torch.Tensor") -> "torch.Tensor": diff --git a/src/llamafactory/train/pt/trainer.py b/src/llamafactory/train/pt/trainer.py index 09729f2e..f9e04cb5 100644 --- a/src/llamafactory/train/pt/trainer.py +++ b/src/llamafactory/train/pt/trainer.py @@ -12,13 +12,14 @@ # See the License for the specific language governing permissions and # limitations under the License. +import os from types import MethodType from typing import TYPE_CHECKING, Dict, Optional from transformers import Trainer from ...extras.logging import get_logger -from ..trainer_utils import create_custom_optimzer, create_custom_scheduler +from ..trainer_utils import convert_pissa_adapter, create_custom_optimzer, create_custom_scheduler if TYPE_CHECKING: @@ -42,6 +43,10 @@ class CustomTrainer(Trainer): super().__init__(**kwargs) self.finetuning_args = finetuning_args self.processor = processor + + if finetuning_args.pissa_convert: + self.save_model(os.path.join(self.args.output_dir, "pissa_init")) + if finetuning_args.use_badam: from badam import clip_grad_norm_for_sparse_tensor @@ -60,6 +65,9 @@ class CustomTrainer(Trainer): def _save(self, output_dir: Optional[str] = None, state_dict: Optional[Dict[str, "torch.Tensor"]] = None) -> None: super()._save(output_dir, state_dict) + output_dir = output_dir if output_dir is not None else self.args.output_dir + if self.finetuning_args.pissa_convert: + convert_pissa_adapter(output_dir, state_dict, self.accelerator, self.model, self.args) + if self.processor is not None: - output_dir = output_dir if output_dir is not None else self.args.output_dir getattr(self.processor, "image_processor").save_pretrained(output_dir) diff --git a/src/llamafactory/train/sft/trainer.py b/src/llamafactory/train/sft/trainer.py index 6ab6914e..921e49ab 100644 --- a/src/llamafactory/train/sft/trainer.py +++ b/src/llamafactory/train/sft/trainer.py @@ -1,6 +1,6 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by HuggingFace's transformers library. +# This code is inspired by the HuggingFace's transformers library. # https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/trainer_seq2seq.py # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -26,7 +26,7 @@ from transformers import Seq2SeqTrainer from ...extras.constants import IGNORE_INDEX from ...extras.logging import get_logger -from ..trainer_utils import create_custom_optimzer, create_custom_scheduler +from ..trainer_utils import convert_pissa_adapter, create_custom_optimzer, create_custom_scheduler if TYPE_CHECKING: @@ -51,6 +51,10 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): super().__init__(**kwargs) self.finetuning_args = finetuning_args self.processor = processor + + if finetuning_args.pissa_convert: + self.save_model(os.path.join(self.args.output_dir, "pissa_init")) + if finetuning_args.use_badam: from badam import clip_grad_norm_for_sparse_tensor @@ -69,8 +73,11 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): def _save(self, output_dir: Optional[str] = None, state_dict: Optional[Dict[str, "torch.Tensor"]] = None) -> None: super()._save(output_dir, state_dict) + output_dir = output_dir if output_dir is not None else self.args.output_dir + if self.finetuning_args.pissa_convert: + convert_pissa_adapter(output_dir, state_dict, self.accelerator, self.model, self.args) + if self.processor is not None: - output_dir = output_dir if output_dir is not None else self.args.output_dir getattr(self.processor, "image_processor").save_pretrained(output_dir) def prediction_step( diff --git a/src/llamafactory/train/trainer_utils.py b/src/llamafactory/train/trainer_utils.py index 5621d5df..2d6bab24 100644 --- a/src/llamafactory/train/trainer_utils.py +++ b/src/llamafactory/train/trainer_utils.py @@ -1,9 +1,9 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by the GaLore's implementation: https://github.com/jiaweizzhao/GaLore -# and the LoRA+'s implementation: https://github.com/nikhil-ghosh-berkeley/loraplus -# and the BAdam's implementation: https://github.com/Ledzy/BAdam -# and the TRL's implementation: https://github.com/huggingface/trl +# This code is inspired by the original GaLore's implementation: https://github.com/jiaweizzhao/GaLore +# and the original LoRA+'s implementation: https://github.com/nikhil-ghosh-berkeley/loraplus +# and the original BAdam's implementation: https://github.com/Ledzy/BAdam +# and the HuggingFace's TRL library: https://github.com/huggingface/trl # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,9 +17,11 @@ # See the License for the specific language governing permissions and # limitations under the License. +import os from typing import TYPE_CHECKING, Callable, Dict, List, Optional, Tuple, Union import torch +from peft import PeftModel from transformers import Trainer from transformers.optimization import get_scheduler from transformers.pytorch_utils import ALL_LAYERNORM_LAYERS @@ -37,6 +39,7 @@ if is_galore_available(): if TYPE_CHECKING: + from accelerate import Accelerator from transformers import PreTrainedModel, Seq2SeqTrainingArguments from trl import AutoModelForCausalLMWithValueHead @@ -171,6 +174,49 @@ def create_reward_model( return reward_model +def convert_pissa_adapter( + output_dir: str, + state_dict: Dict[str, "torch.Tensor"], + accelerator: "Accelerator", + model: "PreTrainedModel", + training_args: "Seq2SeqTrainingArguments", +) -> None: + r""" + Converts the PiSSA adapter to a LoRA adapter. + """ + pissa_init_dir = os.path.join(training_args.output_dir, "pissa_init") + pissa_backup_dir = os.path.join(output_dir, "pissa_backup") + if output_dir == pissa_init_dir: + logger.info("Initial PiSSA adatper will be saved at: {}.".format(pissa_init_dir)) + unwrapped_model = accelerator.unwrap_model(model) + if isinstance(unwrapped_model, PeftModel): + init_lora_weights = getattr(unwrapped_model.peft_config["default"], "init_lora_weights") + setattr(unwrapped_model.peft_config["default"], "init_lora_weights", True) + unwrapped_model.save_pretrained( + output_dir, + state_dict=state_dict, + safe_serialization=training_args.save_safetensors, + ) + setattr(unwrapped_model.peft_config["default"], "init_lora_weights", init_lora_weights) + elif output_dir == training_args.output_dir: # at the end of training + logger.info("Converted PiSSA adapter will be saved at: {}.".format(output_dir)) + unwrapped_model = accelerator.unwrap_model(model) + if isinstance(unwrapped_model, PeftModel): # backup the pissa adapter for further use + unwrapped_model.save_pretrained( + pissa_backup_dir, + state_dict=state_dict, + safe_serialization=training_args.save_safetensors, + ) + unwrapped_model.save_pretrained( + output_dir, + state_dict=state_dict, + safe_serialization=training_args.save_safetensors, + convert_pissa_to_lora=pissa_init_dir, + ) + unwrapped_model.load_adapter(pissa_backup_dir, "default", is_trainable=True) + unwrapped_model.set_adapter("default") + + def _get_decay_parameter_names(model: "PreTrainedModel") -> List[str]: r""" Returns a list of names of parameters with weight decay. (weights in non-layernorm layers) diff --git a/src/llamafactory/webui/components/train.py b/src/llamafactory/webui/components/train.py index 673f6bf4..874f3c5e 100644 --- a/src/llamafactory/webui/components/train.py +++ b/src/llamafactory/webui/components/train.py @@ -163,10 +163,9 @@ def create_train_tab(engine: "Engine") -> Dict[str, "Component"]: create_new_adapter = gr.Checkbox() with gr.Row(): - with gr.Column(scale=1): - use_rslora = gr.Checkbox() - use_dora = gr.Checkbox() - + use_rslora = gr.Checkbox() + use_dora = gr.Checkbox() + use_pissa = gr.Checkbox() lora_target = gr.Textbox(scale=2) additional_target = gr.Textbox(scale=2) @@ -179,6 +178,7 @@ def create_train_tab(engine: "Engine") -> Dict[str, "Component"]: create_new_adapter, use_rslora, use_dora, + use_pissa, lora_target, additional_target, } @@ -193,6 +193,7 @@ def create_train_tab(engine: "Engine") -> Dict[str, "Component"]: create_new_adapter=create_new_adapter, use_rslora=use_rslora, use_dora=use_dora, + use_pissa=use_pissa, lora_target=lora_target, additional_target=additional_target, ) diff --git a/src/llamafactory/webui/locales.py b/src/llamafactory/webui/locales.py index 427f01b8..8e8d6fce 100644 --- a/src/llamafactory/webui/locales.py +++ b/src/llamafactory/webui/locales.py @@ -732,6 +732,20 @@ LOCALES = { "info": "使用权重分解的 LoRA。", }, }, + "use_pissa": { + "en": { + "label": "Use PiSSA", + "info": "Use PiSSA method.", + }, + "ru": { + "label": "используйте PiSSA", + "info": "Используйте метод PiSSA.", + }, + "zh": { + "label": "使用 PiSSA", + "info": "使用 PiSSA 方法。", + }, + }, "lora_target": { "en": { "label": "LoRA modules (optional)", diff --git a/src/llamafactory/webui/runner.py b/src/llamafactory/webui/runner.py index 76982934..13dbba03 100644 --- a/src/llamafactory/webui/runner.py +++ b/src/llamafactory/webui/runner.py @@ -173,6 +173,8 @@ class Runner: args["create_new_adapter"] = get("train.create_new_adapter") args["use_rslora"] = get("train.use_rslora") args["use_dora"] = get("train.use_dora") + args["pissa_init"] = get("train.use_pissa") + args["pissa_convert"] = get("train.use_pissa") args["lora_target"] = get("train.lora_target") or "all" args["additional_target"] = get("train.additional_target") or None diff --git a/tests/model/test_pissa.py b/tests/model/test_pissa.py new file mode 100644 index 00000000..70c424fd --- /dev/null +++ b/tests/model/test_pissa.py @@ -0,0 +1,90 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +import torch +from peft import LoraModel, PeftModel +from transformers import AutoModelForCausalLM + +from llamafactory.extras.misc import get_current_device +from llamafactory.hparams import get_infer_args, get_train_args +from llamafactory.model import load_model, load_tokenizer + + +TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") + +TINY_LLAMA_PISSA = os.environ.get("TINY_LLAMA_ADAPTER", "llamafactory/tiny-random-Llama-3-pissa") + +TRAIN_ARGS = { + "model_name_or_path": TINY_LLAMA, + "stage": "sft", + "do_train": True, + "finetuning_type": "lora", + "pissa_init": True, + "pissa_iter": -1, + "dataset": "llamafactory/tiny-supervised-dataset", + "dataset_dir": "ONLINE", + "template": "llama3", + "cutoff_len": 1024, + "overwrite_cache": True, + "output_dir": "dummy_dir", + "overwrite_output_dir": True, + "fp16": True, +} + +INFER_ARGS = { + "model_name_or_path": TINY_LLAMA_PISSA, + "adapter_name_or_path": TINY_LLAMA_PISSA, + "adapter_folder": "pissa_init", + "finetuning_type": "lora", + "template": "llama3", + "infer_dtype": "float16", +} + + +def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module"): + state_dict_a = model_a.state_dict() + state_dict_b = model_b.state_dict() + assert set(state_dict_a.keys()) == set(state_dict_b.keys()) + for name in state_dict_a.keys(): + assert torch.allclose(state_dict_a[name], state_dict_b[name]) + + +def test_pissa_init(): + model_args, _, _, finetuning_args, _ = get_train_args(TRAIN_ARGS) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) + + base_model = AutoModelForCausalLM.from_pretrained( + TINY_LLAMA_PISSA, torch_dtype=torch.float16, device_map=get_current_device() + ) + ref_model = PeftModel.from_pretrained(base_model, TINY_LLAMA_PISSA, subfolder="pissa_init", is_trainable=True) + for param in filter(lambda p: p.requires_grad, ref_model.parameters()): + param.data = param.data.to(torch.float32) + + compare_model(model, ref_model) + + +def test_pissa_inference(): + model_args, _, finetuning_args, _ = get_infer_args(INFER_ARGS) + tokenizer_module = load_tokenizer(model_args) + model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False) + + base_model = AutoModelForCausalLM.from_pretrained( + TINY_LLAMA_PISSA, torch_dtype=torch.float16, device_map=get_current_device() + ) + ref_model: "LoraModel" = PeftModel.from_pretrained(base_model, TINY_LLAMA_PISSA, subfolder="pissa_init") + ref_model = ref_model.merge_and_unload() + compare_model(model, ref_model) From 2d2c78d66c08e9be3abc32e5c3d26767defe0cbe Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sun, 16 Jun 2024 01:21:06 +0800 Subject: [PATCH 051/169] increase tol Former-commit-id: de43bee0b004c7e90811100474b3113590d0f130 --- tests/model/test_pissa.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/model/test_pissa.py b/tests/model/test_pissa.py index 70c424fd..41d02752 100644 --- a/tests/model/test_pissa.py +++ b/tests/model/test_pissa.py @@ -59,7 +59,7 @@ def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module"): state_dict_b = model_b.state_dict() assert set(state_dict_a.keys()) == set(state_dict_b.keys()) for name in state_dict_a.keys(): - assert torch.allclose(state_dict_a[name], state_dict_b[name]) + assert torch.allclose(state_dict_a[name], state_dict_b[name], rtol=1e-3, atol=1e-3) def test_pissa_init(): From a8655f5c08579d3f3ec1302054c467d70790d093 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sun, 16 Jun 2024 01:22:23 +0800 Subject: [PATCH 052/169] Update tests.yml Former-commit-id: 7f3c19e3ab616f93ffc8fee23aa15ca0b19a9683 --- .github/workflows/tests.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 96092662..98bd9455 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -9,8 +9,6 @@ on: - "requirements.txt" - ".github/workflows/*.yml" pull_request: - types: - - review_requested branches: - main paths: From ce4a27a5f787e6897d272d218949fbacf3404c47 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sun, 16 Jun 2024 01:38:44 +0800 Subject: [PATCH 053/169] fix tol Former-commit-id: 46093b5786611d99adf1fd3d42926a728fc629f8 --- src/llamafactory/train/trainer_utils.py | 1 + tests/model/test_base.py | 2 +- tests/model/test_lora.py | 4 ++-- tests/model/test_pissa.py | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/llamafactory/train/trainer_utils.py b/src/llamafactory/train/trainer_utils.py index 2d6bab24..9052c96d 100644 --- a/src/llamafactory/train/trainer_utils.py +++ b/src/llamafactory/train/trainer_utils.py @@ -213,6 +213,7 @@ def convert_pissa_adapter( safe_serialization=training_args.save_safetensors, convert_pissa_to_lora=pissa_init_dir, ) + # TODO: the model is applied pissa again unexpectedly unwrapped_model.load_adapter(pissa_backup_dir, "default", is_trainable=True) unwrapped_model.set_adapter("default") diff --git a/tests/model/test_base.py b/tests/model/test_base.py index 954492ef..e1991b20 100644 --- a/tests/model/test_base.py +++ b/tests/model/test_base.py @@ -41,7 +41,7 @@ def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module"): state_dict_b = model_b.state_dict() assert set(state_dict_a.keys()) == set(state_dict_b.keys()) for name in state_dict_a.keys(): - assert torch.allclose(state_dict_a[name], state_dict_b[name]) + assert torch.allclose(state_dict_a[name], state_dict_b[name], rtol=1e-4, atol=1e-5) @pytest.fixture diff --git a/tests/model/test_lora.py b/tests/model/test_lora.py index fe032332..64566fe8 100644 --- a/tests/model/test_lora.py +++ b/tests/model/test_lora.py @@ -67,9 +67,9 @@ def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module", diff_k assert set(state_dict_a.keys()) == set(state_dict_b.keys()) for name in state_dict_a.keys(): if any(key in name for key in diff_keys): - assert torch.allclose(state_dict_a[name], state_dict_b[name]) is False + assert torch.allclose(state_dict_a[name], state_dict_b[name], rtol=1e-4, atol=1e-5) is False else: - assert torch.allclose(state_dict_a[name], state_dict_b[name]) is True + assert torch.allclose(state_dict_a[name], state_dict_b[name], rtol=1e-4, atol=1e-5) is True @pytest.fixture diff --git a/tests/model/test_pissa.py b/tests/model/test_pissa.py index 41d02752..030310d0 100644 --- a/tests/model/test_pissa.py +++ b/tests/model/test_pissa.py @@ -59,7 +59,7 @@ def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module"): state_dict_b = model_b.state_dict() assert set(state_dict_a.keys()) == set(state_dict_b.keys()) for name in state_dict_a.keys(): - assert torch.allclose(state_dict_a[name], state_dict_b[name], rtol=1e-3, atol=1e-3) + assert torch.allclose(state_dict_a[name], state_dict_b[name], rtol=1e-4, atol=1e-5) def test_pissa_init(): From 5769cc8d06e26824452756d3922ada5c81f6ff12 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sun, 16 Jun 2024 01:43:43 +0800 Subject: [PATCH 054/169] update pr template Former-commit-id: 0a2ec5fe2049a6d6bc3955c7e4794bd6115ccbcd --- .github/PULL_REQUEST_TEMPLATE.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index b31e9d19..d23d6be3 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -5,3 +5,4 @@ Fixes # (issue) ## Before submitting - [ ] Did you read the [contributor guideline](https://github.com/hiyouga/LLaMA-Factory/blob/main/.github/CONTRIBUTING.md)? +- [ ] Did you write any new necessary tests? From 06bbc29614a147d237715529c42bbb6e8eab1020 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Sun, 16 Jun 2024 02:57:00 +0800 Subject: [PATCH 055/169] Update parser.py Former-commit-id: 29c1f31baa442e35714b18b7e51896274a828cae --- src/llamafactory/hparams/parser.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 31a805f6..467fc43d 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -90,8 +90,8 @@ def _verify_model_args(model_args: "ModelArguments", finetuning_args: "Finetunin if finetuning_args.finetuning_type != "lora": raise ValueError("Quantization is only compatible with the LoRA method.") - if finetuning_args.use_pissa: - raise ValueError("Please use scripts/pissa_init.py for quantized PiSSA.") + if finetuning_args.pissa_init: + raise ValueError("Please use scripts/pissa_init.py to initialize PiSSA for a quantized model.") if model_args.resize_vocab: raise ValueError("Cannot resize embedding layers of a quantized model.") From 6bbb8b4cd8e16c9fbcee6c040715c14bc3c1d692 Mon Sep 17 00:00:00 2001 From: Eli Costa <87460497+EliMCosta@users.noreply.github.com> Date: Sat, 15 Jun 2024 19:31:56 -0300 Subject: [PATCH 056/169] Add Magpie and Webinstruct dataset samples Adds two dataset samples claimed superior performance: Magpie (from Allen AI) and Webinstruct (from TIGER-Lab). Former-commit-id: 74e49cca957d0bacd2c1d688e995a7370bef69f7 --- data/dataset_info.json | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/data/dataset_info.json b/data/dataset_info.json index 1d226b3a..e321196a 100644 --- a/data/dataset_info.json +++ b/data/dataset_info.json @@ -524,13 +524,13 @@ "prompt": "text" } }, - "fileweb": { + "fineweb": { "hf_hub_url": "HuggingFaceFW/fineweb", "columns": { "prompt": "text" } }, - "fileweb_edu": { + "fineweb_edu": { "hf_hub_url": "HuggingFaceFW/fineweb-edu", "columns": { "prompt": "text" @@ -550,5 +550,25 @@ "prompt": "content" }, "folder": "python" + }, + "Magpie-Pro-300K-Filtered": { + "hf_hub_url": "Magpie-Align/Magpie-Pro-300K-Filtered", + "columns": { + "messages": "conversations" + }, + "tags": { + "role_tag": "from", + "content_tag": "value", + "user_tag": "human", + "assistant_tag": "gpt" + }, + "formatting": "sharegpt" + }, + "WebInstructSub": { + "hf_hub_url": "TIGER-Lab/WebInstructSub", + "columns": { + "prompt": "question", + "response": "answer" + } } -} \ No newline at end of file +} From 26e942b0adb23a831bb0d5350562640195ae5955 Mon Sep 17 00:00:00 2001 From: Eli Costa <87460497+EliMCosta@users.noreply.github.com> Date: Sun, 16 Jun 2024 11:19:25 -0300 Subject: [PATCH 057/169] Update README.md Add Magpie and Webinstruct to README Former-commit-id: 103664203cf5a8562b5b000676ce95a6da2b7698 --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index cb9a7222..30c90e9b 100644 --- a/README.md +++ b/README.md @@ -270,6 +270,8 @@ You also can add a custom chat template to [template.py](src/llamafactory/data/t - [Booksum (de)](https://huggingface.co/datasets/mayflowergmbh/booksum_de) - [Airoboros (de)](https://huggingface.co/datasets/mayflowergmbh/airoboros-3.0_de) - [Ultrachat (de)](https://huggingface.co/datasets/mayflowergmbh/ultra-chat_de) +- [WebInstructSub (en)](https://huggingface.co/datasets/TIGER-Lab/WebInstructSub) +- [Magpie-Pro-300K-Filtered (en)](https://huggingface.co/datasets/Magpie-Align/Magpie-Pro-300K-Filtered)

    From ee30db72a37d7d8720e718c3f550d39656220d29 Mon Sep 17 00:00:00 2001 From: Eli Costa <87460497+EliMCosta@users.noreply.github.com> Date: Sun, 16 Jun 2024 11:22:06 -0300 Subject: [PATCH 058/169] Update README_zh.md Add Magpie and WebInstruct to README Former-commit-id: 82d5c5c1e8dda61523dee4be351c18731e4a5b9c --- README_zh.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README_zh.md b/README_zh.md index 5c005f30..531d9b56 100644 --- a/README_zh.md +++ b/README_zh.md @@ -270,8 +270,8 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd - [Booksum (de)](https://huggingface.co/datasets/mayflowergmbh/booksum_de) - [Airoboros (de)](https://huggingface.co/datasets/mayflowergmbh/airoboros-3.0_de) - [Ultrachat (de)](https://huggingface.co/datasets/mayflowergmbh/ultra-chat_de) - -
    +- [WebInstructSub (en)](https://huggingface.co/datasets/TIGER-Lab/WebInstructSub) +- [Magpie-Pro-300K-Filtered (en)](https://huggingface.co/datasets/Magpie-Align/Magpie-Pro-300K-Filtered)
    偏好数据集 From d7459853d840349e65d1a2127b977b60cf17f2ee Mon Sep 17 00:00:00 2001 From: Eli Costa <87460497+EliMCosta@users.noreply.github.com> Date: Sun, 16 Jun 2024 11:34:31 -0300 Subject: [PATCH 059/169] Update README_zh.md Fix details tag in datasets menus Former-commit-id: 3ec57ac239a4f469bbae013ec8760307fb190189 --- README_zh.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README_zh.md b/README_zh.md index 531d9b56..711596f0 100644 --- a/README_zh.md +++ b/README_zh.md @@ -273,6 +273,8 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd - [WebInstructSub (en)](https://huggingface.co/datasets/TIGER-Lab/WebInstructSub) - [Magpie-Pro-300K-Filtered (en)](https://huggingface.co/datasets/Magpie-Align/Magpie-Pro-300K-Filtered) +
    +
    偏好数据集 - [DPO mixed (en&zh)](https://huggingface.co/datasets/hiyouga/DPO-En-Zh-20k) From 191dac26c0d186ded8355d71913e1368886faa71 Mon Sep 17 00:00:00 2001 From: Eli Costa <87460497+EliMCosta@users.noreply.github.com> Date: Sun, 16 Jun 2024 19:16:23 -0300 Subject: [PATCH 060/169] Fix Dockerfile Adds the commands to correctly execute LLama-Factory servers Former-commit-id: df12621daed8037496dbb6a57e653659a209062b --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 3932ff30..9c2f645c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,3 +42,5 @@ EXPOSE 7860 # Expose port 8000 for the API service EXPOSE 8000 + +CMD [ "llamafactory-cli", "webui" ] From 8ab2d707e58a44cc56022140fa2f153b24329121 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E7=BF=80?= <1020327414@qq.com> Date: Mon, 17 Jun 2024 16:45:57 +0800 Subject: [PATCH 061/169] Update requirements.txt add pandas version requirements Former-commit-id: 12869c3ede9bf11bc0fbdfa7af559808551563be --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 9e00555e..5c7202a5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,7 @@ accelerate>=0.30.1 peft>=0.11.1 trl>=0.8.6 gradio>=4.0.0 +pandas>=2.2.2 scipy einops sentencepiece From 004f289074352c5a734da6e9ef562951c244b9de Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 17 Jun 2024 17:47:25 +0800 Subject: [PATCH 062/169] tiny fix Former-commit-id: 2bf2863a58c93206f271de17d7dfcbcd6375cd73 --- examples/README.md | 14 ++++---- examples/README_zh.md | 14 ++++---- .../fsdp_qlora/{single_node.sh => train.sh} | 0 scripts/llama_pro.py | 2 +- scripts/loftq_init.py | 2 +- scripts/pissa_init.py | 5 ++- tests/model/test_lora.py | 34 +++++++------------ 7 files changed, 32 insertions(+), 39 deletions(-) rename examples/extras/fsdp_qlora/{single_node.sh => train.sh} (100%) diff --git a/examples/README.md b/examples/README.md index 902d26b1..007a81ab 100644 --- a/examples/README.md +++ b/examples/README.md @@ -195,6 +195,12 @@ llamafactory-cli train examples/extras/badam/llama3_full_sft.yaml llamafactory-cli train examples/extras/loraplus/llama3_lora_sft.yaml ``` +#### PiSSA Fine-Tuning + +```bash +llamafactory-cli train examples/extras/pissa/llama3_lora_sft.yaml +``` + #### Mixture-of-Depths Fine-Tuning ```bash @@ -211,11 +217,5 @@ llamafactory-cli train examples/extras/llama_pro/llama3_freeze_sft.yaml #### FSDP+QLoRA Fine-Tuning ```bash -bash examples/extras/fsdp_qlora/single_node.sh -``` - -#### PiSSA Fine-Tuning - -```bash -llamafactory-cli train examples/extras/pissa/llama3_lora_sft.yaml +bash examples/extras/fsdp_qlora/train.sh ``` diff --git a/examples/README_zh.md b/examples/README_zh.md index 586e498c..b9d90f25 100644 --- a/examples/README_zh.md +++ b/examples/README_zh.md @@ -195,6 +195,12 @@ llamafactory-cli train examples/extras/badam/llama3_full_sft.yaml llamafactory-cli train examples/extras/loraplus/llama3_lora_sft.yaml ``` +#### PiSSA 微调 + +```bash +llamafactory-cli train examples/extras/pissa/llama3_lora_sft.yaml +``` + #### 深度混合微调 ```bash @@ -211,11 +217,5 @@ llamafactory-cli train examples/extras/llama_pro/llama3_freeze_sft.yaml #### FSDP+QLoRA 微调 ```bash -bash examples/extras/fsdp_qlora/single_node.sh -``` - -#### PiSSA 微调 - -```bash -llamafactory-cli train examples/extras/pissa/llama3_lora_sft.yaml +bash examples/extras/fsdp_qlora/train.sh ``` diff --git a/examples/extras/fsdp_qlora/single_node.sh b/examples/extras/fsdp_qlora/train.sh similarity index 100% rename from examples/extras/fsdp_qlora/single_node.sh rename to examples/extras/fsdp_qlora/train.sh diff --git a/scripts/llama_pro.py b/scripts/llama_pro.py index 395375ef..17bf6fc2 100644 --- a/scripts/llama_pro.py +++ b/scripts/llama_pro.py @@ -120,7 +120,7 @@ def block_expansion( json.dump(index, f, indent=2, sort_keys=True) print("Model weights saved in {}".format(output_dir)) - print("Fine-tune this model with:") + print("- Fine-tune this model with:") print("model_name_or_path: {}".format(output_dir)) print("finetuning_type: freeze") print("freeze_trainable_layers: {}".format(num_expand)) diff --git a/scripts/loftq_init.py b/scripts/loftq_init.py index 556f342c..b9506fa3 100644 --- a/scripts/loftq_init.py +++ b/scripts/loftq_init.py @@ -74,7 +74,7 @@ def quantize_loftq( tokenizer.save_pretrained(output_dir) print("Model weights saved in {}".format(output_dir)) - print("Fine-tune this model with:") + print("- Fine-tune this model with:") print("model_name_or_path: {}".format(output_dir)) print("adapter_name_or_path: {}".format(loftq_dir)) print("finetuning_type: lora") diff --git a/scripts/pissa_init.py b/scripts/pissa_init.py index 1b673c45..10b81efc 100644 --- a/scripts/pissa_init.py +++ b/scripts/pissa_init.py @@ -68,11 +68,14 @@ def quantize_pissa( tokenizer.save_pretrained(output_dir) print("Model weights saved in {}".format(output_dir)) - print("Fine-tune this model with:") + print("- Fine-tune this model with:") print("model_name_or_path: {}".format(output_dir)) print("adapter_name_or_path: {}".format(pissa_dir)) print("finetuning_type: lora") + print("pissa_init: false") print("pissa_convert: true") + print("- and optionally with:") + print("quantization_bit: 4") if __name__ == "__main__": diff --git a/tests/model/test_lora.py b/tests/model/test_lora.py index 64566fe8..630e5f75 100644 --- a/tests/model/test_lora.py +++ b/tests/model/test_lora.py @@ -56,9 +56,15 @@ INFER_ARGS = { } -def load_reference_model() -> "torch.nn.Module": - model = AutoModelForCausalLM.from_pretrained(TINY_LLAMA) - return PeftModel.from_pretrained(model, TINY_LLAMA_ADAPTER) +def load_reference_model(is_trainable: bool = False) -> "LoraModel": + model = AutoModelForCausalLM.from_pretrained( + TINY_LLAMA, torch_dtype=torch.float16, device_map=get_current_device() + ) + lora_model = PeftModel.from_pretrained(model, TINY_LLAMA_ADAPTER, is_trainable=is_trainable) + for param in filter(lambda p: p.requires_grad, lora_model.parameters()): + param.data = param.data.to(torch.float32) + + return lora_model def compare_model(model_a: "torch.nn.Module", model_b: "torch.nn.Module", diff_keys: Sequence[str] = []): @@ -148,13 +154,7 @@ def test_lora_train_old_adapters(): tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) - base_model = AutoModelForCausalLM.from_pretrained( - TINY_LLAMA, torch_dtype=torch.float16, device_map=get_current_device() - ) - ref_model = PeftModel.from_pretrained(base_model, TINY_LLAMA_ADAPTER, is_trainable=True) - for param in filter(lambda p: p.requires_grad, ref_model.parameters()): - param.data = param.data.to(torch.float32) - + ref_model = load_reference_model(is_trainable=True) compare_model(model, ref_model) @@ -165,13 +165,7 @@ def test_lora_train_new_adapters(): tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) - base_model = AutoModelForCausalLM.from_pretrained( - TINY_LLAMA, torch_dtype=torch.float16, device_map=get_current_device() - ) - ref_model = PeftModel.from_pretrained(base_model, TINY_LLAMA_ADAPTER, is_trainable=True) - for param in filter(lambda p: p.requires_grad, ref_model.parameters()): - param.data = param.data.to(torch.float32) - + ref_model = load_reference_model(is_trainable=True) compare_model( model, ref_model, diff_keys=["q_proj", "k_proj", "v_proj", "o_proj", "up_proj", "gate_proj", "down_proj"] ) @@ -200,9 +194,5 @@ def test_lora_inference(): tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False) - base_model = AutoModelForCausalLM.from_pretrained( - TINY_LLAMA, torch_dtype=torch.float16, device_map=get_current_device() - ) - ref_model: "LoraModel" = PeftModel.from_pretrained(base_model, TINY_LLAMA_ADAPTER) - ref_model = ref_model.merge_and_unload() + ref_model = load_reference_model().merge_and_unload() compare_model(model, ref_model) From 0a40ee544402cf8ac194d4e1d80515f13aba0f9c Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 17 Jun 2024 17:49:03 +0800 Subject: [PATCH 063/169] Update wechat.jpg Former-commit-id: 72471ee046a69acea25fd4d67679ea942d00eb8f --- assets/wechat.jpg | Bin 147680 -> 143583 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/wechat.jpg b/assets/wechat.jpg index 47523aee5cf06f2a718c5af27e99ab02b359e0bb..5868f16c28c01435e2f9efdb829a2ec25a0b9da9 100644 GIT binary patch literal 143583 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 z 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≤Tq$mOleSue!{0+GTYUR23be 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 XJjh-wSbnEU4sYq|c%`uJmH58^VfDXR literal 147680 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

    GyF^0ZNhet{{xX)xJsAbY=YZkms_t@*Jr_T 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 Date: Mon, 17 Jun 2024 18:17:48 +0800 Subject: [PATCH 064/169] fix #4326 Former-commit-id: e2665e71c7428014d46d91542b01a58c1064d05a --- src/llamafactory/model/adapter.py | 16 +++++++++++++--- .../model/model_utils/quantization.py | 18 ++++++++---------- src/llamafactory/model/patcher.py | 5 ++++- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/src/llamafactory/model/adapter.py b/src/llamafactory/model/adapter.py index a8f3a256..34518878 100644 --- a/src/llamafactory/model/adapter.py +++ b/src/llamafactory/model/adapter.py @@ -281,12 +281,22 @@ def init_adapter( Note that the trainable parameters must be cast to float32. """ - if is_trainable and getattr(model, "quantization_method", None) and finetuning_args.finetuning_type != "lora": - raise ValueError("Quantized models can only be used for the LoRA tuning.") + if is_trainable and getattr(model, "quantization_method", None) is not None: + if finetuning_args.finetuning_type != "lora": + raise ValueError("Quantized models can only be used for the LoRA tuning.") + if finetuning_args.pissa_init: + raise ValueError("Cannot initialize PiSSA adapter on quantized models.") + + # cast trainable parameters to float32 if: + # 1. is_trainable and quantization_bit is not None (qlora) + # 2. is_trainable and not deepspeed zero3 and not fsdp (zero3 or fsdp already in float32) + # 3. is_trainable and not pure_bf16 and not badam if not is_trainable: cast_trainable_params_to_fp32 = False - elif is_deepspeed_zero3_enabled() or is_fsdp_enabled() or finetuning_args.pure_bf16 or finetuning_args.use_badam: + elif model_args.quantization_bit is None and ( + is_deepspeed_zero3_enabled() or is_fsdp_enabled() or finetuning_args.pure_bf16 or finetuning_args.use_badam + ): logger.info("ZeRO3/FSDP/PureBF16/BAdam detected, remaining trainable params as their original precision.") cast_trainable_params_to_fp32 = False else: diff --git a/src/llamafactory/model/model_utils/quantization.py b/src/llamafactory/model/model_utils/quantization.py index 0a0fca34..5251f84f 100644 --- a/src/llamafactory/model/model_utils/quantization.py +++ b/src/llamafactory/model/model_utils/quantization.py @@ -1,6 +1,7 @@ # Copyright 2024 HuggingFace Inc. and the LlamaFactory team. # -# This code is inspired by the HuggingFace's Optimum library. +# This code is inspired by the HuggingFace's Transformers and Optimum library. +# https://github.com/huggingface/transformers/blob/v4.41.0/src/transformers/utils/quantization_config.py # https://github.com/huggingface/optimum/blob/v1.20.0/optimum/gptq/data.py # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -96,10 +97,7 @@ def configure_quantization( """ if getattr(config, "quantization_config", None): # ptq if is_deepspeed_zero3_enabled(): - raise ValueError("DeepSpeed ZeRO-3 is incompatible with quantized models.") - - if model_args.quantization_device_map != "auto": - init_kwargs["device_map"] = {"": get_current_device()} + raise ValueError("DeepSpeed ZeRO-3 is incompatible with PTQ-quantized models.") quantization_config: Dict[str, Any] = getattr(config, "quantization_config", None) quant_method = quantization_config.get("quant_method", "") @@ -152,15 +150,15 @@ def configure_quantization( bnb_4bit_quant_storage=model_args.compute_dtype, # crucial for fsdp+qlora ) + # assign device map if: + # 1. not deepspeed zero3 and not fsdp + # 2. not auto quantization device map if is_deepspeed_zero3_enabled() or is_fsdp_enabled() or model_args.quantization_device_map == "auto": if model_args.quantization_bit != 4: - raise ValueError("Only 4-bit quantized model can use auto device map.") + raise ValueError("Only 4-bit quantized model can use fsdp+qlora or auto device map.") - require_version("transformers>=4.39.0", "To fix: pip install transformers>=4.39.0") - require_version("accelerate>=0.28.0", "To fix: pip install accelerate>=0.28.0") require_version("bitsandbytes>=0.43.0", "To fix: pip install bitsandbytes>=0.43.0") - init_kwargs["torch_dtype"] = model_args.compute_dtype # fsdp+qlora requires same dtype else: - init_kwargs["device_map"] = {"": get_current_device()} + init_kwargs["device_map"] = {"": get_current_device()} # change auto device map for inference logger.info("Quantizing model to {} bit.".format(model_args.quantization_bit)) diff --git a/src/llamafactory/model/patcher.py b/src/llamafactory/model/patcher.py index 053516e4..8fa17d08 100644 --- a/src/llamafactory/model/patcher.py +++ b/src/llamafactory/model/patcher.py @@ -89,7 +89,10 @@ def patch_config( # deepspeed zero3 is not compatible with low_cpu_mem_usage init_kwargs["low_cpu_mem_usage"] = model_args.low_cpu_mem_usage and (not is_deepspeed_zero3_enabled()) - if not is_deepspeed_zero3_enabled() and not is_fsdp_enabled(): # cast dtype and device if not use zero3 or fsdp + # cast data type of the model if: + # 1. not deepspeed zero3 and not fsdp (keep zero3 or fsdp in float32) + # 2. fsdp + qlora + if model_args.quantization_bit is not None or (not is_deepspeed_zero3_enabled() and not is_fsdp_enabled()): init_kwargs["torch_dtype"] = model_args.compute_dtype if init_kwargs["low_cpu_mem_usage"]: # device map requires low_cpu_mem_usage=True From 756566342dfd8ed4fd87dce2fb696e245fcd2b59 Mon Sep 17 00:00:00 2001 From: Jonery Date: Mon, 17 Jun 2024 18:18:10 +0800 Subject: [PATCH 065/169] adapt for badam with ds zero3 Former-commit-id: 33b437277846d4f0b64c13a0bc892ef4f345a21e --- src/llamafactory/hparams/parser.py | 12 ++++++------ src/llamafactory/train/sft/trainer.py | 15 +++++++++++++++ src/llamafactory/train/utils.py | 7 +++++++ 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 6311297e..fe108657 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -184,12 +184,12 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: ): raise ValueError("Distributed training does not support layer-wise GaLore.") - if ( - finetuning_args.use_badam - and finetuning_args.badam_mode == "layer" - and training_args.parallel_mode.value == "distributed" - ): - raise ValueError("Layer-wise BAdam does not yet support distributed training, use ratio-wise BAdam.") + # if ( + # finetuning_args.use_badam + # and finetuning_args.badam_mode == "layer" + # and training_args.parallel_mode.value == "distributed" + # ): + # raise ValueError("Layer-wise BAdam does not yet support distributed training, use ratio-wise BAdam.") if (finetuning_args.use_galore or finetuning_args.use_badam) and training_args.deepspeed is not None: raise ValueError("GaLore and BAdam are incompatible with DeepSpeed yet.") diff --git a/src/llamafactory/train/sft/trainer.py b/src/llamafactory/train/sft/trainer.py index 35671e1b..cd73bf5c 100644 --- a/src/llamafactory/train/sft/trainer.py +++ b/src/llamafactory/train/sft/trainer.py @@ -55,6 +55,21 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): output_dir = output_dir if output_dir is not None else self.args.output_dir getattr(self.processor, "image_processor").save_pretrained(output_dir) + def training_step(self, *args, **kwargs): + r""" + Update the reference to deepspeed optimizer + """ + if self.finetuning_args.use_badam and \ + self.args.deepspeed_plugin is not None and \ + self.args.deepspeed_plugin.zero_stage == 3: + + ds_optim = self.optimizer.optimizer + badam_optim = ds_optim.optimizer + badam_optim.ds_optimizer = ds_optim + + return super().training_step(*args, **kwargs) + + def prediction_step( self, model: "torch.nn.Module", diff --git a/src/llamafactory/train/utils.py b/src/llamafactory/train/utils.py index 23834f2d..b189922b 100644 --- a/src/llamafactory/train/utils.py +++ b/src/llamafactory/train/utils.py @@ -309,6 +309,12 @@ def _create_badam_optimizer( dict(params=decay_params, weight_decay=training_args.weight_decay), ] + ds_zero3_enabled = False + if hasattr(training_args, "deepspeed_plugin") and training_args.deepspeed_plugin is not None: + assert training_args.deepspeed_plugin.zero_stage == 3, f"BAdam only supports deepspeed ZeRO-3 stage, got {training_args.deepspeed_plugin.zero_stage}" + assert finetuning_args.badam_mode == "layer", "BAdam only supports layer-wise update in ZeRO-3 stage" + ds_zero3_enabled = True + if finetuning_args.badam_mode == "layer": from badam import BlockOptimizer @@ -321,6 +327,7 @@ def _create_badam_optimizer( start_block=finetuning_args.badam_start_block, switch_mode=finetuning_args.badam_switch_mode, verbose=finetuning_args.badam_verbose, + ds_zero3_enabled=ds_zero3_enabled ) logger.info( f"Using BAdam optimizer with layer-wise update, switch mode is {finetuning_args.badam_switch_mode}, " From 67df86201ae5eaef6a772e7e31449c5c4a5d8558 Mon Sep 17 00:00:00 2001 From: Jonery Date: Mon, 17 Jun 2024 18:29:36 +0800 Subject: [PATCH 066/169] update gitigore Former-commit-id: b2fc9cc15f2fc3c9536681260beedd3a224ef40f --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 0355c666..2486e728 100644 --- a/.gitignore +++ b/.gitignore @@ -163,3 +163,5 @@ cython_debug/ user.config saves/ cache/ +wandb +ds_badam_exp \ No newline at end of file From 9e0ec3831f981e2dff3cd69a7e65c5a3707e8138 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 17 Jun 2024 18:47:24 +0800 Subject: [PATCH 067/169] update readme Former-commit-id: fcb2e8e7b7b79915af24c4e3264b579b3649ea90 --- README.md | 2 +- README_zh.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index cb9a7222..60045118 100644 --- a/README.md +++ b/README.md @@ -481,7 +481,7 @@ Train the model by specifying a model ID of the ModelScope Hub as the `model_nam ### Use W&B Logger -To use [Weights & Biases](https://wandb.ai) for logging experimental results, you need to add the following arguments. +To use [Weights & Biases](https://wandb.ai) for logging experimental results, you need to add the following arguments to yaml files. ```yaml report_to: wandb diff --git a/README_zh.md b/README_zh.md index 5c005f30..fc824561 100644 --- a/README_zh.md +++ b/README_zh.md @@ -481,7 +481,7 @@ export USE_MODELSCOPE_HUB=1 # Windows 使用 `set USE_MODELSCOPE_HUB=1` ### 使用 W&B 面板 -若要使用 [Weights & Biases](https://wandb.ai) 记录实验数据,请添加下面的参数。 +若要使用 [Weights & Biases](https://wandb.ai) 记录实验数据,请在 yaml 文件中添加下面的参数。 ```yaml report_to: wandb From 3d85217464e62eb626f8ff64bf1a33b97462741f Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 17 Jun 2024 19:07:17 +0800 Subject: [PATCH 068/169] update chat engine #4335 Former-commit-id: 7857c0990b37d37e58691257eea13fe5e244aaa0 --- src/llamafactory/chat/chat_model.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/chat/chat_model.py b/src/llamafactory/chat/chat_model.py index fb800106..2a72f422 100644 --- a/src/llamafactory/chat/chat_model.py +++ b/src/llamafactory/chat/chat_model.py @@ -31,7 +31,7 @@ if TYPE_CHECKING: from .base_engine import BaseEngine, Response -def _start_background_loop(loop: asyncio.AbstractEventLoop) -> None: +def _start_background_loop(loop: "asyncio.AbstractEventLoop") -> None: asyncio.set_event_loop(loop) loop.run_forever() @@ -49,7 +49,8 @@ class ChatModel: self._loop = asyncio.new_event_loop() self._thread = Thread(target=_start_background_loop, args=(self._loop,), daemon=True) self._thread.start() - asyncio.run_coroutine_threadsafe(self.engine.start(), self._loop) + task = asyncio.run_coroutine_threadsafe(self.engine.start(), self._loop) + task.result() def chat( self, From 19bf21efba0a47670e4d70402fa74b17d39a8c44 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 17 Jun 2024 22:35:56 +0800 Subject: [PATCH 069/169] lint Former-commit-id: 24c160df3d575843e5ad5f1b47246d04430a79f0 --- scripts/pissa_init.py | 2 +- src/llamafactory/hparams/finetuning_args.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/pissa_init.py b/scripts/pissa_init.py index 10b81efc..50239727 100644 --- a/scripts/pissa_init.py +++ b/scripts/pissa_init.py @@ -50,7 +50,7 @@ def quantize_pissa( lora_alpha=lora_alpha if lora_alpha is not None else lora_rank * 2, lora_dropout=lora_dropout, target_modules=[name.strip() for name in lora_target.split(",")], - init_lora_weights="pissa" if pissa_iter == -1 else "pissa_niter_{}".format(pissa_iter) + init_lora_weights="pissa" if pissa_iter == -1 else "pissa_niter_{}".format(pissa_iter), ) # Init PiSSA model diff --git a/src/llamafactory/hparams/finetuning_args.py b/src/llamafactory/hparams/finetuning_args.py index 1ef46eca..b676891e 100644 --- a/src/llamafactory/hparams/finetuning_args.py +++ b/src/llamafactory/hparams/finetuning_args.py @@ -352,7 +352,7 @@ class FinetuningArguments(FreezeArguments, LoraArguments, RLHFArguments, GaloreA self.additional_target: Optional[List[str]] = split_arg(self.additional_target) self.galore_target: List[str] = split_arg(self.galore_target) self.freeze_vision_tower = self.freeze_vision_tower or self.train_mm_proj_only - self.use_ref_model = (self.stage == "dpo" and self.pref_loss not in ["orpo", "simpo"]) + self.use_ref_model = self.stage == "dpo" and self.pref_loss not in ["orpo", "simpo"] assert self.finetuning_type in ["lora", "freeze", "full"], "Invalid fine-tuning method." assert self.ref_model_quantization_bit in [None, 8, 4], "We only accept 4-bit or 8-bit quantization." From 3a5eacb4cfa9164424d03a5635e49fa966e6f356 Mon Sep 17 00:00:00 2001 From: Jonery Date: Tue, 18 Jun 2024 12:27:47 +0800 Subject: [PATCH 070/169] Support distributed BAdam. Former-commit-id: 0f72aac8c9227e33ad20d2b1641b1c9faae16a5f --- src/llamafactory/hparams/parser.py | 24 ++++++++++-------------- src/llamafactory/train/dpo/trainer.py | 6 ++++++ src/llamafactory/train/kto/trainer.py | 6 ++++++ src/llamafactory/train/ppo/trainer.py | 6 ++++++ src/llamafactory/train/pt/trainer.py | 6 ++++++ src/llamafactory/train/rm/trainer.py | 6 ++++++ src/llamafactory/train/sft/trainer.py | 22 ++++++---------------- 7 files changed, 46 insertions(+), 30 deletions(-) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index f922bbfd..598a34e5 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -209,24 +209,20 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: ): raise ValueError("Distributed training does not support layer-wise GaLore.") -<<<<<<< HEAD - # if ( - # finetuning_args.use_badam - # and finetuning_args.badam_mode == "layer" - # and training_args.parallel_mode.value == "distributed" - # ): - # raise ValueError("Layer-wise BAdam does not yet support distributed training, use ratio-wise BAdam.") -======= if ( finetuning_args.use_badam - and finetuning_args.badam_mode == "layer" - and training_args.parallel_mode == ParallelMode.DISTRIBUTED + and training_args.parallel_mode.value == "distributed" ): - raise ValueError("Layer-wise BAdam does not yet support distributed training, use ratio-wise BAdam.") ->>>>>>> upstream/main + if finetuning_args.badam_mode == "ratio": + raise ValueError("Ratio-wise BAdam does not yet support distributed training, use layer-wise BAdam: --badam_mode layer") + if (finetuning_args.badam_mode == "layer" + and training_args.deepspeed_plugin is not None + and training_args.deepspeed_plugin.zero_stage < 3 + ): + raise ValueError(f"Layer-wise BAdam only supports DeepSpeed ZeRO 3 stage, got stage {self.args.deepspeed_plugin.zero_stage}") - if (finetuning_args.use_galore or finetuning_args.use_badam) and training_args.deepspeed is not None: - raise ValueError("GaLore and BAdam are incompatible with DeepSpeed yet.") + if (finetuning_args.use_galore) and training_args.deepspeed is not None: + raise ValueError("GaLore are incompatible with DeepSpeed yet.") if model_args.infer_backend == "vllm": raise ValueError("vLLM backend is only available for API, CLI and Web.") diff --git a/src/llamafactory/train/dpo/trainer.py b/src/llamafactory/train/dpo/trainer.py index 9928d0bc..284bf41a 100644 --- a/src/llamafactory/train/dpo/trainer.py +++ b/src/llamafactory/train/dpo/trainer.py @@ -100,6 +100,12 @@ class CustomDPOTrainer(DPOTrainer): self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) + if (self.args.deepspeed_plugin is not None + and self.args.deepspeed_plugin.zero_stage == 3 + ): + from badam.utils import BAdamZeRO3Callback + self.callback_handler.add_callback(BAdamZeRO3Callback) + def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: self.optimizer = create_custom_optimzer(self.model, self.args, self.finetuning_args) diff --git a/src/llamafactory/train/kto/trainer.py b/src/llamafactory/train/kto/trainer.py index 91d68975..d8b609e0 100644 --- a/src/llamafactory/train/kto/trainer.py +++ b/src/llamafactory/train/kto/trainer.py @@ -95,6 +95,12 @@ class CustomKTOTrainer(KTOTrainer): self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) + if (self.args.deepspeed_plugin is not None + and self.args.deepspeed_plugin.zero_stage == 3 + ): + from badam.utils import BAdamZeRO3Callback + self.callback_handler.add_callback(BAdamZeRO3Callback) + def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: self.optimizer = create_custom_optimzer(self.model, self.args, self.finetuning_args) diff --git a/src/llamafactory/train/ppo/trainer.py b/src/llamafactory/train/ppo/trainer.py index df4a37be..5a18cbaa 100644 --- a/src/llamafactory/train/ppo/trainer.py +++ b/src/llamafactory/train/ppo/trainer.py @@ -170,6 +170,12 @@ class CustomPPOTrainer(PPOTrainer, Trainer): self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) + if (self.args.deepspeed_plugin is not None + and self.args.deepspeed_plugin.zero_stage == 3 + ): + from badam.utils import BAdamZeRO3Callback + self.callback_handler.add_callback(BAdamZeRO3Callback) + def ppo_train(self, resume_from_checkpoint: Optional[str] = None) -> None: r""" Implements training loop for the PPO stage, like _inner_training_loop() in Huggingface's Trainer. diff --git a/src/llamafactory/train/pt/trainer.py b/src/llamafactory/train/pt/trainer.py index f9e04cb5..1e5e9f6a 100644 --- a/src/llamafactory/train/pt/trainer.py +++ b/src/llamafactory/train/pt/trainer.py @@ -52,6 +52,12 @@ class CustomTrainer(Trainer): self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) + if (self.args.deepspeed_plugin is not None + and self.args.deepspeed_plugin.zero_stage == 3 + ): + from badam.utils import BAdamZeRO3Callback + self.callback_handler.add_callback(BAdamZeRO3Callback) + def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: self.optimizer = create_custom_optimzer(self.model, self.args, self.finetuning_args) diff --git a/src/llamafactory/train/rm/trainer.py b/src/llamafactory/train/rm/trainer.py index 7f91e5f5..5d0e6263 100644 --- a/src/llamafactory/train/rm/trainer.py +++ b/src/llamafactory/train/rm/trainer.py @@ -76,6 +76,12 @@ class PairwiseTrainer(Trainer): self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) + if (self.args.deepspeed_plugin is not None + and self.args.deepspeed_plugin.zero_stage == 3 + ): + from badam.utils import BAdamZeRO3Callback + self.callback_handler.add_callback(BAdamZeRO3Callback) + def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: self.optimizer = create_custom_optimzer(self.model, self.args, self.finetuning_args) diff --git a/src/llamafactory/train/sft/trainer.py b/src/llamafactory/train/sft/trainer.py index 0628ea59..9446d245 100644 --- a/src/llamafactory/train/sft/trainer.py +++ b/src/llamafactory/train/sft/trainer.py @@ -57,9 +57,14 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): if finetuning_args.use_badam: from badam import clip_grad_norm_for_sparse_tensor - self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) + if (self.args.deepspeed_plugin is not None + and self.args.deepspeed_plugin.zero_stage == 3 + ): + from badam.utils import BAdamZeRO3Callback + self.callback_handler.add_callback(BAdamZeRO3Callback) + def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: self.optimizer = create_custom_optimzer(self.model, self.args, self.finetuning_args) @@ -80,21 +85,6 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): if self.processor is not None: getattr(self.processor, "image_processor").save_pretrained(output_dir) - def training_step(self, *args, **kwargs): - r""" - Update the reference to deepspeed optimizer - """ - if self.finetuning_args.use_badam and \ - self.args.deepspeed_plugin is not None and \ - self.args.deepspeed_plugin.zero_stage == 3: - - ds_optim = self.optimizer.optimizer - badam_optim = ds_optim.optimizer - badam_optim.ds_optimizer = ds_optim - - return super().training_step(*args, **kwargs) - - def prediction_step( self, model: "torch.nn.Module", From c2734108e7290f7a1df655cd5e2b064967e4b833 Mon Sep 17 00:00:00 2001 From: Jonery Date: Tue, 18 Jun 2024 12:39:26 +0800 Subject: [PATCH 071/169] fix typo Former-commit-id: 8f7c78b64138602406af748b0e15948ebbd2dcb5 --- src/llamafactory/hparams/parser.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 598a34e5..680559ac 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -219,7 +219,7 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: and training_args.deepspeed_plugin is not None and training_args.deepspeed_plugin.zero_stage < 3 ): - raise ValueError(f"Layer-wise BAdam only supports DeepSpeed ZeRO 3 stage, got stage {self.args.deepspeed_plugin.zero_stage}") + raise ValueError(f"Layer-wise BAdam only supports DeepSpeed ZeRO 3 stage, got stage {training_args.deepspeed_plugin.zero_stage}") if (finetuning_args.use_galore) and training_args.deepspeed is not None: raise ValueError("GaLore are incompatible with DeepSpeed yet.") From bc1c082bc2ae01a2ebbb66b1757578fd6f25903f Mon Sep 17 00:00:00 2001 From: Jonery Date: Tue, 18 Jun 2024 13:50:26 +0800 Subject: [PATCH 072/169] add example Former-commit-id: 97c523516093961983037922e7fc84e4010d5fec --- examples/extras/badam/llama3_badam_sft.yaml | 40 +++++++++++++++++++++ examples/extras/badam/train_single_gpu.sh | 37 +++++++++++++++++++ examples/extras/badam/train_zero3.sh | 39 ++++++++++++++++++++ 3 files changed, 116 insertions(+) create mode 100644 examples/extras/badam/llama3_badam_sft.yaml create mode 100644 examples/extras/badam/train_single_gpu.sh create mode 100644 examples/extras/badam/train_zero3.sh diff --git a/examples/extras/badam/llama3_badam_sft.yaml b/examples/extras/badam/llama3_badam_sft.yaml new file mode 100644 index 00000000..f5adb220 --- /dev/null +++ b/examples/extras/badam/llama3_badam_sft.yaml @@ -0,0 +1,40 @@ +### model +model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct + +### method +stage: sft +do_train: true +finetuning_type: full +use_badam: true +badam_switch_mode: ascending +badam_switch_interval: 50 +badam_verbose: 2 + +### dataset +dataset: identity,alpaca_en_demo +template: llama3 +cutoff_len: 1024 +max_samples: 1000 +overwrite_cache: true +preprocessing_num_workers: 16 + +### output +output_dir: saves/llama3-8b/full/sft +logging_steps: 10 +save_steps: 500 +plot_loss: true +overwrite_output_dir: true + +### train +per_device_train_batch_size: 1 +gradient_accumulation_steps: 8 +learning_rate: 1.0e-6 +num_train_epochs: 3.0 +lr_scheduler_type: cosine +warmup_ratio: 0.1 + +### eval +val_size: 0.1 +per_device_eval_batch_size: 1 +eval_strategy: steps +eval_steps: 500 diff --git a/examples/extras/badam/train_single_gpu.sh b/examples/extras/badam/train_single_gpu.sh new file mode 100644 index 00000000..8af79007 --- /dev/null +++ b/examples/extras/badam/train_single_gpu.sh @@ -0,0 +1,37 @@ +#!/bin/bash +export CUDA_VISIBLE_DEVICES=0 + +cd ../../.. + +llamafactory-cli train \ + --stage sft \ + --do_train True \ + --model_name_or_path meta-llama/Llama-2-13b-hf \ + --preprocessing_num_workers 16 \ + --finetuning_type full \ + --template default \ + --flash_attn auto \ + --dataset_dir data \ + --dataset alpaca_en_demo \ + --cutoff_len 1024 \ + --learning_rate 1e-6 \ + --num_train_epochs 3.0 \ + --max_samples 100000 \ + --per_device_train_batch_size 1 \ + --gradient_accumulation_steps 8 \ + --lr_scheduler_type cosine \ + --max_grad_norm 1.0 \ + --logging_steps 5 \ + --save_steps 100 \ + --warmup_steps 0 \ + --optim adamw_torch \ + --packing False \ + --report_to none \ + --use_badam True \ + --output_dir saves/LLaMA2-13B/full/BAdam \ + --plot_loss True \ + --ddp_timeout 180000000 \ + --include_num_input_tokens_seen True \ + --badam_mode layer \ + --badam_switch_mode ascending \ + --badam_switch_interval 50 \ No newline at end of file diff --git a/examples/extras/badam/train_zero3.sh b/examples/extras/badam/train_zero3.sh new file mode 100644 index 00000000..3b182134 --- /dev/null +++ b/examples/extras/badam/train_zero3.sh @@ -0,0 +1,39 @@ +#!/bin/bash +export CUDA_VISIBLE_DEVICES=0,1,2,3 + +cd ../../.. + +llamafactory-cli train \ + --stage sft \ + --do_train True \ + --model_name_or_path meta-llama/Llama-2-13b-hf \ + --preprocessing_num_workers 16 \ + --finetuning_type full \ + --template default \ + --flash_attn auto \ + --dataset_dir data \ + --dataset alpaca_en_demo \ + --cutoff_len 1024 \ + --learning_rate 1e-6 \ + --num_train_epochs 3.0 \ + --max_samples 100000 \ + --per_device_train_batch_size 8 \ + --gradient_accumulation_steps 2 \ + --lr_scheduler_type cosine \ + --max_grad_norm 1.0 \ + --logging_steps 5 \ + --save_steps 100 \ + --warmup_steps 0 \ + --optim adamw_torch \ + --packing False \ + --report_to none \ + --use_badam True \ + --output_dir saves/LLaMA2-13B/full/BAdam \ + --fp16 True \ + --plot_loss True \ + --ddp_timeout 180000000 \ + --include_num_input_tokens_seen True \ + --badam_mode layer \ + --badam_switch_mode ascending \ + --badam_switch_interval 50 \ + --deepspeed cache/ds_z3_config.json \ No newline at end of file From 15a5eb664737ddd9cc780e5c0f5a0b780b18b2fb Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 18 Jun 2024 22:08:56 +0800 Subject: [PATCH 073/169] fix #4335 Former-commit-id: c96264bc477d65276557e9059cac7c550c4835a8 --- src/llamafactory/chat/base_engine.py | 5 ----- src/llamafactory/chat/chat_model.py | 2 -- src/llamafactory/chat/hf_engine.py | 10 ++++------ src/llamafactory/chat/vllm_engine.py | 3 --- 4 files changed, 4 insertions(+), 16 deletions(-) diff --git a/src/llamafactory/chat/base_engine.py b/src/llamafactory/chat/base_engine.py index 92a51ebe..ccdf4c92 100644 --- a/src/llamafactory/chat/base_engine.py +++ b/src/llamafactory/chat/base_engine.py @@ -50,11 +50,6 @@ class BaseEngine(ABC): generating_args: "GeneratingArguments", ) -> None: ... - @abstractmethod - async def start( - self, - ) -> None: ... - @abstractmethod async def chat( self, diff --git a/src/llamafactory/chat/chat_model.py b/src/llamafactory/chat/chat_model.py index 2a72f422..5c83fa67 100644 --- a/src/llamafactory/chat/chat_model.py +++ b/src/llamafactory/chat/chat_model.py @@ -49,8 +49,6 @@ class ChatModel: self._loop = asyncio.new_event_loop() self._thread = Thread(target=_start_background_loop, args=(self._loop,), daemon=True) self._thread.start() - task = asyncio.run_coroutine_threadsafe(self.engine.start(), self._loop) - task.result() def chat( self, diff --git a/src/llamafactory/chat/hf_engine.py b/src/llamafactory/chat/hf_engine.py index a7ff7015..30200456 100644 --- a/src/llamafactory/chat/hf_engine.py +++ b/src/llamafactory/chat/hf_engine.py @@ -59,6 +59,7 @@ class HuggingfaceEngine(BaseEngine): self.tokenizer, model_args, finetuning_args, is_trainable=False, add_valuehead=(not self.can_generate) ) # must after fixing tokenizer to resize vocab self.generating_args = generating_args.to_dict() + self.semaphore = asyncio.Semaphore(int(os.environ.get("MAX_CONCURRENT", "1"))) @staticmethod def _process_args( @@ -259,9 +260,6 @@ class HuggingfaceEngine(BaseEngine): return scores - async def start(self) -> None: - self._semaphore = asyncio.Semaphore(int(os.environ.get("MAX_CONCURRENT", 1))) - async def chat( self, messages: Sequence[Dict[str, str]], @@ -286,7 +284,7 @@ class HuggingfaceEngine(BaseEngine): image, input_kwargs, ) - async with self._semaphore: + async with self.semaphore: with concurrent.futures.ThreadPoolExecutor() as pool: return await loop.run_in_executor(pool, self._chat, *input_args) @@ -314,7 +312,7 @@ class HuggingfaceEngine(BaseEngine): image, input_kwargs, ) - async with self._semaphore: + async with self.semaphore: with concurrent.futures.ThreadPoolExecutor() as pool: stream = self._stream_chat(*input_args) while True: @@ -333,6 +331,6 @@ class HuggingfaceEngine(BaseEngine): loop = asyncio.get_running_loop() input_args = (self.model, self.tokenizer, batch_input, input_kwargs) - async with self._semaphore: + async with self.semaphore: with concurrent.futures.ThreadPoolExecutor() as pool: return await loop.run_in_executor(pool, self._get_scores, *input_args) diff --git a/src/llamafactory/chat/vllm_engine.py b/src/llamafactory/chat/vllm_engine.py index d488a039..2626d612 100644 --- a/src/llamafactory/chat/vllm_engine.py +++ b/src/llamafactory/chat/vllm_engine.py @@ -183,9 +183,6 @@ class VllmEngine(BaseEngine): ) return result_generator - async def start(self) -> None: - pass - async def chat( self, messages: Sequence[Dict[str, str]], From 09c34e5b6c674f8f0508205d2912b4327fc0ada2 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Tue, 18 Jun 2024 22:27:24 +0800 Subject: [PATCH 074/169] Update requirements.txt Former-commit-id: e8c518c08a1235f83f66f83d6f8a6fcad8c598df --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 5c7202a5..f76524d8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,7 +4,7 @@ accelerate>=0.30.1 peft>=0.11.1 trl>=0.8.6 gradio>=4.0.0 -pandas>=2.2.2 +pandas>=2.0.0 scipy einops sentencepiece From 5156114981877b246e058c566a4bcfd54c2a1172 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 18 Jun 2024 22:42:45 +0800 Subject: [PATCH 075/169] fix #4357 Former-commit-id: 4bd77d8563aa85230af65caf901214247e214bed --- src/llamafactory/chat/hf_engine.py | 7 +++++++ src/llamafactory/hparams/parser.py | 1 + src/llamafactory/model/model_utils/rope.py | 4 ++-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/chat/hf_engine.py b/src/llamafactory/chat/hf_engine.py index 30200456..9e60175b 100644 --- a/src/llamafactory/chat/hf_engine.py +++ b/src/llamafactory/chat/hf_engine.py @@ -59,6 +59,13 @@ class HuggingfaceEngine(BaseEngine): self.tokenizer, model_args, finetuning_args, is_trainable=False, add_valuehead=(not self.can_generate) ) # must after fixing tokenizer to resize vocab self.generating_args = generating_args.to_dict() + try: + asyncio.get_event_loop() + except RuntimeError: + logger.warning("There is no current event loop, creating a new one.") + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + self.semaphore = asyncio.Semaphore(int(os.environ.get("MAX_CONCURRENT", "1"))) @staticmethod diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 467fc43d..9b305016 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -353,6 +353,7 @@ def get_infer_args(args: Optional[Dict[str, Any]] = None) -> _INFER_CLS: if model_args.export_dir is not None and model_args.export_device == "cpu": model_args.device_map = {"": torch.device("cpu")} + model_args.model_max_length = data_args.cutoff_len else: model_args.device_map = "auto" diff --git a/src/llamafactory/model/model_utils/rope.py b/src/llamafactory/model/model_utils/rope.py index 88303c4d..4373ee19 100644 --- a/src/llamafactory/model/model_utils/rope.py +++ b/src/llamafactory/model/model_utils/rope.py @@ -39,8 +39,8 @@ def configure_rope(config: "PretrainedConfig", model_args: "ModelArguments", is_ logger.warning("Current model does not support RoPE scaling.") return - if is_trainable: - if model_args.rope_scaling == "dynamic": + if model_args.model_max_length is not None: + if is_trainable and model_args.rope_scaling == "dynamic": logger.warning( "Dynamic NTK scaling may not work well with fine-tuning. " "See: https://github.com/huggingface/transformers/pull/24653" From e3bf22f61bbb9d0ebdabcf93879b224c6a1a7705 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 18 Jun 2024 22:53:54 +0800 Subject: [PATCH 076/169] add deepseek coder v2 #4346 Former-commit-id: a233fbc258d38c62d78b9d1eaf034720361795e6 --- README.md | 58 ++++++++++++++-------------- README_zh.md | 58 ++++++++++++++-------------- src/llamafactory/extras/constants.py | 12 ++++++ 3 files changed, 70 insertions(+), 58 deletions(-) diff --git a/README.md b/README.md index 60045118..ca9e7e1d 100644 --- a/README.md +++ b/README.md @@ -151,35 +151,35 @@ Compared to ChatGLM's [P-Tuning](https://github.com/THUDM/ChatGLM2-6B/tree/main/ ## Supported Models -| Model | Model size | Template | -| -------------------------------------------------------- | -------------------------------- | --------- | -| [Baichuan2](https://huggingface.co/baichuan-inc) | 7B/13B | baichuan2 | -| [BLOOM](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | -| [BLOOMZ](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | -| [ChatGLM3](https://huggingface.co/THUDM) | 6B | chatglm3 | -| [Command-R](https://huggingface.co/CohereForAI) | 35B/104B | cohere | -| [DeepSeek (MoE)](https://huggingface.co/deepseek-ai) | 7B/16B/67B/236B | deepseek | -| [Falcon](https://huggingface.co/tiiuae) | 7B/11B/40B/180B | falcon | -| [Gemma/CodeGemma](https://huggingface.co/google) | 2B/7B | gemma | -| [GLM4](https://huggingface.co/THUDM) | 9B | glm4 | -| [InternLM2](https://huggingface.co/internlm) | 7B/20B | intern2 | -| [LLaMA](https://github.com/facebookresearch/llama) | 7B/13B/33B/65B | - | -| [LLaMA-2](https://huggingface.co/meta-llama) | 7B/13B/70B | llama2 | -| [LLaMA-3](https://huggingface.co/meta-llama) | 8B/70B | llama3 | -| [LLaVA-1.5](https://huggingface.co/llava-hf) | 7B/13B | vicuna | -| [Mistral/Mixtral](https://huggingface.co/mistralai) | 7B/8x7B/8x22B | mistral | -| [OLMo](https://huggingface.co/allenai) | 1B/7B | - | -| [PaliGemma](https://huggingface.co/google) | 3B | gemma | -| [Phi-1.5/2](https://huggingface.co/microsoft) | 1.3B/2.7B | - | -| [Phi-3](https://huggingface.co/microsoft) | 4B/7B/14B | phi | -| [Qwen](https://huggingface.co/Qwen) | 1.8B/7B/14B/72B | qwen | -| [Qwen1.5 (Code/MoE)](https://huggingface.co/Qwen) | 0.5B/1.8B/4B/7B/14B/32B/72B/110B | qwen | -| [Qwen2 (MoE)](https://huggingface.co/Qwen) | 0.5B/1.5B/7B/57B/72B | qwen | -| [StarCoder2](https://huggingface.co/bigcode) | 3B/7B/15B | - | -| [XVERSE](https://huggingface.co/xverse) | 7B/13B/65B | xverse | -| [Yi (1/1.5)](https://huggingface.co/01-ai) | 6B/9B/34B | yi | -| [Yi-VL](https://huggingface.co/01-ai) | 6B/34B | yi_vl | -| [Yuan](https://huggingface.co/IEITYuan) | 2B/51B/102B | yuan | +| Model | Model size | Template | +| --------------------------------------------------------- | -------------------------------- | --------- | +| [Baichuan2](https://huggingface.co/baichuan-inc) | 7B/13B | baichuan2 | +| [BLOOM](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | +| [BLOOMZ](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | +| [ChatGLM3](https://huggingface.co/THUDM) | 6B | chatglm3 | +| [Command-R](https://huggingface.co/CohereForAI) | 35B/104B | cohere | +| [DeepSeek (Code/MoE)](https://huggingface.co/deepseek-ai) | 7B/16B/67B/236B | deepseek | +| [Falcon](https://huggingface.co/tiiuae) | 7B/11B/40B/180B | falcon | +| [Gemma/CodeGemma](https://huggingface.co/google) | 2B/7B | gemma | +| [GLM4](https://huggingface.co/THUDM) | 9B | glm4 | +| [InternLM2](https://huggingface.co/internlm) | 7B/20B | intern2 | +| [LLaMA](https://github.com/facebookresearch/llama) | 7B/13B/33B/65B | - | +| [LLaMA-2](https://huggingface.co/meta-llama) | 7B/13B/70B | llama2 | +| [LLaMA-3](https://huggingface.co/meta-llama) | 8B/70B | llama3 | +| [LLaVA-1.5](https://huggingface.co/llava-hf) | 7B/13B | vicuna | +| [Mistral/Mixtral](https://huggingface.co/mistralai) | 7B/8x7B/8x22B | mistral | +| [OLMo](https://huggingface.co/allenai) | 1B/7B | - | +| [PaliGemma](https://huggingface.co/google) | 3B | gemma | +| [Phi-1.5/2](https://huggingface.co/microsoft) | 1.3B/2.7B | - | +| [Phi-3](https://huggingface.co/microsoft) | 4B/7B/14B | phi | +| [Qwen](https://huggingface.co/Qwen) | 1.8B/7B/14B/72B | qwen | +| [Qwen1.5 (Code/MoE)](https://huggingface.co/Qwen) | 0.5B/1.8B/4B/7B/14B/32B/72B/110B | qwen | +| [Qwen2 (MoE)](https://huggingface.co/Qwen) | 0.5B/1.5B/7B/57B/72B | qwen | +| [StarCoder2](https://huggingface.co/bigcode) | 3B/7B/15B | - | +| [XVERSE](https://huggingface.co/xverse) | 7B/13B/65B | xverse | +| [Yi (1/1.5)](https://huggingface.co/01-ai) | 6B/9B/34B | yi | +| [Yi-VL](https://huggingface.co/01-ai) | 6B/34B | yi_vl | +| [Yuan](https://huggingface.co/IEITYuan) | 2B/51B/102B | yuan | > [!NOTE] > For the "base" models, the `template` argument can be chosen from `default`, `alpaca`, `vicuna` etc. But make sure to use the **corresponding template** for the "instruct/chat" models. diff --git a/README_zh.md b/README_zh.md index fc824561..2ede76ba 100644 --- a/README_zh.md +++ b/README_zh.md @@ -151,35 +151,35 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd ## 模型 -| 模型名 | 模型大小 | Template | -| -------------------------------------------------------- | -------------------------------- | --------- | -| [Baichuan2](https://huggingface.co/baichuan-inc) | 7B/13B | baichuan2 | -| [BLOOM](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | -| [BLOOMZ](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | -| [ChatGLM3](https://huggingface.co/THUDM) | 6B | chatglm3 | -| [Command-R](https://huggingface.co/CohereForAI) | 35B/104B | cohere | -| [DeepSeek (MoE)](https://huggingface.co/deepseek-ai) | 7B/16B/67B/236B | deepseek | -| [Falcon](https://huggingface.co/tiiuae) | 7B/11B/40B/180B | falcon | -| [Gemma/CodeGemma](https://huggingface.co/google) | 2B/7B | gemma | -| [GLM4](https://huggingface.co/THUDM) | 9B | glm4 | -| [InternLM2](https://huggingface.co/internlm) | 7B/20B | intern2 | -| [LLaMA](https://github.com/facebookresearch/llama) | 7B/13B/33B/65B | - | -| [LLaMA-2](https://huggingface.co/meta-llama) | 7B/13B/70B | llama2 | -| [LLaMA-3](https://huggingface.co/meta-llama) | 8B/70B | llama3 | -| [LLaVA-1.5](https://huggingface.co/llava-hf) | 7B/13B | vicuna | -| [Mistral/Mixtral](https://huggingface.co/mistralai) | 7B/8x7B/8x22B | mistral | -| [OLMo](https://huggingface.co/allenai) | 1B/7B | - | -| [PaliGemma](https://huggingface.co/google) | 3B | gemma | -| [Phi-1.5/2](https://huggingface.co/microsoft) | 1.3B/2.7B | - | -| [Phi-3](https://huggingface.co/microsoft) | 4B/7B/14B | phi | -| [Qwen](https://huggingface.co/Qwen) | 1.8B/7B/14B/72B | qwen | -| [Qwen1.5 (Code/MoE)](https://huggingface.co/Qwen) | 0.5B/1.8B/4B/7B/14B/32B/72B/110B | qwen | -| [Qwen2 (MoE)](https://huggingface.co/Qwen) | 0.5B/1.5B/7B/57B/72B | qwen | -| [StarCoder2](https://huggingface.co/bigcode) | 3B/7B/15B | - | -| [XVERSE](https://huggingface.co/xverse) | 7B/13B/65B | xverse | -| [Yi (1/1.5)](https://huggingface.co/01-ai) | 6B/9B/34B | yi | -| [Yi-VL](https://huggingface.co/01-ai) | 6B/34B | yi_vl | -| [Yuan](https://huggingface.co/IEITYuan) | 2B/51B/102B | yuan | +| 模型名 | 模型大小 | Template | +| --------------------------------------------------------- | -------------------------------- | --------- | +| [Baichuan2](https://huggingface.co/baichuan-inc) | 7B/13B | baichuan2 | +| [BLOOM](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | +| [BLOOMZ](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | +| [ChatGLM3](https://huggingface.co/THUDM) | 6B | chatglm3 | +| [Command-R](https://huggingface.co/CohereForAI) | 35B/104B | cohere | +| [DeepSeek (Code/MoE)](https://huggingface.co/deepseek-ai) | 7B/16B/67B/236B | deepseek | +| [Falcon](https://huggingface.co/tiiuae) | 7B/11B/40B/180B | falcon | +| [Gemma/CodeGemma](https://huggingface.co/google) | 2B/7B | gemma | +| [GLM4](https://huggingface.co/THUDM) | 9B | glm4 | +| [InternLM2](https://huggingface.co/internlm) | 7B/20B | intern2 | +| [LLaMA](https://github.com/facebookresearch/llama) | 7B/13B/33B/65B | - | +| [LLaMA-2](https://huggingface.co/meta-llama) | 7B/13B/70B | llama2 | +| [LLaMA-3](https://huggingface.co/meta-llama) | 8B/70B | llama3 | +| [LLaVA-1.5](https://huggingface.co/llava-hf) | 7B/13B | vicuna | +| [Mistral/Mixtral](https://huggingface.co/mistralai) | 7B/8x7B/8x22B | mistral | +| [OLMo](https://huggingface.co/allenai) | 1B/7B | - | +| [PaliGemma](https://huggingface.co/google) | 3B | gemma | +| [Phi-1.5/2](https://huggingface.co/microsoft) | 1.3B/2.7B | - | +| [Phi-3](https://huggingface.co/microsoft) | 4B/7B/14B | phi | +| [Qwen](https://huggingface.co/Qwen) | 1.8B/7B/14B/72B | qwen | +| [Qwen1.5 (Code/MoE)](https://huggingface.co/Qwen) | 0.5B/1.8B/4B/7B/14B/32B/72B/110B | qwen | +| [Qwen2 (MoE)](https://huggingface.co/Qwen) | 0.5B/1.5B/7B/57B/72B | qwen | +| [StarCoder2](https://huggingface.co/bigcode) | 3B/7B/15B | - | +| [XVERSE](https://huggingface.co/xverse) | 7B/13B/65B | xverse | +| [Yi (1/1.5)](https://huggingface.co/01-ai) | 6B/9B/34B | yi | +| [Yi-VL](https://huggingface.co/01-ai) | 6B/34B | yi_vl | +| [Yuan](https://huggingface.co/IEITYuan) | 2B/51B/102B | yuan | > [!NOTE] > 对于所有“基座”(Base)模型,`template` 参数可以是 `default`, `alpaca`, `vicuna` 等任意值。但“对话”(Instruct/Chat)模型请务必使用**对应的模板**。 diff --git a/src/llamafactory/extras/constants.py b/src/llamafactory/extras/constants.py index 73a9969d..36265c8e 100644 --- a/src/llamafactory/extras/constants.py +++ b/src/llamafactory/extras/constants.py @@ -403,6 +403,18 @@ register_model_group( DownloadSource.DEFAULT: "deepseek-ai/DeepSeek-V2-Chat", DownloadSource.MODELSCOPE: "deepseek-ai/DeepSeek-V2-Chat", }, + "DeepSeek-MoE-Coder-16B-Base": { + DownloadSource.DEFAULT: "deepseek-ai/DeepSeek-Coder-V2-Lite-Base", + }, + "DeepSeek-MoE-Coder-236B-Base": { + DownloadSource.DEFAULT: "deepseek-ai/DeepSeek-Coder-V2-Base", + }, + "DeepSeek-MoE-Coder-16B-Chat": { + DownloadSource.DEFAULT: "deepseek-ai/DeepSeek-Coder-V2-Lite-Instruct", + }, + "DeepSeek-MoE-Coder-236B-Chat": { + DownloadSource.DEFAULT: "deepseek-ai/DeepSeek-Coder-V2-Instruct", + }, }, template="deepseek", ) From 9e5988717dcf26e3dd30c538a0bd32e1272fbdab Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 18 Jun 2024 23:32:18 +0800 Subject: [PATCH 077/169] tiny fix Former-commit-id: 344b9a36b2e0b60ee61fba171b35a391e3517fed --- Dockerfile | 1 + README.md | 4 ++-- README_zh.md | 4 ++-- data/dataset_info.json | 33 ++++++++++++--------------------- 4 files changed, 17 insertions(+), 25 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9c2f645c..61d58005 100644 --- a/Dockerfile +++ b/Dockerfile @@ -43,4 +43,5 @@ EXPOSE 7860 # Expose port 8000 for the API service EXPOSE 8000 +# Launch LLaMA Board CMD [ "llamafactory-cli", "webui" ] diff --git a/README.md b/README.md index 2d95583b..0e8e55f7 100644 --- a/README.md +++ b/README.md @@ -260,6 +260,8 @@ You also can add a custom chat template to [template.py](src/llamafactory/data/t - [STEM (zh)](https://huggingface.co/datasets/hfl/stem_zh_instruction) - [Ruozhiba (zh)](https://huggingface.co/datasets/hfl/ruozhiba_gpt4_turbo) - [Neo-sft (zh)](https://huggingface.co/datasets/m-a-p/neo_sft_phase2) +- [WebInstructSub (en)](https://huggingface.co/datasets/TIGER-Lab/WebInstructSub) +- [Magpie-Pro-300K-Filtered (en)](https://huggingface.co/datasets/Magpie-Align/Magpie-Pro-300K-Filtered) - [LLaVA mixed (en&zh)](https://huggingface.co/datasets/BUAADreamer/llava-en-zh-300k) - [Open Assistant (de)](https://huggingface.co/datasets/mayflowergmbh/oasst_de) - [Dolly 15k (de)](https://huggingface.co/datasets/mayflowergmbh/dolly-15k_de) @@ -270,8 +272,6 @@ You also can add a custom chat template to [template.py](src/llamafactory/data/t - [Booksum (de)](https://huggingface.co/datasets/mayflowergmbh/booksum_de) - [Airoboros (de)](https://huggingface.co/datasets/mayflowergmbh/airoboros-3.0_de) - [Ultrachat (de)](https://huggingface.co/datasets/mayflowergmbh/ultra-chat_de) -- [WebInstructSub (en)](https://huggingface.co/datasets/TIGER-Lab/WebInstructSub) -- [Magpie-Pro-300K-Filtered (en)](https://huggingface.co/datasets/Magpie-Align/Magpie-Pro-300K-Filtered)

    diff --git a/README_zh.md b/README_zh.md index ed5475d3..152cd6fa 100644 --- a/README_zh.md +++ b/README_zh.md @@ -260,6 +260,8 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd - [STEM (zh)](https://huggingface.co/datasets/hfl/stem_zh_instruction) - [Ruozhiba (zh)](https://huggingface.co/datasets/hfl/ruozhiba_gpt4_turbo) - [Neo-sft (zh)](https://huggingface.co/datasets/m-a-p/neo_sft_phase2) +- [WebInstructSub (en)](https://huggingface.co/datasets/TIGER-Lab/WebInstructSub) +- [Magpie-Pro-300K-Filtered (en)](https://huggingface.co/datasets/Magpie-Align/Magpie-Pro-300K-Filtered) - [LLaVA mixed (en&zh)](https://huggingface.co/datasets/BUAADreamer/llava-en-zh-300k) - [Open Assistant (de)](https://huggingface.co/datasets/mayflowergmbh/oasst_de) - [Dolly 15k (de)](https://huggingface.co/datasets/mayflowergmbh/dolly-15k_de) @@ -270,8 +272,6 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd - [Booksum (de)](https://huggingface.co/datasets/mayflowergmbh/booksum_de) - [Airoboros (de)](https://huggingface.co/datasets/mayflowergmbh/airoboros-3.0_de) - [Ultrachat (de)](https://huggingface.co/datasets/mayflowergmbh/ultra-chat_de) -- [WebInstructSub (en)](https://huggingface.co/datasets/TIGER-Lab/WebInstructSub) -- [Magpie-Pro-300K-Filtered (en)](https://huggingface.co/datasets/Magpie-Align/Magpie-Pro-300K-Filtered)
    diff --git a/data/dataset_info.json b/data/dataset_info.json index e321196a..f8ffd407 100644 --- a/data/dataset_info.json +++ b/data/dataset_info.json @@ -252,6 +252,17 @@ "hf_hub_url": "m-a-p/neo_sft_phase2", "formatting": "sharegpt" }, + "magpie_pro_300k": { + "hf_hub_url": "Magpie-Align/Magpie-Pro-300K-Filtered", + "formatting": "sharegpt" + }, + "web_instruct": { + "hf_hub_url": "TIGER-Lab/WebInstructSub", + "columns": { + "prompt": "question", + "response": "answer" + } + }, "llava_1k_en": { "hf_hub_url": "BUAADreamer/llava-en-zh-2k", "subset": "en", @@ -550,25 +561,5 @@ "prompt": "content" }, "folder": "python" - }, - "Magpie-Pro-300K-Filtered": { - "hf_hub_url": "Magpie-Align/Magpie-Pro-300K-Filtered", - "columns": { - "messages": "conversations" - }, - "tags": { - "role_tag": "from", - "content_tag": "value", - "user_tag": "human", - "assistant_tag": "gpt" - }, - "formatting": "sharegpt" - }, - "WebInstructSub": { - "hf_hub_url": "TIGER-Lab/WebInstructSub", - "columns": { - "prompt": "question", - "response": "answer" - } } -} +} \ No newline at end of file From 89564e90d7b0ad5d7ddce5b65308f08f02623adb Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 19 Jun 2024 02:48:43 +0800 Subject: [PATCH 078/169] update data Former-commit-id: 9ab0401948d02d029134aa669c378e2ad80fb9fb --- data/glaive_toolcall_en_demo.json | 74 +++++++++++++++---------------- data/glaive_toolcall_zh_demo.json | 42 +++++++++--------- 2 files changed, 58 insertions(+), 58 deletions(-) diff --git a/data/glaive_toolcall_en_demo.json b/data/glaive_toolcall_en_demo.json index c17465a3..4dcd4383 100644 --- a/data/glaive_toolcall_en_demo.json +++ b/data/glaive_toolcall_en_demo.json @@ -1,4 +1,41 @@ [ + { + "conversations": [ + { + "from": "human", + "value": "Hi, I have some ingredients and I want to cook something. Can you help me find a recipe?" + }, + { + "from": "gpt", + "value": "Of course! I can help you with that. Please tell me what ingredients you have." + }, + { + "from": "human", + "value": "I have chicken, bell peppers, and rice." + }, + { + "from": "function_call", + "value": "{\"name\": \"search_recipes\", \"arguments\": {\"ingredients\": [\"chicken\", \"bell peppers\", \"rice\"]}}" + }, + { + "from": "observation", + "value": "{\"recipes\": [{\"name\": \"Chicken and Bell Pepper Stir Fry\", \"ingredients\": [\"chicken\", \"bell peppers\", \"rice\"], \"instructions\": \"Cut the chicken into small pieces. Slice the bell peppers. Cook the rice. Stir fry the chicken and bell peppers. Serve over rice.\"}, {\"name\": \"Chicken and Rice Casserole\", \"ingredients\": [\"chicken\", \"bell peppers\", \"rice\"], \"instructions\": \"Cook the chicken and rice separately. Mix them together with the bell peppers in a casserole dish. Bake until golden brown.\"}]}" + }, + { + "from": "gpt", + "value": "I found two recipes for you. The first one is \"Chicken and Bell Pepper Stir Fry\". The instructions are: Cut the chicken into small pieces. Slice the bell peppers. Cook the rice. Stir fry the chicken and bell peppers. Serve over rice. The second one is \"Chicken and Rice Casserole\". The instructions are: Cook the chicken and rice separately. Mix them together with the bell peppers in a casserole dish. Bake until golden brown. Which one would you like to try?" + }, + { + "from": "human", + "value": "They both sound delicious, but I think I'll try the stir fry. Can you order the ingredients for me?" + }, + { + "from": "gpt", + "value": "I'm sorry, but as an AI, I don't have the capability to perform external tasks such as ordering ingredients. However, I can help you find more recipes or provide cooking tips if you need." + } + ], + "tools": "[{\"name\": \"search_recipes\", \"description\": \"Search for recipes based on ingredients\", \"parameters\": {\"type\": \"object\", \"properties\": {\"ingredients\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}, \"description\": \"The ingredients to search for\"}}, \"required\": [\"ingredients\"]}}]" + }, { "conversations": [ { @@ -155,43 +192,6 @@ ], "tools": "[]" }, - { - "conversations": [ - { - "from": "human", - "value": "Hi, I have some ingredients and I want to cook something. Can you help me find a recipe?" - }, - { - "from": "gpt", - "value": "Of course! I can help you with that. Please tell me what ingredients you have." - }, - { - "from": "human", - "value": "I have chicken, bell peppers, and rice." - }, - { - "from": "function_call", - "value": "{\"name\": \"search_recipes\", \"arguments\": {\"ingredients\": [\"chicken\", \"bell peppers\", \"rice\"]}}" - }, - { - "from": "observation", - "value": "{\"recipes\": [{\"name\": \"Chicken and Bell Pepper Stir Fry\", \"ingredients\": [\"chicken\", \"bell peppers\", \"rice\"], \"instructions\": \"Cut the chicken into small pieces. Slice the bell peppers. Cook the rice. Stir fry the chicken and bell peppers. Serve over rice.\"}, {\"name\": \"Chicken and Rice Casserole\", \"ingredients\": [\"chicken\", \"bell peppers\", \"rice\"], \"instructions\": \"Cook the chicken and rice separately. Mix them together with the bell peppers in a casserole dish. Bake until golden brown.\"}]}" - }, - { - "from": "gpt", - "value": "I found two recipes for you. The first one is \"Chicken and Bell Pepper Stir Fry\". The instructions are: Cut the chicken into small pieces. Slice the bell peppers. Cook the rice. Stir fry the chicken and bell peppers. Serve over rice. The second one is \"Chicken and Rice Casserole\". The instructions are: Cook the chicken and rice separately. Mix them together with the bell peppers in a casserole dish. Bake until golden brown. Which one would you like to try?" - }, - { - "from": "human", - "value": "They both sound delicious, but I think I'll try the stir fry. Can you order the ingredients for me?" - }, - { - "from": "gpt", - "value": "I'm sorry, but as an AI, I don't have the capability to perform external tasks such as ordering ingredients. However, I can help you find more recipes or provide cooking tips if you need." - } - ], - "tools": "[{\"name\": \"search_recipes\", \"description\": \"Search for recipes based on ingredients\", \"parameters\": {\"type\": \"object\", \"properties\": {\"ingredients\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}, \"description\": \"The ingredients to search for\"}}, \"required\": [\"ingredients\"]}}]" - }, { "conversations": [ { diff --git a/data/glaive_toolcall_zh_demo.json b/data/glaive_toolcall_zh_demo.json index 06efbac0..f40bda68 100644 --- a/data/glaive_toolcall_zh_demo.json +++ b/data/glaive_toolcall_zh_demo.json @@ -1,25 +1,4 @@ [ - { - "conversations": [ - { - "from": "human", - "value": "假设你有一个需要随机数的Java程序,范围在0到10之间。你可以使用什么代码片段来生成这样的数字?\n\n下面是一个示例代码片段,它使用Math.random()方法来生成一个在0到1之间的随机数,然后缩放并四舍五入结果,得到一个在0到10之间的随机数:\n\n```java\nint randomNumber = (int) (Math.random() * 11);\n```\n\n在Java中是否有更有效的方法来生成随机数?你会如何修改代码以生成具有不同范围或分布的随机数?" - }, - { - "from": "gpt", - "value": "您提供的代码片段是Java中生成随机数的一种常见且高效的方法。然而,如果您需要对随机数生成有更多的控制,您可以使用java.util.Random类,它提供了更多生成随机数的选项。\n\n要生成一个在不同范围内的随机数,您可以修改代码以调整缩放因子。例如,要生成一个在1到10之间的随机数,您可以使用以下代码:\n\nint randomNumber = (int) (Math.random() * 10) + 1;\n\n要生成具有不同分布的随机数,您可以使用各种技术,如正态分布、指数分布或自定义分布。生成正态分布的一种方法是使用Box-Muller变换。这里有一个代码示例,它生成具有正态分布的随机数:\n\nRandom random = new Random();\ndouble u1 = random.nextDouble();\ndouble u2 = random.nextDouble();\ndouble z = Math.sqrt(-2 * Math.log(u1)) * Math.cos(2 * Math.PI * u2);\ndouble mean = 5;\ndouble stdDev = 2;\nint randomNumber = (int) (z * stdDev + mean);\n\n这段代码生成一个具有均值5和标准差2的正态分布随机数。您可以调整均值和标准差来生成具有不同分布的随机数。" - }, - { - "from": "human", - "value": "你能解释一下算法分析中的大O记法概念吗?" - }, - { - "from": "gpt", - "value": "是的,大O表示法是一种描述算法性能随输入数据大小增加的方法。它用于估计算法在最坏情况下的时间复杂度或空间复杂度。大O中的“O”代表“数量级”,这意味着随着输入大小的增加,算法所需的操作数以一定的速率增长。\n\n例如,如果我们有一个需要n步才能解决大小为n的问题的算法,那么时间复杂度可以表示为O(n),这意味着操作数随着输入大小线性增长。如果我们有一个需要n^2步才能解决大小为n的问题的算法,那么时间复杂度可以表示为O(n^2),这意味着操作数随着输入大小二次方增长。\n\n还有其他几种大O表示法,如O(log n)、O(n log n)、O(2^n)等,它们代表了随着输入大小增加的不同操作数增长速率。通过分析算法的大O表示法,我们可以比较不同算法的性能,并选择给定问题最有效的算法。\n\n您是否有关于大O表示法或算法分析的特定问题?" - } - ], - "tools": "[]" - }, { "conversations": [ { @@ -41,6 +20,27 @@ ], "tools": "[{\"name\": \"generate_invoice\", \"description\": \"生成发票\", \"parameters\": {\"type\": \"object\", \"properties\": {\"customer_name\": {\"type\": \"string\", \"description\": \"客户名称\"}, \"items\": {\"type\": \"array\", \"items\": {\"type\": \"object\", \"properties\": {\"name\": {\"type\": \"string\", \"description\": \"The item name\"}, \"quantity\": {\"type\": \"integer\", \"description\": \"The quantity of the item\"}, \"price\": {\"type\": \"number\", \"description\": \"The price per unit\"}}, \"required\": [\"name\", \"quantity\", \"price\"]}}}, \"required\": [\"customer_name\", \"items\"]}}, {\"name\": \"generate_password\", \"description\": \"生成随机密码\", \"parameters\": {\"type\": \"object\", \"properties\": {\"length\": {\"type\": \"integer\", \"description\": \"密码的长度\"}}, \"required\": [\"length\"]}}]" }, + { + "conversations": [ + { + "from": "human", + "value": "假设你有一个需要随机数的Java程序,范围在0到10之间。你可以使用什么代码片段来生成这样的数字?\n\n下面是一个示例代码片段,它使用Math.random()方法来生成一个在0到1之间的随机数,然后缩放并四舍五入结果,得到一个在0到10之间的随机数:\n\n```java\nint randomNumber = (int) (Math.random() * 11);\n```\n\n在Java中是否有更有效的方法来生成随机数?你会如何修改代码以生成具有不同范围或分布的随机数?" + }, + { + "from": "gpt", + "value": "您提供的代码片段是Java中生成随机数的一种常见且高效的方法。然而,如果您需要对随机数生成有更多的控制,您可以使用java.util.Random类,它提供了更多生成随机数的选项。\n\n要生成一个在不同范围内的随机数,您可以修改代码以调整缩放因子。例如,要生成一个在1到10之间的随机数,您可以使用以下代码:\n\nint randomNumber = (int) (Math.random() * 10) + 1;\n\n要生成具有不同分布的随机数,您可以使用各种技术,如正态分布、指数分布或自定义分布。生成正态分布的一种方法是使用Box-Muller变换。这里有一个代码示例,它生成具有正态分布的随机数:\n\nRandom random = new Random();\ndouble u1 = random.nextDouble();\ndouble u2 = random.nextDouble();\ndouble z = Math.sqrt(-2 * Math.log(u1)) * Math.cos(2 * Math.PI * u2);\ndouble mean = 5;\ndouble stdDev = 2;\nint randomNumber = (int) (z * stdDev + mean);\n\n这段代码生成一个具有均值5和标准差2的正态分布随机数。您可以调整均值和标准差来生成具有不同分布的随机数。" + }, + { + "from": "human", + "value": "你能解释一下算法分析中的大O记法概念吗?" + }, + { + "from": "gpt", + "value": "是的,大O表示法是一种描述算法性能随输入数据大小增加的方法。它用于估计算法在最坏情况下的时间复杂度或空间复杂度。大O中的“O”代表“数量级”,这意味着随着输入大小的增加,算法所需的操作数以一定的速率增长。\n\n例如,如果我们有一个需要n步才能解决大小为n的问题的算法,那么时间复杂度可以表示为O(n),这意味着操作数随着输入大小线性增长。如果我们有一个需要n^2步才能解决大小为n的问题的算法,那么时间复杂度可以表示为O(n^2),这意味着操作数随着输入大小二次方增长。\n\n还有其他几种大O表示法,如O(log n)、O(n log n)、O(2^n)等,它们代表了随着输入大小增加的不同操作数增长速率。通过分析算法的大O表示法,我们可以比较不同算法的性能,并选择给定问题最有效的算法。\n\n您是否有关于大O表示法或算法分析的特定问题?" + } + ], + "tools": "[]" + }, { "conversations": [ { From bccc852f769cc7a83e90ffd254c34dde6d291b4c Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 19 Jun 2024 03:23:51 +0800 Subject: [PATCH 079/169] fix tool formatter, allow parallel function #4362 Former-commit-id: cd75b1fe9d91fb52a9ae6de7435302ff06b4d933 --- src/llamafactory/api/chat.py | 19 ++--- src/llamafactory/data/formatter.py | 120 ++++++++++++--------------- src/llamafactory/data/template.py | 16 +++- src/llamafactory/webui/chatter.py | 13 ++- tests/data/test_formatter.py | 125 +++++++++++++++++++++++++++++ 5 files changed, 207 insertions(+), 86 deletions(-) create mode 100644 tests/data/test_formatter.py diff --git a/src/llamafactory/api/chat.py b/src/llamafactory/api/chat.py index 945856cb..2c7e11e2 100644 --- a/src/llamafactory/api/chat.py +++ b/src/llamafactory/api/chat.py @@ -92,9 +92,11 @@ def _process_request( raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Invalid role") if message.role == Role.ASSISTANT and isinstance(message.tool_calls, list) and len(message.tool_calls): - name = message.tool_calls[0].function.name - arguments = message.tool_calls[0].function.arguments - content = json.dumps({"name": name, "argument": arguments}, ensure_ascii=False) + tool_calls = [ + {"name": tool_call.function.name, "argument": tool_call.function.arguments} + for tool_call in message.tool_calls + ] + content = json.dumps(tool_calls, ensure_ascii=False) input_messages.append({"role": ROLE_MAPPING[Role.FUNCTION], "content": content}) elif isinstance(message.content, list): for input_item in message.content: @@ -118,7 +120,7 @@ def _process_request( if isinstance(tool_list, list) and len(tool_list): try: tools = json.dumps([dictify(tool.function) for tool in tool_list], ensure_ascii=False) - except Exception: + except json.JSONDecodeError: raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail="Invalid tools") else: tools = None @@ -160,17 +162,16 @@ async def create_chat_completion_response( choices = [] for i, response in enumerate(responses): if tools: - result = chat_model.engine.template.format_tools.extract(response.response_text) + result = chat_model.engine.template.extract_tool(response.response_text) else: result = response.response_text if isinstance(result, list): tool_calls = [] for tool in result: - name, arguments = tool - function = Function(name=name, arguments=arguments) - tool_call = FunctionCall(id="call_{}".format(uuid.uuid4().hex), function=function) - tool_calls.append(tool_call) + function = Function(name=tool[0], arguments=tool[1]) + tool_calls.append(FunctionCall(id="call_{}".format(uuid.uuid4().hex), function=function)) + response_message = ChatCompletionMessage(role=Role.ASSISTANT, tool_calls=tool_calls) finish_reason = Finish.TOOL else: diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index fa35df5b..70be6a5a 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -22,29 +22,20 @@ from typing import Any, Dict, List, Literal, Optional, Sequence, Set, Tuple, Uni SLOTS = Sequence[Union[str, Set[str], Dict[str, str]]] -JSON_FORMAT_PROMPT = ( - """, in a JSON format representing the kwargs (e.g. ```{"input": "hello world", "num_beams": 5}```)""" -) - - -TOOL_SYSTEM_PROMPT = ( +DEFAULT_TOOL_PROMPT = ( "You have access to the following tools:\n{tool_text}" "Use the following format if using a tool:\n" "```\n" "Action: tool name (one of [{tool_names}]).\n" - "Action Input: the input to the tool{format_prompt}.\n" + "Action Input: the input to the tool, in a JSON format representing the kwargs " + """(e.g. ```{{"input": "hello world", "num_beams": 5}}```).\n""" "```\n" ) -GLM4_TOOL_SUFFIX_PROMPT = ( - "在调用上述函数时,请使用 Json 格式表示调用的参数。" -) - GLM4_TOOL_PROMPT = ( - "你是一个名为 GLM-4 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的,你的任务是针对用户的问题和要求提供适当的答复和支持," - "{tool_text}" - + "你是一个名为 GLM-4 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的," + "你的任务是针对用户的问题和要求提供适当的答复和支持。{tool_text}" ) @@ -73,32 +64,19 @@ def default_tool_formatter(tools: List[Dict[str, Any]]) -> str: ) tool_names.append(tool["name"]) - return TOOL_SYSTEM_PROMPT.format( - tool_text=tool_text, tool_names=", ".join(tool_names), format_prompt=JSON_FORMAT_PROMPT - ) + return DEFAULT_TOOL_PROMPT.format(tool_text=tool_text, tool_names=", ".join(tool_names)) -def glm4_tool_formatter(tools: List[Dict[str, Any]]) -> str: - tool_text = "" - for tool in tools: - tool_name = tool["name"] - tool_text += f"\n\n## {tool_name}\n\n{json.dumps(tool, ensure_ascii=False, indent=4)}\n{GLM4_TOOL_SUFFIX_PROMPT}" - return GLM4_TOOL_PROMPT.format(tool_text=tool_text) - - def default_tool_extractor(content: str) -> Union[str, List[Tuple[str, str]]]: - regex = re.compile(r"Action:\s*([a-zA-Z0-9_]+)\s*Action Input:\s*({.*?})(?=\nAction:|\Z)", re.DOTALL) - action_match = re.findall(regex, content) + regex = re.compile(r"Action:\s*([a-zA-Z0-9_]+)\s*Action Input:\s*(.+?)(?=\s*Action:|$)", re.DOTALL) + action_match: List[Tuple[str, str]] = re.findall(regex, content) if not action_match: return content results = [] - for match in action_match: - tool_name, tool_input = match - tool_name = tool_name.strip() - tool_input = tool_input.strip().strip('"').strip("```") - + tool_name = match[0].strip() + tool_input = match[1].strip().strip('"').strip("```") try: arguments = json.loads(tool_input) results.append((tool_name, json.dumps(arguments, ensure_ascii=False))) @@ -108,19 +86,28 @@ def default_tool_extractor(content: str) -> Union[str, List[Tuple[str, str]]]: return results +def glm4_tool_formatter(tools: List[Dict[str, Any]]) -> str: + tool_text = "" + for tool in tools: + tool_text += "\n\n## {name}\n\n{body}\n在调用上述函数时,请使用 Json 格式表示调用的参数。".format( + name=tool["name"], body=json.dumps(tool, indent=4, ensure_ascii=False) + ) + + return GLM4_TOOL_PROMPT.format(tool_text=tool_text) + + def glm4_tool_extractor(content: str) -> Union[str, List[Tuple[str, str]]]: - lines = content.strip().split("\n") - if len(lines) != 2: + if "\n" not in content: return content - tool_name = lines[0].strip() - tool_input = lines[1].strip() + + tool_name, tool_input = content.split("\n", maxsplit=1) try: arguments = json.loads(tool_input) except json.JSONDecodeError: return content + return [(tool_name, json.dumps(arguments, ensure_ascii=False))] - @dataclass class Formatter(ABC): @@ -193,22 +180,28 @@ class FunctionFormatter(Formatter): def apply(self, **kwargs) -> SLOTS: content = kwargs.pop("content") + functions: List[Tuple[str, str]] = [] try: - function = json.loads(content) - name = function["name"] - arguments = json.dumps(function["arguments"], ensure_ascii=False) - except Exception: - name, arguments = "", "" + tool_calls = json.loads(content) + if not isinstance(tool_calls, list): # parallel function call + tool_calls = [tool_calls] + + for tool_call in tool_calls: + functions.append((tool_call["name"], json.dumps(tool_call["arguments"], ensure_ascii=False))) + + except json.JSONDecodeError: + functions = [] elements = [] - for slot in self.slots: - if isinstance(slot, str): - slot = slot.replace("{{name}}", name).replace("{{arguments}}", arguments) - elements.append(slot) - elif isinstance(slot, (dict, set)): - elements.append(slot) - else: - raise RuntimeError("Input must be string, set[str] or dict[str, str], got {}".format(type(slot))) + for name, arguments in functions: + for slot in self.slots: + if isinstance(slot, str): + slot = slot.replace("{{name}}", name).replace("{{arguments}}", arguments) + elements.append(slot) + elif isinstance(slot, (dict, set)): + elements.append(slot) + else: + raise RuntimeError("Input must be string, set[str] or dict[str, str], got {}".format(type(slot))) return elements @@ -216,29 +209,22 @@ class FunctionFormatter(Formatter): @dataclass class ToolFormatter(Formatter): def __post_init__(self): - if self.tool_format is None: + if self.tool_format == "default": + self._tool_formatter = default_tool_formatter + self._tool_extractor = default_tool_extractor + elif self.tool_format == "glm4": + self._tool_formatter = glm4_tool_formatter + self._tool_extractor = glm4_tool_extractor + else: raise ValueError("Tool format was not found.") def apply(self, **kwargs) -> SLOTS: content = kwargs.pop("content") try: tools = json.loads(content) - if not len(tools): - return [""] - - if self.tool_format == "default": - return [default_tool_formatter(tools)] - elif self.tool_format == "glm4": - return [glm4_tool_formatter(tools)] - else: - raise NotImplementedError - except Exception: + return [self._tool_formatter(tools) if len(tools) != 0 else ""] + except json.JSONDecodeError: return [""] def extract(self, content: str) -> Union[str, List[Tuple[str, str]]]: - if self.tool_format == "default": - return default_tool_extractor(content) - elif self.tool_format == "glm4": - return glm4_tool_extractor(content) - else: - raise NotImplementedError + return self._tool_extractor(content) diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index d97699b0..77694c59 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -79,6 +79,12 @@ class Template: """ return self._encode(tokenizer, messages, system, tools, cutoff_len, reserved_label_len) + def extract_tool(self, content: str) -> Union[str, List[Tuple[str, str]]]: + r""" + Extracts tool message. + """ + return self.format_tools.extract(content) + def _encode( self, tokenizer: "PreTrainedTokenizer", @@ -100,7 +106,8 @@ class Template: if i == 0 and (system or tools or self.force_system): tool_text = self.format_tools.apply(content=tools)[0] if tools else "" elements += self.format_system.apply(content=(system + tool_text)) - elif i > 0 and i % 2 == 0: + + if i > 0 and i % 2 == 0: elements += self.format_separator.apply() if message["role"] == Role.USER.value: @@ -191,7 +198,8 @@ class Llama2Template(Template): if i == 0 and (system or tools or self.force_system): tool_text = self.format_tools.apply(content=tools)[0] if tools else "" system_text = self.format_system.apply(content=(system + tool_text))[0] - elif i > 0 and i % 2 == 0: + + if i > 0 and i % 2 == 0: elements += self.format_separator.apply() if message["role"] == Role.USER.value: @@ -259,7 +267,9 @@ def _register_template( template_class = Llama2Template if name.startswith("llama2") else Template default_user_formatter = StringFormatter(slots=["{{content}}"]) default_assistant_formatter = StringFormatter(slots=["{{content}}"] + eos_slots) - default_function_formatter = FunctionFormatter(slots=["Action: {{name}}\nAction Input: {{arguments}}"] + eos_slots) + default_function_formatter = FunctionFormatter( + slots=["Action: {{name}}\nAction Input: {{arguments}}\n"] + eos_slots + ) default_tool_formatter = ToolFormatter(tool_format="default") default_separator_formatter = EmptyFormatter() TEMPLATES[name] = template_class( diff --git a/src/llamafactory/webui/chatter.py b/src/llamafactory/webui/chatter.py index 864c41c7..a2b54dce 100644 --- a/src/llamafactory/webui/chatter.py +++ b/src/llamafactory/webui/chatter.py @@ -140,16 +140,15 @@ class WebChatModel(ChatModel): ): response += new_text if tools: - result = self.engine.template.format_tools.extract(response) + result = self.engine.template.extract_tool(response) else: result = response - if isinstance(result, tuple): - name, arguments = result - arguments = json.loads(arguments) - tool_call = json.dumps({"name": name, "arguments": arguments}, ensure_ascii=False) - output_messages = messages + [{"role": Role.FUNCTION.value, "content": tool_call}] - bot_text = "```json\n" + tool_call + "\n```" + if isinstance(result, list): + tool_calls = [{"name": tool[0], "arguments": json.loads(tool[1])} for tool in result] + tool_calls = json.dumps(tool_calls, indent=4, ensure_ascii=False) + output_messages = messages + [{"role": Role.FUNCTION.value, "content": tool_calls}] + bot_text = "```json\n" + tool_calls + "\n```" else: output_messages = messages + [{"role": Role.ASSISTANT.value, "content": result}] bot_text = result diff --git a/tests/data/test_formatter.py b/tests/data/test_formatter.py new file mode 100644 index 00000000..430eb0e6 --- /dev/null +++ b/tests/data/test_formatter.py @@ -0,0 +1,125 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import json + +from llamafactory.data.formatter import EmptyFormatter, FunctionFormatter, StringFormatter, ToolFormatter + + +def test_empty_formatter(): + formatter = EmptyFormatter(slots=["\n"]) + assert formatter.apply() == ["\n"] + + +def test_string_formatter(): + formatter = StringFormatter(slots=["", "Human: {{content}}\nAssistant:"]) + assert formatter.apply(content="Hi") == ["", "Human: Hi\nAssistant:"] + + +def test_function_formatter(): + formatter = FunctionFormatter(slots=["Action: {{name}}\nAction Input: {{arguments}}\n"]) + tool_calls = json.dumps({"name": "tool_name", "arguments": {"foo": "bar", "size": 10}}) + assert formatter.apply(content=tool_calls) == [ + """Action: tool_name\nAction Input: {\"foo\": \"bar\", \"size\": 10}\n""" + ] + + +def test_multi_function_formatter(): + formatter = FunctionFormatter(slots=["Action: {{name}}\nAction Input: {{arguments}}\n"]) + tool_calls = json.dumps([{"name": "tool_name", "arguments": {"foo": "bar", "size": 10}}] * 2) + assert formatter.apply(content=tool_calls) == [ + """Action: tool_name\nAction Input: {\"foo\": \"bar\", \"size\": 10}\n""", + """Action: tool_name\nAction Input: {\"foo\": \"bar\", \"size\": 10}\n""", + ] + + +def test_default_tool_formatter(): + formatter = ToolFormatter(tool_format="default") + tools = [ + { + "name": "test_tool", + "description": "tool_desc", + "parameters": { + "type": "object", + "properties": { + "foo": {"type": "string", "description": "foo_desc"}, + "bar": {"type": "number", "description": "bar_desc"}, + }, + "required": ["foo"], + }, + } + ] + assert formatter.apply(content=json.dumps(tools)) == [ + "You have access to the following tools:\n" + "> Tool Name: test_tool\n" + "Tool Description: tool_desc\n" + "Tool Args:\n" + " - foo (string, required): foo_desc\n" + " - bar (number): bar_desc\n\n" + "Use the following format if using a tool:\n" + "```\n" + "Action: tool name (one of [test_tool]).\n" + "Action Input: the input to the tool, in a JSON format representing the kwargs " + """(e.g. ```{"input": "hello world", "num_beams": 5}```).\n""" + "```\n" + ] + + +def test_default_tool_extractor(): + formatter = ToolFormatter(tool_format="default") + result = """Action: test_tool\nAction Input: {"foo": "bar", "size": 10}\n""" + assert formatter.extract(result) == [("test_tool", """{"foo": "bar", "size": 10}""")] + + +def test_default_multi_tool_extractor(): + formatter = ToolFormatter(tool_format="default") + result = ( + """Action: test_tool\nAction Input: {"foo": "bar", "size": 10}\n""" + """Action: another_tool\nAction Input: {"foo": "job", "size": 2}\n""" + ) + assert formatter.extract(result) == [ + ("test_tool", """{"foo": "bar", "size": 10}"""), + ("another_tool", """{"foo": "job", "size": 2}"""), + ] + + +def test_glm4_tool_formatter(): + formatter = ToolFormatter(tool_format="glm4") + tools = [ + { + "name": "test_tool", + "description": "tool_desc", + "parameters": { + "type": "object", + "properties": { + "foo": {"type": "string", "description": "foo_desc"}, + "bar": {"type": "number", "description": "bar_desc"}, + }, + "required": ["foo"], + }, + } + ] + assert formatter.apply(content=json.dumps(tools)) == [ + "你是一个名为 GLM-4 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的," + "你的任务是针对用户的问题和要求提供适当的答复和支持。" + "\n\n## test_tool\n\n{}\n在调用上述函数时,请使用 Json 格式表示调用的参数。".format( + json.dumps(tools[0], indent=4) + ) + ] + + +def test_glm4_tool_extractor(): + formatter = ToolFormatter(tool_format="glm4") + result = """test_tool\n{"foo": "bar", "size": 10}\n""" + assert formatter.extract(result) == [("test_tool", """{"foo": "bar", "size": 10}""")] From e73a235a388f3ec7d49e396bc4df894fbdc4ee84 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 19 Jun 2024 03:39:52 +0800 Subject: [PATCH 080/169] use prefix to replace force system Former-commit-id: 4f22eae8f405de918237d406e5e9847592925565 --- src/llamafactory/data/template.py | 75 +++++++++++++------------------ 1 file changed, 30 insertions(+), 45 deletions(-) diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index 77694c59..a12e9c88 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -38,12 +38,12 @@ class Template: format_observation: "Formatter" format_tools: "Formatter" format_separator: "Formatter" + format_prefix: "Formatter" default_system: str stop_words: List[str] image_token: str efficient_eos: bool replace_eos: bool - force_system: bool def encode_oneturn( self, @@ -102,8 +102,9 @@ class Template: system = system or self.default_system encoded_messages = [] for i, message in enumerate(messages): - elements = [] - if i == 0 and (system or tools or self.force_system): + elements = self.format_prefix.apply() + + if i == 0 and (system or tools): tool_text = self.format_tools.apply(content=tools)[0] if tools else "" elements += self.format_system.apply(content=(system + tool_text)) @@ -193,9 +194,10 @@ class Llama2Template(Template): system = system or self.default_system encoded_messages = [] for i, message in enumerate(messages): - elements = [] + elements = self.format_prefix.apply() + system_text = "" - if i == 0 and (system or tools or self.force_system): + if i == 0 and (system or tools): tool_text = self.format_tools.apply(content=tools)[0] if tools else "" system_text = self.format_system.apply(content=(system + tool_text))[0] @@ -230,12 +232,12 @@ def _register_template( format_observation: Optional["Formatter"] = None, format_tools: Optional["Formatter"] = None, format_separator: Optional["Formatter"] = None, + format_prefix: Optional["Formatter"] = None, default_system: str = "", stop_words: List[str] = [], image_token: str = "", efficient_eos: bool = False, replace_eos: bool = False, - force_system: bool = False, ) -> None: r""" Registers a chat template. @@ -272,6 +274,7 @@ def _register_template( ) default_tool_formatter = ToolFormatter(tool_format="default") default_separator_formatter = EmptyFormatter() + default_prefix_formatter = EmptyFormatter() TEMPLATES[name] = template_class( format_user=format_user or default_user_formatter, format_assistant=format_assistant or default_assistant_formatter, @@ -280,12 +283,12 @@ def _register_template( format_observation=format_observation or format_user or default_user_formatter, format_tools=format_tools or default_tool_formatter, format_separator=format_separator or default_separator_formatter, + format_prefix=format_prefix or default_prefix_formatter, default_system=default_system, stop_words=stop_words, image_token=image_token, efficient_eos=efficient_eos, replace_eos=replace_eos, - force_system=force_system, ) @@ -329,7 +332,7 @@ def _convert_slots_to_jinja(slots: "SLOTS", tokenizer: "PreTrainedTokenizer", pl def _get_jinja_template(template: "Template", tokenizer: "PreTrainedTokenizer") -> str: - jinja_template = "" + jinja_template = _convert_slots_to_jinja(template.format_prefix.apply(), tokenizer) if template.default_system: jinja_template += "{% set system_message = '" + _jinja_escape(template.default_system) + "' %}" @@ -339,11 +342,7 @@ def _get_jinja_template(template: "Template", tokenizer: "PreTrainedTokenizer") ) system_message = _convert_slots_to_jinja(template.format_system.apply(), tokenizer, placeholder="system_message") - if isinstance(template, Llama2Template): - pass - elif template.force_system: - jinja_template += "{{ " + system_message + " }}" - else: + if not isinstance(template, Llama2Template): jinja_template += "{% if system_message is defined %}{{ " + system_message + " }}{% endif %}" jinja_template += "{% for message in messages %}" @@ -459,9 +458,8 @@ _register_template( _register_template( name="belle", format_user=StringFormatter(slots=["Human: {{content}}\n\nBelle: "]), - format_system=StringFormatter(slots=[{"bos_token"}, "{{content}}"]), format_separator=EmptyFormatter(slots=["\n\n"]), - force_system=True, + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), ) @@ -486,10 +484,9 @@ _register_template( _register_template( name="chatglm2", format_user=StringFormatter(slots=["[Round {{idx}}]\n\n问:{{content}}\n\n答:"]), - format_system=StringFormatter(slots=[{"token": "[gMASK]"}, {"token": "sop"}, "{{content}}"]), format_separator=EmptyFormatter(slots=["\n\n"]), + format_prefix=EmptyFormatter(slots=[{"token": "[gMASK]"}, {"token": "sop"}]), efficient_eos=True, - force_system=True, ) @@ -497,14 +494,14 @@ _register_template( name="chatglm3", format_user=StringFormatter(slots=[{"token": "<|user|>"}, "\n", "{{content}}", {"token": "<|assistant|>"}]), format_assistant=StringFormatter(slots=["\n", "{{content}}"]), - format_system=StringFormatter(slots=[{"token": "[gMASK]"}, {"token": "sop"}, "{{content}}"]), + format_system=StringFormatter(slots=[{"token": "<|system|>"}, "\n", "{{content}}"]), format_function=FunctionFormatter(slots=["{{name}}\n{{arguments}}"]), format_observation=StringFormatter( slots=[{"token": "<|observation|>"}, "\n", "{{content}}", {"token": "<|assistant|>"}] ), + format_prefix=EmptyFormatter(slots=[{"token": "[gMASK]"}, {"token": "sop"}]), stop_words=["<|user|>", "<|observation|>"], efficient_eos=True, - force_system=True, ) @@ -512,13 +509,12 @@ _register_template( name="chatglm3_system", format_user=StringFormatter(slots=[{"token": "<|user|>"}, "\n", "{{content}}", {"token": "<|assistant|>"}]), format_assistant=StringFormatter(slots=["\n", "{{content}}"]), - format_system=StringFormatter( - slots=[{"token": "[gMASK]"}, {"token": "sop"}, {"token": "<|system|>"}, "\n", "{{content}}"] - ), + format_system=StringFormatter(slots=[{"token": "<|system|>"}, "\n", "{{content}}"]), format_function=FunctionFormatter(slots=["{{name}}\n{{arguments}}"]), format_observation=StringFormatter( slots=[{"token": "<|observation|>"}, "\n", "{{content}}", {"token": "<|assistant|>"}] ), + format_prefix=EmptyFormatter(slots=[{"token": "[gMASK]"}, {"token": "sop"}]), default_system=( "You are ChatGLM3, a large language model trained by Zhipu.AI. " "Follow the user's instructions carefully. Respond using markdown." @@ -553,8 +549,7 @@ _register_template( _register_template( name="codegeex2", - format_system=StringFormatter(slots=[{"token": "[gMASK]"}, {"token": "sop"}, "{{content}}"]), - force_system=True, + format_prefix=EmptyFormatter(slots=[{"token": "[gMASK]"}, {"token": "sop"}]), ) @@ -581,8 +576,7 @@ _register_template( _register_template( name="cpm", format_user=StringFormatter(slots=["<用户>{{content}}"]), - format_system=StringFormatter(slots=[{"bos_token"}, "{{content}}"]), - force_system=True, + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), ) @@ -615,8 +609,7 @@ _register_template( _register_template( name="deepseek", format_user=StringFormatter(slots=["User: {{content}}\n\nAssistant:"]), - format_system=StringFormatter(slots=[{"bos_token"}, "{{content}}"]), - force_system=True, + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), ) @@ -648,9 +641,8 @@ _register_template( name="empty", format_user=StringFormatter(slots=["{{content}}"]), format_assistant=StringFormatter(slots=["{{content}}"]), - format_system=StringFormatter(slots=[{"bos_token"}, "{{content}}"]), + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), efficient_eos=True, - force_system=True, ) @@ -672,13 +664,12 @@ _register_template( _register_template( name="gemma", format_user=StringFormatter(slots=["user\n{{content}}\nmodel\n"]), - format_system=StringFormatter(slots=[{"bos_token"}, "{{content}}"]), format_observation=StringFormatter( slots=["tool\n{{content}}\nmodel\n"] ), format_separator=EmptyFormatter(slots=["\n"]), + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), efficient_eos=True, - force_system=True, ) @@ -686,13 +677,13 @@ _register_template( name="glm4", format_user=StringFormatter(slots=["<|user|>\n{{content}}<|assistant|>"]), format_assistant=StringFormatter(slots=["\n{{content}}"]), - format_system=StringFormatter(slots=["[gMASK]<|system|>\n{{content}}"]), + format_system=StringFormatter(slots=["<|system|>\n{{content}}"]), format_function=FunctionFormatter(slots=["{{name}}\n{{arguments}}"]), format_observation=StringFormatter(slots=["<|observation|>\n{{content}}<|assistant|>"]), format_tools=ToolFormatter(tool_format="glm4"), + format_prefix=EmptyFormatter(slots=["[gMASK]"]), stop_words=["<|user|>", "<|observation|>"], efficient_eos=True, - force_system=True, ) @@ -768,24 +759,21 @@ _register_template( _register_template( name="mistral", format_user=StringFormatter(slots=["[INST] {{content}} [/INST]"]), - format_system=StringFormatter(slots=[{"bos_token"}, "{{content}}"]), - force_system=True, + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), ) _register_template( name="olmo", format_user=StringFormatter(slots=["<|user|>\n{{content}}<|assistant|>\n"]), - format_system=StringFormatter(slots=[{"eos_token"}, "{{content}}"]), - force_system=True, + format_prefix=EmptyFormatter(slots=[{"eos_token"}]), ) _register_template( name="openchat", format_user=StringFormatter(slots=["GPT4 Correct User: {{content}}", {"eos_token"}, "GPT4 Correct Assistant:"]), - format_system=StringFormatter(slots=[{"bos_token"}, "{{content}}"]), - force_system=True, + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), ) @@ -799,18 +787,16 @@ _register_template( ) ] ), - format_system=StringFormatter(slots=[{"bos_token"}, "{{content}}"]), + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), stop_words=["<|eot_id|>"], replace_eos=True, - force_system=True, ) _register_template( name="orion", format_user=StringFormatter(slots=["Human: {{content}}\n\nAssistant: ", {"eos_token"}]), - format_system=StringFormatter(slots=[{"bos_token"}, "{{content}}"]), - force_system=True, + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), ) @@ -852,7 +838,6 @@ _register_template( format_separator=EmptyFormatter(slots=["\n"]), stop_words=["<|end|>"], replace_eos=True, - force_system=True, ) From c9557241f6e6a21e94d3544142c970625c66af69 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 19 Jun 2024 03:49:23 +0800 Subject: [PATCH 081/169] fix bug Former-commit-id: 6d2bf216ac3a48450e861148ce664dad717fd019 --- src/llamafactory/data/template.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index a12e9c88..c9af9605 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -102,7 +102,10 @@ class Template: system = system or self.default_system encoded_messages = [] for i, message in enumerate(messages): - elements = self.format_prefix.apply() + elements = [] + + if i == 0: + elements += self.format_prefix.apply() if i == 0 and (system or tools): tool_text = self.format_tools.apply(content=tools)[0] if tools else "" @@ -194,7 +197,10 @@ class Llama2Template(Template): system = system or self.default_system encoded_messages = [] for i, message in enumerate(messages): - elements = self.format_prefix.apply() + elements = [] + + if i == 0: + elements += self.format_prefix.apply() system_text = "" if i == 0 and (system or tools): From c779899f7b640ce6bcaf0b6d6736599bab3ca2c7 Mon Sep 17 00:00:00 2001 From: Jonery Date: Wed, 19 Jun 2024 12:29:40 +0800 Subject: [PATCH 082/169] Cleaner integration. Former-commit-id: 5c2ff1b749a265dd3c979189ec491d8ac911a6f6 --- src/llamafactory/hparams/parser.py | 7 ++----- src/llamafactory/train/dpo/trainer.py | 12 +++--------- src/llamafactory/train/kto/trainer.py | 12 +++--------- src/llamafactory/train/ppo/trainer.py | 12 +++--------- src/llamafactory/train/pt/trainer.py | 12 +++--------- src/llamafactory/train/rm/trainer.py | 12 +++--------- src/llamafactory/train/sft/trainer.py | 11 +++-------- src/llamafactory/train/trainer_utils.py | 10 ++++------ 8 files changed, 24 insertions(+), 64 deletions(-) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 680559ac..c7c17ae0 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -215,11 +215,8 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: ): if finetuning_args.badam_mode == "ratio": raise ValueError("Ratio-wise BAdam does not yet support distributed training, use layer-wise BAdam: --badam_mode layer") - if (finetuning_args.badam_mode == "layer" - and training_args.deepspeed_plugin is not None - and training_args.deepspeed_plugin.zero_stage < 3 - ): - raise ValueError(f"Layer-wise BAdam only supports DeepSpeed ZeRO 3 stage, got stage {training_args.deepspeed_plugin.zero_stage}") + if finetuning_args.badam_mode == "layer" and (not is_deepspeed_zero3_enabled()): + raise ValueError(f"Layer-wise BAdam only supports DeepSpeed ZeRO 3 stage.") if (finetuning_args.use_galore) and training_args.deepspeed is not None: raise ValueError("GaLore are incompatible with DeepSpeed yet.") diff --git a/src/llamafactory/train/dpo/trainer.py b/src/llamafactory/train/dpo/trainer.py index 284bf41a..a3e0e961 100644 --- a/src/llamafactory/train/dpo/trainer.py +++ b/src/llamafactory/train/dpo/trainer.py @@ -96,15 +96,9 @@ class CustomDPOTrainer(DPOTrainer): self.save_model(os.path.join(self.args.output_dir, "pissa_init")) if finetuning_args.use_badam: - from badam import clip_grad_norm_for_sparse_tensor - - self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) - - if (self.args.deepspeed_plugin is not None - and self.args.deepspeed_plugin.zero_stage == 3 - ): - from badam.utils import BAdamZeRO3Callback - self.callback_handler.add_callback(BAdamZeRO3Callback) + from badam import clip_grad_norm_old_version, BAdamCallback + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) + self.callback_handler.add_callback(BAdamCallback) def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: diff --git a/src/llamafactory/train/kto/trainer.py b/src/llamafactory/train/kto/trainer.py index d8b609e0..0d50987f 100644 --- a/src/llamafactory/train/kto/trainer.py +++ b/src/llamafactory/train/kto/trainer.py @@ -91,15 +91,9 @@ class CustomKTOTrainer(KTOTrainer): self.ref_model.eval() if finetuning_args.use_badam: - from badam import clip_grad_norm_for_sparse_tensor - - self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) - - if (self.args.deepspeed_plugin is not None - and self.args.deepspeed_plugin.zero_stage == 3 - ): - from badam.utils import BAdamZeRO3Callback - self.callback_handler.add_callback(BAdamZeRO3Callback) + from badam import clip_grad_norm_old_version, BAdamCallback + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) + self.callback_handler.add_callback(BAdamCallback) def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: diff --git a/src/llamafactory/train/ppo/trainer.py b/src/llamafactory/train/ppo/trainer.py index 5a18cbaa..f81831e6 100644 --- a/src/llamafactory/train/ppo/trainer.py +++ b/src/llamafactory/train/ppo/trainer.py @@ -166,15 +166,9 @@ class CustomPPOTrainer(PPOTrainer, Trainer): self.reward_model = self.accelerator.prepare_model(self.reward_model, evaluation_mode=True) if finetuning_args.use_badam: - from badam import clip_grad_norm_for_sparse_tensor - - self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) - - if (self.args.deepspeed_plugin is not None - and self.args.deepspeed_plugin.zero_stage == 3 - ): - from badam.utils import BAdamZeRO3Callback - self.callback_handler.add_callback(BAdamZeRO3Callback) + from badam import clip_grad_norm_old_version, BAdamCallback + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) + self.callback_handler.add_callback(BAdamCallback) def ppo_train(self, resume_from_checkpoint: Optional[str] = None) -> None: r""" diff --git a/src/llamafactory/train/pt/trainer.py b/src/llamafactory/train/pt/trainer.py index 1e5e9f6a..d3516b41 100644 --- a/src/llamafactory/train/pt/trainer.py +++ b/src/llamafactory/train/pt/trainer.py @@ -48,15 +48,9 @@ class CustomTrainer(Trainer): self.save_model(os.path.join(self.args.output_dir, "pissa_init")) if finetuning_args.use_badam: - from badam import clip_grad_norm_for_sparse_tensor - - self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) - - if (self.args.deepspeed_plugin is not None - and self.args.deepspeed_plugin.zero_stage == 3 - ): - from badam.utils import BAdamZeRO3Callback - self.callback_handler.add_callback(BAdamZeRO3Callback) + from badam import clip_grad_norm_old_version, BAdamCallback + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) + self.callback_handler.add_callback(BAdamCallback) def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: diff --git a/src/llamafactory/train/rm/trainer.py b/src/llamafactory/train/rm/trainer.py index 5d0e6263..433251cf 100644 --- a/src/llamafactory/train/rm/trainer.py +++ b/src/llamafactory/train/rm/trainer.py @@ -72,15 +72,9 @@ class PairwiseTrainer(Trainer): self.processor = processor self.can_return_loss = True # override property to return eval_loss if finetuning_args.use_badam: - from badam import clip_grad_norm_for_sparse_tensor - - self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) - - if (self.args.deepspeed_plugin is not None - and self.args.deepspeed_plugin.zero_stage == 3 - ): - from badam.utils import BAdamZeRO3Callback - self.callback_handler.add_callback(BAdamZeRO3Callback) + from badam import clip_grad_norm_old_version, BAdamCallback + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) + self.callback_handler.add_callback(BAdamCallback) def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: diff --git a/src/llamafactory/train/sft/trainer.py b/src/llamafactory/train/sft/trainer.py index 9446d245..45799b96 100644 --- a/src/llamafactory/train/sft/trainer.py +++ b/src/llamafactory/train/sft/trainer.py @@ -56,14 +56,9 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): self.save_model(os.path.join(self.args.output_dir, "pissa_init")) if finetuning_args.use_badam: - from badam import clip_grad_norm_for_sparse_tensor - self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_for_sparse_tensor, self.accelerator) - - if (self.args.deepspeed_plugin is not None - and self.args.deepspeed_plugin.zero_stage == 3 - ): - from badam.utils import BAdamZeRO3Callback - self.callback_handler.add_callback(BAdamZeRO3Callback) + from badam import clip_grad_norm_old_version, BAdamCallback + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) + self.callback_handler.add_callback(BAdamCallback) def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: diff --git a/src/llamafactory/train/trainer_utils.py b/src/llamafactory/train/trainer_utils.py index 98c38842..b57f5a6e 100644 --- a/src/llamafactory/train/trainer_utils.py +++ b/src/llamafactory/train/trainer_utils.py @@ -371,11 +371,8 @@ def _create_badam_optimizer( dict(params=decay_params, weight_decay=training_args.weight_decay), ] - ds_zero3_enabled = False - if hasattr(training_args, "deepspeed_plugin") and training_args.deepspeed_plugin is not None: - assert training_args.deepspeed_plugin.zero_stage == 3, f"BAdam only supports deepspeed ZeRO-3 stage, got {training_args.deepspeed_plugin.zero_stage}" - assert finetuning_args.badam_mode == "layer", "BAdam only supports layer-wise update in ZeRO-3 stage" - ds_zero3_enabled = True + from transformers.integrations import is_deepspeed_zero3_enabled + ds_zero3_enabled = is_deepspeed_zero3_enabled() if finetuning_args.badam_mode == "layer": from badam import BlockOptimizer @@ -400,6 +397,7 @@ def _create_badam_optimizer( elif finetuning_args.badam_mode == "ratio": from badam import BlockOptimizerRatio + assert not ds_zero3_enabled, "BAdam with ratio-based update does not support Deepspeed ZeRO-3 yet, use layer-wise update instead: --badam_mode layer." assert finetuning_args.badam_update_ratio > 1e-6 optimizer = BlockOptimizerRatio( param_groups=param_groups, @@ -411,7 +409,7 @@ def _create_badam_optimizer( **optim_kwargs, ) logger.info( - f"Using BAdam optimizer with ratio-wise update, update ratio is {finetuning_args.badam_update_ratio}, " + f"Using BAdam optimizer with ratio-based update, update ratio is {finetuning_args.badam_update_ratio}, " f"mask mode is {finetuning_args.badam_mask_mode}" ) From 53b48eb052290260f5b550813716abec5daf5cf2 Mon Sep 17 00:00:00 2001 From: codingma Date: Wed, 19 Jun 2024 14:02:24 +0800 Subject: [PATCH 083/169] update wechat_npu.jpg Former-commit-id: c48cbc371dea4eed1a76bdda4346e4346db05287 --- assets/wechat_npu.jpg | Bin 151685 -> 198954 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/wechat_npu.jpg b/assets/wechat_npu.jpg index cf7019b5dae1c033fff2ead808b38e0963dfec64..13f39078384bc1073a19894cb7b1775dd6571f5c 100644 GIT binary patch literal 198954 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 Y?(cuYz5&(D|5}UxhJF9XTKxQf0Dx?ug#Z8m literal 151685 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᩠qT{d1dI$4A|yFqB*f2>jX%n5<$l#L$5% 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 Date: Wed, 19 Jun 2024 17:44:05 +0800 Subject: [PATCH 084/169] fix templates Former-commit-id: 4cff6a4ad55b24bf57db6be5cf817180c1ea5626 --- src/llamafactory/data/formatter.py | 2 +- src/llamafactory/data/template.py | 48 ++++++++----------------- src/llamafactory/train/trainer_utils.py | 3 +- 3 files changed, 18 insertions(+), 35 deletions(-) diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index 70be6a5a..ed9ba8b8 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -68,7 +68,7 @@ def default_tool_formatter(tools: List[Dict[str, Any]]) -> str: def default_tool_extractor(content: str) -> Union[str, List[Tuple[str, str]]]: - regex = re.compile(r"Action:\s*([a-zA-Z0-9_]+)\s*Action Input:\s*(.+?)(?=\s*Action:|$)", re.DOTALL) + regex = re.compile(r"Action:\s*([a-zA-Z0-9_]+)\s*Action Input:\s*(.+?)(?=\s*Action:|\s*$)", re.DOTALL) action_match: List[Tuple[str, str]] = re.findall(regex, content) if not action_match: return content diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index c9af9605..3c4bc5ec 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -478,11 +478,7 @@ _register_template( _register_template( name="breeze", format_user=StringFormatter(slots=["[INST] {{content}} [/INST] "]), - format_system=StringFormatter(slots=[{"bos_token"}, "{{content}}"]), - default_system=( - "You are a helpful AI assistant built by MediaTek Research. " - "The user you are helping speaks Traditional Chinese and comes from Taiwan." - ), + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), efficient_eos=True, ) @@ -569,13 +565,8 @@ _register_template( ) ] ), - format_system=StringFormatter( - slots=[{"bos_token"}, "<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>{{content}}<|END_OF_TURN_TOKEN|>"] - ), - default_system=( - "You are Command-R, a brilliant, sophisticated, AI-assistant trained to assist human users " - "by providing thorough responses. You are trained by Cohere." - ), + format_system=StringFormatter(slots=["<|START_OF_TURN_TOKEN|><|SYSTEM_TOKEN|>{{content}}<|END_OF_TURN_TOKEN|>"]), + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), ) @@ -645,8 +636,6 @@ _register_template( _register_template( name="empty", - format_user=StringFormatter(slots=["{{content}}"]), - format_assistant=StringFormatter(slots=["{{content}}"]), format_prefix=EmptyFormatter(slots=[{"bos_token"}]), efficient_eos=True, ) @@ -695,25 +684,21 @@ _register_template( _register_template( name="intern", - format_user=StringFormatter(slots=["<|User|>:{{content}}", {"token": ""}, "\n<|Bot|>:"]), - format_separator=EmptyFormatter(slots=[{"token": ""}, "\n"]), + format_user=StringFormatter(slots=["<|User|>:{{content}}\n<|Bot|>:"]), + format_system=StringFormatter(slots=["<|System|>:{{content}}\n"]), + format_separator=EmptyFormatter(slots=["\n"]), + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), stop_words=[""], - efficient_eos=True, + efficient_eos=True, # internlm tokenizer cannot set eos_token_id ) _register_template( name="intern2", format_user=StringFormatter(slots=["<|im_start|>user\n{{content}}<|im_end|>\n<|im_start|>assistant\n"]), - format_system=StringFormatter(slots=[{"bos_token"}, "<|im_start|>system\n{{content}}<|im_end|>\n"]), - format_separator=EmptyFormatter(slots=["\n"]), - default_system=( - "You are an AI assistant whose name is InternLM (书生·浦语).\n" - "- InternLM (书生·浦语) is a conversational language model that is developed " - "by Shanghai AI Laboratory (上海人工智能实验室). It is designed to be helpful, honest, and harmless.\n" - "- InternLM (书生·浦语) can understand and communicate fluently in the language chosen " - "by the user such as English and 中文." - ), + format_system=StringFormatter(slots=["<|im_start|>system\n{{content}}<|im_end|>\n"]), + format_separator=EmptyFormatter(slots=["<|im_end|>\n"]), + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), stop_words=["<|im_end|>"], efficient_eos=True, # internlm2 tokenizer cannot set eos_token_id ) @@ -722,7 +707,6 @@ _register_template( _register_template( name="llama2", format_user=StringFormatter(slots=[{"bos_token"}, "[INST] {{content}} [/INST]"]), - format_assistant=StringFormatter(slots=[" {{content}} ", {"eos_token"}]), format_system=StringFormatter(slots=["<>\n{{content}}\n<>\n\n"]), ) @@ -745,9 +729,7 @@ _register_template( ) ] ), - format_system=StringFormatter( - slots=[{"bos_token"}, "<|start_header_id|>system<|end_header_id|>\n\n{{content}}<|eot_id|>"] - ), + format_system=StringFormatter(slots=["<|start_header_id|>system<|end_header_id|>\n\n{{content}}<|eot_id|>"]), format_observation=StringFormatter( slots=[ ( @@ -756,7 +738,7 @@ _register_template( ) ] ), - default_system="You are a helpful assistant.", + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), stop_words=["<|eot_id|>"], replace_eos=True, ) @@ -809,9 +791,9 @@ _register_template( _register_template( name="phi", format_user=StringFormatter(slots=["<|user|>\n{{content}}<|end|>\n<|assistant|>\n"]), - format_system=StringFormatter(slots=[{"bos_token"}, "<|system|>\n{{content}}<|end|>\n"]), + format_system=StringFormatter(slots=["<|system|>\n{{content}}<|end|>\n"]), format_separator=EmptyFormatter(slots=["\n"]), - default_system="You are a helpful AI assistant.", + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), stop_words=["<|end|>"], replace_eos=True, ) diff --git a/src/llamafactory/train/trainer_utils.py b/src/llamafactory/train/trainer_utils.py index 9052c96d..c1b90155 100644 --- a/src/llamafactory/train/trainer_utils.py +++ b/src/llamafactory/train/trainer_utils.py @@ -198,6 +198,7 @@ def convert_pissa_adapter( safe_serialization=training_args.save_safetensors, ) setattr(unwrapped_model.peft_config["default"], "init_lora_weights", init_lora_weights) + elif output_dir == training_args.output_dir: # at the end of training logger.info("Converted PiSSA adapter will be saved at: {}.".format(output_dir)) unwrapped_model = accelerator.unwrap_model(model) @@ -233,7 +234,7 @@ def _create_galore_optimizer( finetuning_args: "FinetuningArguments", ) -> "torch.optim.Optimizer": if len(finetuning_args.galore_target) == 1 and finetuning_args.galore_target[0] == "all": - galore_targets = find_all_linear_modules(model) + galore_targets = find_all_linear_modules(model, finetuning_args.freeze_vision_tower) else: galore_targets = finetuning_args.galore_target From 3d72b1a8568b2dccdbddc1ddb91849a6afeb546e Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 19 Jun 2024 20:03:50 +0800 Subject: [PATCH 085/169] fix jinja template Former-commit-id: 2b596fb55ff689d2e488d9a9bbab98f70f356c3c --- src/llamafactory/data/template.py | 6 +++++- tests/data/test_supervised.py | 9 +++++--- tests/data/test_template.py | 35 +++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 tests/data/test_template.py diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index 3c4bc5ec..393ebfea 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -338,7 +338,11 @@ def _convert_slots_to_jinja(slots: "SLOTS", tokenizer: "PreTrainedTokenizer", pl def _get_jinja_template(template: "Template", tokenizer: "PreTrainedTokenizer") -> str: - jinja_template = _convert_slots_to_jinja(template.format_prefix.apply(), tokenizer) + jinja_template = "" + + prefix = _convert_slots_to_jinja(template.format_prefix.apply(), tokenizer) + if prefix: + jinja_template += "{{ " + prefix + " }}" if template.default_system: jinja_template += "{% set system_message = '" + _jinja_escape(template.default_system) + "' %}" diff --git a/tests/data/test_supervised.py b/tests/data/test_supervised.py index 9f7b2dbf..9cb49615 100644 --- a/tests/data/test_supervised.py +++ b/tests/data/test_supervised.py @@ -17,6 +17,7 @@ import random import pytest from datasets import load_dataset +from transformers import AutoTokenizer from llamafactory.data import get_dataset from llamafactory.hparams import get_train_args @@ -48,10 +49,11 @@ def test_supervised(num_samples: int): tokenizer = tokenizer_module["tokenizer"] tokenized_data = get_dataset(model_args, data_args, training_args, stage="sft", **tokenizer_module) + ref_tokenizer = AutoTokenizer.from_pretrained(TINY_LLAMA) + original_data = load_dataset(TRAIN_ARGS["dataset"], split="train") indexes = random.choices(range(len(original_data)), k=num_samples) for index in indexes: - decoded_result = tokenizer.decode(tokenized_data["input_ids"][index]) prompt = original_data[index]["instruction"] if original_data[index]["input"]: prompt += "\n" + original_data[index]["input"] @@ -60,5 +62,6 @@ def test_supervised(num_samples: int): {"role": "user", "content": prompt}, {"role": "assistant", "content": original_data[index]["output"]}, ] - templated_result = tokenizer.apply_chat_template(messages, tokenize=False) - assert decoded_result == templated_result + templated_result = ref_tokenizer.apply_chat_template(messages, tokenize=False) + decoded_result = tokenizer.decode(tokenized_data["input_ids"][index]) + assert templated_result == decoded_result diff --git a/tests/data/test_template.py b/tests/data/test_template.py new file mode 100644 index 00000000..9d73c116 --- /dev/null +++ b/tests/data/test_template.py @@ -0,0 +1,35 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import os + +from transformers import AutoTokenizer + +from llamafactory.data import get_template_and_fix_tokenizer + + +TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") + + +def test_jinja_template(): + tokenizer = AutoTokenizer.from_pretrained(TINY_LLAMA) + ref_tokenizer = AutoTokenizer.from_pretrained(TINY_LLAMA) + get_template_and_fix_tokenizer(tokenizer, name="llama3") + assert tokenizer.chat_template != ref_tokenizer.chat_template + + messages = [ + {"role": "user", "content": "hi!"}, + {"role": "assistant", "content": "hello there"}, + ] + assert tokenizer.apply_chat_template(messages) == ref_tokenizer.apply_chat_template(messages) From 9c1b04cd114655f1bf021d2346ddf212921313f0 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 19 Jun 2024 20:42:09 +0800 Subject: [PATCH 086/169] release v0.8.2 Former-commit-id: 71327ba85a3a1bb2d2d20c86951c6c7c0ba98829 --- .github/workflows/publish.yml | 39 ++++++++++++++++++++++++++++++++++ src/llamafactory/extras/env.py | 2 +- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 00000000..bb39be3a --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,39 @@ +name: publish + +on: + release: + types: [published] + +jobs: + publish: + name: Upload release to PyPI + + runs-on: ubuntu-latest + + environment: + name: release + url: https://pypi.org/p/llamafactory + + permissions: + id-token: write + + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.8" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install build + + - name: Build package + run: | + python -m build + + - name: Publish package + uses: pypa/gh-action-pypi-publish@release/v1 diff --git a/src/llamafactory/extras/env.py b/src/llamafactory/extras/env.py index 586c24c0..ee224148 100644 --- a/src/llamafactory/extras/env.py +++ b/src/llamafactory/extras/env.py @@ -23,7 +23,7 @@ import trl from transformers.utils import is_torch_cuda_available, is_torch_npu_available -VERSION = "0.8.2.dev0" +VERSION = "0.8.2" def print_env() -> None: From fded2306dcdf980ee0540bd0d55084eca048284f Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 19 Jun 2024 20:46:33 +0800 Subject: [PATCH 087/169] Update publish.yml Former-commit-id: 87e330fee50a7dd361c317b94ce19b17eda55d6f --- .github/workflows/publish.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index bb39be3a..15c7153e 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -2,7 +2,8 @@ name: publish on: release: - types: [published] + types: + - published jobs: publish: From 80e9f8e000a330b75f316c008afeaeefe84153ad Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 19 Jun 2024 21:08:16 +0800 Subject: [PATCH 088/169] set dev version Former-commit-id: 42e69a3c634ccae792bd8ffb4642061ee475e836 --- src/llamafactory/extras/env.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/extras/env.py b/src/llamafactory/extras/env.py index ee224148..ab387231 100644 --- a/src/llamafactory/extras/env.py +++ b/src/llamafactory/extras/env.py @@ -23,7 +23,7 @@ import trl from transformers.utils import is_torch_cuda_available, is_torch_npu_available -VERSION = "0.8.2" +VERSION = "0.8.3.dev0" def print_env() -> None: From 030b4811c708d815254ee2cfa1e0d7efd0c8adf3 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 19 Jun 2024 21:27:00 +0800 Subject: [PATCH 089/169] update patcher Former-commit-id: 3b040e8e0f78dbb6bc1409a1b2b788e1affc7458 --- src/llamafactory/model/model_utils/checkpointing.py | 10 ++++------ src/llamafactory/model/patcher.py | 5 +++++ tests/model/model_utils/test_checkpointing.py | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/llamafactory/model/model_utils/checkpointing.py b/src/llamafactory/model/model_utils/checkpointing.py index f5314125..f4f3d8a5 100644 --- a/src/llamafactory/model/model_utils/checkpointing.py +++ b/src/llamafactory/model/model_utils/checkpointing.py @@ -78,9 +78,7 @@ def _fp32_forward_post_hook( return output.to(torch.float32) -def prepare_model_for_training( - model: "PreTrainedModel", model_args: "ModelArguments", output_layer_name: str = "lm_head" -) -> None: +def prepare_model_for_training(model: "PreTrainedModel", model_args: "ModelArguments") -> None: r""" Includes: (1) cast the layernorm in fp32 @@ -104,8 +102,8 @@ def prepare_model_for_training( setattr(model.config, "use_cache", False) # turn off when gradient checkpointing is enabled logger.info("Gradient checkpointing enabled.") - if hasattr(model, output_layer_name) and model_args.upcast_lmhead_output: - logger.info("Upcasting lm_head outputs in float32.") - output_layer = getattr(model, output_layer_name) + if model_args.upcast_lmhead_output: + output_layer = model.get_output_embeddings() if isinstance(output_layer, torch.nn.Linear) and output_layer.weight.dtype != torch.float32: + logger.info("Upcasting lm_head outputs in float32.") output_layer.register_forward_hook(_fp32_forward_post_hook) diff --git a/src/llamafactory/model/patcher.py b/src/llamafactory/model/patcher.py index 8fa17d08..a53fde98 100644 --- a/src/llamafactory/model/patcher.py +++ b/src/llamafactory/model/patcher.py @@ -152,6 +152,10 @@ def patch_valuehead_model(model: "AutoModelForCausalLMWithValueHead") -> None: if isinstance(self.pretrained_model, PreTrainedModel): return self.pretrained_model.get_input_embeddings() + def get_output_embeddings(self: "AutoModelForCausalLMWithValueHead") -> torch.nn.Module: + if isinstance(self.pretrained_model, PreTrainedModel): + return self.pretrained_model.get_output_embeddings() + def create_or_update_model_card(self: "AutoModelForCausalLMWithValueHead", output_dir: str) -> None: if isinstance(self.pretrained_model, PeftModel): self.pretrained_model.create_or_update_model_card(output_dir) @@ -160,4 +164,5 @@ def patch_valuehead_model(model: "AutoModelForCausalLMWithValueHead") -> None: setattr(model, "_keys_to_ignore_on_save", ignore_modules) setattr(model, "tie_weights", MethodType(tie_weights, model)) setattr(model, "get_input_embeddings", MethodType(get_input_embeddings, model)) + setattr(model, "get_output_embeddings", MethodType(get_output_embeddings, model)) setattr(model, "create_or_update_model_card", MethodType(create_or_update_model_card, model)) diff --git a/tests/model/model_utils/test_checkpointing.py b/tests/model/model_utils/test_checkpointing.py index 670e693d..9b6dfc9e 100644 --- a/tests/model/model_utils/test_checkpointing.py +++ b/tests/model/model_utils/test_checkpointing.py @@ -70,5 +70,5 @@ def test_upcast_lmhead_output(): tokenizer_module = load_tokenizer(model_args) model = load_model(tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=True) inputs = torch.randn((1, 16), dtype=torch.float16, device=get_current_device()) - outputs: "torch.Tensor" = model.lm_head(inputs) + outputs: "torch.Tensor" = model.get_output_embeddings()(inputs) assert outputs.dtype == torch.float32 From 029c343537c5e0693689928496cd4b2d5b9c6577 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 19 Jun 2024 23:22:28 +0800 Subject: [PATCH 090/169] fix llamaboard abort Former-commit-id: 3f84411b5d904dbbc5cddeda44884417fe68f689 --- src/llamafactory/webui/runner.py | 4 ++-- src/llamafactory/webui/utils.py | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/llamafactory/webui/runner.py b/src/llamafactory/webui/runner.py index 13dbba03..6cd21b07 100644 --- a/src/llamafactory/webui/runner.py +++ b/src/llamafactory/webui/runner.py @@ -24,7 +24,7 @@ from ..extras.misc import is_gpu_or_npu_available, torch_gc from ..extras.packages import is_gradio_available from .common import DEFAULT_CACHE_DIR, DEFAULT_CONFIG_DIR, get_save_dir, load_config from .locales import ALERTS, LOCALES -from .utils import abort_leaf_process, gen_cmd, get_eval_results, get_trainer_info, load_args, save_args, save_cmd +from .utils import abort_process, gen_cmd, get_eval_results, get_trainer_info, load_args, save_args, save_cmd if is_gradio_available(): @@ -52,7 +52,7 @@ class Runner: def set_abort(self) -> None: self.aborted = True if self.trainer is not None: - abort_leaf_process(self.trainer.pid) + abort_process(self.trainer.pid) def _initialize(self, data: Dict["Component", Any], do_train: bool, from_preview: bool) -> str: get = lambda elem_id: data[self.manager.get_elem_by_id(elem_id)] diff --git a/src/llamafactory/webui/utils.py b/src/llamafactory/webui/utils.py index 6ce2a8e7..a616bcba 100644 --- a/src/llamafactory/webui/utils.py +++ b/src/llamafactory/webui/utils.py @@ -33,16 +33,16 @@ if is_gradio_available(): import gradio as gr -def abort_leaf_process(pid: int) -> None: +def abort_process(pid: int) -> None: r""" - Aborts the leaf processes. + Aborts the processes recursively in a bottom-up way. """ children = psutil.Process(pid).children() if children: for child in children: - abort_leaf_process(child.pid) - else: - os.kill(pid, signal.SIGABRT) + abort_process(child.pid) + + os.kill(pid, signal.SIGABRT) def can_quantize(finetuning_type: str) -> "gr.Dropdown": From 6ea4680334d4c6bc56a9b9b26e5340c65cc3cc00 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 19 Jun 2024 23:46:03 +0800 Subject: [PATCH 091/169] improve llamaboard Former-commit-id: f22d8f9ca49681e1ca52c9bdedfe3b5c5a3409b8 --- src/llamafactory/webui/components/top.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/webui/components/top.py b/src/llamafactory/webui/components/top.py index 2515a83d..09d43ac8 100644 --- a/src/llamafactory/webui/components/top.py +++ b/src/llamafactory/webui/components/top.py @@ -50,9 +50,13 @@ def create_top() -> Dict[str, "Component"]: visual_inputs = gr.Checkbox(scale=1) model_name.change(get_model_info, [model_name], [model_path, template, visual_inputs], queue=False) - model_name.input(save_config, inputs=[lang, model_name], queue=False) + model_name.input(save_config, inputs=[lang, model_name], queue=False).then( + list_checkpoints, [model_name, finetuning_type], [checkpoint_path], queue=False + ) model_path.input(save_config, inputs=[lang, model_name, model_path], queue=False) - finetuning_type.change(can_quantize, [finetuning_type], [quantization_bit], queue=False) + finetuning_type.change(can_quantize, [finetuning_type], [quantization_bit], queue=False).then( + list_checkpoints, [model_name, finetuning_type], [checkpoint_path], queue=False + ) checkpoint_path.focus(list_checkpoints, [model_name, finetuning_type], [checkpoint_path], queue=False) return dict( From cd563116ca1191cededb9779e28bd48c6500d65a Mon Sep 17 00:00:00 2001 From: MengqingCao Date: Thu, 20 Jun 2024 02:09:47 +0000 Subject: [PATCH 092/169] update dependencies Former-commit-id: 7d4a29303350711558566d10d02230ed85ee1b69 --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index f76524d8..7380add4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,3 +18,4 @@ matplotlib>=3.7.0 fire packaging pyyaml +numpy<2.0.0 From 0844750bb91f09bc824bf94cba26e04b4da281b8 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 20 Jun 2024 22:56:05 +0800 Subject: [PATCH 093/169] tiny fix Former-commit-id: 8d4f5093cfcccfe9df173b4c4f7ec0125aecf198 --- src/llamafactory/hparams/parser.py | 3 +++ src/llamafactory/model/adapter.py | 17 ++++++++--------- src/llamafactory/model/patcher.py | 4 ++-- src/llamafactory/webui/components/top.py | 4 ++-- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 9b305016..a593bf45 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -199,6 +199,9 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: if not is_torch_bf16_gpu_available(): raise ValueError("This device does not support `pure_bf16`.") + if training_args.deepspeed: + raise ValueError("`pure_bf16` is incompatible with DeepSpeed.") + if training_args.fp16 or training_args.bf16: raise ValueError("Turn off mixed precision training when using `pure_bf16`.") diff --git a/src/llamafactory/model/adapter.py b/src/llamafactory/model/adapter.py index 34518878..7caef9cc 100644 --- a/src/llamafactory/model/adapter.py +++ b/src/llamafactory/model/adapter.py @@ -289,16 +289,15 @@ def init_adapter( raise ValueError("Cannot initialize PiSSA adapter on quantized models.") # cast trainable parameters to float32 if: - # 1. is_trainable and quantization_bit is not None (qlora) - # 2. is_trainable and not deepspeed zero3 and not fsdp (zero3 or fsdp already in float32) - # 3. is_trainable and not pure_bf16 and not badam + # 1. is_trainable and not pure_bf16 and not badam and quantization_bit is not None (qlora) + # 2. is_trainable and not pure_bf16 and not badam and not zero3 and not fsdp (zero3 or fsdp already in fp32) + cast_trainable_params_to_fp32 = False if not is_trainable: - cast_trainable_params_to_fp32 = False - elif model_args.quantization_bit is None and ( - is_deepspeed_zero3_enabled() or is_fsdp_enabled() or finetuning_args.pure_bf16 or finetuning_args.use_badam - ): - logger.info("ZeRO3/FSDP/PureBF16/BAdam detected, remaining trainable params as their original precision.") - cast_trainable_params_to_fp32 = False + pass + elif finetuning_args.pure_bf16 or finetuning_args.use_badam: + logger.info("Pure bf16 / BAdam detected, remaining trainable params in half precision.") + elif model_args.quantization_bit is None and (is_deepspeed_zero3_enabled() or is_fsdp_enabled()): + logger.info("ZeRO3 / FSDP detected, remaining trainable params in float32.") else: logger.info("Upcasting trainable params to float32.") cast_trainable_params_to_fp32 = True diff --git a/src/llamafactory/model/patcher.py b/src/llamafactory/model/patcher.py index a53fde98..35153649 100644 --- a/src/llamafactory/model/patcher.py +++ b/src/llamafactory/model/patcher.py @@ -91,8 +91,8 @@ def patch_config( # cast data type of the model if: # 1. not deepspeed zero3 and not fsdp (keep zero3 or fsdp in float32) - # 2. fsdp + qlora - if model_args.quantization_bit is not None or (not is_deepspeed_zero3_enabled() and not is_fsdp_enabled()): + # 2. quantization_bit is not None (qlora) + if (not is_deepspeed_zero3_enabled() and not is_fsdp_enabled()) or model_args.quantization_bit is not None: init_kwargs["torch_dtype"] = model_args.compute_dtype if init_kwargs["low_cpu_mem_usage"]: # device map requires low_cpu_mem_usage=True diff --git a/src/llamafactory/webui/components/top.py b/src/llamafactory/webui/components/top.py index 09d43ac8..18b9a7d2 100644 --- a/src/llamafactory/webui/components/top.py +++ b/src/llamafactory/webui/components/top.py @@ -49,10 +49,10 @@ def create_top() -> Dict[str, "Component"]: booster = gr.Radio(choices=["none", "flashattn2", "unsloth"], value="none", scale=3) visual_inputs = gr.Checkbox(scale=1) - model_name.change(get_model_info, [model_name], [model_path, template, visual_inputs], queue=False) - model_name.input(save_config, inputs=[lang, model_name], queue=False).then( + model_name.change(get_model_info, [model_name], [model_path, template, visual_inputs], queue=False).then( list_checkpoints, [model_name, finetuning_type], [checkpoint_path], queue=False ) + model_name.input(save_config, inputs=[lang, model_name], queue=False) model_path.input(save_config, inputs=[lang, model_name, model_path], queue=False) finetuning_type.change(can_quantize, [finetuning_type], [quantization_bit], queue=False).then( list_checkpoints, [model_name, finetuning_type], [checkpoint_path], queue=False From cf23a279fd806cc27d804cb66361d66795fc23a2 Mon Sep 17 00:00:00 2001 From: Erich Schubert Date: Fri, 21 Jun 2024 09:14:21 +0200 Subject: [PATCH 094/169] Print help if no arguments given Former-commit-id: 7d70ba7fb86844d0fa307889c6d671939db1cce4 --- src/llamafactory/cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/cli.py b/src/llamafactory/cli.py index c7f136b3..af9dd5f5 100644 --- a/src/llamafactory/cli.py +++ b/src/llamafactory/cli.py @@ -74,7 +74,7 @@ class Command(str, Enum): def main(): - command = sys.argv.pop(1) + command = sys.argv.pop(1) if len(sys.argv) > 0 else Command.HELP if command == Command.API: run_api() elif command == Command.CHAT: From ccc9a895a6d805b899ec56ed51c2204dc3e394a9 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 22 Jun 2024 00:00:38 +0800 Subject: [PATCH 095/169] fix api Former-commit-id: 3ce44dda991e9cf6cbce1fbe22ef1927893b6c4d --- src/llamafactory/api/chat.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/api/chat.py b/src/llamafactory/api/chat.py index 2c7e11e2..72b2ae50 100644 --- a/src/llamafactory/api/chat.py +++ b/src/llamafactory/api/chat.py @@ -93,7 +93,7 @@ def _process_request( if message.role == Role.ASSISTANT and isinstance(message.tool_calls, list) and len(message.tool_calls): tool_calls = [ - {"name": tool_call.function.name, "argument": tool_call.function.arguments} + {"name": tool_call.function.name, "arguments": tool_call.function.arguments} for tool_call in message.tool_calls ] content = json.dumps(tool_calls, ensure_ascii=False) From 98abb5c900a9c221f6549d17b59a6bfdf26bd2d7 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 22 Jun 2024 01:31:32 +0800 Subject: [PATCH 096/169] remove dup template Former-commit-id: db9a1912e3551394039cc57b4913f03e8f9aa29d --- src/llamafactory/data/template.py | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index 393ebfea..b5bf688c 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -511,25 +511,6 @@ _register_template( ) -_register_template( - name="chatglm3_system", - format_user=StringFormatter(slots=[{"token": "<|user|>"}, "\n", "{{content}}", {"token": "<|assistant|>"}]), - format_assistant=StringFormatter(slots=["\n", "{{content}}"]), - format_system=StringFormatter(slots=[{"token": "<|system|>"}, "\n", "{{content}}"]), - format_function=FunctionFormatter(slots=["{{name}}\n{{arguments}}"]), - format_observation=StringFormatter( - slots=[{"token": "<|observation|>"}, "\n", "{{content}}", {"token": "<|assistant|>"}] - ), - format_prefix=EmptyFormatter(slots=[{"token": "[gMASK]"}, {"token": "sop"}]), - default_system=( - "You are ChatGLM3, a large language model trained by Zhipu.AI. " - "Follow the user's instructions carefully. Respond using markdown." - ), - stop_words=["<|user|>", "<|observation|>"], - efficient_eos=True, -) - - _register_template( name="chatml", format_user=StringFormatter(slots=["<|im_start|>user\n{{content}}<|im_end|>\n<|im_start|>assistant\n"]), From c0e005e2eaeb4e372c8e8c2d9074ad9baa824cea Mon Sep 17 00:00:00 2001 From: mMrBun <2015711377@qq.com> Date: Sat, 22 Jun 2024 02:00:13 +0800 Subject: [PATCH 097/169] Add tool_format to overwrite tool formatter template Former-commit-id: 20e2e6fdcb0cd1771906be035745a2d9fcd3e138 --- src/llamafactory/chat/hf_engine.py | 2 +- src/llamafactory/chat/vllm_engine.py | 2 +- src/llamafactory/data/template.py | 5 ++++- src/llamafactory/hparams/data_args.py | 4 ++++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/llamafactory/chat/hf_engine.py b/src/llamafactory/chat/hf_engine.py index 9e60175b..22a24339 100644 --- a/src/llamafactory/chat/hf_engine.py +++ b/src/llamafactory/chat/hf_engine.py @@ -54,7 +54,7 @@ class HuggingfaceEngine(BaseEngine): self.tokenizer = tokenizer_module["tokenizer"] self.processor = tokenizer_module["processor"] self.tokenizer.padding_side = "left" if self.can_generate else "right" - self.template = get_template_and_fix_tokenizer(self.tokenizer, data_args.template) + self.template = get_template_and_fix_tokenizer(self.tokenizer, data_args.template, data_args.tool_format) self.model = load_model( self.tokenizer, model_args, finetuning_args, is_trainable=False, add_valuehead=(not self.can_generate) ) # must after fixing tokenizer to resize vocab diff --git a/src/llamafactory/chat/vllm_engine.py b/src/llamafactory/chat/vllm_engine.py index 2626d612..f0d23676 100644 --- a/src/llamafactory/chat/vllm_engine.py +++ b/src/llamafactory/chat/vllm_engine.py @@ -59,7 +59,7 @@ class VllmEngine(BaseEngine): self.tokenizer = tokenizer_module["tokenizer"] self.processor = tokenizer_module["processor"] self.tokenizer.padding_side = "left" - self.template = get_template_and_fix_tokenizer(self.tokenizer, data_args.template) + self.template = get_template_and_fix_tokenizer(self.tokenizer, data_args.template, data_args.tool_format) self.generating_args = generating_args.to_dict() engine_args = { diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index b5bf688c..3d8ded3b 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -379,6 +379,7 @@ def _get_jinja_template(template: "Template", tokenizer: "PreTrainedTokenizer") def get_template_and_fix_tokenizer( tokenizer: "PreTrainedTokenizer", name: Optional[str] = None, + tool_format: Optional[str] = None, ) -> Template: if name is None: template = TEMPLATES["empty"] # placeholder @@ -386,6 +387,9 @@ def get_template_and_fix_tokenizer( template = TEMPLATES.get(name, None) if template is None: raise ValueError("Template {} does not exist.".format(name)) + + if tool_format: + template.format_tools = ToolFormatter(tool_format=tool_format) stop_words = template.stop_words if template.replace_eos: @@ -660,7 +664,6 @@ _register_template( format_system=StringFormatter(slots=["<|system|>\n{{content}}"]), format_function=FunctionFormatter(slots=["{{name}}\n{{arguments}}"]), format_observation=StringFormatter(slots=["<|observation|>\n{{content}}<|assistant|>"]), - format_tools=ToolFormatter(tool_format="glm4"), format_prefix=EmptyFormatter(slots=["[gMASK]"]), stop_words=["<|user|>", "<|observation|>"], efficient_eos=True, diff --git a/src/llamafactory/hparams/data_args.py b/src/llamafactory/hparams/data_args.py index 39290e21..959742e3 100644 --- a/src/llamafactory/hparams/data_args.py +++ b/src/llamafactory/hparams/data_args.py @@ -29,6 +29,10 @@ class DataArguments: default=None, metadata={"help": "Which template to use for constructing prompts in training and inference."}, ) + tool_format: Optional[str] = field( + default=None, + metadata={"help": "Specifies the tool format template for function calling ."}, + ) dataset: Optional[str] = field( default=None, metadata={"help": "The name of provided dataset(s) to use. Use commas to separate multiple datasets."}, From bb9f48590f8eac0e4cbb830f4ba64f2835aa4fd7 Mon Sep 17 00:00:00 2001 From: codemayq Date: Sat, 22 Jun 2024 11:57:39 +0800 Subject: [PATCH 098/169] update wechat Former-commit-id: 5b897e7c35618330d4f527a66c3da81a48402e9b --- assets/wechat.jpg | Bin 143583 -> 202727 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/wechat.jpg b/assets/wechat.jpg index 5868f16c28c01435e2f9efdb829a2ec25a0b9da9..1078f0d27f22d83655a8ae74de289271a05adc20 100644 GIT binary patch literal 202727 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 z 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≤Tq$mOleSue!{0+GTYUR23be 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 XJjh-wSbnEU4sYq|c%`uJmH58^VfDXR From 7be502c5c5f1ad472424965a4266765f6dbbccd6 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 24 Jun 2024 18:22:12 +0800 Subject: [PATCH 099/169] update readme Former-commit-id: e507e60638b2e8c66f24805b3b28f6b9f98f5924 --- CITATION.cff | 10 ++++-- README.md | 49 +++++++++++++++++++-------- README_zh.md | 49 +++++++++++++++++++-------- src/llamafactory/extras/constants.py | 2 +- src/llamafactory/train/ppo/trainer.py | 16 ++++----- 5 files changed, 85 insertions(+), 41 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 4caf3787..a572b5fa 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -12,12 +12,14 @@ authors: given-names: "Yanhan" - family-names: "Luo" given-names: "Zheyan" +- family-names: "Feng" + given-names: "Zhangchi" - family-names: "Ma" given-names: "Yongqiang" title: "LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models" url: "https://arxiv.org/abs/2403.13372" preferred-citation: - type: article + type: conference-paper authors: - family-names: "Zheng" given-names: "Yaowei" @@ -29,9 +31,13 @@ preferred-citation: given-names: "Yanhan" - family-names: "Luo" given-names: "Zheyan" + - family-names: "Feng" + given-names: "Zhangchi" - family-names: "Ma" given-names: "Yongqiang" - journal: "arXiv preprint arXiv:2403.13372" + booktitle: "Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations)" title: "LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models" url: "https://arxiv.org/abs/2403.13372" year: 2024 + publisher: "Association for Computational Linguistics" + address: "Bangkok, Thailand" diff --git a/README.md b/README.md index 0e8e55f7..9462964c 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![GitHub Code License](https://img.shields.io/github/license/hiyouga/LLaMA-Factory)](LICENSE) [![GitHub last commit](https://img.shields.io/github/last-commit/hiyouga/LLaMA-Factory)](https://github.com/hiyouga/LLaMA-Factory/commits/main) [![PyPI](https://img.shields.io/pypi/v/llamafactory)](https://pypi.org/project/llamafactory/) -[![Citation](https://img.shields.io/badge/citation-44-green)](#projects-using-llama-factory) +[![Citation](https://img.shields.io/badge/citation-63-green)](#projects-using-llama-factory) [![GitHub pull request](https://img.shields.io/badge/PRs-welcome-blue)](https://github.com/hiyouga/LLaMA-Factory/pulls) [![Discord](https://dcbadge.vercel.app/api/server/rKfvV9r9FK?compact=true&style=flat)](https://discord.gg/rKfvV9r9FK) [![Twitter](https://img.shields.io/twitter/follow/llamafactory_ai)](https://twitter.com/llamafactory_ai) @@ -15,7 +15,7 @@ [![GitHub Tread](https://trendshift.io/api/badge/repositories/4535)](https://trendshift.io/repositories/4535) -👋 Join our [WeChat](assets/wechat.jpg). +👋 Join our [WeChat](assets/wechat.jpg) or [NPU user group](assets/wechat_npu.jpg). \[ English | [中文](README_zh.md) \] @@ -360,8 +360,6 @@ To enable FlashAttention-2 on the Windows platform, you need to install the prec
    For Ascend NPU users -Join [NPU user group](assets/wechat_npu.jpg). - To install LLaMA Factory on Ascend NPU devices, please specify extra dependencies: `pip install -e '.[torch-npu,metrics]'`. Additionally, you need to install the **[Ascend CANN Toolkit and Kernels](https://www.hiascend.com/developer/download/community/result?module=cann)**. Please follow the [installation tutorial](https://www.hiascend.com/document/detail/en/CANNCommunityEdition/600alphaX/softwareinstall/instg/atlasdeploy_03_0031.html) or use the following commands: ```bash @@ -503,38 +501,55 @@ If you have a project that should be incorporated, please contact via email or c 1. Wang et al. UbiPhysio: Support Daily Functioning, Fitness, and Rehabilitation with Action Understanding and Feedback in Natural Language. 2023. [[arxiv]](https://arxiv.org/abs/2308.10526) 1. Luceri et al. Leveraging Large Language Models to Detect Influence Campaigns in Social Media. 2023. [[arxiv]](https://arxiv.org/abs/2311.07816) 1. Zhang et al. Alleviating Hallucinations of Large Language Models through Induced Hallucinations. 2023. [[arxiv]](https://arxiv.org/abs/2312.15710) -1. Wang et al. Know Your Needs Better: Towards Structured Understanding of Marketer Demands with Analogical Reasoning Augmented LLMs. 2024. [[arxiv]](https://arxiv.org/abs/2401.04319) -1. Wang et al. CANDLE: Iterative Conceptualization and Instantiation Distillation from Large Language Models for Commonsense Reasoning. 2024. [[arxiv]](https://arxiv.org/abs/2401.07286) +1. Wang et al. Know Your Needs Better: Towards Structured Understanding of Marketer Demands with Analogical Reasoning Augmented LLMs. KDD 2024. [[arxiv]](https://arxiv.org/abs/2401.04319) +1. Wang et al. CANDLE: Iterative Conceptualization and Instantiation Distillation from Large Language Models for Commonsense Reasoning. ACL 2024. [[arxiv]](https://arxiv.org/abs/2401.07286) 1. Choi et al. FACT-GPT: Fact-Checking Augmentation via Claim Matching with LLMs. 2024. [[arxiv]](https://arxiv.org/abs/2402.05904) 1. Zhang et al. AutoMathText: Autonomous Data Selection with Language Models for Mathematical Texts. 2024. [[arxiv]](https://arxiv.org/abs/2402.07625) 1. Lyu et al. KnowTuning: Knowledge-aware Fine-tuning for Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2402.11176) 1. Yang et al. LaCo: Large Language Model Pruning via Layer Collaps. 2024. [[arxiv]](https://arxiv.org/abs/2402.11187) 1. Bhardwaj et al. Language Models are Homer Simpson! Safety Re-Alignment of Fine-tuned Language Models through Task Arithmetic. 2024. [[arxiv]](https://arxiv.org/abs/2402.11746) 1. Yang et al. Enhancing Empathetic Response Generation by Augmenting LLMs with Small-scale Empathetic Models. 2024. [[arxiv]](https://arxiv.org/abs/2402.11801) -1. Yi et al. Generation Meets Verification: Accelerating Large Language Model Inference with Smart Parallel Auto-Correct Decoding. 2024. [[arxiv]](https://arxiv.org/abs/2402.11809) +1. Yi et al. Generation Meets Verification: Accelerating Large Language Model Inference with Smart Parallel Auto-Correct Decoding. ACL 2024 Findings. [[arxiv]](https://arxiv.org/abs/2402.11809) 1. Cao et al. Head-wise Shareable Attention for Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2402.11819) 1. Zhang et al. Enhancing Multilingual Capabilities of Large Language Models through Self-Distillation from Resource-Rich Languages. 2024. [[arxiv]](https://arxiv.org/abs/2402.12204) 1. Kim et al. Efficient and Effective Vocabulary Expansion Towards Multilingual Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2402.14714) -1. Yu et al. KIEval: A Knowledge-grounded Interactive Evaluation Framework for Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2402.15043) +1. Yu et al. KIEval: A Knowledge-grounded Interactive Evaluation Framework for Large Language Models. ACL 2024. [[arxiv]](https://arxiv.org/abs/2402.15043) 1. Huang et al. Key-Point-Driven Data Synthesis with its Enhancement on Mathematical Reasoning. 2024. [[arxiv]](https://arxiv.org/abs/2403.02333) 1. Duan et al. Negating Negatives: Alignment without Human Positive Samples via Distributional Dispreference Optimization. 2024. [[arxiv]](https://arxiv.org/abs/2403.03419) 1. Xie and Schwertfeger. Empowering Robotics with Large Language Models: osmAG Map Comprehension with LLMs. 2024. [[arxiv]](https://arxiv.org/abs/2403.08228) 1. Wu et al. Large Language Models are Parallel Multilingual Learners. 2024. [[arxiv]](https://arxiv.org/abs/2403.09073) 1. Zhang et al. EDT: Improving Large Language Models' Generation by Entropy-based Dynamic Temperature Sampling. 2024. [[arxiv]](https://arxiv.org/abs/2403.14541) 1. Weller et al. FollowIR: Evaluating and Teaching Information Retrieval Models to Follow Instructions. 2024. [[arxiv]](https://arxiv.org/abs/2403.15246) -1. Hongbin Na. CBT-LLM: A Chinese Large Language Model for Cognitive Behavioral Therapy-based Mental Health Question Answering. 2024. [[arxiv]](https://arxiv.org/abs/2403.16008) +1. Hongbin Na. CBT-LLM: A Chinese Large Language Model for Cognitive Behavioral Therapy-based Mental Health Question Answering. COLING 2024. [[arxiv]](https://arxiv.org/abs/2403.16008) 1. Zan et al. CodeS: Natural Language to Code Repository via Multi-Layer Sketch. 2024. [[arxiv]](https://arxiv.org/abs/2403.16443) 1. Liu et al. Extensive Self-Contrast Enables Feedback-Free Language Model Alignment. 2024. [[arxiv]](https://arxiv.org/abs/2404.00604) 1. Luo et al. BAdam: A Memory Efficient Full Parameter Training Method for Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2404.02827) 1. Du et al. Chinese Tiny LLM: Pretraining a Chinese-Centric Large Language Model. 2024. [[arxiv]](https://arxiv.org/abs/2404.04167) -1. Ma et al. Parameter Efficient Quasi-Orthogonal Fine-Tuning via Givens Rotation. 2024. [[arxiv]](https://arxiv.org/abs/2404.04316) +1. Ma et al. Parameter Efficient Quasi-Orthogonal Fine-Tuning via Givens Rotation. ICML 2024. [[arxiv]](https://arxiv.org/abs/2404.04316) 1. Liu et al. Dynamic Generation of Personalities with Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2404.07084) 1. Shang et al. How Far Have We Gone in Stripped Binary Code Understanding Using Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2404.09836) 1. Huang et al. LLMTune: Accelerate Database Knob Tuning with Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2404.11581) 1. Deng et al. Text-Tuple-Table: Towards Information Integration in Text-to-Table Generation via Global Tuple Extraction. 2024. [[arxiv]](https://arxiv.org/abs/2404.14215) 1. Acikgoz et al. Hippocrates: An Open-Source Framework for Advancing Large Language Models in Healthcare. 2024. [[arxiv]](https://arxiv.org/abs/2404.16621) -1. Zhang et al. Small Language Models Need Strong Verifiers to Self-Correct Reasoning. 2024. [[arxiv]](https://arxiv.org/abs/2404.17140) -1. Zhou et al. FREB-TQA: A Fine-Grained Robustness Evaluation Benchmark for Table Question Answering. 2024. [[arxiv]](https://arxiv.org/abs/2404.18585) +1. Zhang et al. Small Language Models Need Strong Verifiers to Self-Correct Reasoning. ACL 2024 Findings. [[arxiv]](https://arxiv.org/abs/2404.17140) +1. Zhou et al. FREB-TQA: A Fine-Grained Robustness Evaluation Benchmark for Table Question Answering. NAACL 2024. [[arxiv]](https://arxiv.org/abs/2404.18585) +1. Xu et al. Large Language Models for Cyber Security: A Systematic Literature Review. 2024. [[arxiv]](https://arxiv.org/abs/2405.04760) +1. Dammu et al. "They are uncultured": Unveiling Covert Harms and Social Threats in LLM Generated Conversations. 2024. [[arxiv]](https://arxiv.org/abs/2405.05378) +1. Yi et al. A safety realignment framework via subspace-oriented model fusion for large language models. 2024. [[arxiv]](https://arxiv.org/abs/2405.09055) +1. Lou et al. SPO: Multi-Dimensional Preference Sequential Alignment With Implicit Reward Modeling. 2024. [[arxiv]](https://arxiv.org/abs/2405.12739) +1. Zhang et al. Getting More from Less: Large Language Models are Good Spontaneous Multilingual Learners. 2024. [[arxiv]](https://arxiv.org/abs/2405.13816) +1. Zhang et al. TS-Align: A Teacher-Student Collaborative Framework for Scalable Iterative Finetuning of Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2405.20215) +1. Zihong Chen. Sentence Segmentation and Sentence Punctuation Based on XunziALLM. 2024. [[paper]](https://aclanthology.org/2024.lt4hala-1.30) +1. Gao et al. The Best of Both Worlds: Toward an Honest and Helpful Large Language Model. 2024. [[arxiv]](https://arxiv.org/abs/2406.00380) +1. Wang and Song. MARS: Benchmarking the Metaphysical Reasoning Abilities of Language Models with a Multi-task Evaluation Dataset. 2024. [[arxiv]](https://arxiv.org/abs/2406.02106) +1. Hu et al. Computational Limits of Low-Rank Adaptation (LoRA) for Transformer-Based Models. 2024. [[arxiv]](https://arxiv.org/abs/2406.03136) +1. Ge et al. Time Sensitive Knowledge Editing through Efficient Finetuning. ACL 2024. [[arxiv]](https://arxiv.org/abs/2406.04496) +1. Tan et al. Peer Review as A Multi-Turn and Long-Context Dialogue with Role-Based Interactions. 2024. [[arxiv]](https://arxiv.org/abs/2406.05688) +1. Song et al. Turbo Sparse: Achieving LLM SOTA Performance with Minimal Activated Parameters. 2024. [[arxiv]](https://arxiv.org/abs/2406.05955) +1. Gu et al. RWKV-CLIP: A Robust Vision-Language Representation Learner. 2024. [[arxiv]](https://arxiv.org/abs/2406.06973) +1. Chen et al. Advancing Tool-Augmented Large Language Models: Integrating Insights from Errors in Inference Trees. 2024. [[arxiv]](https://arxiv.org/abs/2406.07115) +1. Zhu et al. Are Large Language Models Good Statisticians?. 2024. [[arxiv]](https://arxiv.org/abs/2406.07815) +1. Li et al. Know the Unknown: An Uncertainty-Sensitive Method for LLM Instruction Tuning. 2024. [[arxiv]](https://arxiv.org/abs/2406.10099) 1. **[StarWhisper](https://github.com/Yu-Yang-Li/StarWhisper)**: A large language model for Astronomy, based on ChatGLM2-6B and Qwen-14B. 1. **[DISC-LawLLM](https://github.com/FudanDISC/DISC-LawLLM)**: A large language model specialized in Chinese legal domain, based on Baichuan-13B, is capable of retrieving and reasoning on legal knowledge. 1. **[Sunsimiao](https://github.com/X-D-Lab/Sunsimiao)**: A large language model specialized in Chinese medical domain, based on Baichuan-7B and ChatGLM-6B. @@ -542,6 +557,8 @@ If you have a project that should be incorporated, please contact via email or c 1. **[MachineMindset](https://github.com/PKU-YuanGroup/Machine-Mindset/)**: A series of MBTI Personality large language models, capable of giving any LLM 16 different personality types based on different datasets and training methods. 1. **[Luminia-13B-v3](https://huggingface.co/Nekochu/Luminia-13B-v3)**: A large language model specialized in generate metadata for stable diffusion. [[🤗Demo]](https://huggingface.co/spaces/Nekochu/Luminia-13B_SD_Prompt) 1. **[Chinese-LLaVA-Med](https://github.com/BUAADreamer/Chinese-LLaVA-Med)**: A multimodal large language model specialized in Chinese medical domain, based on LLaVA-1.5-7B. +1. **[AutoRE](https://github.com/THUDM/AutoRE)**: A document-level relation extraction system based on large language models. +1. **[NVIDIA RTX AI Toolkit](https://github.com/NVIDIA/RTX-AI-Toolkit)**: SDKs for fine-tuning LLMs on Windows PC for NVIDIA RTX.
    @@ -556,10 +573,12 @@ Please follow the model licenses to use the corresponding model weights: [Baichu If this work is helpful, please kindly cite as: ```bibtex -@article{zheng2024llamafactory, +@inproceedings{zheng2024llamafactory, title={LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models}, - author={Yaowei Zheng and Richong Zhang and Junhao Zhang and Yanhan Ye and Zheyan Luo and Yongqiang Ma}, - journal={arXiv preprint arXiv:2403.13372}, + author={Yaowei Zheng and Richong Zhang and Junhao Zhang and Yanhan Ye and Zheyan Luo and Zhangchi Feng and Yongqiang Ma}, + booktitle={Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations)}, + address={Bangkok, Thailand}, + publisher={Association for Computational Linguistics}, year={2024}, url={http://arxiv.org/abs/2403.13372} } diff --git a/README_zh.md b/README_zh.md index 152cd6fa..2073ce17 100644 --- a/README_zh.md +++ b/README_zh.md @@ -15,7 +15,7 @@ [![GitHub Tread](https://trendshift.io/api/badge/repositories/4535)](https://trendshift.io/repositories/4535) -👋 加入我们的[微信群](assets/wechat.jpg)。 +👋 加入我们的[微信群](assets/wechat.jpg)或 [NPU 用户群](assets/wechat_npu.jpg)。 \[ [English](README.md) | 中文 \] @@ -360,8 +360,6 @@ pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/downl
    昇腾 NPU 用户指南 -加入 [NPU 用户群](assets/wechat_npu.jpg)。 - 在昇腾 NPU 设备上安装 LLaMA Factory 时,需要指定额外依赖项,使用 `pip install -e '.[torch-npu,metrics]'` 命令安装。此外,还需要安装 **[Ascend CANN Toolkit and Kernels](https://www.hiascend.com/developer/download/community/result?module=cann)**,安装方法请参考[安装教程](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC2alpha002/quickstart/quickstart/quickstart_18_0004.html)或使用以下命令: ```bash @@ -503,38 +501,55 @@ run_name: test_run # 可选 1. Wang et al. UbiPhysio: Support Daily Functioning, Fitness, and Rehabilitation with Action Understanding and Feedback in Natural Language. 2023. [[arxiv]](https://arxiv.org/abs/2308.10526) 1. Luceri et al. Leveraging Large Language Models to Detect Influence Campaigns in Social Media. 2023. [[arxiv]](https://arxiv.org/abs/2311.07816) 1. Zhang et al. Alleviating Hallucinations of Large Language Models through Induced Hallucinations. 2023. [[arxiv]](https://arxiv.org/abs/2312.15710) -1. Wang et al. Know Your Needs Better: Towards Structured Understanding of Marketer Demands with Analogical Reasoning Augmented LLMs. 2024. [[arxiv]](https://arxiv.org/abs/2401.04319) -1. Wang et al. CANDLE: Iterative Conceptualization and Instantiation Distillation from Large Language Models for Commonsense Reasoning. 2024. [[arxiv]](https://arxiv.org/abs/2401.07286) +1. Wang et al. Know Your Needs Better: Towards Structured Understanding of Marketer Demands with Analogical Reasoning Augmented LLMs. KDD 2024. [[arxiv]](https://arxiv.org/abs/2401.04319) +1. Wang et al. CANDLE: Iterative Conceptualization and Instantiation Distillation from Large Language Models for Commonsense Reasoning. ACL 2024. [[arxiv]](https://arxiv.org/abs/2401.07286) 1. Choi et al. FACT-GPT: Fact-Checking Augmentation via Claim Matching with LLMs. 2024. [[arxiv]](https://arxiv.org/abs/2402.05904) 1. Zhang et al. AutoMathText: Autonomous Data Selection with Language Models for Mathematical Texts. 2024. [[arxiv]](https://arxiv.org/abs/2402.07625) 1. Lyu et al. KnowTuning: Knowledge-aware Fine-tuning for Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2402.11176) 1. Yang et al. LaCo: Large Language Model Pruning via Layer Collaps. 2024. [[arxiv]](https://arxiv.org/abs/2402.11187) 1. Bhardwaj et al. Language Models are Homer Simpson! Safety Re-Alignment of Fine-tuned Language Models through Task Arithmetic. 2024. [[arxiv]](https://arxiv.org/abs/2402.11746) 1. Yang et al. Enhancing Empathetic Response Generation by Augmenting LLMs with Small-scale Empathetic Models. 2024. [[arxiv]](https://arxiv.org/abs/2402.11801) -1. Yi et al. Generation Meets Verification: Accelerating Large Language Model Inference with Smart Parallel Auto-Correct Decoding. 2024. [[arxiv]](https://arxiv.org/abs/2402.11809) +1. Yi et al. Generation Meets Verification: Accelerating Large Language Model Inference with Smart Parallel Auto-Correct Decoding. ACL 2024 Findings. [[arxiv]](https://arxiv.org/abs/2402.11809) 1. Cao et al. Head-wise Shareable Attention for Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2402.11819) 1. Zhang et al. Enhancing Multilingual Capabilities of Large Language Models through Self-Distillation from Resource-Rich Languages. 2024. [[arxiv]](https://arxiv.org/abs/2402.12204) 1. Kim et al. Efficient and Effective Vocabulary Expansion Towards Multilingual Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2402.14714) -1. Yu et al. KIEval: A Knowledge-grounded Interactive Evaluation Framework for Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2402.15043) +1. Yu et al. KIEval: A Knowledge-grounded Interactive Evaluation Framework for Large Language Models. ACL 2024. [[arxiv]](https://arxiv.org/abs/2402.15043) 1. Huang et al. Key-Point-Driven Data Synthesis with its Enhancement on Mathematical Reasoning. 2024. [[arxiv]](https://arxiv.org/abs/2403.02333) 1. Duan et al. Negating Negatives: Alignment without Human Positive Samples via Distributional Dispreference Optimization. 2024. [[arxiv]](https://arxiv.org/abs/2403.03419) 1. Xie and Schwertfeger. Empowering Robotics with Large Language Models: osmAG Map Comprehension with LLMs. 2024. [[arxiv]](https://arxiv.org/abs/2403.08228) 1. Wu et al. Large Language Models are Parallel Multilingual Learners. 2024. [[arxiv]](https://arxiv.org/abs/2403.09073) 1. Zhang et al. EDT: Improving Large Language Models' Generation by Entropy-based Dynamic Temperature Sampling. 2024. [[arxiv]](https://arxiv.org/abs/2403.14541) 1. Weller et al. FollowIR: Evaluating and Teaching Information Retrieval Models to Follow Instructions. 2024. [[arxiv]](https://arxiv.org/abs/2403.15246) -1. Hongbin Na. CBT-LLM: A Chinese Large Language Model for Cognitive Behavioral Therapy-based Mental Health Question Answering. 2024. [[arxiv]](https://arxiv.org/abs/2403.16008) +1. Hongbin Na. CBT-LLM: A Chinese Large Language Model for Cognitive Behavioral Therapy-based Mental Health Question Answering. COLING 2024. [[arxiv]](https://arxiv.org/abs/2403.16008) 1. Zan et al. CodeS: Natural Language to Code Repository via Multi-Layer Sketch. 2024. [[arxiv]](https://arxiv.org/abs/2403.16443) 1. Liu et al. Extensive Self-Contrast Enables Feedback-Free Language Model Alignment. 2024. [[arxiv]](https://arxiv.org/abs/2404.00604) 1. Luo et al. BAdam: A Memory Efficient Full Parameter Training Method for Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2404.02827) 1. Du et al. Chinese Tiny LLM: Pretraining a Chinese-Centric Large Language Model. 2024. [[arxiv]](https://arxiv.org/abs/2404.04167) -1. Ma et al. Parameter Efficient Quasi-Orthogonal Fine-Tuning via Givens Rotation. 2024. [[arxiv]](https://arxiv.org/abs/2404.04316) +1. Ma et al. Parameter Efficient Quasi-Orthogonal Fine-Tuning via Givens Rotation. ICML 2024. [[arxiv]](https://arxiv.org/abs/2404.04316) 1. Liu et al. Dynamic Generation of Personalities with Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2404.07084) 1. Shang et al. How Far Have We Gone in Stripped Binary Code Understanding Using Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2404.09836) 1. Huang et al. LLMTune: Accelerate Database Knob Tuning with Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2404.11581) 1. Deng et al. Text-Tuple-Table: Towards Information Integration in Text-to-Table Generation via Global Tuple Extraction. 2024. [[arxiv]](https://arxiv.org/abs/2404.14215) 1. Acikgoz et al. Hippocrates: An Open-Source Framework for Advancing Large Language Models in Healthcare. 2024. [[arxiv]](https://arxiv.org/abs/2404.16621) -1. Zhang et al. Small Language Models Need Strong Verifiers to Self-Correct Reasoning. 2024. [[arxiv]](https://arxiv.org/abs/2404.17140) -1. Zhou et al. FREB-TQA: A Fine-Grained Robustness Evaluation Benchmark for Table Question Answering. 2024. [[arxiv]](https://arxiv.org/abs/2404.18585) +1. Zhang et al. Small Language Models Need Strong Verifiers to Self-Correct Reasoning. ACL 2024 Findings. [[arxiv]](https://arxiv.org/abs/2404.17140) +1. Zhou et al. FREB-TQA: A Fine-Grained Robustness Evaluation Benchmark for Table Question Answering. NAACL 2024. [[arxiv]](https://arxiv.org/abs/2404.18585) +1. Xu et al. Large Language Models for Cyber Security: A Systematic Literature Review. 2024. [[arxiv]](https://arxiv.org/abs/2405.04760) +1. Dammu et al. "They are uncultured": Unveiling Covert Harms and Social Threats in LLM Generated Conversations. 2024. [[arxiv]](https://arxiv.org/abs/2405.05378) +1. Yi et al. A safety realignment framework via subspace-oriented model fusion for large language models. 2024. [[arxiv]](https://arxiv.org/abs/2405.09055) +1. Lou et al. SPO: Multi-Dimensional Preference Sequential Alignment With Implicit Reward Modeling. 2024. [[arxiv]](https://arxiv.org/abs/2405.12739) +1. Zhang et al. Getting More from Less: Large Language Models are Good Spontaneous Multilingual Learners. 2024. [[arxiv]](https://arxiv.org/abs/2405.13816) +1. Zhang et al. TS-Align: A Teacher-Student Collaborative Framework for Scalable Iterative Finetuning of Large Language Models. 2024. [[arxiv]](https://arxiv.org/abs/2405.20215) +1. Zihong Chen. Sentence Segmentation and Sentence Punctuation Based on XunziALLM. 2024. [[paper]](https://aclanthology.org/2024.lt4hala-1.30) +1. Gao et al. The Best of Both Worlds: Toward an Honest and Helpful Large Language Model. 2024. [[arxiv]](https://arxiv.org/abs/2406.00380) +1. Wang and Song. MARS: Benchmarking the Metaphysical Reasoning Abilities of Language Models with a Multi-task Evaluation Dataset. 2024. [[arxiv]](https://arxiv.org/abs/2406.02106) +1. Hu et al. Computational Limits of Low-Rank Adaptation (LoRA) for Transformer-Based Models. 2024. [[arxiv]](https://arxiv.org/abs/2406.03136) +1. Ge et al. Time Sensitive Knowledge Editing through Efficient Finetuning. ACL 2024. [[arxiv]](https://arxiv.org/abs/2406.04496) +1. Tan et al. Peer Review as A Multi-Turn and Long-Context Dialogue with Role-Based Interactions. 2024. [[arxiv]](https://arxiv.org/abs/2406.05688) +1. Song et al. Turbo Sparse: Achieving LLM SOTA Performance with Minimal Activated Parameters. 2024. [[arxiv]](https://arxiv.org/abs/2406.05955) +1. Gu et al. RWKV-CLIP: A Robust Vision-Language Representation Learner. 2024. [[arxiv]](https://arxiv.org/abs/2406.06973) +1. Chen et al. Advancing Tool-Augmented Large Language Models: Integrating Insights from Errors in Inference Trees. 2024. [[arxiv]](https://arxiv.org/abs/2406.07115) +1. Zhu et al. Are Large Language Models Good Statisticians?. 2024. [[arxiv]](https://arxiv.org/abs/2406.07815) +1. Li et al. Know the Unknown: An Uncertainty-Sensitive Method for LLM Instruction Tuning. 2024. [[arxiv]](https://arxiv.org/abs/2406.10099) 1. **[StarWhisper](https://github.com/Yu-Yang-Li/StarWhisper)**: 天文大模型 StarWhisper,基于 ChatGLM2-6B 和 Qwen-14B 在天文数据上微调而得。 1. **[DISC-LawLLM](https://github.com/FudanDISC/DISC-LawLLM)**: 中文法律领域大模型 DISC-LawLLM,基于 Baichuan-13B 微调而得,具有法律推理和知识检索能力。 1. **[Sunsimiao](https://github.com/X-D-Lab/Sunsimiao)**: 孙思邈中文医疗大模型 Sumsimiao,基于 Baichuan-7B 和 ChatGLM-6B 在中文医疗数据上微调而得。 @@ -542,6 +557,8 @@ run_name: test_run # 可选 1. **[MachineMindset](https://github.com/PKU-YuanGroup/Machine-Mindset/)**:MBTI性格大模型项目,根据数据集与训练方式让任意 LLM 拥有 16 个不同的性格类型。 1. **[Luminia-13B-v3](https://huggingface.co/Nekochu/Luminia-13B-v3)**:一个用于生成 Stable Diffusion 提示词的大型语言模型。[[🤗Demo]](https://huggingface.co/spaces/Nekochu/Luminia-13B_SD_Prompt) 1. **[Chinese-LLaVA-Med](https://github.com/BUAADreamer/Chinese-LLaVA-Med)**:中文多模态医学大模型,基于 LLaVA-1.5-7B 在中文多模态医疗数据上微调而得。 +1. **[AutoRE](https://github.com/THUDM/AutoRE)**:基于大语言模型的文档级关系抽取系统。 +1. **[NVIDIA RTX AI Toolkit](https://github.com/NVIDIA/RTX-AI-Toolkit)**: 在 Windows 主机上利用英伟达 RTX 设备进行大型语言模型微调的开发包。
    @@ -556,10 +573,12 @@ run_name: test_run # 可选 如果您觉得此项目有帮助,请考虑以下列格式引用 ```bibtex -@article{zheng2024llamafactory, - title={LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models}, - author={Yaowei Zheng and Richong Zhang and Junhao Zhang and Yanhan Ye and Zheyan Luo and Yongqiang Ma}, - journal={arXiv preprint arXiv:2403.13372}, +@inproceedings{zheng2024llamafactory, + title={LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models}, + author={Yaowei Zheng and Richong Zhang and Junhao Zhang and Yanhan Ye and Zheyan Luo and Zhangchi Feng and Yongqiang Ma}, + booktitle={Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations)}, + address={Bangkok, Thailand}, + publisher={Association for Computational Linguistics}, year={2024}, url={http://arxiv.org/abs/2403.13372} } diff --git a/src/llamafactory/extras/constants.py b/src/llamafactory/extras/constants.py index 36265c8e..866f39d4 100644 --- a/src/llamafactory/extras/constants.py +++ b/src/llamafactory/extras/constants.py @@ -579,7 +579,7 @@ register_model_group( register_model_group( models={ - "Jambda-v0.1": { + "Jamba-v0.1": { DownloadSource.DEFAULT: "ai21labs/Jamba-v0.1", DownloadSource.MODELSCOPE: "AI-ModelScope/Jamba-v0.1", } diff --git a/src/llamafactory/train/ppo/trainer.py b/src/llamafactory/train/ppo/trainer.py index df4a37be..38f4c6c8 100644 --- a/src/llamafactory/train/ppo/trainer.py +++ b/src/llamafactory/train/ppo/trainer.py @@ -202,18 +202,18 @@ class CustomPPOTrainer(PPOTrainer, Trainer): if self.is_world_process_zero(): logger.info("***** Running training *****") - logger.info(" Num examples = {}".format(num_examples)) - logger.info(" Num Epochs = {}".format(num_train_epochs)) - logger.info(" Instantaneous batch size per device = {}".format(self.args.per_device_train_batch_size)) + logger.info(" Num examples = {:,}".format(num_examples)) + logger.info(" Num Epochs = {:,}".format(num_train_epochs)) + logger.info(" Instantaneous batch size per device = {:,}".format(self.args.per_device_train_batch_size)) logger.info( - " Total train batch size (w. parallel, buffer, distributed & accumulation) = {}".format( + " Total train batch size (w. parallel, buffer, distributed & accumulation) = {:,}".format( total_train_batch_size ) ) - logger.info(" Gradient Accumulation steps = {}".format(self.args.gradient_accumulation_steps)) - logger.info(" Num optimization epochs per batch = {}".format(self.finetuning_args.ppo_epochs)) - logger.info(" Total training steps = {}".format(max_steps)) - logger.info(" Number of trainable parameters = {}".format(count_parameters(self.model)[0])) + logger.info(" Gradient Accumulation steps = {:,}".format(self.args.gradient_accumulation_steps)) + logger.info(" Num optimization epochs per batch = {:,}".format(self.finetuning_args.ppo_epochs)) + logger.info(" Total training steps = {:,}".format(max_steps)) + logger.info(" Number of trainable parameters = {:,}".format(count_parameters(self.model)[0])) dataiter = iter(self.dataloader) loss_meter = AverageMeter() From a1df18c5df6a0ca10bd43ba5305747bc4680c726 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 24 Jun 2024 18:29:04 +0800 Subject: [PATCH 100/169] update readme Former-commit-id: 4ea84a833399ca434f23bdc100c0851d5b53e05b --- CITATION.cff | 3 ++- README_zh.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index a572b5fa..01b4c9fd 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -20,6 +20,8 @@ title: "LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models" url: "https://arxiv.org/abs/2403.13372" preferred-citation: type: conference-paper + conference: + name: "Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations)" authors: - family-names: "Zheng" given-names: "Yaowei" @@ -35,7 +37,6 @@ preferred-citation: given-names: "Zhangchi" - family-names: "Ma" given-names: "Yongqiang" - booktitle: "Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations)" title: "LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models" url: "https://arxiv.org/abs/2403.13372" year: 2024 diff --git a/README_zh.md b/README_zh.md index 2073ce17..8b77e91e 100644 --- a/README_zh.md +++ b/README_zh.md @@ -4,7 +4,7 @@ [![GitHub Code License](https://img.shields.io/github/license/hiyouga/LLaMA-Factory)](LICENSE) [![GitHub last commit](https://img.shields.io/github/last-commit/hiyouga/LLaMA-Factory)](https://github.com/hiyouga/LLaMA-Factory/commits/main) [![PyPI](https://img.shields.io/pypi/v/llamafactory)](https://pypi.org/project/llamafactory/) -[![Citation](https://img.shields.io/badge/citation-44-green)](#使用了-llama-factory-的项目) +[![Citation](https://img.shields.io/badge/citation-63-green)](#使用了-llama-factory-的项目) [![GitHub pull request](https://img.shields.io/badge/PRs-welcome-blue)](https://github.com/hiyouga/LLaMA-Factory/pulls) [![Discord](https://dcbadge.vercel.app/api/server/rKfvV9r9FK?compact=true&style=flat)](https://discord.gg/rKfvV9r9FK) [![Twitter](https://img.shields.io/twitter/follow/llamafactory_ai)](https://twitter.com/llamafactory_ai) From 3b499948a5a4599669d1ad149a7cb7ee38ff6463 Mon Sep 17 00:00:00 2001 From: MengqingCao Date: Mon, 24 Jun 2024 10:57:36 +0000 Subject: [PATCH 101/169] update docker files 1. add docker-npu (Dockerfile and docker-compose.yml) 2. move cuda docker to docker-cuda and tiny changes to adapt to the new path Former-commit-id: d7207e8ad10c7df6dcb1f5e59ff8eb06f9d77e67 --- README.md | 61 +++++++++++++++++-- README_zh.md | 58 ++++++++++++++++-- Dockerfile => docker/docker-cuda/Dockerfile | 10 +-- .../docker-cuda/docker-compose.yml | 6 +- docker/docker-npu/Dockerfile | 40 ++++++++++++ docker/docker-npu/docker-compose.yml | 31 ++++++++++ 6 files changed, 187 insertions(+), 19 deletions(-) rename Dockerfile => docker/docker-cuda/Dockerfile (87%) rename docker-compose.yml => docker/docker-cuda/docker-compose.yml (80%) create mode 100644 docker/docker-npu/Dockerfile create mode 100644 docker/docker-npu/docker-compose.yml diff --git a/README.md b/README.md index 9462964c..1107ae0b 100644 --- a/README.md +++ b/README.md @@ -383,10 +383,11 @@ source /usr/local/Ascend/ascend-toolkit/set_env.sh | torch-npu | 2.1.0 | 2.1.0.post3 | | deepspeed | 0.13.2 | 0.13.2 | -Docker image: +Docker users please refer to [Build Docker](#Build-Docker). -- 32GB: [Download page](http://mirrors.cn-central-221.ovaijisuan.com/detail/130.html) -- 64GB: [Download page](http://mirrors.cn-central-221.ovaijisuan.com/detail/131.html) +**NOTE** + +The default docker image is [cosdt/cann:8.0.rc1-910b-ubuntu22.04](https://hub.docker.com/layers/cosdt/cann/8.0.rc1-910b-ubuntu22.04/images/sha256-29ef8aacf6b2babd292f06f00b9190c212e7c79a947411e213135e4d41a178a9?context=explore). More options can be found at [cosdt/cann](https://hub.docker.com/r/cosdt/cann/tags). Remember to use `ASCEND_RT_VISIBLE_DEVICES` instead of `CUDA_VISIBLE_DEVICES` to specify the device to use. @@ -426,7 +427,10 @@ llamafactory-cli webui #### Use Docker +
    For NVIDIA GPU users: + ```bash +cd ./docker/docker-cuda docker build -f ./Dockerfile \ --build-arg INSTALL_BNB=false \ --build-arg INSTALL_VLLM=false \ @@ -435,18 +439,63 @@ docker build -f ./Dockerfile \ -t llamafactory:latest . docker run -it --gpus=all \ - -v ./hf_cache:/root/.cache/huggingface/ \ - -v ./data:/app/data \ - -v ./output:/app/output \ + -v /$(dirname $(dirname "$PWD"))/hf_cache:/root/.cache/huggingface/ \ + -v /$(dirname $(dirname "$PWD"))/data:/app/data \ + -v /$(dirname $(dirname "$PWD"))/output:/app/output \ -p 7860:7860 \ -p 8000:8000 \ --shm-size 16G \ --name llamafactory \ llamafactory:latest ``` +
    + +
    For Ascend NPU users: + +```bash +cd ./docker/docker-npu +docker build -f ./Dockerfile \ + --build-arg INSTALL_DEEPSPEED=false \ + --build-arg PIP_INDEX=https://pypi.org/simple \ + -t llamafactory:latest . + +# add --device for multi-npu usage +# or modify --device to change npu card +docker run -it \ + -v /$(dirname $(dirname "$PWD"))/hf_cache:/root/.cache/huggingface/ \ + -v /$(dirname $(dirname "$PWD"))/data:/app/data \ + -v /$(dirname $(dirname "$PWD"))/output:/app/output \ + -v /usr/local/dcmi:/usr/local/dcmi \ + -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ + -v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64 \ + -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \ + -v /etc/ascend_install.info:/etc/ascend_install.info \ + -p 7860:7860 \ + -p 8000:8000 \ + --device /dev/davinci0 \ + --device /dev/davinci_manager \ + --device /dev/devmm_svm \ + --device /dev/hisi_hdc \ + --shm-size 16G \ + --name llamafactory \ + llamafactory:latest +``` +
    #### Use Docker Compose +Firstly enter your docker path: + +```bash +# for NVIDIA GPU users +cd ./docker/docker-cuda + +# for Ascend NPU users +cd ./docker/docker-npu +``` + +Then run the following command to build docker image and start the container: + ```bash docker-compose up -d docker-compose exec llamafactory bash diff --git a/README_zh.md b/README_zh.md index 8b77e91e..6326c0b5 100644 --- a/README_zh.md +++ b/README_zh.md @@ -383,10 +383,11 @@ source /usr/local/Ascend/ascend-toolkit/set_env.sh | torch-npu | 2.1.0 | 2.1.0.post3 | | deepspeed | 0.13.2 | 0.13.2 | -Docker 镜像: +Docker用户请参考 [构建 Docker](#构建-Docker). -- 32GB:[下载地址](http://mirrors.cn-central-221.ovaijisuan.com/detail/130.html) -- 64GB:[下载地址](http://mirrors.cn-central-221.ovaijisuan.com/detail/131.html) +**NOTE** + +默认镜像为 [cosdt/cann:8.0.rc1-910b-ubuntu22.04](https://hub.docker.com/layers/cosdt/cann/8.0.rc1-910b-ubuntu22.04/images/sha256-29ef8aacf6b2babd292f06f00b9190c212e7c79a947411e213135e4d41a178a9?context=explore). 更多选择见 [cosdt/cann](https://hub.docker.com/r/cosdt/cann/tags). 请使用 `ASCEND_RT_VISIBLE_DEVICES` 而非 `CUDA_VISIBLE_DEVICES` 来指定运算设备。 @@ -426,7 +427,10 @@ llamafactory-cli webui #### 使用 Docker +
    NVIDIA GPU 用户: + ```bash +cd ./docker/docker-cuda docker build -f ./Dockerfile \ --build-arg INSTALL_BNB=false \ --build-arg INSTALL_VLLM=false \ @@ -435,18 +439,60 @@ docker build -f ./Dockerfile \ -t llamafactory:latest . docker run -it --gpus=all \ - -v ./hf_cache:/root/.cache/huggingface/ \ - -v ./data:/app/data \ - -v ./output:/app/output \ + -v /$(dirname $(dirname "$PWD"))/hf_cache:/root/.cache/huggingface/ \ + -v /$(dirname $(dirname "$PWD"))/data:/app/data \ + -v /$(dirname $(dirname "$PWD"))/output:/app/output \ -p 7860:7860 \ -p 8000:8000 \ --shm-size 16G \ --name llamafactory \ llamafactory:latest ``` +
    + +
    Ascend NPU 用户: + +```bash +cd ./docker/docker-npu +docker build -f ./Dockerfile \ + --build-arg INSTALL_DEEPSPEED=false \ + --build-arg PIP_INDEX=https://pypi.org/simple \ + -t llamafactory:latest . + +# 增加 --device 来使用多卡 NPU 或修改第一个 --device 来更改 NPU 卡 +docker run -it \ + -v /$(dirname $(dirname "$PWD"))/hf_cache:/root/.cache/huggingface/ \ + -v /$(dirname $(dirname "$PWD"))/data:/app/data \ + -v /$(dirname $(dirname "$PWD"))/output:/app/output \ + -v /usr/local/dcmi:/usr/local/dcmi \ + -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ + -v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64 \ + -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \ + -v /etc/ascend_install.info:/etc/ascend_install.info \ + -p 7860:7860 \ + -p 8000:8000 \ + --device /dev/davinci0 \ + --device /dev/davinci_manager \ + --device /dev/devmm_svm \ + --device /dev/hisi_hdc \ + --shm-size 16G \ + --name llamafactory \ + llamafactory:latest +``` +
    #### 使用 Docker Compose +首先进入 docker 目录: +```bash +# NVIDIA GPU 用户 +cd ./docker/docker-cuda + +# Ascend NPU 用户 +cd ./docker/docker-npu +``` +然后运行以下命令创建 docker 镜像并启动容器: + ```bash docker-compose up -d docker-compose exec llamafactory bash diff --git a/Dockerfile b/docker/docker-cuda/Dockerfile similarity index 87% rename from Dockerfile rename to docker/docker-cuda/Dockerfile index 61d58005..72797a26 100644 --- a/Dockerfile +++ b/docker/docker-cuda/Dockerfile @@ -9,16 +9,18 @@ ARG INSTALL_DEEPSPEED=false ARG PIP_INDEX=https://pypi.org/simple # Set the working directory -WORKDIR /app +WORKDIR /app/LLaMA-Factory + +RUN cd /app && \ + git config --global http.version HTTP/1.1 && \ + git clone https://github.com/hiyouga/LLaMA-Factory.git && \ + cd /app/LLaMA-Factory # Install the requirements -COPY requirements.txt /app/ RUN pip config set global.index-url $PIP_INDEX RUN python -m pip install --upgrade pip RUN python -m pip install -r requirements.txt -# Copy the rest of the application into the image -COPY . /app/ # Install the LLaMA Factory RUN EXTRA_PACKAGES="metrics"; \ diff --git a/docker-compose.yml b/docker/docker-cuda/docker-compose.yml similarity index 80% rename from docker-compose.yml rename to docker/docker-cuda/docker-compose.yml index c5dc34e9..a470aa60 100644 --- a/docker-compose.yml +++ b/docker/docker-cuda/docker-compose.yml @@ -10,9 +10,9 @@ services: PIP_INDEX: https://pypi.org/simple container_name: llamafactory volumes: - - ./hf_cache:/root/.cache/huggingface/ - - ./data:/app/data - - ./output:/app/output + - ../../hf_cache:/root/.cache/huggingface/ + - ../../data:/app/LLaMA-Factory/data + - ../../output:/app/LLaMA-Factory/output ports: - "7860:7860" - "8000:8000" diff --git a/docker/docker-npu/Dockerfile b/docker/docker-npu/Dockerfile new file mode 100644 index 00000000..9456bcbf --- /dev/null +++ b/docker/docker-npu/Dockerfile @@ -0,0 +1,40 @@ +# Using ubuntu 22.04 images with cann 8.0.rc1 +# More options can be found at https://hub.docker.com/r/cosdt/cann/tags +FROM cosdt/cann:8.0.rc1-910b-ubuntu22.04 + +ENV DEBIAN_FRONTEND=noninteractive + +# Define installation arguments +ARG INSTALL_DEEPSPEED=false +ARG PIP_INDEX=https://pypi.org/simple + +# Set the working directory +WORKDIR /app/LLaMA-Factory + +RUN cd /app && \ + git config --global http.version HTTP/1.1 && \ + git clone https://github.com/hiyouga/LLaMA-Factory.git && \ + cd /app/LLaMA-Factory + +RUN pip config set global.index-url $PIP_INDEX +RUN python3 -m pip install --upgrade pip + +# Install the LLaMA Factory +RUN EXTRA_PACKAGES="torch-npu,metrics"; \ + if [ "$INSTALL_DEEPSPEED" = "true" ]; then \ + EXTRA_PACKAGES="${EXTRA_PACKAGES},deepspeed"; \ + fi; \ + pip install -e .[$EXTRA_PACKAGES] && \ + pip uninstall -y transformer-engine flash-attn + +# Set up volumes +VOLUME [ "/root/.cache/huggingface/", "/app/data", "/app/output" ] + +# Expose port 7860 for the LLaMA Board +EXPOSE 7860 + +# Expose port 8000 for the API service +EXPOSE 8000 + +# Launch LLaMA Board +CMD [ "llamafactory-cli", "webui" ] diff --git a/docker/docker-npu/docker-compose.yml b/docker/docker-npu/docker-compose.yml new file mode 100644 index 00000000..93eb6718 --- /dev/null +++ b/docker/docker-npu/docker-compose.yml @@ -0,0 +1,31 @@ +services: + llamafactory: + build: + dockerfile: Dockerfile + context: . + args: + INSTALL_DEEPSPEED: false + PIP_INDEX: https://pypi.org/simple + container_name: llamafactory + volumes: + - ../../hf_cache:/root/.cache/huggingface/ + - ../../data:/app/LLaMA-Factory/data + - ../../output:/app/LLaMA-Factory/output + - /usr/local/dcmi:/usr/local/dcmi + - /usr/local/bin/npu-smi:/usr/local/bin/npu-smi + - /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64 + - /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info + - /etc/ascend_install.info:/etc/ascend_install.info + ports: + - "7860:7860" + - "8000:8000" + ipc: host + tty: true + stdin_open: true + command: bash + devices: + - /dev/davinci0 + - /dev/davinci_manager + - /dev/devmm_svm + - /dev/hisi_hdc + restart: unless-stopped From f923989a6e1158c51e28902d7158bd245944c8fe Mon Sep 17 00:00:00 2001 From: MengqingCao Date: Mon, 24 Jun 2024 12:27:00 +0000 Subject: [PATCH 102/169] auto-label npu issue Former-commit-id: 90c74ff2519229eb1e509d62426ca3b5e83ef03e --- .github/workflows/label_issue.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/label_issue.yml b/.github/workflows/label_issue.yml index b9a5543c..352b4b25 100644 --- a/.github/workflows/label_issue.yml +++ b/.github/workflows/label_issue.yml @@ -13,5 +13,18 @@ jobs: - env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} ISSUE_URL: ${{ github.event.issue.html_url }} + ISSUE_TITLE: "${{ github.event.issue.title }}" run: | gh issue edit $ISSUE_URL --add-label "pending" + + # auto-add label for npu + NPU_KEYWORDS=("npu" "ascend" "昇腾") + LABEL_NPU="npu" + ISSUE_TITLE_LOWER=$(echo "$ISSUE_TITLE" | tr '[:upper:]' '[:lower:]') + + for keyword in "${NPU_KEYWORDS[@]}"; do + if [[ "$ISSUE_TITLE_LOWER" == *"$keyword"* ]] && [[ "$ISSUE_TITLE_LOWER" != *"input"* ]]; then + gh issue edit "$ISSUE_URL" --add-label "$LABEL_NPU" + break + fi + done From 9aa640f27bce0c827aded79e4e1a8176fce07d1b Mon Sep 17 00:00:00 2001 From: stceum <50257864+stceum@users.noreply.github.com> Date: Mon, 24 Jun 2024 20:39:20 +0800 Subject: [PATCH 103/169] Bug Fix: `off` is parsed as `False` in yaml file, changed to `disabled` to avoid this. Former-commit-id: 3ed063f281d1c2563df1b9eb3800543208c9dc16 --- src/llamafactory/hparams/model_args.py | 2 +- src/llamafactory/hparams/parser.py | 4 ++++ src/llamafactory/model/model_utils/attention.py | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/hparams/model_args.py b/src/llamafactory/hparams/model_args.py index 996e9130..9b51c064 100644 --- a/src/llamafactory/hparams/model_args.py +++ b/src/llamafactory/hparams/model_args.py @@ -97,7 +97,7 @@ class ModelArguments: default=None, metadata={"help": "Which scaling strategy should be adopted for the RoPE embeddings."}, ) - flash_attn: Literal["off", "sdpa", "fa2", "auto"] = field( + flash_attn: Literal["disabled", "sdpa", "fa2", "auto"] = field( default="auto", metadata={"help": "Enable FlashAttention for faster training and inference."}, ) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index a593bf45..9ef2d607 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -102,6 +102,10 @@ def _verify_model_args(model_args: "ModelArguments", finetuning_args: "Finetunin if model_args.adapter_name_or_path is not None and len(model_args.adapter_name_or_path) != 1: raise ValueError("Quantized model only accepts a single adapter. Merge them first.") + # In case that `flash_attn` is set to `off` in the yaml file, and parsed as `False` afterwards. + if model_args.flash_attn == False: + raise ValueError("flash_attn should be \"disabled\", \"sdpa\", \"fa2\" or \"auto\".") + def _check_extra_dependencies( model_args: "ModelArguments", diff --git a/src/llamafactory/model/model_utils/attention.py b/src/llamafactory/model/model_utils/attention.py index 8ff3807b..dfd90936 100644 --- a/src/llamafactory/model/model_utils/attention.py +++ b/src/llamafactory/model/model_utils/attention.py @@ -32,7 +32,7 @@ def configure_attn_implementation(config: "PretrainedConfig", model_args: "Model if model_args.flash_attn == "auto": return - elif model_args.flash_attn == "off": + elif model_args.flash_attn == "disabled": requested_attn_implementation = "eager" elif model_args.flash_attn == "sdpa": From a9f10a9abd8f5fa54e7ac92f7502658777bb6e46 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Mon, 24 Jun 2024 21:35:34 +0800 Subject: [PATCH 104/169] Update test_attention.py Former-commit-id: a9b3d91952dd5a51ff97fbb40a2dd88885d380b8 --- tests/model/model_utils/test_attention.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/model/model_utils/test_attention.py b/tests/model/model_utils/test_attention.py index 97ac9dcc..4cae3d7c 100644 --- a/tests/model/model_utils/test_attention.py +++ b/tests/model/model_utils/test_attention.py @@ -29,7 +29,7 @@ INFER_ARGS = { def test_attention(): - attention_available = ["off"] + attention_available = ["disabled"] if is_torch_sdpa_available(): attention_available.append("sdpa") @@ -37,7 +37,7 @@ def test_attention(): attention_available.append("fa2") llama_attention_classes = { - "off": "LlamaAttention", + "disabled": "LlamaAttention", "sdpa": "LlamaSdpaAttention", "fa2": "LlamaFlashAttention2", } From e74fcdf7b1a58eeade554c01bc66d6e21c6cd243 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Mon, 24 Jun 2024 21:37:42 +0800 Subject: [PATCH 105/169] Update parser.py Former-commit-id: e90c424f55b17e4971f8b9d85b6aeac89bb6b98e --- src/llamafactory/hparams/parser.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 9ef2d607..a593bf45 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -102,10 +102,6 @@ def _verify_model_args(model_args: "ModelArguments", finetuning_args: "Finetunin if model_args.adapter_name_or_path is not None and len(model_args.adapter_name_or_path) != 1: raise ValueError("Quantized model only accepts a single adapter. Merge them first.") - # In case that `flash_attn` is set to `off` in the yaml file, and parsed as `False` afterwards. - if model_args.flash_attn == False: - raise ValueError("flash_attn should be \"disabled\", \"sdpa\", \"fa2\" or \"auto\".") - def _check_extra_dependencies( model_args: "ModelArguments", From 1a0758b0a136b2ff5d3cf5cfa095ad58f2edfbe8 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Mon, 24 Jun 2024 21:59:39 +0800 Subject: [PATCH 106/169] Update label_issue.yml Former-commit-id: aa60cd8910e5ad2ede574e892522f34e43f59f2f --- .github/workflows/label_issue.yml | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/.github/workflows/label_issue.yml b/.github/workflows/label_issue.yml index 352b4b25..507b6be7 100644 --- a/.github/workflows/label_issue.yml +++ b/.github/workflows/label_issue.yml @@ -13,18 +13,15 @@ jobs: - env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} ISSUE_URL: ${{ github.event.issue.html_url }} - ISSUE_TITLE: "${{ github.event.issue.title }}" + ISSUE_TITLE: ${{ github.event.issue.title }} run: | - gh issue edit $ISSUE_URL --add-label "pending" - - # auto-add label for npu - NPU_KEYWORDS=("npu" "ascend" "昇腾") - LABEL_NPU="npu" - ISSUE_TITLE_LOWER=$(echo "$ISSUE_TITLE" | tr '[:upper:]' '[:lower:]') - - for keyword in "${NPU_KEYWORDS[@]}"; do - if [[ "$ISSUE_TITLE_LOWER" == *"$keyword"* ]] && [[ "$ISSUE_TITLE_LOWER" != *"input"* ]]; then - gh issue edit "$ISSUE_URL" --add-label "$LABEL_NPU" + LABEL=pending + NPU_KEYWORDS=(npu ascend 昇腾) + ISSUE_TITLE_LOWER=$(echo $ISSUE_TITLE | tr '[:upper:]' '[:lower:]') + for KEYWORD in ${NPU_KEYWORDS[@]}; do + if [[ $ISSUE_TITLE_LOWER == *$KEYWORD* ]] && [[ $ISSUE_TITLE_LOWER != *input* ]] then + LABEL=pending,npu break fi done + gh issue edit $ISSUE_URL --add-label $LABEL From 78baa8a509e1f2ff3a517f0a9a4b1a1a15410a6d Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Mon, 24 Jun 2024 22:01:23 +0800 Subject: [PATCH 107/169] Update label_issue.yml Former-commit-id: 80d1910a93213b18c94e122b7e48cba0a20fd4e6 --- .github/workflows/label_issue.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/label_issue.yml b/.github/workflows/label_issue.yml index 507b6be7..0e10f0b9 100644 --- a/.github/workflows/label_issue.yml +++ b/.github/workflows/label_issue.yml @@ -19,7 +19,7 @@ jobs: NPU_KEYWORDS=(npu ascend 昇腾) ISSUE_TITLE_LOWER=$(echo $ISSUE_TITLE | tr '[:upper:]' '[:lower:]') for KEYWORD in ${NPU_KEYWORDS[@]}; do - if [[ $ISSUE_TITLE_LOWER == *$KEYWORD* ]] && [[ $ISSUE_TITLE_LOWER != *input* ]] then + if [[ $ISSUE_TITLE_LOWER == *$KEYWORD* ]] && [[ $ISSUE_TITLE_LOWER != *input* ]]; then LABEL=pending,npu break fi From 47651a94a3c2f4e3bc5329ee9ab0d1cccea08e06 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 24 Jun 2024 22:34:31 +0800 Subject: [PATCH 108/169] fix #4410 Former-commit-id: fca893d73c3d7bbb87a816522f2e1568d3e9c612 --- src/llamafactory/data/formatter.py | 4 ++-- src/llamafactory/hparams/model_args.py | 2 +- src/llamafactory/model/patcher.py | 6 +++--- src/llamafactory/webui/chatter.py | 1 + src/llamafactory/webui/components/infer.py | 17 ++++++++++++++--- src/llamafactory/webui/locales.py | 11 +++++++++++ 6 files changed, 32 insertions(+), 9 deletions(-) diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index ed9ba8b8..b5dc57ff 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -34,8 +34,8 @@ DEFAULT_TOOL_PROMPT = ( GLM4_TOOL_PROMPT = ( - "你是一个名为 GLM-4 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的," - "你的任务是针对用户的问题和要求提供适当的答复和支持。{tool_text}" + "你是一个名为 ChatGLM 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的," + "你的任务是针对用户的问题和要求提供适当的答复和支持。# 可用工具{tool_text}" ) diff --git a/src/llamafactory/hparams/model_args.py b/src/llamafactory/hparams/model_args.py index 9b51c064..3f21145d 100644 --- a/src/llamafactory/hparams/model_args.py +++ b/src/llamafactory/hparams/model_args.py @@ -97,7 +97,7 @@ class ModelArguments: default=None, metadata={"help": "Which scaling strategy should be adopted for the RoPE embeddings."}, ) - flash_attn: Literal["disabled", "sdpa", "fa2", "auto"] = field( + flash_attn: Literal["auto", "disabled", "sdpa", "fa2"] = field( default="auto", metadata={"help": "Enable FlashAttention for faster training and inference."}, ) diff --git a/src/llamafactory/model/patcher.py b/src/llamafactory/model/patcher.py index 35153649..24cd2601 100644 --- a/src/llamafactory/model/patcher.py +++ b/src/llamafactory/model/patcher.py @@ -58,10 +58,10 @@ def patch_config( is_trainable: bool, ) -> None: if model_args.compute_dtype is None: # priority: bf16 > fp16 > fp32 - if model_args.infer_dtype == "auto": - model_args.compute_dtype = infer_optim_dtype(model_dtype=getattr(config, "torch_dtype", None)) - else: + if model_args.infer_dtype != "auto" and not is_trainable: model_args.compute_dtype = getattr(torch, model_args.infer_dtype) + else: + model_args.compute_dtype = infer_optim_dtype(model_dtype=getattr(config, "torch_dtype", None)) if is_torch_npu_available(): use_jit_compile = os.environ.get("JIT_COMPILE", "0").lower() in ["true", "1"] diff --git a/src/llamafactory/webui/chatter.py b/src/llamafactory/webui/chatter.py index a2b54dce..652c341c 100644 --- a/src/llamafactory/webui/chatter.py +++ b/src/llamafactory/webui/chatter.py @@ -87,6 +87,7 @@ class WebChatModel(ChatModel): visual_inputs=get("top.visual_inputs"), rope_scaling=get("top.rope_scaling") if get("top.rope_scaling") in ["linear", "dynamic"] else None, infer_backend=get("infer.infer_backend"), + infer_dtype=get("infer.infer_dtype"), ) if checkpoint_path: diff --git a/src/llamafactory/webui/components/infer.py b/src/llamafactory/webui/components/infer.py index 03bccd7f..a0064479 100644 --- a/src/llamafactory/webui/components/infer.py +++ b/src/llamafactory/webui/components/infer.py @@ -32,15 +32,26 @@ def create_infer_tab(engine: "Engine") -> Dict[str, "Component"]: input_elems = engine.manager.get_base_elems() elem_dict = dict() - infer_backend = gr.Dropdown(choices=["huggingface", "vllm"], value="huggingface") + with gr.Row(): + infer_backend = gr.Dropdown(choices=["huggingface", "vllm"], value="huggingface") + infer_dtype = gr.Dropdown(choices=["auto", "float16", "bfloat16", "float32"], value="auto") + with gr.Row(): load_btn = gr.Button() unload_btn = gr.Button() info_box = gr.Textbox(show_label=False, interactive=False) - input_elems.update({infer_backend}) - elem_dict.update(dict(infer_backend=infer_backend, load_btn=load_btn, unload_btn=unload_btn, info_box=info_box)) + input_elems.update({infer_backend, infer_dtype}) + elem_dict.update( + dict( + infer_backend=infer_backend, + infer_dtype=infer_dtype, + load_btn=load_btn, + unload_btn=unload_btn, + info_box=info_box, + ) + ) chatbot, messages, chat_elems = create_chat_box(engine, visible=False) elem_dict.update(chat_elems) diff --git a/src/llamafactory/webui/locales.py b/src/llamafactory/webui/locales.py index 8e8d6fce..cd166584 100644 --- a/src/llamafactory/webui/locales.py +++ b/src/llamafactory/webui/locales.py @@ -1206,6 +1206,17 @@ LOCALES = { "label": "推理引擎", }, }, + "infer_dtype": { + "en": { + "label": "Inference data type", + }, + "ru": { + "label": "Тип данных для вывода", + }, + "zh": { + "label": "推理数据类型", + }, + }, "load_btn": { "en": { "value": "Load model", From 673f27a59eec596da6eead2b0f790c57dd17140d Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Mon, 24 Jun 2024 23:06:18 +0800 Subject: [PATCH 109/169] Update loader.py Former-commit-id: dddfd516ee66e9937e21f05300832aab45034b12 --- src/llamafactory/data/loader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/data/loader.py b/src/llamafactory/data/loader.py index f44ef5de..8e7062db 100644 --- a/src/llamafactory/data/loader.py +++ b/src/llamafactory/data/loader.py @@ -148,7 +148,7 @@ def get_dataset( tokenizer: "PreTrainedTokenizer", processor: Optional["ProcessorMixin"] = None, ) -> Union["Dataset", "IterableDataset"]: - template = get_template_and_fix_tokenizer(tokenizer, data_args.template) + template = get_template_and_fix_tokenizer(tokenizer, data_args.template, data_args.tool_format) if data_args.train_on_prompt and template.efficient_eos: raise ValueError("Current template does not support `train_on_prompt`.") From b7f5cfde6e7d8caf75ca007f32879348ea26460c Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Mon, 24 Jun 2024 23:12:59 +0800 Subject: [PATCH 110/169] Update template.py Former-commit-id: 1240bd57d8a21540c636a6da839e6b3112d1395a --- src/llamafactory/data/template.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index 3d8ded3b..3a72a858 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -664,6 +664,7 @@ _register_template( format_system=StringFormatter(slots=["<|system|>\n{{content}}"]), format_function=FunctionFormatter(slots=["{{name}}\n{{arguments}}"]), format_observation=StringFormatter(slots=["<|observation|>\n{{content}}<|assistant|>"]), + format_tools=ToolFormatter(tool_format="glm4"), format_prefix=EmptyFormatter(slots=["[gMASK]"]), stop_words=["<|user|>", "<|observation|>"], efficient_eos=True, From 18863245df253a56b301fd8fec80a3c9575cc739 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Mon, 24 Jun 2024 23:14:36 +0800 Subject: [PATCH 111/169] Update test_formatter.py Former-commit-id: 672152d2ce6b49d7668c70100d877a1c34c08eae --- tests/data/test_formatter.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/data/test_formatter.py b/tests/data/test_formatter.py index 430eb0e6..a01e8a7e 100644 --- a/tests/data/test_formatter.py +++ b/tests/data/test_formatter.py @@ -111,9 +111,9 @@ def test_glm4_tool_formatter(): } ] assert formatter.apply(content=json.dumps(tools)) == [ - "你是一个名为 GLM-4 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的," - "你的任务是针对用户的问题和要求提供适当的答复和支持。" - "\n\n## test_tool\n\n{}\n在调用上述函数时,请使用 Json 格式表示调用的参数。".format( + "你是一个名为 ChatGLM 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的," + "你的任务是针对用户的问题和要求提供适当的答复和支持。# 可用工具\n\n" + "## test_tool\n\n{}\n在调用上述函数时,请使用 Json 格式表示调用的参数。".format( json.dumps(tools[0], indent=4) ) ] From 60937ccf32e7d01e65d0d203fc6cc5b4a307cd0b Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Mon, 24 Jun 2024 23:21:10 +0800 Subject: [PATCH 112/169] Update cli.py Former-commit-id: acb61f7ab719202a217d8f42850a9c3797e0c5b1 --- src/llamafactory/cli.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/cli.py b/src/llamafactory/cli.py index af9dd5f5..e4846780 100644 --- a/src/llamafactory/cli.py +++ b/src/llamafactory/cli.py @@ -74,7 +74,7 @@ class Command(str, Enum): def main(): - command = sys.argv.pop(1) if len(sys.argv) > 0 else Command.HELP + command = sys.argv.pop(1) if len(sys.argv) != 1 else Command.HELP if command == Command.API: run_api() elif command == Command.CHAT: From f84bce3638e50fb3b8fa2411b2215ca99c2502a1 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Mon, 24 Jun 2024 23:41:35 +0800 Subject: [PATCH 113/169] Update Dockerfile Former-commit-id: dcc2e24f5cd441a242829f2fb090506db507babd --- docker/docker-cuda/Dockerfile | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/docker/docker-cuda/Dockerfile b/docker/docker-cuda/Dockerfile index 72797a26..61d58005 100644 --- a/docker/docker-cuda/Dockerfile +++ b/docker/docker-cuda/Dockerfile @@ -9,18 +9,16 @@ ARG INSTALL_DEEPSPEED=false ARG PIP_INDEX=https://pypi.org/simple # Set the working directory -WORKDIR /app/LLaMA-Factory - -RUN cd /app && \ - git config --global http.version HTTP/1.1 && \ - git clone https://github.com/hiyouga/LLaMA-Factory.git && \ - cd /app/LLaMA-Factory +WORKDIR /app # Install the requirements +COPY requirements.txt /app/ RUN pip config set global.index-url $PIP_INDEX RUN python -m pip install --upgrade pip RUN python -m pip install -r requirements.txt +# Copy the rest of the application into the image +COPY . /app/ # Install the LLaMA Factory RUN EXTRA_PACKAGES="metrics"; \ From cfa2dbefcb3c7501d05566bb205f06e1bce4c139 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Tue, 25 Jun 2024 00:46:08 +0800 Subject: [PATCH 114/169] Update Dockerfile Former-commit-id: fce146ab681a5682d3f96254e3863f70aca8a4af --- docker/docker-cuda/Dockerfile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/docker-cuda/Dockerfile b/docker/docker-cuda/Dockerfile index 61d58005..2d20bfe4 100644 --- a/docker/docker-cuda/Dockerfile +++ b/docker/docker-cuda/Dockerfile @@ -12,13 +12,14 @@ ARG PIP_INDEX=https://pypi.org/simple WORKDIR /app # Install the requirements -COPY requirements.txt /app/ +COPY requirements.txt /app RUN pip config set global.index-url $PIP_INDEX +RUN pip config set global.extra-index-url $PIP_INDEX RUN python -m pip install --upgrade pip RUN python -m pip install -r requirements.txt # Copy the rest of the application into the image -COPY . /app/ +COPY . /app # Install the LLaMA Factory RUN EXTRA_PACKAGES="metrics"; \ @@ -38,10 +39,9 @@ RUN EXTRA_PACKAGES="metrics"; \ VOLUME [ "/root/.cache/huggingface/", "/app/data", "/app/output" ] # Expose port 7860 for the LLaMA Board +ENV GRADIO_SERVER_PORT 7860 EXPOSE 7860 # Expose port 8000 for the API service +ENV API_PORT 8000 EXPOSE 8000 - -# Launch LLaMA Board -CMD [ "llamafactory-cli", "webui" ] From 62e63d74ec2b2e8f4bf4fae48a33efbc8779aed3 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Tue, 25 Jun 2024 00:46:47 +0800 Subject: [PATCH 115/169] Update docker-compose.yml Former-commit-id: 15608d055827e41b44fb8a381b1fe5a1230afcb0 --- docker/docker-cuda/docker-compose.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/docker-cuda/docker-compose.yml b/docker/docker-cuda/docker-compose.yml index a470aa60..04d6531a 100644 --- a/docker/docker-cuda/docker-compose.yml +++ b/docker/docker-cuda/docker-compose.yml @@ -1,8 +1,8 @@ services: llamafactory: build: - dockerfile: Dockerfile - context: . + dockerfile: ./docker/docker-cuda/Dockerfile + context: ../.. args: INSTALL_BNB: false INSTALL_VLLM: false @@ -10,9 +10,9 @@ services: PIP_INDEX: https://pypi.org/simple container_name: llamafactory volumes: - - ../../hf_cache:/root/.cache/huggingface/ - - ../../data:/app/LLaMA-Factory/data - - ../../output:/app/LLaMA-Factory/output + - ./hf_cache:/root/.cache/huggingface/ + - ./data:/app/data + - ./output:/app/output ports: - "7860:7860" - "8000:8000" From 6cd45e95f74c448c4f244224c1a5991fcee2c565 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Tue, 25 Jun 2024 00:50:34 +0800 Subject: [PATCH 116/169] Update Dockerfile Former-commit-id: 3af936a76d726c73d14ff6cf8c3088bda5b904c3 --- docker/docker-npu/Dockerfile | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/docker/docker-npu/Dockerfile b/docker/docker-npu/Dockerfile index 9456bcbf..0fdd4472 100644 --- a/docker/docker-npu/Dockerfile +++ b/docker/docker-npu/Dockerfile @@ -1,5 +1,5 @@ -# Using ubuntu 22.04 images with cann 8.0.rc1 -# More options can be found at https://hub.docker.com/r/cosdt/cann/tags +# Use the Ubuntu 22.04 image with CANN 8.0.rc1 +# More versions can be found at https://hub.docker.com/r/cosdt/cann/tags FROM cosdt/cann:8.0.rc1-910b-ubuntu22.04 ENV DEBIAN_FRONTEND=noninteractive @@ -9,15 +9,17 @@ ARG INSTALL_DEEPSPEED=false ARG PIP_INDEX=https://pypi.org/simple # Set the working directory -WORKDIR /app/LLaMA-Factory - -RUN cd /app && \ - git config --global http.version HTTP/1.1 && \ - git clone https://github.com/hiyouga/LLaMA-Factory.git && \ - cd /app/LLaMA-Factory +WORKDIR /app +# Install the requirements +COPY requirements.txt /app RUN pip config set global.index-url $PIP_INDEX -RUN python3 -m pip install --upgrade pip +RUN pip config set global.extra-index-url $PIP_INDEX +RUN python -m pip install --upgrade pip +RUN python -m pip install -r requirements.txt + +# Copy the rest of the application into the image +COPY . /app # Install the LLaMA Factory RUN EXTRA_PACKAGES="torch-npu,metrics"; \ @@ -31,10 +33,9 @@ RUN EXTRA_PACKAGES="torch-npu,metrics"; \ VOLUME [ "/root/.cache/huggingface/", "/app/data", "/app/output" ] # Expose port 7860 for the LLaMA Board +ENV GRADIO_SERVER_PORT 7860 EXPOSE 7860 # Expose port 8000 for the API service +ENV API_PORT 8000 EXPOSE 8000 - -# Launch LLaMA Board -CMD [ "llamafactory-cli", "webui" ] From af5b2b9299b7b8ce79f493744cc261218807f425 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Tue, 25 Jun 2024 00:54:28 +0800 Subject: [PATCH 117/169] Update docker-compose.yml Former-commit-id: 721acd87688b3edd41d2e1890971eb387afc1b6e --- docker/docker-npu/docker-compose.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/docker/docker-npu/docker-compose.yml b/docker/docker-npu/docker-compose.yml index 93eb6718..7fff6e73 100644 --- a/docker/docker-npu/docker-compose.yml +++ b/docker/docker-npu/docker-compose.yml @@ -1,20 +1,19 @@ services: llamafactory: build: - dockerfile: Dockerfile - context: . + dockerfile: ./docker/docker-npu/Dockerfile + context: ../.. args: INSTALL_DEEPSPEED: false PIP_INDEX: https://pypi.org/simple container_name: llamafactory volumes: - - ../../hf_cache:/root/.cache/huggingface/ - - ../../data:/app/LLaMA-Factory/data - - ../../output:/app/LLaMA-Factory/output + - ./hf_cache:/root/.cache/huggingface/ + - ./data:/app/data + - ./output:/app/output - /usr/local/dcmi:/usr/local/dcmi - /usr/local/bin/npu-smi:/usr/local/bin/npu-smi - - /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64 - - /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info + - /usr/local/Ascend/driver:/usr/local/Ascend/driver - /etc/ascend_install.info:/etc/ascend_install.info ports: - "7860:7860" From cbc23fc299480ca5813afbb8872f6d29ab3baef5 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Tue, 25 Jun 2024 01:03:38 +0800 Subject: [PATCH 118/169] Update README.md Former-commit-id: 5dc8fa647e9af2c6d666c9559553c05d1c4860b3 --- README.md | 84 ++++++++++++++++++++++++------------------------------- 1 file changed, 37 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index 1107ae0b..a20b848b 100644 --- a/README.md +++ b/README.md @@ -383,12 +383,6 @@ source /usr/local/Ascend/ascend-toolkit/set_env.sh | torch-npu | 2.1.0 | 2.1.0.post3 | | deepspeed | 0.13.2 | 0.13.2 | -Docker users please refer to [Build Docker](#Build-Docker). - -**NOTE** - -The default docker image is [cosdt/cann:8.0.rc1-910b-ubuntu22.04](https://hub.docker.com/layers/cosdt/cann/8.0.rc1-910b-ubuntu22.04/images/sha256-29ef8aacf6b2babd292f06f00b9190c212e7c79a947411e213135e4d41a178a9?context=explore). More options can be found at [cosdt/cann](https://hub.docker.com/r/cosdt/cann/tags). - Remember to use `ASCEND_RT_VISIBLE_DEVICES` instead of `CUDA_VISIBLE_DEVICES` to specify the device to use. If you cannot infer model on NPU devices, try setting `do_sample: false` in the configurations. @@ -425,50 +419,62 @@ llamafactory-cli webui ### Build Docker -#### Use Docker - -
    For NVIDIA GPU users: +For CUDA users: ```bash -cd ./docker/docker-cuda -docker build -f ./Dockerfile \ +docker-compose -f ./docker/docker-cuda/docker-compose.yml up -d +docker-compose exec llamafactory bash +``` + +For Ascend NPU users: + +```bash +docker-compose -f ./docker/docker-npu/docker-compose.yml up -d +docker-compose exec llamafactory bash +``` + +
    Build without Docker Compose + +For CUDA users: + +```bash +docker build -f ./docker/docker-cuda/Dockerfile \ --build-arg INSTALL_BNB=false \ --build-arg INSTALL_VLLM=false \ --build-arg INSTALL_DEEPSPEED=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . -docker run -it --gpus=all \ - -v /$(dirname $(dirname "$PWD"))/hf_cache:/root/.cache/huggingface/ \ - -v /$(dirname $(dirname "$PWD"))/data:/app/data \ - -v /$(dirname $(dirname "$PWD"))/output:/app/output \ +docker run -dit --gpus=all \ + -v ./hf_cache:/root/.cache/huggingface/ \ + -v ./data:/app/data \ + -v ./output:/app/output \ -p 7860:7860 \ -p 8000:8000 \ --shm-size 16G \ --name llamafactory \ llamafactory:latest -``` -
    -
    For Ascend NPU users: +docker exec -it llamafactory bash +``` + +For Ascend NPU users: ```bash -cd ./docker/docker-npu -docker build -f ./Dockerfile \ +# Change docker image upon your environment +docker build -f ./docker/docker-npu/Dockerfile \ --build-arg INSTALL_DEEPSPEED=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . -# add --device for multi-npu usage -# or modify --device to change npu card -docker run -it \ - -v /$(dirname $(dirname "$PWD"))/hf_cache:/root/.cache/huggingface/ \ - -v /$(dirname $(dirname "$PWD"))/data:/app/data \ - -v /$(dirname $(dirname "$PWD"))/output:/app/output \ +# Change `device` upon your resources +docker run -dit \ + -v ./hf_cache:/root/.cache/huggingface/ \ + -v ./data:/app/data \ + -v ./output:/app/output \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ - -v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64 \ - -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \ + -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ -v /etc/ascend_install.info:/etc/ascend_install.info \ -p 7860:7860 \ -p 8000:8000 \ @@ -479,28 +485,12 @@ docker run -it \ --shm-size 16G \ --name llamafactory \ llamafactory:latest + +docker exec -it llamafactory bash ``` +
    -#### Use Docker Compose - -Firstly enter your docker path: - -```bash -# for NVIDIA GPU users -cd ./docker/docker-cuda - -# for Ascend NPU users -cd ./docker/docker-npu -``` - -Then run the following command to build docker image and start the container: - -```bash -docker-compose up -d -docker-compose exec llamafactory bash -``` -
    Details about volume - hf_cache: Utilize Hugging Face cache on the host machine. Reassignable if a cache already exists in a different directory. From 678884f97c3a4db388f201b80b9543f502d4826b Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Tue, 25 Jun 2024 01:06:59 +0800 Subject: [PATCH 119/169] Update README_zh.md Former-commit-id: ec95f942d1f36dee9facb687ae4168e7c3c4d3f5 --- README_zh.md | 83 ++++++++++++++++++++++++---------------------------- 1 file changed, 38 insertions(+), 45 deletions(-) diff --git a/README_zh.md b/README_zh.md index 6326c0b5..3bed0846 100644 --- a/README_zh.md +++ b/README_zh.md @@ -360,7 +360,7 @@ pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/downl
    昇腾 NPU 用户指南 -在昇腾 NPU 设备上安装 LLaMA Factory 时,需要指定额外依赖项,使用 `pip install -e '.[torch-npu,metrics]'` 命令安装。此外,还需要安装 **[Ascend CANN Toolkit and Kernels](https://www.hiascend.com/developer/download/community/result?module=cann)**,安装方法请参考[安装教程](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC2alpha002/quickstart/quickstart/quickstart_18_0004.html)或使用以下命令: +在昇腾 NPU 设备上安装 LLaMA Factory 时,需要指定额外依赖项,使用 `pip install -e ".[torch-npu,metrics]"` 命令安装。此外,还需要安装 **[Ascend CANN Toolkit and Kernels](https://www.hiascend.com/developer/download/community/result?module=cann)**,安装方法请参考[安装教程](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC2alpha002/quickstart/quickstart/quickstart_18_0004.html)或使用以下命令: ```bash # 请替换 URL 为 CANN 版本和设备型号对应的 URL @@ -383,12 +383,6 @@ source /usr/local/Ascend/ascend-toolkit/set_env.sh | torch-npu | 2.1.0 | 2.1.0.post3 | | deepspeed | 0.13.2 | 0.13.2 | -Docker用户请参考 [构建 Docker](#构建-Docker). - -**NOTE** - -默认镜像为 [cosdt/cann:8.0.rc1-910b-ubuntu22.04](https://hub.docker.com/layers/cosdt/cann/8.0.rc1-910b-ubuntu22.04/images/sha256-29ef8aacf6b2babd292f06f00b9190c212e7c79a947411e213135e4d41a178a9?context=explore). 更多选择见 [cosdt/cann](https://hub.docker.com/r/cosdt/cann/tags). - 请使用 `ASCEND_RT_VISIBLE_DEVICES` 而非 `CUDA_VISIBLE_DEVICES` 来指定运算设备。 如果遇到无法正常推理的情况,请尝试设置 `do_sample: false`。 @@ -425,49 +419,62 @@ llamafactory-cli webui ### 构建 Docker -#### 使用 Docker - -
    NVIDIA GPU 用户: +CUDA 用户: ```bash -cd ./docker/docker-cuda -docker build -f ./Dockerfile \ +docker-compose -f ./docker/docker-cuda/docker-compose.yml up -d +docker-compose exec llamafactory bash +``` + +昇腾 NPU 用户: + +```bash +docker-compose -f ./docker/docker-npu/docker-compose.yml up -d +docker-compose exec llamafactory bash +``` + +
    不使用 Docker Compose 构建 + +CUDA 用户: + +```bash +docker build -f ./docker/docker-cuda/Dockerfile \ --build-arg INSTALL_BNB=false \ --build-arg INSTALL_VLLM=false \ --build-arg INSTALL_DEEPSPEED=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . -docker run -it --gpus=all \ - -v /$(dirname $(dirname "$PWD"))/hf_cache:/root/.cache/huggingface/ \ - -v /$(dirname $(dirname "$PWD"))/data:/app/data \ - -v /$(dirname $(dirname "$PWD"))/output:/app/output \ +docker run -dit --gpus=all \ + -v ./hf_cache:/root/.cache/huggingface/ \ + -v ./data:/app/data \ + -v ./output:/app/output \ -p 7860:7860 \ -p 8000:8000 \ --shm-size 16G \ --name llamafactory \ llamafactory:latest -``` -
    -
    Ascend NPU 用户: +docker exec -it llamafactory bash +``` + +昇腾 NPU 用户: ```bash -cd ./docker/docker-npu -docker build -f ./Dockerfile \ +# 根据您的环境选择镜像 +docker build -f ./docker/docker-npu/Dockerfile \ --build-arg INSTALL_DEEPSPEED=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . -# 增加 --device 来使用多卡 NPU 或修改第一个 --device 来更改 NPU 卡 -docker run -it \ - -v /$(dirname $(dirname "$PWD"))/hf_cache:/root/.cache/huggingface/ \ - -v /$(dirname $(dirname "$PWD"))/data:/app/data \ - -v /$(dirname $(dirname "$PWD"))/output:/app/output \ +# 根据您的资源更改 `device` +docker run -dit \ + -v ./hf_cache:/root/.cache/huggingface/ \ + -v ./data:/app/data \ + -v ./output:/app/output \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ - -v /usr/local/Ascend/driver/lib64:/usr/local/Ascend/driver/lib64 \ - -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \ + -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ -v /etc/ascend_install.info:/etc/ascend_install.info \ -p 7860:7860 \ -p 8000:8000 \ @@ -478,26 +485,12 @@ docker run -it \ --shm-size 16G \ --name llamafactory \ llamafactory:latest + +docker exec -it llamafactory bash ``` +
    -#### 使用 Docker Compose - -首先进入 docker 目录: -```bash -# NVIDIA GPU 用户 -cd ./docker/docker-cuda - -# Ascend NPU 用户 -cd ./docker/docker-npu -``` -然后运行以下命令创建 docker 镜像并启动容器: - -```bash -docker-compose up -d -docker-compose exec llamafactory bash -``` -
    数据卷详情 - hf_cache:使用宿主机的 Hugging Face 缓存文件夹,允许更改为新的目录。 From d519c2fde552ee77ff0fb69ee5721b7b9caaa124 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 25 Jun 2024 01:15:19 +0800 Subject: [PATCH 120/169] tiny fix Former-commit-id: 41086059b12ecb7827eb390294e315068ff9c2e6 --- .dockerignore | 5 +++-- README.md | 10 ++++++---- README_zh.md | 6 ++++-- src/llamafactory/data/formatter.py | 2 +- src/llamafactory/data/template.py | 6 +++--- src/llamafactory/hparams/data_args.py | 8 ++++---- src/llamafactory/webui/components/train.py | 2 +- src/llamafactory/webui/runner.py | 2 +- 8 files changed, 23 insertions(+), 18 deletions(-) diff --git a/.dockerignore b/.dockerignore index 2ac0e11d..75cd2209 100644 --- a/.dockerignore +++ b/.dockerignore @@ -4,10 +4,11 @@ .venv cache data +docker +examples +saves hf_cache output -examples .dockerignore .gitattributes .gitignore -Dockerfile diff --git a/README.md b/README.md index a20b848b..e1b45236 100644 --- a/README.md +++ b/README.md @@ -360,7 +360,7 @@ To enable FlashAttention-2 on the Windows platform, you need to install the prec
    For Ascend NPU users -To install LLaMA Factory on Ascend NPU devices, please specify extra dependencies: `pip install -e '.[torch-npu,metrics]'`. Additionally, you need to install the **[Ascend CANN Toolkit and Kernels](https://www.hiascend.com/developer/download/community/result?module=cann)**. Please follow the [installation tutorial](https://www.hiascend.com/document/detail/en/CANNCommunityEdition/600alphaX/softwareinstall/instg/atlasdeploy_03_0031.html) or use the following commands: +To install LLaMA Factory on Ascend NPU devices, please specify extra dependencies: `pip install -e ".[torch-npu,metrics]"`. Additionally, you need to install the **[Ascend CANN Toolkit and Kernels](https://www.hiascend.com/developer/download/community/result?module=cann)**. Please follow the [installation tutorial](https://www.hiascend.com/document/detail/en/CANNCommunityEdition/600alphaX/softwareinstall/instg/atlasdeploy_03_0031.html) or use the following commands: ```bash # replace the url according to your CANN version and devices @@ -422,14 +422,16 @@ llamafactory-cli webui For CUDA users: ```bash -docker-compose -f ./docker/docker-cuda/docker-compose.yml up -d +cd docker/docker-cuda/ +docker-compose up -d docker-compose exec llamafactory bash ``` For Ascend NPU users: ```bash -docker-compose -f ./docker/docker-npu/docker-compose.yml up -d +cd docker/docker-npu/ +docker-compose up -d docker-compose exec llamafactory bash ``` @@ -461,7 +463,7 @@ docker exec -it llamafactory bash For Ascend NPU users: ```bash -# Change docker image upon your environment +# Choose docker image upon your environment docker build -f ./docker/docker-npu/Dockerfile \ --build-arg INSTALL_DEEPSPEED=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ diff --git a/README_zh.md b/README_zh.md index 3bed0846..32edb1f7 100644 --- a/README_zh.md +++ b/README_zh.md @@ -422,14 +422,16 @@ llamafactory-cli webui CUDA 用户: ```bash -docker-compose -f ./docker/docker-cuda/docker-compose.yml up -d +cd docker/docker-cuda/ +docker-compose up -d docker-compose exec llamafactory bash ``` 昇腾 NPU 用户: ```bash -docker-compose -f ./docker/docker-npu/docker-compose.yml up -d +cd docker/docker-npu/ +docker-compose up -d docker-compose exec llamafactory bash ``` diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index b5dc57ff..88ebf682 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -216,7 +216,7 @@ class ToolFormatter(Formatter): self._tool_formatter = glm4_tool_formatter self._tool_extractor = glm4_tool_extractor else: - raise ValueError("Tool format was not found.") + raise NotImplementedError("Tool format {} was not found.".format(self.tool_format)) def apply(self, **kwargs) -> SLOTS: content = kwargs.pop("content") diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index 3a72a858..193ff482 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -387,8 +387,9 @@ def get_template_and_fix_tokenizer( template = TEMPLATES.get(name, None) if template is None: raise ValueError("Template {} does not exist.".format(name)) - - if tool_format: + + if tool_format is not None: + logger.info("Using tool format: {}.".format(tool_format)) template.format_tools = ToolFormatter(tool_format=tool_format) stop_words = template.stop_words @@ -625,7 +626,6 @@ _register_template( _register_template( name="empty", - format_prefix=EmptyFormatter(slots=[{"bos_token"}]), efficient_eos=True, ) diff --git a/src/llamafactory/hparams/data_args.py b/src/llamafactory/hparams/data_args.py index 959742e3..dad13820 100644 --- a/src/llamafactory/hparams/data_args.py +++ b/src/llamafactory/hparams/data_args.py @@ -29,10 +29,6 @@ class DataArguments: default=None, metadata={"help": "Which template to use for constructing prompts in training and inference."}, ) - tool_format: Optional[str] = field( - default=None, - metadata={"help": "Specifies the tool format template for function calling ."}, - ) dataset: Optional[str] = field( default=None, metadata={"help": "The name of provided dataset(s) to use. Use commas to separate multiple datasets."}, @@ -105,6 +101,10 @@ class DataArguments: "help": "Whether or not to pack the sequences in training. Will automatically enable in pre-training." }, ) + tool_format: Optional[str] = field( + default=None, + metadata={"help": "Tool format to use for constructing function calling examples."}, + ) tokenized_path: Optional[str] = field( default=None, metadata={"help": "Path to save or load the tokenized datasets."}, diff --git a/src/llamafactory/webui/components/train.py b/src/llamafactory/webui/components/train.py index 874f3c5e..f33c37ee 100644 --- a/src/llamafactory/webui/components/train.py +++ b/src/llamafactory/webui/components/train.py @@ -291,7 +291,7 @@ def create_train_tab(engine: "Engine") -> Dict[str, "Component"]: with gr.Column(scale=1): loss_viewer = gr.Plot() - input_elems.update({output_dir, config_path, device_count, ds_stage, ds_offload}) + input_elems.update({output_dir, config_path, ds_stage, ds_offload}) elem_dict.update( dict( cmd_preview_btn=cmd_preview_btn, diff --git a/src/llamafactory/webui/runner.py b/src/llamafactory/webui/runner.py index 6cd21b07..549ec765 100644 --- a/src/llamafactory/webui/runner.py +++ b/src/llamafactory/webui/runner.py @@ -306,7 +306,7 @@ class Runner: def _form_config_dict(self, data: Dict["Component", Any]) -> Dict[str, Any]: config_dict = {} - skip_ids = ["top.lang", "top.model_path", "train.output_dir", "train.config_path", "train.device_count"] + skip_ids = ["top.lang", "top.model_path", "train.output_dir", "train.config_path"] for elem, value in data.items(): elem_id = self.manager.get_id_by_elem(elem) if elem_id not in skip_ids: From dafc9268bc44d835eed25cc9d01321e92bc02f3a Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 25 Jun 2024 01:51:29 +0800 Subject: [PATCH 121/169] fix #4419 Former-commit-id: efb81b25ecd5cb9f4cfda8f2da8b159e4ab26a90 --- README.md | 6 ++++-- README_zh.md | 6 ++++-- docker/docker-cuda/Dockerfile | 2 +- docker/docker-cuda/docker-compose.yml | 3 ++- docker/docker-npu/Dockerfile | 2 +- docker/docker-npu/docker-compose.yml | 3 ++- 6 files changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e1b45236..4b42edd7 100644 --- a/README.md +++ b/README.md @@ -448,7 +448,8 @@ docker build -f ./docker/docker-cuda/Dockerfile \ -t llamafactory:latest . docker run -dit --gpus=all \ - -v ./hf_cache:/root/.cache/huggingface/ \ + -v ./hf_cache:/root/.cache/huggingface \ + -v ./ms_cache:/root/.cache/modelscope \ -v ./data:/app/data \ -v ./output:/app/output \ -p 7860:7860 \ @@ -471,7 +472,8 @@ docker build -f ./docker/docker-npu/Dockerfile \ # Change `device` upon your resources docker run -dit \ - -v ./hf_cache:/root/.cache/huggingface/ \ + -v ./hf_cache:/root/.cache/huggingface \ + -v ./ms_cache:/root/.cache/modelscope \ -v ./data:/app/data \ -v ./output:/app/output \ -v /usr/local/dcmi:/usr/local/dcmi \ diff --git a/README_zh.md b/README_zh.md index 32edb1f7..3926c09d 100644 --- a/README_zh.md +++ b/README_zh.md @@ -448,7 +448,8 @@ docker build -f ./docker/docker-cuda/Dockerfile \ -t llamafactory:latest . docker run -dit --gpus=all \ - -v ./hf_cache:/root/.cache/huggingface/ \ + -v ./hf_cache:/root/.cache/huggingface \ + -v ./ms_cache:/root/.cache/modelscope \ -v ./data:/app/data \ -v ./output:/app/output \ -p 7860:7860 \ @@ -471,7 +472,8 @@ docker build -f ./docker/docker-npu/Dockerfile \ # 根据您的资源更改 `device` docker run -dit \ - -v ./hf_cache:/root/.cache/huggingface/ \ + -v ./hf_cache:/root/.cache/huggingface \ + -v ./ms_cache:/root/.cache/modelscope \ -v ./data:/app/data \ -v ./output:/app/output \ -v /usr/local/dcmi:/usr/local/dcmi \ diff --git a/docker/docker-cuda/Dockerfile b/docker/docker-cuda/Dockerfile index 2d20bfe4..827b7b3c 100644 --- a/docker/docker-cuda/Dockerfile +++ b/docker/docker-cuda/Dockerfile @@ -36,7 +36,7 @@ RUN EXTRA_PACKAGES="metrics"; \ pip uninstall -y transformer-engine flash-attn # Set up volumes -VOLUME [ "/root/.cache/huggingface/", "/app/data", "/app/output" ] +VOLUME [ "/root/.cache/huggingface", "/root/.cache/modelscope", "/app/data", "/app/output" ] # Expose port 7860 for the LLaMA Board ENV GRADIO_SERVER_PORT 7860 diff --git a/docker/docker-cuda/docker-compose.yml b/docker/docker-cuda/docker-compose.yml index 04d6531a..1c0a3c75 100644 --- a/docker/docker-cuda/docker-compose.yml +++ b/docker/docker-cuda/docker-compose.yml @@ -10,7 +10,8 @@ services: PIP_INDEX: https://pypi.org/simple container_name: llamafactory volumes: - - ./hf_cache:/root/.cache/huggingface/ + - ./hf_cache:/root/.cache/huggingface + - ./ms_cache:/root/.cache/modelscope - ./data:/app/data - ./output:/app/output ports: diff --git a/docker/docker-npu/Dockerfile b/docker/docker-npu/Dockerfile index 0fdd4472..08de626b 100644 --- a/docker/docker-npu/Dockerfile +++ b/docker/docker-npu/Dockerfile @@ -30,7 +30,7 @@ RUN EXTRA_PACKAGES="torch-npu,metrics"; \ pip uninstall -y transformer-engine flash-attn # Set up volumes -VOLUME [ "/root/.cache/huggingface/", "/app/data", "/app/output" ] +VOLUME [ "/root/.cache/huggingface", "/root/.cache/modelscope", "/app/data", "/app/output" ] # Expose port 7860 for the LLaMA Board ENV GRADIO_SERVER_PORT 7860 diff --git a/docker/docker-npu/docker-compose.yml b/docker/docker-npu/docker-compose.yml index 7fff6e73..a6b878fd 100644 --- a/docker/docker-npu/docker-compose.yml +++ b/docker/docker-npu/docker-compose.yml @@ -8,7 +8,8 @@ services: PIP_INDEX: https://pypi.org/simple container_name: llamafactory volumes: - - ./hf_cache:/root/.cache/huggingface/ + - ./hf_cache:/root/.cache/huggingface + - ./ms_cache:/root/.cache/modelscope - ./data:/app/data - ./output:/app/output - /usr/local/dcmi:/usr/local/dcmi From a225b5a70cb52c6af8a2397d02e0dd5dc57e104d Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 25 Jun 2024 01:54:53 +0800 Subject: [PATCH 122/169] tiny fix about badam Former-commit-id: 095fab58d3692607c9e78747b4218ae1abcf5aaf --- .github/workflows/tests.yml | 2 +- .gitignore | 8 ++-- assets/wechat.jpg | Bin 202727 -> 143994 bytes assets/wechat_npu.jpg | Bin 198954 -> 152241 bytes ...ma3_lora_sft.yaml => llama3_full_sft.yaml} | 2 +- ...adam_sft.yaml => llama3_full_sft_ds3.yaml} | 4 +- examples/extras/badam/train_single_gpu.sh | 37 ----------------- examples/extras/badam/train_zero3.sh | 39 ------------------ setup.py | 2 +- src/llamafactory/hparams/parser.py | 14 +++---- src/llamafactory/train/dpo/trainer.py | 3 +- src/llamafactory/train/kto/trainer.py | 3 +- src/llamafactory/train/ppo/trainer.py | 3 +- src/llamafactory/train/pt/trainer.py | 3 +- src/llamafactory/train/rm/trainer.py | 3 +- src/llamafactory/train/sft/trainer.py | 3 +- src/llamafactory/train/trainer_utils.py | 7 +--- 17 files changed, 31 insertions(+), 102 deletions(-) rename examples/extras/badam/{llama3_lora_sft.yaml => llama3_full_sft.yaml} (97%) rename examples/extras/badam/{llama3_badam_sft.yaml => llama3_full_sft_ds3.yaml} (89%) delete mode 100644 examples/extras/badam/train_single_gpu.sh delete mode 100644 examples/extras/badam/train_zero3.sh diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 98bd9455..73d77de5 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -34,7 +34,7 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - python -m pip install .[torch,dev] + python -m pip install ".[torch,dev]" - name: Check quality run: | diff --git a/.gitignore b/.gitignore index 2486e728..82e6e9e6 100644 --- a/.gitignore +++ b/.gitignore @@ -160,8 +160,8 @@ cython_debug/ .idea/ # custom .gitignore -user.config -saves/ cache/ -wandb -ds_badam_exp \ No newline at end of file +config/ +saves/ +output/ +wandb/ diff --git a/assets/wechat.jpg b/assets/wechat.jpg index 1078f0d27f22d83655a8ae74de289271a05adc20..598296b43f84683494654f15c659ec45dc3ad530 100644 GIT binary patch literal 143994 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 qh@oJXC_PlE~ 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 Y?(cuYz5&(D|5}UxhJF9XTKxQf0Dx?ug#Z8m diff --git a/examples/extras/badam/llama3_lora_sft.yaml b/examples/extras/badam/llama3_full_sft.yaml similarity index 97% rename from examples/extras/badam/llama3_lora_sft.yaml rename to examples/extras/badam/llama3_full_sft.yaml index a78de2fa..31d61c33 100644 --- a/examples/extras/badam/llama3_lora_sft.yaml +++ b/examples/extras/badam/llama3_full_sft.yaml @@ -6,6 +6,7 @@ stage: sft do_train: true finetuning_type: full use_badam: true +badam_mode: layer badam_switch_mode: ascending badam_switch_interval: 50 badam_verbose: 2 @@ -32,7 +33,6 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -pure_bf16: true ### eval val_size: 0.1 diff --git a/examples/extras/badam/llama3_badam_sft.yaml b/examples/extras/badam/llama3_full_sft_ds3.yaml similarity index 89% rename from examples/extras/badam/llama3_badam_sft.yaml rename to examples/extras/badam/llama3_full_sft_ds3.yaml index f5adb220..f2d7309f 100644 --- a/examples/extras/badam/llama3_badam_sft.yaml +++ b/examples/extras/badam/llama3_full_sft_ds3.yaml @@ -6,9 +6,11 @@ stage: sft do_train: true finetuning_type: full use_badam: true +badam_mode: layer badam_switch_mode: ascending badam_switch_interval: 50 badam_verbose: 2 +deepspeed: examples/deepspeed/ds_z3_config.json ### dataset dataset: identity,alpaca_en_demo @@ -28,7 +30,7 @@ overwrite_output_dir: true ### train per_device_train_batch_size: 1 gradient_accumulation_steps: 8 -learning_rate: 1.0e-6 +learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 diff --git a/examples/extras/badam/train_single_gpu.sh b/examples/extras/badam/train_single_gpu.sh deleted file mode 100644 index 8af79007..00000000 --- a/examples/extras/badam/train_single_gpu.sh +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash -export CUDA_VISIBLE_DEVICES=0 - -cd ../../.. - -llamafactory-cli train \ - --stage sft \ - --do_train True \ - --model_name_or_path meta-llama/Llama-2-13b-hf \ - --preprocessing_num_workers 16 \ - --finetuning_type full \ - --template default \ - --flash_attn auto \ - --dataset_dir data \ - --dataset alpaca_en_demo \ - --cutoff_len 1024 \ - --learning_rate 1e-6 \ - --num_train_epochs 3.0 \ - --max_samples 100000 \ - --per_device_train_batch_size 1 \ - --gradient_accumulation_steps 8 \ - --lr_scheduler_type cosine \ - --max_grad_norm 1.0 \ - --logging_steps 5 \ - --save_steps 100 \ - --warmup_steps 0 \ - --optim adamw_torch \ - --packing False \ - --report_to none \ - --use_badam True \ - --output_dir saves/LLaMA2-13B/full/BAdam \ - --plot_loss True \ - --ddp_timeout 180000000 \ - --include_num_input_tokens_seen True \ - --badam_mode layer \ - --badam_switch_mode ascending \ - --badam_switch_interval 50 \ No newline at end of file diff --git a/examples/extras/badam/train_zero3.sh b/examples/extras/badam/train_zero3.sh deleted file mode 100644 index 3b182134..00000000 --- a/examples/extras/badam/train_zero3.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -export CUDA_VISIBLE_DEVICES=0,1,2,3 - -cd ../../.. - -llamafactory-cli train \ - --stage sft \ - --do_train True \ - --model_name_or_path meta-llama/Llama-2-13b-hf \ - --preprocessing_num_workers 16 \ - --finetuning_type full \ - --template default \ - --flash_attn auto \ - --dataset_dir data \ - --dataset alpaca_en_demo \ - --cutoff_len 1024 \ - --learning_rate 1e-6 \ - --num_train_epochs 3.0 \ - --max_samples 100000 \ - --per_device_train_batch_size 8 \ - --gradient_accumulation_steps 2 \ - --lr_scheduler_type cosine \ - --max_grad_norm 1.0 \ - --logging_steps 5 \ - --save_steps 100 \ - --warmup_steps 0 \ - --optim adamw_torch \ - --packing False \ - --report_to none \ - --use_badam True \ - --output_dir saves/LLaMA2-13B/full/BAdam \ - --fp16 True \ - --plot_loss True \ - --ddp_timeout 180000000 \ - --include_num_input_tokens_seen True \ - --badam_mode layer \ - --badam_switch_mode ascending \ - --badam_switch_interval 50 \ - --deepspeed cache/ds_z3_config.json \ No newline at end of file diff --git a/setup.py b/setup.py index 3d2ac921..64f50a87 100644 --- a/setup.py +++ b/setup.py @@ -41,7 +41,7 @@ extra_require = { "bitsandbytes": ["bitsandbytes>=0.39.0"], "vllm": ["vllm>=0.4.3"], "galore": ["galore-torch"], - "badam": ["badam"], + "badam": ["badam>=1.2.1"], "gptq": ["optimum>=1.16.0", "auto-gptq>=0.5.0"], "awq": ["autoawq"], "aqlm": ["aqlm[gpu]>=1.1.0"], diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index f2ccd5e6..a4b7f7a5 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -121,7 +121,7 @@ def _check_extra_dependencies( require_version("galore_torch", "To fix: pip install galore_torch") if finetuning_args.use_badam: - require_version("badam", "To fix: pip install badam") + require_version("badam>=1.2.1", "To fix: pip install badam>=1.2.1") if finetuning_args.plot_loss: require_version("matplotlib", "To fix: pip install matplotlib") @@ -214,15 +214,15 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: if ( finetuning_args.use_badam - and training_args.parallel_mode.value == "distributed" + and training_args.parallel_mode == ParallelMode.DISTRIBUTED ): if finetuning_args.badam_mode == "ratio": - raise ValueError("Ratio-wise BAdam does not yet support distributed training, use layer-wise BAdam: --badam_mode layer") - if finetuning_args.badam_mode == "layer" and (not is_deepspeed_zero3_enabled()): - raise ValueError(f"Layer-wise BAdam only supports DeepSpeed ZeRO 3 stage.") + raise ValueError("Radio-based BAdam does not yet support distributed training, use layer-wise BAdam.") + elif not is_deepspeed_zero3_enabled(): + raise ValueError("Layer-wise BAdam only supports DeepSpeed ZeRO-3 training.") - if (finetuning_args.use_galore) and training_args.deepspeed is not None: - raise ValueError("GaLore are incompatible with DeepSpeed yet.") + if finetuning_args.use_galore and training_args.deepspeed is not None: + raise ValueError("GaLore is incompatible with DeepSpeed yet.") if model_args.infer_backend == "vllm": raise ValueError("vLLM backend is only available for API, CLI and Web.") diff --git a/src/llamafactory/train/dpo/trainer.py b/src/llamafactory/train/dpo/trainer.py index a3e0e961..ed4fd5d9 100644 --- a/src/llamafactory/train/dpo/trainer.py +++ b/src/llamafactory/train/dpo/trainer.py @@ -96,7 +96,8 @@ class CustomDPOTrainer(DPOTrainer): self.save_model(os.path.join(self.args.output_dir, "pissa_init")) if finetuning_args.use_badam: - from badam import clip_grad_norm_old_version, BAdamCallback + from badam import BAdamCallback, clip_grad_norm_old_version + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) self.callback_handler.add_callback(BAdamCallback) diff --git a/src/llamafactory/train/kto/trainer.py b/src/llamafactory/train/kto/trainer.py index 0d50987f..c2edf95a 100644 --- a/src/llamafactory/train/kto/trainer.py +++ b/src/llamafactory/train/kto/trainer.py @@ -91,7 +91,8 @@ class CustomKTOTrainer(KTOTrainer): self.ref_model.eval() if finetuning_args.use_badam: - from badam import clip_grad_norm_old_version, BAdamCallback + from badam import BAdamCallback, clip_grad_norm_old_version + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) self.callback_handler.add_callback(BAdamCallback) diff --git a/src/llamafactory/train/ppo/trainer.py b/src/llamafactory/train/ppo/trainer.py index 2d5d7ffc..70d01919 100644 --- a/src/llamafactory/train/ppo/trainer.py +++ b/src/llamafactory/train/ppo/trainer.py @@ -166,7 +166,8 @@ class CustomPPOTrainer(PPOTrainer, Trainer): self.reward_model = self.accelerator.prepare_model(self.reward_model, evaluation_mode=True) if finetuning_args.use_badam: - from badam import clip_grad_norm_old_version, BAdamCallback + from badam import BAdamCallback, clip_grad_norm_old_version + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) self.callback_handler.add_callback(BAdamCallback) diff --git a/src/llamafactory/train/pt/trainer.py b/src/llamafactory/train/pt/trainer.py index d3516b41..b6fb161d 100644 --- a/src/llamafactory/train/pt/trainer.py +++ b/src/llamafactory/train/pt/trainer.py @@ -48,7 +48,8 @@ class CustomTrainer(Trainer): self.save_model(os.path.join(self.args.output_dir, "pissa_init")) if finetuning_args.use_badam: - from badam import clip_grad_norm_old_version, BAdamCallback + from badam import BAdamCallback, clip_grad_norm_old_version + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) self.callback_handler.add_callback(BAdamCallback) diff --git a/src/llamafactory/train/rm/trainer.py b/src/llamafactory/train/rm/trainer.py index 433251cf..70c2e9a0 100644 --- a/src/llamafactory/train/rm/trainer.py +++ b/src/llamafactory/train/rm/trainer.py @@ -72,7 +72,8 @@ class PairwiseTrainer(Trainer): self.processor = processor self.can_return_loss = True # override property to return eval_loss if finetuning_args.use_badam: - from badam import clip_grad_norm_old_version, BAdamCallback + from badam import BAdamCallback, clip_grad_norm_old_version + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) self.callback_handler.add_callback(BAdamCallback) diff --git a/src/llamafactory/train/sft/trainer.py b/src/llamafactory/train/sft/trainer.py index 45799b96..8f18317f 100644 --- a/src/llamafactory/train/sft/trainer.py +++ b/src/llamafactory/train/sft/trainer.py @@ -56,7 +56,8 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): self.save_model(os.path.join(self.args.output_dir, "pissa_init")) if finetuning_args.use_badam: - from badam import clip_grad_norm_old_version, BAdamCallback + from badam import BAdamCallback, clip_grad_norm_old_version + self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) self.callback_handler.add_callback(BAdamCallback) diff --git a/src/llamafactory/train/trainer_utils.py b/src/llamafactory/train/trainer_utils.py index 0206dcb6..21d41c36 100644 --- a/src/llamafactory/train/trainer_utils.py +++ b/src/llamafactory/train/trainer_utils.py @@ -23,6 +23,7 @@ from typing import TYPE_CHECKING, Callable, Dict, List, Optional, Tuple, Union import torch from peft import PeftModel from transformers import Trainer +from transformers.integrations import is_deepspeed_zero3_enabled from transformers.optimization import get_scheduler from transformers.pytorch_utils import ALL_LAYERNORM_LAYERS from transformers.trainer_pt_utils import get_parameter_names @@ -372,9 +373,6 @@ def _create_badam_optimizer( dict(params=decay_params, weight_decay=training_args.weight_decay), ] - from transformers.integrations import is_deepspeed_zero3_enabled - ds_zero3_enabled = is_deepspeed_zero3_enabled() - if finetuning_args.badam_mode == "layer": from badam import BlockOptimizer @@ -387,7 +385,7 @@ def _create_badam_optimizer( start_block=finetuning_args.badam_start_block, switch_mode=finetuning_args.badam_switch_mode, verbose=finetuning_args.badam_verbose, - ds_zero3_enabled=ds_zero3_enabled + ds_zero3_enabled=is_deepspeed_zero3_enabled(), ) logger.info( f"Using BAdam optimizer with layer-wise update, switch mode is {finetuning_args.badam_switch_mode}, " @@ -398,7 +396,6 @@ def _create_badam_optimizer( elif finetuning_args.badam_mode == "ratio": from badam import BlockOptimizerRatio - assert not ds_zero3_enabled, "BAdam with ratio-based update does not support Deepspeed ZeRO-3 yet, use layer-wise update instead: --badam_mode layer." assert finetuning_args.badam_update_ratio > 1e-6 optimizer = BlockOptimizerRatio( param_groups=param_groups, From ad0304e147b63ffef3e6c3877a61970174658d43 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 25 Jun 2024 02:31:44 +0800 Subject: [PATCH 123/169] fix #4379 Former-commit-id: cc016461e63a570142b56d50a5d11e55a96ab8db --- src/llamafactory/train/tuner.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/llamafactory/train/tuner.py b/src/llamafactory/train/tuner.py index 788b4c4f..a02fff22 100644 --- a/src/llamafactory/train/tuner.py +++ b/src/llamafactory/train/tuner.py @@ -12,6 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. +import os +import shutil from typing import TYPE_CHECKING, Any, Dict, List, Optional import torch @@ -19,6 +21,7 @@ from transformers import PreTrainedModel from ..data import get_template_and_fix_tokenizer from ..extras.callbacks import LogCallback +from ..extras.constants import V_HEAD_SAFE_WEIGHTS_NAME, V_HEAD_WEIGHTS_NAME from ..extras.logging import get_logger from ..hparams import get_infer_args, get_train_args from ..model import load_model, load_tokenizer @@ -98,6 +101,25 @@ def export_model(args: Optional[Dict[str, Any]] = None) -> None: safe_serialization=(not model_args.export_legacy_format), ) + if finetuning_args.stage == "rm": + if model_args.adapter_name_or_path is not None: + vhead_path = model_args.adapter_name_or_path[-1] + else: + vhead_path = model_args.model_name_or_path + + if os.path.exists(os.path.join(vhead_path, V_HEAD_SAFE_WEIGHTS_NAME)): + shutil.copy( + os.path.join(vhead_path, V_HEAD_SAFE_WEIGHTS_NAME), + os.path.join(model_args.export_dir, V_HEAD_SAFE_WEIGHTS_NAME), + ) + logger.info("Copied valuehead to {}.".format(model_args.export_dir)) + elif os.path.exists(os.path.join(vhead_path, V_HEAD_WEIGHTS_NAME)): + shutil.copy( + os.path.join(vhead_path, V_HEAD_WEIGHTS_NAME), + os.path.join(model_args.export_dir, V_HEAD_WEIGHTS_NAME), + ) + logger.info("Copied valuehead to {}.".format(model_args.export_dir)) + try: tokenizer.padding_side = "left" # restore padding side tokenizer.init_kwargs["padding_side"] = "left" From 0ae1302e415825b816b15b08c64d4768a4ac3452 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 25 Jun 2024 02:34:04 +0800 Subject: [PATCH 124/169] fix #4432 Former-commit-id: 1e9d0aa1e45fac52614e79a9fe87e8f1d3757333 --- src/llamafactory/model/loader.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/llamafactory/model/loader.py b/src/llamafactory/model/loader.py index 69cccd93..e1015821 100644 --- a/src/llamafactory/model/loader.py +++ b/src/llamafactory/model/loader.py @@ -14,6 +14,7 @@ from typing import TYPE_CHECKING, Any, Dict, Optional, TypedDict +import torch from transformers import AutoConfig, AutoModelForCausalLM, AutoModelForVision2Seq, AutoProcessor, AutoTokenizer from trl import AutoModelForCausalLMWithValueHead @@ -175,6 +176,10 @@ def load_model( if not is_trainable: model.requires_grad_(False) + for param in model.parameters(): + if param.data.dtype == torch.float32 and model_args.compute_dtype != torch.float32: + param.data = param.data.to(model_args.compute_dtype) + model.eval() else: model.train() From 80effa29933a54b1149cf7f505e7ae194f84cef9 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 25 Jun 2024 02:51:49 +0800 Subject: [PATCH 125/169] fix test case Former-commit-id: c244af0dc3478532de02271667e7af4ad8f54228 --- tests/model/test_base.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/model/test_base.py b/tests/model/test_base.py index e1991b20..6431a504 100644 --- a/tests/model/test_base.py +++ b/tests/model/test_base.py @@ -73,7 +73,8 @@ def test_valuehead(): tokenizer_module["tokenizer"], model_args, finetuning_args, is_trainable=False, add_valuehead=True ) - ref_model = AutoModelForCausalLMWithValueHead.from_pretrained( + ref_model: "AutoModelForCausalLMWithValueHead" = AutoModelForCausalLMWithValueHead.from_pretrained( TINY_LLAMA_VALUEHEAD, torch_dtype=torch.float16, device_map=get_current_device() ) + ref_model.v_head = ref_model.v_head.to(torch.float16) compare_model(model, ref_model) From f3f25ae3b79f86f078bc54ca2c535636513dcc7c Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 25 Jun 2024 02:55:50 +0800 Subject: [PATCH 126/169] lint Former-commit-id: 555ca8d780a1fbaf42e73450f5eb33048329d921 --- src/llamafactory/hparams/parser.py | 5 +---- tests/data/test_formatter.py | 4 +--- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index a4b7f7a5..d4bcfbc6 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -212,10 +212,7 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: ): raise ValueError("Distributed training does not support layer-wise GaLore.") - if ( - finetuning_args.use_badam - and training_args.parallel_mode == ParallelMode.DISTRIBUTED - ): + if finetuning_args.use_badam and training_args.parallel_mode == ParallelMode.DISTRIBUTED: if finetuning_args.badam_mode == "ratio": raise ValueError("Radio-based BAdam does not yet support distributed training, use layer-wise BAdam.") elif not is_deepspeed_zero3_enabled(): diff --git a/tests/data/test_formatter.py b/tests/data/test_formatter.py index a01e8a7e..37b21dc5 100644 --- a/tests/data/test_formatter.py +++ b/tests/data/test_formatter.py @@ -113,9 +113,7 @@ def test_glm4_tool_formatter(): assert formatter.apply(content=json.dumps(tools)) == [ "你是一个名为 ChatGLM 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的," "你的任务是针对用户的问题和要求提供适当的答复和支持。# 可用工具\n\n" - "## test_tool\n\n{}\n在调用上述函数时,请使用 Json 格式表示调用的参数。".format( - json.dumps(tools[0], indent=4) - ) + "## test_tool\n\n{}\n在调用上述函数时,请使用 Json 格式表示调用的参数。".format(json.dumps(tools[0], indent=4)) ] From 1a79dd23ff8c11379533a3a49360da2c00bd7d55 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Tue, 25 Jun 2024 14:34:13 +0800 Subject: [PATCH 127/169] fix #4456 Former-commit-id: 50b44d3c6da7c9cb24a60fedec171fb1de3e764a --- .dockerignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.dockerignore b/.dockerignore index 75cd2209..23ad75a8 100644 --- a/.dockerignore +++ b/.dockerignore @@ -5,7 +5,6 @@ cache data docker -examples saves hf_cache output From 08a221443cab5a4cc2ad066682687619471bb218 Mon Sep 17 00:00:00 2001 From: hzhaoy Date: Tue, 25 Jun 2024 15:13:07 +0800 Subject: [PATCH 128/169] support flash-attn in Dockerfile Former-commit-id: c88b1be9f3dfaf5fe65448dea20fc697b4f257bd --- docker/docker-cuda/Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docker/docker-cuda/Dockerfile b/docker/docker-cuda/Dockerfile index 827b7b3c..06a172f0 100644 --- a/docker/docker-cuda/Dockerfile +++ b/docker/docker-cuda/Dockerfile @@ -35,6 +35,11 @@ RUN EXTRA_PACKAGES="metrics"; \ pip install -e .[$EXTRA_PACKAGES] && \ pip uninstall -y transformer-engine flash-attn +# Rebuild flash-attn +RUN ninja --version || \ + (pip uninstall -y ninja && pip install ninja) && \ + MAX_JOBS=4 pip install --no-cache-dir flash-attn --no-build-isolation + # Set up volumes VOLUME [ "/root/.cache/huggingface", "/root/.cache/modelscope", "/app/data", "/app/output" ] From 7c7d6614d822b873ab0b476f346859bb0e8aeb27 Mon Sep 17 00:00:00 2001 From: MengqingCao Date: Wed, 26 Jun 2024 02:15:00 +0000 Subject: [PATCH 129/169] fix docker-compose path Former-commit-id: 106647a99d36c4a624511edf651cf5f7624c4c9a --- docker/docker-cuda/docker-compose.yml | 8 ++++---- docker/docker-npu/docker-compose.yml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docker/docker-cuda/docker-compose.yml b/docker/docker-cuda/docker-compose.yml index 1c0a3c75..e2d1a5ad 100644 --- a/docker/docker-cuda/docker-compose.yml +++ b/docker/docker-cuda/docker-compose.yml @@ -10,10 +10,10 @@ services: PIP_INDEX: https://pypi.org/simple container_name: llamafactory volumes: - - ./hf_cache:/root/.cache/huggingface - - ./ms_cache:/root/.cache/modelscope - - ./data:/app/data - - ./output:/app/output + - ../../hf_cache:/root/.cache/huggingface + - ../../ms_cache:/root/.cache/modelscope + - ../../data:/app/data + - ../../output:/app/output ports: - "7860:7860" - "8000:8000" diff --git a/docker/docker-npu/docker-compose.yml b/docker/docker-npu/docker-compose.yml index a6b878fd..657cba9f 100644 --- a/docker/docker-npu/docker-compose.yml +++ b/docker/docker-npu/docker-compose.yml @@ -8,10 +8,10 @@ services: PIP_INDEX: https://pypi.org/simple container_name: llamafactory volumes: - - ./hf_cache:/root/.cache/huggingface - - ./ms_cache:/root/.cache/modelscope - - ./data:/app/data - - ./output:/app/output + - ../../hf_cache:/root/.cache/huggingface + - ../../ms_cache:/root/.cache/modelscope + - ../../data:/app/data + - ../../output:/app/output - /usr/local/dcmi:/usr/local/dcmi - /usr/local/bin/npu-smi:/usr/local/bin/npu-smi - /usr/local/Ascend/driver:/usr/local/Ascend/driver From e7bd3ab6c3fbfc9bcbfcaad1ce524e682ce5deaa Mon Sep 17 00:00:00 2001 From: fanjunliang Date: Wed, 26 Jun 2024 18:21:42 +0800 Subject: [PATCH 130/169] fix torch-npu dependency Former-commit-id: 8096f94a7db3e357c52906c83cad9f3c360bad7e --- docker/docker-npu/Dockerfile | 9 +++++---- setup.py | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docker/docker-npu/Dockerfile b/docker/docker-npu/Dockerfile index 08de626b..0ec16107 100644 --- a/docker/docker-npu/Dockerfile +++ b/docker/docker-npu/Dockerfile @@ -7,16 +7,17 @@ ENV DEBIAN_FRONTEND=noninteractive # Define installation arguments ARG INSTALL_DEEPSPEED=false ARG PIP_INDEX=https://pypi.org/simple +ARG EXTRA_INDEX=https://download.pytorch.org/whl/cpu # Set the working directory WORKDIR /app # Install the requirements COPY requirements.txt /app -RUN pip config set global.index-url $PIP_INDEX -RUN pip config set global.extra-index-url $PIP_INDEX -RUN python -m pip install --upgrade pip -RUN python -m pip install -r requirements.txt +RUN pip config set global.index-url $PIP_INDEX && \ + pip config set global.extra-index-url $EXTRA_INDEX && \ + pip install --upgrade pip && \ + pip install -r requirements.txt # Copy the rest of the application into the image COPY . /app diff --git a/setup.py b/setup.py index 64f50a87..89301d1b 100644 --- a/setup.py +++ b/setup.py @@ -35,7 +35,7 @@ def get_requires(): extra_require = { "torch": ["torch>=1.13.1"], - "torch-npu": ["torch==2.1.0", "torch-npu==2.1.0.post3", "decorator"], + "torch-npu": ["torch==2.1.0+cpu", "torch-npu==2.1.0.post3", "decorator"], "metrics": ["nltk", "jieba", "rouge-chinese"], "deepspeed": ["deepspeed>=0.10.0"], "bitsandbytes": ["bitsandbytes>=0.39.0"], From 654116c0b1938097d6e8b73920e6077f53ccc6a6 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 26 Jun 2024 19:43:16 +0800 Subject: [PATCH 131/169] fix #4556 Former-commit-id: 59e0b4f616736ede37cc37a13346b547f5a2d4e7 --- scripts/loftq_init.py | 8 ++++++-- scripts/pissa_init.py | 8 ++++++-- src/llamafactory/data/template.py | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/scripts/loftq_init.py b/scripts/loftq_init.py index b9506fa3..4d2c01b9 100644 --- a/scripts/loftq_init.py +++ b/scripts/loftq_init.py @@ -36,15 +36,19 @@ def quantize_loftq( lora_alpha: int = None, lora_rank: int = 16, lora_dropout: float = 0, - lora_target: str = "q_proj,v_proj", + lora_target: tuple = ("q_proj", "v_proj"), save_safetensors: bool = True, ): r""" Initializes LoRA weights with LoRA-fine-tuning-aware Quantization (LoftQ) Usage: python loftq_init.py --model_name_or_path path_to_model --output_dir output_dir """ + if isinstance(lora_target, str): + lora_target = [name.strip() for name in lora_target.split(",")] + tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype="auto") + loftq_config = LoftQConfig(loftq_bits=loftq_bits, loftq_iter=loftq_iter) lora_config = LoraConfig( task_type=TaskType.CAUSAL_LM, @@ -52,7 +56,7 @@ def quantize_loftq( r=lora_rank, lora_alpha=lora_alpha if lora_alpha is not None else lora_rank * 2, lora_dropout=lora_dropout, - target_modules=[name.strip() for name in lora_target.split(",")], + target_modules=lora_target, init_lora_weights="loftq", loftq_config=loftq_config, ) diff --git a/scripts/pissa_init.py b/scripts/pissa_init.py index 50239727..ad9d161c 100644 --- a/scripts/pissa_init.py +++ b/scripts/pissa_init.py @@ -35,21 +35,25 @@ def quantize_pissa( lora_alpha: int = None, lora_rank: int = 16, lora_dropout: float = 0, - lora_target: str = "q_proj,v_proj", + lora_target: tuple = ("q_proj", "v_proj"), save_safetensors: bool = True, ): r""" Initializes LoRA weights with Principal Singular values and Singular vectors Adaptation (PiSSA) Usage: python pissa_init.py --model_name_or_path path_to_model --output_dir output_dir """ + if isinstance(lora_target, str): + lora_target = [name.strip() for name in lora_target.split(",")] + tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype="auto") + lora_config = LoraConfig( task_type=TaskType.CAUSAL_LM, r=lora_rank, lora_alpha=lora_alpha if lora_alpha is not None else lora_rank * 2, lora_dropout=lora_dropout, - target_modules=[name.strip() for name in lora_target.split(",")], + target_modules=lora_target, init_lora_weights="pissa" if pissa_iter == -1 else "pissa_niter_{}".format(pissa_iter), ) diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index 193ff482..53f16df4 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -618,7 +618,7 @@ _register_template( _register_template( name="default", - format_user=StringFormatter(slots=["Human: {{content}}\nAssistant: "]), + format_user=StringFormatter(slots=["Human: {{content}}\nAssistant:"]), format_system=StringFormatter(slots=["{{content}}\n"]), format_separator=EmptyFormatter(slots=["\n"]), ) From 28e613efd01599ac8ce3820f6dbb964235c0cf86 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 26 Jun 2024 19:52:35 +0800 Subject: [PATCH 132/169] fix #4458 Former-commit-id: 8d6cd69ac43afd4bd7c14bd02b0061455827ac9e --- src/llamafactory/train/ppo/trainer.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/llamafactory/train/ppo/trainer.py b/src/llamafactory/train/ppo/trainer.py index 70d01919..c5f6e175 100644 --- a/src/llamafactory/train/ppo/trainer.py +++ b/src/llamafactory/train/ppo/trainer.py @@ -99,10 +99,10 @@ class CustomPPOTrainer(PPOTrainer, Trainer): ) # Add deepspeed config - ppo_config.accelerator_kwargs["kwargs_handlers"] = [ - DistributedDataParallelKwargs(find_unused_parameters=training_args.ddp_find_unused_parameters) - ] if training_args.deepspeed_plugin is not None: + ppo_config.accelerator_kwargs["kwargs_handlers"] = [ + DistributedDataParallelKwargs(find_unused_parameters=training_args.ddp_find_unused_parameters) + ] ppo_config.accelerator_kwargs["deepspeed_plugin"] = training_args.deepspeed_plugin # Create optimizer and scheduler From 6b2733ce12338bf7c0c05be5d15c0314bbea0250 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Wed, 26 Jun 2024 22:11:44 +0800 Subject: [PATCH 133/169] improve autogptq integration Former-commit-id: addca926de42f91366185a47eb8e777ed44a8e77 --- setup.py | 2 +- .../model/model_utils/quantization.py | 41 ++++++++++++------- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/setup.py b/setup.py index 64f50a87..8254b6d4 100644 --- a/setup.py +++ b/setup.py @@ -42,7 +42,7 @@ extra_require = { "vllm": ["vllm>=0.4.3"], "galore": ["galore-torch"], "badam": ["badam>=1.2.1"], - "gptq": ["optimum>=1.16.0", "auto-gptq>=0.5.0"], + "gptq": ["optimum>=1.17.0", "auto-gptq>=0.5.0"], "awq": ["autoawq"], "aqlm": ["aqlm[gpu]>=1.1.0"], "qwen": ["transformers_stream_generator"], diff --git a/src/llamafactory/model/model_utils/quantization.py b/src/llamafactory/model/model_utils/quantization.py index 5251f84f..fab61cb8 100644 --- a/src/llamafactory/model/model_utils/quantization.py +++ b/src/llamafactory/model/model_utils/quantization.py @@ -57,9 +57,9 @@ class QuantizationMethod(str, Enum): HQQ = "hqq" -def _get_quantization_dataset(tokenizer: "PreTrainedTokenizer", model_args: "ModelArguments") -> List[str]: +def _get_quantization_dataset(tokenizer: "PreTrainedTokenizer", model_args: "ModelArguments") -> List[Dict[str, Any]]: r""" - TODO: remove tokenizer.decode() https://github.com/huggingface/optimum/pull/1600 + Prepares the dataset to perform AutoGPTQ. """ if os.path.isfile(model_args.export_quantization_dataset): data_path = FILEEXT2TYPE.get(model_args.export_quantization_dataset.split(".")[-1], None) @@ -68,20 +68,32 @@ def _get_quantization_dataset(tokenizer: "PreTrainedTokenizer", model_args: "Mod data_path = model_args.export_quantization_dataset data_files = None - dataset = load_dataset(path=data_path, data_files=data_files, split="train", cache_dir=model_args.cache_dir) - maxlen = model_args.export_quantization_maxlen + dataset = load_dataset( + path=data_path, + data_files=data_files, + split="train", + cache_dir=model_args.cache_dir, + token=model_args.hf_hub_token, + ) samples = [] + maxlen = model_args.export_quantization_maxlen for _ in range(model_args.export_quantization_nsamples): + n_try = 0 while True: + if n_try > 100: + raise ValueError("Cannot find satisfying example, considering decrease `export_quantization_maxlen`.") + sample_idx = random.randint(0, len(dataset) - 1) - sample: Dict[str, torch.Tensor] = tokenizer(dataset[sample_idx]["text"], return_tensors="pt") - if sample["input_ids"].size(1) >= maxlen: + sample: Dict[str, "torch.Tensor"] = tokenizer(dataset[sample_idx]["text"], return_tensors="pt") + n_try += 1 + if sample["input_ids"].size(1) > maxlen: break # TODO: fix large maxlen word_idx = random.randint(0, sample["input_ids"].size(1) - maxlen - 1) input_ids = sample["input_ids"][:, word_idx : word_idx + maxlen] - samples.append(tokenizer.decode(input_ids[0].tolist(), skip_special_tokens=True)) + attention_mask = sample["attention_mask"][:, word_idx : word_idx + maxlen] + samples.append({"input_ids": input_ids, "attention_mask": attention_mask}) return samples @@ -119,21 +131,20 @@ def configure_quantization( logger.info("Loading {}-bit {}-quantized model.".format(quant_bits, quant_method.upper())) elif model_args.export_quantization_bit is not None: # auto-gptq - require_version("optimum>=1.16.0", "To fix: pip install optimum>=1.16.0") + require_version("optimum>=1.17.0", "To fix: pip install optimum>=1.17.0") require_version("auto_gptq>=0.5.0", "To fix: pip install auto_gptq>=0.5.0") from accelerate.utils import get_max_memory if getattr(config, "model_type", None) == "chatglm": - raise ValueError("ChatGLM model is not supported.") + raise ValueError("ChatGLM model is not supported yet.") init_kwargs["quantization_config"] = GPTQConfig( bits=model_args.export_quantization_bit, - tokenizer=tokenizer, dataset=_get_quantization_dataset(tokenizer, model_args), ) init_kwargs["device_map"] = "auto" init_kwargs["max_memory"] = get_max_memory() - logger.info("Quantizing model to {} bit.".format(model_args.export_quantization_bit)) + logger.info("Quantizing model to {} bit with AutoGPTQ.".format(model_args.export_quantization_bit)) elif model_args.quantization_bit is not None: # bnb if model_args.quantization_bit == 8: @@ -150,9 +161,9 @@ def configure_quantization( bnb_4bit_quant_storage=model_args.compute_dtype, # crucial for fsdp+qlora ) - # assign device map if: - # 1. not deepspeed zero3 and not fsdp - # 2. not auto quantization device map + # Do not assign device map if: + # 1. deepspeed zero3 or fsdp (train) + # 2. auto quantization device map (inference) if is_deepspeed_zero3_enabled() or is_fsdp_enabled() or model_args.quantization_device_map == "auto": if model_args.quantization_bit != 4: raise ValueError("Only 4-bit quantized model can use fsdp+qlora or auto device map.") @@ -161,4 +172,4 @@ def configure_quantization( else: init_kwargs["device_map"] = {"": get_current_device()} # change auto device map for inference - logger.info("Quantizing model to {} bit.".format(model_args.quantization_bit)) + logger.info("Quantizing model to {} bit with bitsandbytes.".format(model_args.quantization_bit)) From c662c2e56f198a8b479bf28d36bec3585bc201c3 Mon Sep 17 00:00:00 2001 From: hzhaoy Date: Thu, 27 Jun 2024 00:11:04 +0800 Subject: [PATCH 134/169] add flash-attn installation flag in Dockerfile Former-commit-id: e19491b0f0446f2fb2154cf14e0b2fbba5b54808 --- README.md | 1 + README_zh.md | 1 + docker/docker-cuda/Dockerfile | 9 ++++++--- docker/docker-cuda/docker-compose.yml | 1 + 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 4b42edd7..cdca8333 100644 --- a/README.md +++ b/README.md @@ -444,6 +444,7 @@ docker build -f ./docker/docker-cuda/Dockerfile \ --build-arg INSTALL_BNB=false \ --build-arg INSTALL_VLLM=false \ --build-arg INSTALL_DEEPSPEED=false \ + --build-arg INSTALL_FLASH_ATTN=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . diff --git a/README_zh.md b/README_zh.md index 3926c09d..d26c8268 100644 --- a/README_zh.md +++ b/README_zh.md @@ -444,6 +444,7 @@ docker build -f ./docker/docker-cuda/Dockerfile \ --build-arg INSTALL_BNB=false \ --build-arg INSTALL_VLLM=false \ --build-arg INSTALL_DEEPSPEED=false \ + --build-arg INSTALL_FLASH_ATTN=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . diff --git a/docker/docker-cuda/Dockerfile b/docker/docker-cuda/Dockerfile index 06a172f0..44aaf538 100644 --- a/docker/docker-cuda/Dockerfile +++ b/docker/docker-cuda/Dockerfile @@ -6,6 +6,7 @@ FROM nvcr.io/nvidia/pytorch:24.02-py3 ARG INSTALL_BNB=false ARG INSTALL_VLLM=false ARG INSTALL_DEEPSPEED=false +ARG INSTALL_FLASH_ATTN=false ARG PIP_INDEX=https://pypi.org/simple # Set the working directory @@ -36,9 +37,11 @@ RUN EXTRA_PACKAGES="metrics"; \ pip uninstall -y transformer-engine flash-attn # Rebuild flash-attn -RUN ninja --version || \ - (pip uninstall -y ninja && pip install ninja) && \ - MAX_JOBS=4 pip install --no-cache-dir flash-attn --no-build-isolation +RUN if [ "$INSTALL_FLASH_ATTN" = "true" ]; then \ + ninja --version || \ + (pip uninstall -y ninja && pip install ninja) && \ + MAX_JOBS=4 pip install --no-cache-dir flash-attn --no-build-isolation \ + fi; # Set up volumes VOLUME [ "/root/.cache/huggingface", "/root/.cache/modelscope", "/app/data", "/app/output" ] diff --git a/docker/docker-cuda/docker-compose.yml b/docker/docker-cuda/docker-compose.yml index 1c0a3c75..ad269cb0 100644 --- a/docker/docker-cuda/docker-compose.yml +++ b/docker/docker-cuda/docker-compose.yml @@ -7,6 +7,7 @@ services: INSTALL_BNB: false INSTALL_VLLM: false INSTALL_DEEPSPEED: false + INSTALL_FLASH_ATTN: false PIP_INDEX: https://pypi.org/simple container_name: llamafactory volumes: From d2d9fa4abb393ff08e9304770025de732d562f25 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 27 Jun 2024 00:29:42 +0800 Subject: [PATCH 135/169] support HQQ/EETQ #4113 Former-commit-id: ad144c2265cdee0d23014dbb3d017ea257cb26ed --- README.md | 4 +- README_zh.md | 4 +- setup.py | 8 +- src/llamafactory/extras/env.py | 5 +- src/llamafactory/hparams/model_args.py | 7 +- src/llamafactory/model/__init__.py | 2 + src/llamafactory/model/loader.py | 4 +- .../model/model_utils/quantization.py | 75 ++++++++++++------- src/llamafactory/webui/chatter.py | 10 ++- src/llamafactory/webui/common.py | 2 + src/llamafactory/webui/components/export.py | 5 +- src/llamafactory/webui/components/top.py | 13 ++-- src/llamafactory/webui/locales.py | 20 ++++- src/llamafactory/webui/manager.py | 1 + src/llamafactory/webui/runner.py | 18 ++++- src/llamafactory/webui/utils.py | 13 ++++ 16 files changed, 134 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index 4b42edd7..443c8cf7 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ Choose your path: - **Various models**: LLaMA, LLaVA, Mistral, Mixtral-MoE, Qwen, Yi, Gemma, Baichuan, ChatGLM, Phi, etc. - **Integrated methods**: (Continuous) pre-training, (multimodal) supervised fine-tuning, reward modeling, PPO, DPO, KTO, ORPO, etc. -- **Scalable resources**: 32-bit full-tuning, 16-bit freeze-tuning, 16-bit LoRA and 2/4/8-bit QLoRA via AQLM/AWQ/GPTQ/LLM.int8. +- **Scalable resources**: 16-bit full-tuning, freeze-tuning, LoRA and 2/3/4/5/6/8-bit QLoRA via AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ. - **Advanced algorithms**: GaLore, BAdam, DoRA, LongLoRA, LLaMA Pro, Mixture-of-Depths, LoRA+, LoftQ, PiSSA and Agent tuning. - **Practical tricks**: FlashAttention-2, Unsloth, RoPE scaling, NEFTune and rsLoRA. - **Experiment monitors**: LlamaBoard, TensorBoard, Wandb, MLflow, etc. @@ -341,7 +341,7 @@ cd LLaMA-Factory pip install -e ".[torch,metrics]" ``` -Extra dependencies available: torch, torch_npu, metrics, deepspeed, bitsandbytes, vllm, galore, badam, gptq, awq, aqlm, qwen, modelscope, quality +Extra dependencies available: torch, torch-npu, metrics, deepspeed, bitsandbytes, hqq, eetq, gptq, awq, aqlm, vllm, galore, badam, qwen, modelscope, quality > [!TIP] > Use `pip install --no-deps -e .` to resolve package conflicts. diff --git a/README_zh.md b/README_zh.md index 3926c09d..d5172a7d 100644 --- a/README_zh.md +++ b/README_zh.md @@ -48,7 +48,7 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd - **多种模型**:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。 - **集成方法**:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练、KTO 训练、ORPO 训练等等。 -- **多种精度**:32 比特全参数微调、16 比特冻结微调、16 比特 LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8 的 2/4/8 比特 QLoRA 微调。 +- **多种精度**:16 比特全参数微调、冻结微调、LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 比特 QLoRA 微调。 - **先进算法**:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA 和 Agent 微调。 - **实用技巧**:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。 - **实验监控**:LlamaBoard、TensorBoard、Wandb、MLflow 等等。 @@ -341,7 +341,7 @@ cd LLaMA-Factory pip install -e ".[torch,metrics]" ``` -可选的额外依赖项:torch、torch_npu、metrics、deepspeed、bitsandbytes、vllm、galore、badam、gptq、awq、aqlm、qwen、modelscope、quality +可选的额外依赖项:torch、torch-npu、metrics、deepspeed、bitsandbytes、hqq、eetq、gptq、awq、aqlm、vllm、galore、badam、qwen、modelscope、quality > [!TIP] > 遇到包冲突时,可使用 `pip install --no-deps -e .` 解决。 diff --git a/setup.py b/setup.py index 8254b6d4..d43c311c 100644 --- a/setup.py +++ b/setup.py @@ -39,12 +39,14 @@ extra_require = { "metrics": ["nltk", "jieba", "rouge-chinese"], "deepspeed": ["deepspeed>=0.10.0"], "bitsandbytes": ["bitsandbytes>=0.39.0"], - "vllm": ["vllm>=0.4.3"], - "galore": ["galore-torch"], - "badam": ["badam>=1.2.1"], + "hqq": ["hqq"], + "eetq": ["eetq"], "gptq": ["optimum>=1.17.0", "auto-gptq>=0.5.0"], "awq": ["autoawq"], "aqlm": ["aqlm[gpu]>=1.1.0"], + "vllm": ["vllm>=0.4.3"], + "galore": ["galore-torch"], + "badam": ["badam>=1.2.1"], "qwen": ["transformers_stream_generator"], "modelscope": ["modelscope"], "dev": ["ruff", "pytest"], diff --git a/src/llamafactory/extras/env.py b/src/llamafactory/extras/env.py index ab387231..14876048 100644 --- a/src/llamafactory/extras/env.py +++ b/src/llamafactory/extras/env.py @@ -1,4 +1,7 @@ -# Copyright 2024 the LlamaFactory team. +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by the HuggingFace's transformers library. +# https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/commands/env.py # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/src/llamafactory/hparams/model_args.py b/src/llamafactory/hparams/model_args.py index 3f21145d..087c8c38 100644 --- a/src/llamafactory/hparams/model_args.py +++ b/src/llamafactory/hparams/model_args.py @@ -77,6 +77,10 @@ class ModelArguments: default=True, metadata={"help": "Whether or not to use memory-efficient model loading."}, ) + quantization_method: Literal["bitsandbytes", "hqq", "eetq"] = field( + default="bitsandbytes", + metadata={"help": "Quantization method to use for on-the-fly quantization."}, + ) quantization_bit: Optional[int] = field( default=None, metadata={"help": "The number of bits to quantize the model using bitsandbytes."}, @@ -235,9 +239,6 @@ class ModelArguments: if self.new_special_tokens is not None: # support multiple special tokens self.new_special_tokens = [token.strip() for token in self.new_special_tokens.split(",")] - assert self.quantization_bit in [None, 8, 4], "We only accept 4-bit or 8-bit quantization." - assert self.export_quantization_bit in [None, 8, 4, 3, 2], "We only accept 2/3/4/8-bit quantization." - if self.export_quantization_bit is not None and self.export_quantization_dataset is None: raise ValueError("Quantization dataset is necessary for exporting.") diff --git a/src/llamafactory/model/__init__.py b/src/llamafactory/model/__init__.py index 4abbaa1b..48cfe76c 100644 --- a/src/llamafactory/model/__init__.py +++ b/src/llamafactory/model/__init__.py @@ -14,10 +14,12 @@ from .loader import load_config, load_model, load_tokenizer from .model_utils.misc import find_all_linear_modules +from .model_utils.quantization import QuantizationMethod from .model_utils.valuehead import load_valuehead_params __all__ = [ + "QuantizationMethod", "load_config", "load_model", "load_tokenizer", diff --git a/src/llamafactory/model/loader.py b/src/llamafactory/model/loader.py index e1015821..1261d17a 100644 --- a/src/llamafactory/model/loader.py +++ b/src/llamafactory/model/loader.py @@ -186,11 +186,11 @@ def load_model( trainable_params, all_param = count_parameters(model) if is_trainable: - param_stats = "trainable params: {:d} || all params: {:d} || trainable%: {:.4f}".format( + param_stats = "trainable params: {:,} || all params: {:,} || trainable%: {:.4f}".format( trainable_params, all_param, 100 * trainable_params / all_param ) else: - param_stats = "all params: {:d}".format(all_param) + param_stats = "all params: {:,}".format(all_param) logger.info(param_stats) diff --git a/src/llamafactory/model/model_utils/quantization.py b/src/llamafactory/model/model_utils/quantization.py index fab61cb8..3203b4aa 100644 --- a/src/llamafactory/model/model_utils/quantization.py +++ b/src/llamafactory/model/model_utils/quantization.py @@ -23,7 +23,7 @@ from typing import TYPE_CHECKING, Any, Dict, List import torch from datasets import load_dataset -from transformers import BitsAndBytesConfig, GPTQConfig +from transformers import BitsAndBytesConfig, EetqConfig, GPTQConfig, HqqConfig from transformers.integrations import is_deepspeed_zero3_enabled from transformers.modeling_utils import is_fsdp_enabled from transformers.utils.versions import require_version @@ -59,7 +59,7 @@ class QuantizationMethod(str, Enum): def _get_quantization_dataset(tokenizer: "PreTrainedTokenizer", model_args: "ModelArguments") -> List[Dict[str, Any]]: r""" - Prepares the dataset to perform AutoGPTQ. + Prepares the tokenized dataset to perform AutoGPTQ. Do not use tensor output for JSON serialization. """ if os.path.isfile(model_args.export_quantization_dataset): data_path = FILEEXT2TYPE.get(model_args.export_quantization_dataset.split(".")[-1], None) @@ -93,7 +93,7 @@ def _get_quantization_dataset(tokenizer: "PreTrainedTokenizer", model_args: "Mod word_idx = random.randint(0, sample["input_ids"].size(1) - maxlen - 1) input_ids = sample["input_ids"][:, word_idx : word_idx + maxlen] attention_mask = sample["attention_mask"][:, word_idx : word_idx + maxlen] - samples.append({"input_ids": input_ids, "attention_mask": attention_mask}) + samples.append({"input_ids": input_ids.tolist(), "attention_mask": attention_mask.tolist()}) return samples @@ -105,7 +105,7 @@ def configure_quantization( init_kwargs: Dict[str, Any], ) -> None: r""" - Priority: PTQ-quantized (training) > AutoGPTQ (export) > Bitsandbytes (training) + Priority: PTQ-quantized (train/infer) > AutoGPTQ (export) > On-the-fly quantization (train/infer) """ if getattr(config, "quantization_config", None): # ptq if is_deepspeed_zero3_enabled(): @@ -131,6 +131,9 @@ def configure_quantization( logger.info("Loading {}-bit {}-quantized model.".format(quant_bits, quant_method.upper())) elif model_args.export_quantization_bit is not None: # auto-gptq + if model_args.export_quantization_bit not in [8, 4, 3, 2]: + raise ValueError("AutoGPTQ only accepts 2/3/4/8-bit quantization.") + require_version("optimum>=1.17.0", "To fix: pip install optimum>=1.17.0") require_version("auto_gptq>=0.5.0", "To fix: pip install auto_gptq>=0.5.0") from accelerate.utils import get_max_memory @@ -146,30 +149,48 @@ def configure_quantization( init_kwargs["max_memory"] = get_max_memory() logger.info("Quantizing model to {} bit with AutoGPTQ.".format(model_args.export_quantization_bit)) - elif model_args.quantization_bit is not None: # bnb - if model_args.quantization_bit == 8: - require_version("bitsandbytes>=0.37.0", "To fix: pip install bitsandbytes>=0.37.0") - init_kwargs["quantization_config"] = BitsAndBytesConfig(load_in_8bit=True) + elif model_args.quantization_bit is not None: # on-the-fly + if model_args.quantization_method == QuantizationMethod.BITS_AND_BYTES.value: + if model_args.quantization_bit == 8: + require_version("bitsandbytes>=0.37.0", "To fix: pip install bitsandbytes>=0.37.0") + init_kwargs["quantization_config"] = BitsAndBytesConfig(load_in_8bit=True) + elif model_args.quantization_bit == 4: + require_version("bitsandbytes>=0.39.0", "To fix: pip install bitsandbytes>=0.39.0") + init_kwargs["quantization_config"] = BitsAndBytesConfig( + load_in_4bit=True, + bnb_4bit_compute_dtype=model_args.compute_dtype, + bnb_4bit_use_double_quant=model_args.double_quantization, + bnb_4bit_quant_type=model_args.quantization_type, + bnb_4bit_quant_storage=model_args.compute_dtype, # crucial for fsdp+qlora + ) + else: + raise ValueError("Bitsandbytes only accepts 4-bit or 8-bit quantization.") - elif model_args.quantization_bit == 4: - require_version("bitsandbytes>=0.39.0", "To fix: pip install bitsandbytes>=0.39.0") - init_kwargs["quantization_config"] = BitsAndBytesConfig( - load_in_4bit=True, - bnb_4bit_compute_dtype=model_args.compute_dtype, - bnb_4bit_use_double_quant=model_args.double_quantization, - bnb_4bit_quant_type=model_args.quantization_type, - bnb_4bit_quant_storage=model_args.compute_dtype, # crucial for fsdp+qlora - ) + # Do not assign device map if: + # 1. deepspeed zero3 or fsdp (train) + # 2. auto quantization device map (inference) + if is_deepspeed_zero3_enabled() or is_fsdp_enabled() or model_args.quantization_device_map == "auto": + if model_args.quantization_bit != 4: + raise ValueError("Only 4-bit quantized model can use fsdp+qlora or auto device map.") - # Do not assign device map if: - # 1. deepspeed zero3 or fsdp (train) - # 2. auto quantization device map (inference) - if is_deepspeed_zero3_enabled() or is_fsdp_enabled() or model_args.quantization_device_map == "auto": - if model_args.quantization_bit != 4: - raise ValueError("Only 4-bit quantized model can use fsdp+qlora or auto device map.") + require_version("bitsandbytes>=0.43.0", "To fix: pip install bitsandbytes>=0.43.0") + else: + init_kwargs["device_map"] = {"": get_current_device()} # change auto device map for inference - require_version("bitsandbytes>=0.43.0", "To fix: pip install bitsandbytes>=0.43.0") - else: - init_kwargs["device_map"] = {"": get_current_device()} # change auto device map for inference + logger.info("Quantizing model to {} bit with bitsandbytes.".format(model_args.quantization_bit)) + elif model_args.quantization_method == QuantizationMethod.HQQ.value: + if model_args.quantization_bit not in [8, 6, 5, 4, 3, 2, 1]: + raise ValueError("HQQ only accepts 1/2/3/4/5/6/8-bit quantization.") - logger.info("Quantizing model to {} bit with bitsandbytes.".format(model_args.quantization_bit)) + require_version("hqq", "To fix: pip install hqq") + init_kwargs["quantization_config"] = HqqConfig( + nbits=model_args.quantization_bit, quant_zero=False, quant_scale=False, axis=0 + ) # use ATEN kernel (axis=0) for performance + logger.info("Quantizing model to {} bit with HQQ.".format(model_args.quantization_bit)) + elif model_args.quantization_method == QuantizationMethod.EETQ.value: + if model_args.quantization_bit != 8: + raise ValueError("EETQ only accepts 8-bit quantization.") + + require_version("eetq", "To fix: pip install eetq") + init_kwargs["quantization_config"] = EetqConfig() + logger.info("Quantizing model to {} bit with EETQ.".format(model_args.quantization_bit)) diff --git a/src/llamafactory/webui/chatter.py b/src/llamafactory/webui/chatter.py index 652c341c..8abef920 100644 --- a/src/llamafactory/webui/chatter.py +++ b/src/llamafactory/webui/chatter.py @@ -23,7 +23,7 @@ from ..data import Role from ..extras.constants import PEFT_METHODS from ..extras.misc import torch_gc from ..extras.packages import is_gradio_available -from .common import get_save_dir +from .common import QUANTIZATION_BITS, get_save_dir from .locales import ALERTS @@ -76,11 +76,17 @@ class WebChatModel(ChatModel): yield error return + if get("top.quantization_bit") in QUANTIZATION_BITS: + quantization_bit = int(get("top.quantization_bit")) + else: + quantization_bit = None + yield ALERTS["info_loading"][lang] args = dict( model_name_or_path=model_path, finetuning_type=finetuning_type, - quantization_bit=int(get("top.quantization_bit")) if get("top.quantization_bit") in ["8", "4"] else None, + quantization_bit=quantization_bit, + quantization_method=get("top.quantization_method"), template=get("top.template"), flash_attn="fa2" if get("top.booster") == "flashattn2" else "auto", use_unsloth=(get("top.booster") == "unsloth"), diff --git a/src/llamafactory/webui/common.py b/src/llamafactory/webui/common.py index 980428a4..bced18f0 100644 --- a/src/llamafactory/webui/common.py +++ b/src/llamafactory/webui/common.py @@ -47,6 +47,8 @@ DEFAULT_CONFIG_DIR = "config" DEFAULT_DATA_DIR = "data" DEFAULT_SAVE_DIR = "saves" USER_CONFIG = "user_config.yaml" +QUANTIZATION_BITS = ["8", "6", "5", "4", "3", "2", "1"] +GPTQ_BITS = ["8", "4", "3", "2"] def get_save_dir(*paths: str) -> os.PathLike: diff --git a/src/llamafactory/webui/components/export.py b/src/llamafactory/webui/components/export.py index 14257949..0a938f02 100644 --- a/src/llamafactory/webui/components/export.py +++ b/src/llamafactory/webui/components/export.py @@ -18,7 +18,7 @@ from ...extras.constants import PEFT_METHODS from ...extras.misc import torch_gc from ...extras.packages import is_gradio_available from ...train.tuner import export_model -from ..common import get_save_dir +from ..common import GPTQ_BITS, get_save_dir from ..locales import ALERTS @@ -32,9 +32,6 @@ if TYPE_CHECKING: from ..engine import Engine -GPTQ_BITS = ["8", "4", "3", "2"] - - def can_quantize(checkpoint_path: Union[str, List[str]]) -> "gr.Dropdown": if isinstance(checkpoint_path, list) and len(checkpoint_path) != 0: return gr.Dropdown(value="none", interactive=False) diff --git a/src/llamafactory/webui/components/top.py b/src/llamafactory/webui/components/top.py index 18b9a7d2..e331d5e4 100644 --- a/src/llamafactory/webui/components/top.py +++ b/src/llamafactory/webui/components/top.py @@ -18,7 +18,7 @@ from ...data import TEMPLATES from ...extras.constants import METHODS, SUPPORTED_MODELS from ...extras.packages import is_gradio_available from ..common import get_model_info, list_checkpoints, save_config -from ..utils import can_quantize +from ..utils import can_quantize, can_quantize_to if is_gradio_available(): @@ -43,10 +43,11 @@ def create_top() -> Dict[str, "Component"]: with gr.Accordion(open=False) as advanced_tab: with gr.Row(): - quantization_bit = gr.Dropdown(choices=["none", "8", "4"], value="none", scale=2) - template = gr.Dropdown(choices=list(TEMPLATES.keys()), value="default", scale=2) - rope_scaling = gr.Radio(choices=["none", "linear", "dynamic"], value="none", scale=3) - booster = gr.Radio(choices=["none", "flashattn2", "unsloth"], value="none", scale=3) + quantization_bit = gr.Dropdown(choices=["none", "8", "4"], value="none", scale=1) + quantization_method = gr.Dropdown(choices=["bitsandbytes", "hqq", "eetq"], value="bitsandbytes", scale=1) + template = gr.Dropdown(choices=list(TEMPLATES.keys()), value="default", scale=1) + rope_scaling = gr.Radio(choices=["none", "linear", "dynamic"], value="none", scale=2) + booster = gr.Radio(choices=["auto", "flashattn2", "unsloth"], value="auto", scale=2) visual_inputs = gr.Checkbox(scale=1) model_name.change(get_model_info, [model_name], [model_path, template, visual_inputs], queue=False).then( @@ -58,6 +59,7 @@ def create_top() -> Dict[str, "Component"]: list_checkpoints, [model_name, finetuning_type], [checkpoint_path], queue=False ) checkpoint_path.focus(list_checkpoints, [model_name, finetuning_type], [checkpoint_path], queue=False) + quantization_method.change(can_quantize_to, [quantization_method], [quantization_bit], queue=False) return dict( lang=lang, @@ -67,6 +69,7 @@ def create_top() -> Dict[str, "Component"]: checkpoint_path=checkpoint_path, advanced_tab=advanced_tab, quantization_bit=quantization_bit, + quantization_method=quantization_method, template=template, rope_scaling=rope_scaling, booster=booster, diff --git a/src/llamafactory/webui/locales.py b/src/llamafactory/webui/locales.py index cd166584..435876e7 100644 --- a/src/llamafactory/webui/locales.py +++ b/src/llamafactory/webui/locales.py @@ -85,15 +85,29 @@ LOCALES = { "quantization_bit": { "en": { "label": "Quantization bit", - "info": "Enable 4/8-bit model quantization (QLoRA).", + "info": "Enable quantization (QLoRA).", }, "ru": { "label": "Уровень квантования", - "info": "Включить 4/8-битное квантование модели (QLoRA).", + "info": "Включить квантование (QLoRA).", }, "zh": { "label": "量化等级", - "info": "启用 4/8 比特模型量化(QLoRA)。", + "info": "启用量化(QLoRA)。", + }, + }, + "quantization_method": { + "en": { + "label": "Quantization method", + "info": "Quantization algorithm to use.", + }, + "ru": { + "label": "Метод квантования", + "info": "Алгоритм квантования, который следует использовать.", + }, + "zh": { + "label": "量化方法", + "info": "使用的量化算法。", }, }, "template": { diff --git a/src/llamafactory/webui/manager.py b/src/llamafactory/webui/manager.py index 7e9b801a..ebe9f1b9 100644 --- a/src/llamafactory/webui/manager.py +++ b/src/llamafactory/webui/manager.py @@ -71,6 +71,7 @@ class Manager: self._id_to_elem["top.finetuning_type"], self._id_to_elem["top.checkpoint_path"], self._id_to_elem["top.quantization_bit"], + self._id_to_elem["top.quantization_method"], self._id_to_elem["top.template"], self._id_to_elem["top.rope_scaling"], self._id_to_elem["top.booster"], diff --git a/src/llamafactory/webui/runner.py b/src/llamafactory/webui/runner.py index 549ec765..f7fbac30 100644 --- a/src/llamafactory/webui/runner.py +++ b/src/llamafactory/webui/runner.py @@ -22,7 +22,7 @@ from transformers.trainer import TRAINING_ARGS_NAME from ..extras.constants import LLAMABOARD_CONFIG, PEFT_METHODS, TRAINING_STAGES from ..extras.misc import is_gpu_or_npu_available, torch_gc from ..extras.packages import is_gradio_available -from .common import DEFAULT_CACHE_DIR, DEFAULT_CONFIG_DIR, get_save_dir, load_config +from .common import DEFAULT_CACHE_DIR, DEFAULT_CONFIG_DIR, QUANTIZATION_BITS, get_save_dir, load_config from .locales import ALERTS, LOCALES from .utils import abort_process, gen_cmd, get_eval_results, get_trainer_info, load_args, save_args, save_cmd @@ -104,6 +104,11 @@ class Runner: model_name, finetuning_type = get("top.model_name"), get("top.finetuning_type") user_config = load_config() + if get("top.quantization_bit") in QUANTIZATION_BITS: + quantization_bit = int(get("top.quantization_bit")) + else: + quantization_bit = None + args = dict( stage=TRAINING_STAGES[get("train.training_stage")], do_train=True, @@ -111,7 +116,8 @@ class Runner: cache_dir=user_config.get("cache_dir", None), preprocessing_num_workers=16, finetuning_type=finetuning_type, - quantization_bit=int(get("top.quantization_bit")) if get("top.quantization_bit") in ["8", "4"] else None, + quantization_bit=quantization_bit, + quantization_method=get("top.quantization_method"), template=get("top.template"), rope_scaling=get("top.rope_scaling") if get("top.rope_scaling") in ["linear", "dynamic"] else None, flash_attn="fa2" if get("top.booster") == "flashattn2" else "auto", @@ -234,13 +240,19 @@ class Runner: model_name, finetuning_type = get("top.model_name"), get("top.finetuning_type") user_config = load_config() + if get("top.quantization_bit") in QUANTIZATION_BITS: + quantization_bit = int(get("top.quantization_bit")) + else: + quantization_bit = None + args = dict( stage="sft", model_name_or_path=get("top.model_path"), cache_dir=user_config.get("cache_dir", None), preprocessing_num_workers=16, finetuning_type=finetuning_type, - quantization_bit=int(get("top.quantization_bit")) if get("top.quantization_bit") in ["8", "4"] else None, + quantization_bit=quantization_bit, + quantization_method=get("top.quantization_method"), template=get("top.template"), rope_scaling=get("top.rope_scaling") if get("top.rope_scaling") in ["linear", "dynamic"] else None, flash_attn="fa2" if get("top.booster") == "flashattn2" else "auto", diff --git a/src/llamafactory/webui/utils.py b/src/llamafactory/webui/utils.py index a616bcba..4f313e4e 100644 --- a/src/llamafactory/webui/utils.py +++ b/src/llamafactory/webui/utils.py @@ -25,6 +25,7 @@ from yaml import safe_dump, safe_load from ..extras.constants import PEFT_METHODS, RUNNING_LOG, TRAINER_LOG, TRAINING_ARGS, TRAINING_STAGES from ..extras.packages import is_gradio_available, is_matplotlib_available from ..extras.ploting import gen_loss_plot +from ..model import QuantizationMethod from .common import DEFAULT_CACHE_DIR, DEFAULT_CONFIG_DIR, get_save_dir from .locales import ALERTS @@ -55,6 +56,18 @@ def can_quantize(finetuning_type: str) -> "gr.Dropdown": return gr.Dropdown(interactive=True) +def can_quantize_to(quantization_method: str) -> "gr.Dropdown": + r""" + Returns the available quantization bits. + """ + if quantization_method == QuantizationMethod.BITS_AND_BYTES.value: + return gr.Dropdown(choices=["none", "8", "4"]) + elif quantization_method == QuantizationMethod.HQQ.value: + return gr.Dropdown(choices=["none", "8", "6", "5", "4", "3", "2", "1"]) + elif quantization_method == QuantizationMethod.EETQ.value: + return gr.Dropdown(choices=["none", "8"]) + + def change_stage(training_stage: str = list(TRAINING_STAGES.keys())[0]) -> Tuple[List[str], bool]: r""" Modifys states after changing the training stage. From da80d41c78a8bafc8adac7b91609097b0603a0ff Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 27 Jun 2024 00:36:04 +0800 Subject: [PATCH 136/169] tiny fix Former-commit-id: 29c710da3a8984c5f6522a79368344544319ebce --- src/llamafactory/webui/utils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/llamafactory/webui/utils.py b/src/llamafactory/webui/utils.py index 4f313e4e..069a2a2a 100644 --- a/src/llamafactory/webui/utils.py +++ b/src/llamafactory/webui/utils.py @@ -61,11 +61,11 @@ def can_quantize_to(quantization_method: str) -> "gr.Dropdown": Returns the available quantization bits. """ if quantization_method == QuantizationMethod.BITS_AND_BYTES.value: - return gr.Dropdown(choices=["none", "8", "4"]) + return gr.Dropdown(choices=["none", "8", "4"], value="none") elif quantization_method == QuantizationMethod.HQQ.value: - return gr.Dropdown(choices=["none", "8", "6", "5", "4", "3", "2", "1"]) + return gr.Dropdown(choices=["none", "8", "6", "5", "4", "3", "2", "1"], value="none") elif quantization_method == QuantizationMethod.EETQ.value: - return gr.Dropdown(choices=["none", "8"]) + return gr.Dropdown(choices=["none", "8"], value="none") def change_stage(training_stage: str = list(TRAINING_STAGES.keys())[0]) -> Tuple[List[str], bool]: From f2425cb4ed5a8c59da7a864d303dcedc8758e3dd Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 27 Jun 2024 00:46:41 +0800 Subject: [PATCH 137/169] tiny fix Former-commit-id: f17c9dfd848ff8ee33fb4db70e40bca15153e40f --- src/llamafactory/webui/components/top.py | 2 +- src/llamafactory/webui/utils.py | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/llamafactory/webui/components/top.py b/src/llamafactory/webui/components/top.py index e331d5e4..9df3f062 100644 --- a/src/llamafactory/webui/components/top.py +++ b/src/llamafactory/webui/components/top.py @@ -43,7 +43,7 @@ def create_top() -> Dict[str, "Component"]: with gr.Accordion(open=False) as advanced_tab: with gr.Row(): - quantization_bit = gr.Dropdown(choices=["none", "8", "4"], value="none", scale=1) + quantization_bit = gr.Dropdown(choices=["none", "8", "4"], value="none", allow_custom_value=True, scale=1) quantization_method = gr.Dropdown(choices=["bitsandbytes", "hqq", "eetq"], value="bitsandbytes", scale=1) template = gr.Dropdown(choices=list(TEMPLATES.keys()), value="default", scale=1) rope_scaling = gr.Radio(choices=["none", "linear", "dynamic"], value="none", scale=2) diff --git a/src/llamafactory/webui/utils.py b/src/llamafactory/webui/utils.py index 069a2a2a..14616ac4 100644 --- a/src/llamafactory/webui/utils.py +++ b/src/llamafactory/webui/utils.py @@ -61,11 +61,13 @@ def can_quantize_to(quantization_method: str) -> "gr.Dropdown": Returns the available quantization bits. """ if quantization_method == QuantizationMethod.BITS_AND_BYTES.value: - return gr.Dropdown(choices=["none", "8", "4"], value="none") + available_bits = ["none", "8", "4"] elif quantization_method == QuantizationMethod.HQQ.value: - return gr.Dropdown(choices=["none", "8", "6", "5", "4", "3", "2", "1"], value="none") + available_bits = ["none", "8", "6", "5", "4", "3", "2", "1"] elif quantization_method == QuantizationMethod.EETQ.value: - return gr.Dropdown(choices=["none", "8"], value="none") + available_bits = ["none", "8"] + + return gr.Dropdown(choices=available_bits) def change_stage(training_stage: str = list(TRAINING_STAGES.keys())[0]) -> Tuple[List[str], bool]: From 6e03536dca9082cba895d3c35930041678c3b5aa Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 27 Jun 2024 00:53:33 +0800 Subject: [PATCH 138/169] update examples Former-commit-id: d417e63f928048036717d51eba42be843c51dff2 --- examples/README.md | 4 ++-- examples/README_zh.md | 4 ++-- examples/train_lora/llama3_lora_dpo.yaml | 2 +- ...3_lora_sft_bitsandbytes.yaml => llama3_lora_sft_otfq.yaml} | 1 + 4 files changed, 6 insertions(+), 5 deletions(-) rename examples/train_qlora/{llama3_lora_sft_bitsandbytes.yaml => llama3_lora_sft_otfq.yaml} (88%) diff --git a/examples/README.md b/examples/README.md index 007a81ab..d5aca5ad 100644 --- a/examples/README.md +++ b/examples/README.md @@ -94,10 +94,10 @@ FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/llama3_lora_sft_ds3. ### QLoRA Fine-Tuning -#### Supervised Fine-Tuning with 4/8-bit Bitsandbytes Quantization (Recommended) +#### Supervised Fine-Tuning with 4/8-bit Bitsandbytes/HQQ/EETQ Quantization (Recommended) ```bash -llamafactory-cli train examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml +llamafactory-cli train examples/train_qlora/llama3_lora_sft_otfq.yaml ``` #### Supervised Fine-Tuning with 4/8-bit GPTQ Quantization diff --git a/examples/README_zh.md b/examples/README_zh.md index b9d90f25..d96bf882 100644 --- a/examples/README_zh.md +++ b/examples/README_zh.md @@ -94,10 +94,10 @@ FORCE_TORCHRUN=1 llamafactory-cli train examples/train_lora/llama3_lora_sft_ds3. ### QLoRA 微调 -#### 基于 4/8 比特 Bitsandbytes 量化进行指令监督微调(推荐) +#### 基于 4/8 比特 Bitsandbytes/HQQ/EETQ 量化进行指令监督微调(推荐) ```bash -llamafactory-cli train examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml +llamafactory-cli train examples/train_qlora/llama3_lora_sft_otfq.yaml ``` #### 基于 4/8 比特 GPTQ 量化进行指令监督微调 diff --git a/examples/train_lora/llama3_lora_dpo.yaml b/examples/train_lora/llama3_lora_dpo.yaml index db25fb51..188e5078 100644 --- a/examples/train_lora/llama3_lora_dpo.yaml +++ b/examples/train_lora/llama3_lora_dpo.yaml @@ -7,7 +7,7 @@ do_train: true finetuning_type: lora lora_target: all pref_beta: 0.1 -pref_loss: sigmoid # [sigmoid (dpo), orpo, simpo] +pref_loss: sigmoid # choices: [sigmoid (dpo), orpo, simpo] ### dataset dataset: dpo_en_demo diff --git a/examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml b/examples/train_qlora/llama3_lora_sft_otfq.yaml similarity index 88% rename from examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml rename to examples/train_qlora/llama3_lora_sft_otfq.yaml index cc773991..9c73b439 100644 --- a/examples/train_qlora/llama3_lora_sft_bitsandbytes.yaml +++ b/examples/train_qlora/llama3_lora_sft_otfq.yaml @@ -1,6 +1,7 @@ ### model model_name_or_path: meta-llama/Meta-Llama-3-8B-Instruct quantization_bit: 4 +quantization_method: bitsandbytes # choices: [bitsandbytes (4/8), hqq (2/3/4/5/6/8), eetq (8)] ### method stage: sft From 58607ec1b0c21a7ae9f87523b599aac555dd4b2d Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 27 Jun 2024 01:12:25 +0800 Subject: [PATCH 139/169] add quant checks Former-commit-id: 96a5044394bff75ca8ef17bd7d07d4da66f797f0 --- src/llamafactory/model/model_utils/quantization.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/llamafactory/model/model_utils/quantization.py b/src/llamafactory/model/model_utils/quantization.py index 3203b4aa..317646e0 100644 --- a/src/llamafactory/model/model_utils/quantization.py +++ b/src/llamafactory/model/model_utils/quantization.py @@ -108,8 +108,11 @@ def configure_quantization( Priority: PTQ-quantized (train/infer) > AutoGPTQ (export) > On-the-fly quantization (train/infer) """ if getattr(config, "quantization_config", None): # ptq - if is_deepspeed_zero3_enabled(): - raise ValueError("DeepSpeed ZeRO-3 is incompatible with PTQ-quantized models.") + if model_args.quantization_bit is not None: + logger.warning("`quantization_bit` will not affect on the PTQ-quantized models.") + + if is_deepspeed_zero3_enabled() or is_fsdp_enabled(): + raise ValueError("DeepSpeed ZeRO-3 or FSDP is incompatible with PTQ-quantized models.") quantization_config: Dict[str, Any] = getattr(config, "quantization_config", None) quant_method = quantization_config.get("quant_method", "") @@ -182,6 +185,9 @@ def configure_quantization( if model_args.quantization_bit not in [8, 6, 5, 4, 3, 2, 1]: raise ValueError("HQQ only accepts 1/2/3/4/5/6/8-bit quantization.") + if is_deepspeed_zero3_enabled() or is_fsdp_enabled(): + raise ValueError("HQQ quantization is incompatible with DeepSpeed ZeRO-3 or FSDP.") + require_version("hqq", "To fix: pip install hqq") init_kwargs["quantization_config"] = HqqConfig( nbits=model_args.quantization_bit, quant_zero=False, quant_scale=False, axis=0 @@ -191,6 +197,9 @@ def configure_quantization( if model_args.quantization_bit != 8: raise ValueError("EETQ only accepts 8-bit quantization.") + if is_deepspeed_zero3_enabled() or is_fsdp_enabled(): + raise ValueError("EETQ quantization is incompatible with DeepSpeed ZeRO-3 or FSDP.") + require_version("eetq", "To fix: pip install eetq") init_kwargs["quantization_config"] = EetqConfig() logger.info("Quantizing model to {} bit with EETQ.".format(model_args.quantization_bit)) From e1751f6398b941a510432fcfddeaade1fe6ebd4b Mon Sep 17 00:00:00 2001 From: hzhaoy Date: Thu, 27 Jun 2024 13:49:57 +0800 Subject: [PATCH 140/169] fix #4579 Former-commit-id: 677c86594e4ea904fde0a557852daf54636b06ae --- src/llamafactory/train/sft/trainer.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/llamafactory/train/sft/trainer.py b/src/llamafactory/train/sft/trainer.py index 8f18317f..f0a86dff 100644 --- a/src/llamafactory/train/sft/trainer.py +++ b/src/llamafactory/train/sft/trainer.py @@ -53,6 +53,9 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): self.processor = processor if finetuning_args.pissa_convert: + if self.is_deepspeed_enabled: + self.accelerator.deepspeed_config = self.accelerator.state.deepspeed_plugin.deepspeed_config + self.deepspeed = self._wrap_model(self.model_wrapped) self.save_model(os.path.join(self.args.output_dir, "pissa_init")) if finetuning_args.use_badam: From 9e93ff9479916f66ff684971680cdcbc6113e6bc Mon Sep 17 00:00:00 2001 From: fanjunliang Date: Thu, 27 Jun 2024 15:21:55 +0800 Subject: [PATCH 141/169] support docker-npu-[amd64|arm64] build Former-commit-id: bdda0827b35cbb6005f10aa661fe6f3940b598d8 --- README.md | 2 +- README_zh.md | 2 +- docker/docker-npu/Dockerfile | 12 +++++++++--- setup.py | 3 ++- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4b42edd7..9c509ff0 100644 --- a/README.md +++ b/README.md @@ -465,7 +465,7 @@ For Ascend NPU users: ```bash # Choose docker image upon your environment -docker build -f ./docker/docker-npu/Dockerfile \ +docker build --platform linux/arm64 -f ./docker/docker-npu/Dockerfile \ --build-arg INSTALL_DEEPSPEED=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . diff --git a/README_zh.md b/README_zh.md index 3926c09d..c3fb6ecf 100644 --- a/README_zh.md +++ b/README_zh.md @@ -465,7 +465,7 @@ docker exec -it llamafactory bash ```bash # 根据您的环境选择镜像 -docker build -f ./docker/docker-npu/Dockerfile \ +docker build --platform linux/arm64 -f ./docker/docker-npu/Dockerfile \ --build-arg INSTALL_DEEPSPEED=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . diff --git a/docker/docker-npu/Dockerfile b/docker/docker-npu/Dockerfile index 0ec16107..8d80397e 100644 --- a/docker/docker-npu/Dockerfile +++ b/docker/docker-npu/Dockerfile @@ -1,10 +1,11 @@ # Use the Ubuntu 22.04 image with CANN 8.0.rc1 # More versions can be found at https://hub.docker.com/r/cosdt/cann/tags -FROM cosdt/cann:8.0.rc1-910b-ubuntu22.04 +FROM --platform=$TARGETPLATFORM cosdt/cann:8.0.rc1-910b-ubuntu22.04 ENV DEBIAN_FRONTEND=noninteractive # Define installation arguments +ARG TARGETPLATFORM ARG INSTALL_DEEPSPEED=false ARG PIP_INDEX=https://pypi.org/simple ARG EXTRA_INDEX=https://download.pytorch.org/whl/cpu @@ -15,7 +16,6 @@ WORKDIR /app # Install the requirements COPY requirements.txt /app RUN pip config set global.index-url $PIP_INDEX && \ - pip config set global.extra-index-url $EXTRA_INDEX && \ pip install --upgrade pip && \ pip install -r requirements.txt @@ -23,7 +23,13 @@ RUN pip config set global.index-url $PIP_INDEX && \ COPY . /app # Install the LLaMA Factory -RUN EXTRA_PACKAGES="torch-npu,metrics"; \ +RUN EXTRA_PACKAGES="metrics"; \ + if [ "$TARGETPLATFORM" == "linux/arm64" ]; then \ + EXTRA_PACKAGES="${EXTRA_PACKAGES},torch-npu-arm64"; \ + else \ + pip config set global.extra-index-url $EXTRA_INDEX; \ + EXTRA_PACKAGES="${EXTRA_PACKAGES},torch-npu-amd64"; \ + fi; \ if [ "$INSTALL_DEEPSPEED" = "true" ]; then \ EXTRA_PACKAGES="${EXTRA_PACKAGES},deepspeed"; \ fi; \ diff --git a/setup.py b/setup.py index 89301d1b..594070cd 100644 --- a/setup.py +++ b/setup.py @@ -35,7 +35,8 @@ def get_requires(): extra_require = { "torch": ["torch>=1.13.1"], - "torch-npu": ["torch==2.1.0+cpu", "torch-npu==2.1.0.post3", "decorator"], + "torch-npu-arm64": ["torch==2.1.0", "torch-npu==2.1.0.post3", "decorator"], + "torch-npu-amd64": ["torch==2.1.0+cpu", "torch-npu==2.1.0.post3", "decorator"], "metrics": ["nltk", "jieba", "rouge-chinese"], "deepspeed": ["deepspeed>=0.10.0"], "bitsandbytes": ["bitsandbytes>=0.39.0"], From 9a2e77a5d8d1345118aa93a1a23e57a384d52a43 Mon Sep 17 00:00:00 2001 From: faddddeout <39449491+injet-zhou@users.noreply.github.com> Date: Thu, 27 Jun 2024 09:58:00 +0000 Subject: [PATCH 142/169] Exit the process with the subprocess's return code when utilizing the CLI Former-commit-id: f6b62f00707baf582bc168c15886732ac5218524 --- src/llamafactory/cli.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/llamafactory/cli.py b/src/llamafactory/cli.py index e4846780..c92f556b 100644 --- a/src/llamafactory/cli.py +++ b/src/llamafactory/cli.py @@ -91,7 +91,7 @@ def main(): master_addr = os.environ.get("MASTER_ADDR", "127.0.0.1") master_port = os.environ.get("MASTER_PORT", str(random.randint(20001, 29999))) logger.info("Initializing distributed tasks at: {}:{}".format(master_addr, master_port)) - subprocess.run( + subproc = subprocess.run( ( "torchrun --nnodes {nnodes} --node_rank {node_rank} --nproc_per_node {nproc_per_node} " "--master_addr {master_addr} --master_port {master_port} {file_name} {args}" @@ -106,6 +106,7 @@ def main(): ), shell=True, ) + sys.exit(subproc.returncode) else: run_exp() elif command == Command.WEBDEMO: From 6a518d386a2454790babb5c46082688774bfc101 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 27 Jun 2024 18:46:47 +0800 Subject: [PATCH 143/169] Update wechat.jpg Former-commit-id: 719e2f1fef030b65267855d952dacb1f50a65050 --- assets/wechat.jpg | Bin 143994 -> 144761 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/wechat.jpg b/assets/wechat.jpg index 598296b43f84683494654f15c659ec45dc3ad530..f26119a9e00fbc045f963faa5f3011a73e56c4f3 100644 GIT binary patch literal 144761 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

    Vbv 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

    wEL&-? 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 qh@oJXC_PlE~ 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 b_=nD)4A3(fGX;e_-)D?}$}>G2NP_ Date: Thu, 27 Jun 2024 19:16:46 +0800 Subject: [PATCH 144/169] Update setup.py Former-commit-id: 03389207f473d43360bd938972da02c92e80322f --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 594070cd..dd333c48 100644 --- a/setup.py +++ b/setup.py @@ -35,8 +35,8 @@ def get_requires(): extra_require = { "torch": ["torch>=1.13.1"], - "torch-npu-arm64": ["torch==2.1.0", "torch-npu==2.1.0.post3", "decorator"], - "torch-npu-amd64": ["torch==2.1.0+cpu", "torch-npu==2.1.0.post3", "decorator"], + "torch-npu": ["torch==2.1.0", "torch-npu==2.1.0.post3", "decorator"], + "torch-npu-amd": ["torch==2.1.0+cpu", "torch-npu==2.1.0.post3", "decorator"], "metrics": ["nltk", "jieba", "rouge-chinese"], "deepspeed": ["deepspeed>=0.10.0"], "bitsandbytes": ["bitsandbytes>=0.39.0"], From 65bf2059689c0fc65c30e96e453ebfeeff73497f Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Thu, 27 Jun 2024 19:17:35 +0800 Subject: [PATCH 145/169] Update README.md Former-commit-id: 06536c44d472fa2b380ebdb3f51865edb028ac5d --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9c509ff0..4b42edd7 100644 --- a/README.md +++ b/README.md @@ -465,7 +465,7 @@ For Ascend NPU users: ```bash # Choose docker image upon your environment -docker build --platform linux/arm64 -f ./docker/docker-npu/Dockerfile \ +docker build -f ./docker/docker-npu/Dockerfile \ --build-arg INSTALL_DEEPSPEED=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . From 30687babe3b28a132964448dbb0b29b377bc5e75 Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Thu, 27 Jun 2024 19:17:52 +0800 Subject: [PATCH 146/169] Update README_zh.md Former-commit-id: fc7a08e16a00db0e2f8bb2b1966b3d363434ddc6 --- README_zh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README_zh.md b/README_zh.md index c3fb6ecf..3926c09d 100644 --- a/README_zh.md +++ b/README_zh.md @@ -465,7 +465,7 @@ docker exec -it llamafactory bash ```bash # 根据您的环境选择镜像 -docker build --platform linux/arm64 -f ./docker/docker-npu/Dockerfile \ +docker build -f ./docker/docker-npu/Dockerfile \ --build-arg INSTALL_DEEPSPEED=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . From 506f6d79e6c54a33f96b56cbf6c2e7dfc8f845dc Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Thu, 27 Jun 2024 19:38:15 +0800 Subject: [PATCH 147/169] Update setup.py Former-commit-id: 569f03ca1abf844f6893745c2cbabf056f21d1cb --- setup.py | 1 - 1 file changed, 1 deletion(-) diff --git a/setup.py b/setup.py index dd333c48..64f50a87 100644 --- a/setup.py +++ b/setup.py @@ -36,7 +36,6 @@ def get_requires(): extra_require = { "torch": ["torch>=1.13.1"], "torch-npu": ["torch==2.1.0", "torch-npu==2.1.0.post3", "decorator"], - "torch-npu-amd": ["torch==2.1.0+cpu", "torch-npu==2.1.0.post3", "decorator"], "metrics": ["nltk", "jieba", "rouge-chinese"], "deepspeed": ["deepspeed>=0.10.0"], "bitsandbytes": ["bitsandbytes>=0.39.0"], From 030dda58617490bef6b9053675b5a35dbcb186fb Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Thu, 27 Jun 2024 19:51:25 +0800 Subject: [PATCH 148/169] Update Dockerfile Former-commit-id: 9624af1df3e4b260b37ad10e2a9be8e69ab066df --- docker/docker-npu/Dockerfile | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/docker/docker-npu/Dockerfile b/docker/docker-npu/Dockerfile index 8d80397e..d1d176e9 100644 --- a/docker/docker-npu/Dockerfile +++ b/docker/docker-npu/Dockerfile @@ -1,39 +1,38 @@ # Use the Ubuntu 22.04 image with CANN 8.0.rc1 # More versions can be found at https://hub.docker.com/r/cosdt/cann/tags -FROM --platform=$TARGETPLATFORM cosdt/cann:8.0.rc1-910b-ubuntu22.04 +FROM cosdt/cann:8.0.rc1-910b-ubuntu22.04 +# Set env ENV DEBIAN_FRONTEND=noninteractive # Define installation arguments -ARG TARGETPLATFORM ARG INSTALL_DEEPSPEED=false ARG PIP_INDEX=https://pypi.org/simple -ARG EXTRA_INDEX=https://download.pytorch.org/whl/cpu +# x86 torch cpu index +ARG TORCH_INDEX=https://download.pytorch.org/whl/cpu # Set the working directory WORKDIR /app # Install the requirements COPY requirements.txt /app -RUN pip config set global.index-url $PIP_INDEX && \ - pip install --upgrade pip && \ - pip install -r requirements.txt +RUN pip config set global.index-url "$PIP_INDEX" && \ + pip config set global.extra-index-url "$PIP_INDEX" && \ + python -m pip install --upgrade pip && \ + python -m pip install -r requirements.txt # Copy the rest of the application into the image COPY . /app # Install the LLaMA Factory -RUN EXTRA_PACKAGES="metrics"; \ - if [ "$TARGETPLATFORM" == "linux/arm64" ]; then \ - EXTRA_PACKAGES="${EXTRA_PACKAGES},torch-npu-arm64"; \ - else \ - pip config set global.extra-index-url $EXTRA_INDEX; \ - EXTRA_PACKAGES="${EXTRA_PACKAGES},torch-npu-amd64"; \ - fi; \ - if [ "$INSTALL_DEEPSPEED" = "true" ]; then \ +RUN EXTRA_PACKAGES="torch-npu,metrics"; \ + if [ "$INSTALL_DEEPSPEED" == "true" ]; then \ EXTRA_PACKAGES="${EXTRA_PACKAGES},deepspeed"; \ fi; \ - pip install -e .[$EXTRA_PACKAGES] && \ + if [ "$(uname -i)" != "aarch64" ]; then \ + pip config set global.extra-index-url "$TORCH_INDEX" \ + fi; \ + pip install -e ".[$EXTRA_PACKAGES]" && \ pip uninstall -y transformer-engine flash-attn # Set up volumes From ffe7cda93db8126b52a94235571ecbbcf4e9e40b Mon Sep 17 00:00:00 2001 From: hoshi-hiyouga Date: Thu, 27 Jun 2024 19:57:40 +0800 Subject: [PATCH 149/169] Update Dockerfile Former-commit-id: 5fcd33fd4f08f5e46c1df541f188d13faefa7c8e --- docker/docker-npu/Dockerfile | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/docker/docker-npu/Dockerfile b/docker/docker-npu/Dockerfile index d1d176e9..71ab3daf 100644 --- a/docker/docker-npu/Dockerfile +++ b/docker/docker-npu/Dockerfile @@ -2,13 +2,11 @@ # More versions can be found at https://hub.docker.com/r/cosdt/cann/tags FROM cosdt/cann:8.0.rc1-910b-ubuntu22.04 -# Set env ENV DEBIAN_FRONTEND=noninteractive # Define installation arguments ARG INSTALL_DEEPSPEED=false ARG PIP_INDEX=https://pypi.org/simple -# x86 torch cpu index ARG TORCH_INDEX=https://download.pytorch.org/whl/cpu # Set the working directory @@ -17,7 +15,7 @@ WORKDIR /app # Install the requirements COPY requirements.txt /app RUN pip config set global.index-url "$PIP_INDEX" && \ - pip config set global.extra-index-url "$PIP_INDEX" && \ + pip config set global.extra-index-url "$TORCH_INDEX" && \ python -m pip install --upgrade pip && \ python -m pip install -r requirements.txt @@ -29,9 +27,6 @@ RUN EXTRA_PACKAGES="torch-npu,metrics"; \ if [ "$INSTALL_DEEPSPEED" == "true" ]; then \ EXTRA_PACKAGES="${EXTRA_PACKAGES},deepspeed"; \ fi; \ - if [ "$(uname -i)" != "aarch64" ]; then \ - pip config set global.extra-index-url "$TORCH_INDEX" \ - fi; \ pip install -e ".[$EXTRA_PACKAGES]" && \ pip uninstall -y transformer-engine flash-attn From 7c488cea57f84bd4276c2e04a82924d0716263cf Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 27 Jun 2024 20:14:48 +0800 Subject: [PATCH 150/169] tiny fix Former-commit-id: e44a4f07f09bbee55c10ccee91dd858256c36054 --- README.md | 2 +- README_zh.md | 2 +- docker/docker-cuda/Dockerfile | 36 ++++++++++++++------------- docker/docker-cuda/docker-compose.yml | 2 +- docker/docker-npu/Dockerfile | 4 +-- src/llamafactory/cli.py | 4 +-- src/llamafactory/hparams/parser.py | 4 +-- 7 files changed, 28 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 45ac23d8..44aed7e8 100644 --- a/README.md +++ b/README.md @@ -444,7 +444,7 @@ docker build -f ./docker/docker-cuda/Dockerfile \ --build-arg INSTALL_BNB=false \ --build-arg INSTALL_VLLM=false \ --build-arg INSTALL_DEEPSPEED=false \ - --build-arg INSTALL_FLASH_ATTN=false \ + --build-arg INSTALL_FLASHATTN=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . diff --git a/README_zh.md b/README_zh.md index c5fd4f69..7e3d51ad 100644 --- a/README_zh.md +++ b/README_zh.md @@ -444,7 +444,7 @@ docker build -f ./docker/docker-cuda/Dockerfile \ --build-arg INSTALL_BNB=false \ --build-arg INSTALL_VLLM=false \ --build-arg INSTALL_DEEPSPEED=false \ - --build-arg INSTALL_FLASH_ATTN=false \ + --build-arg INSTALL_FLASHATTN=false \ --build-arg PIP_INDEX=https://pypi.org/simple \ -t llamafactory:latest . diff --git a/docker/docker-cuda/Dockerfile b/docker/docker-cuda/Dockerfile index 44aaf538..718390a8 100644 --- a/docker/docker-cuda/Dockerfile +++ b/docker/docker-cuda/Dockerfile @@ -2,11 +2,14 @@ # https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel-24-02.html FROM nvcr.io/nvidia/pytorch:24.02-py3 +# Define environments +ENV MAX_JOBS=4 + # Define installation arguments ARG INSTALL_BNB=false ARG INSTALL_VLLM=false ARG INSTALL_DEEPSPEED=false -ARG INSTALL_FLASH_ATTN=false +ARG INSTALL_FLASHATTN=false ARG PIP_INDEX=https://pypi.org/simple # Set the working directory @@ -14,34 +17,33 @@ WORKDIR /app # Install the requirements COPY requirements.txt /app -RUN pip config set global.index-url $PIP_INDEX -RUN pip config set global.extra-index-url $PIP_INDEX -RUN python -m pip install --upgrade pip -RUN python -m pip install -r requirements.txt +RUN pip config set global.index-url "$PIP_INDEX" && \ + pip config set global.extra-index-url "$PIP_INDEX" && \ + python -m pip install --upgrade pip && \ + python -m pip install -r requirements.txt + +# Rebuild flash attention +RUN pip uninstall -y transformer-engine flash-attn && \ + if [ "$INSTALL_FLASHATTN" == "true" ]; then \ + pip uninstall -y ninja && pip install ninja && \ + pip install --no-cache-dir flash-attn --no-build-isolation \ + fi; # Copy the rest of the application into the image COPY . /app # Install the LLaMA Factory RUN EXTRA_PACKAGES="metrics"; \ - if [ "$INSTALL_BNB" = "true" ]; then \ + if [ "$INSTALL_BNB" == "true" ]; then \ EXTRA_PACKAGES="${EXTRA_PACKAGES},bitsandbytes"; \ fi; \ - if [ "$INSTALL_VLLM" = "true" ]; then \ + if [ "$INSTALL_VLLM" == "true" ]; then \ EXTRA_PACKAGES="${EXTRA_PACKAGES},vllm"; \ fi; \ - if [ "$INSTALL_DEEPSPEED" = "true" ]; then \ + if [ "$INSTALL_DEEPSPEED" == "true" ]; then \ EXTRA_PACKAGES="${EXTRA_PACKAGES},deepspeed"; \ fi; \ - pip install -e .[$EXTRA_PACKAGES] && \ - pip uninstall -y transformer-engine flash-attn - -# Rebuild flash-attn -RUN if [ "$INSTALL_FLASH_ATTN" = "true" ]; then \ - ninja --version || \ - (pip uninstall -y ninja && pip install ninja) && \ - MAX_JOBS=4 pip install --no-cache-dir flash-attn --no-build-isolation \ - fi; + pip install -e ".[$EXTRA_PACKAGES]" # Set up volumes VOLUME [ "/root/.cache/huggingface", "/root/.cache/modelscope", "/app/data", "/app/output" ] diff --git a/docker/docker-cuda/docker-compose.yml b/docker/docker-cuda/docker-compose.yml index 4ccb0c04..16267dc3 100644 --- a/docker/docker-cuda/docker-compose.yml +++ b/docker/docker-cuda/docker-compose.yml @@ -7,7 +7,7 @@ services: INSTALL_BNB: false INSTALL_VLLM: false INSTALL_DEEPSPEED: false - INSTALL_FLASH_ATTN: false + INSTALL_FLASHATTN: false PIP_INDEX: https://pypi.org/simple container_name: llamafactory volumes: diff --git a/docker/docker-npu/Dockerfile b/docker/docker-npu/Dockerfile index 71ab3daf..e413d4e3 100644 --- a/docker/docker-npu/Dockerfile +++ b/docker/docker-npu/Dockerfile @@ -2,6 +2,7 @@ # More versions can be found at https://hub.docker.com/r/cosdt/cann/tags FROM cosdt/cann:8.0.rc1-910b-ubuntu22.04 +# Define environments ENV DEBIAN_FRONTEND=noninteractive # Define installation arguments @@ -27,8 +28,7 @@ RUN EXTRA_PACKAGES="torch-npu,metrics"; \ if [ "$INSTALL_DEEPSPEED" == "true" ]; then \ EXTRA_PACKAGES="${EXTRA_PACKAGES},deepspeed"; \ fi; \ - pip install -e ".[$EXTRA_PACKAGES]" && \ - pip uninstall -y transformer-engine flash-attn + pip install -e ".[$EXTRA_PACKAGES]" # Set up volumes VOLUME [ "/root/.cache/huggingface", "/root/.cache/modelscope", "/app/data", "/app/output" ] diff --git a/src/llamafactory/cli.py b/src/llamafactory/cli.py index c92f556b..48eb2898 100644 --- a/src/llamafactory/cli.py +++ b/src/llamafactory/cli.py @@ -91,7 +91,7 @@ def main(): master_addr = os.environ.get("MASTER_ADDR", "127.0.0.1") master_port = os.environ.get("MASTER_PORT", str(random.randint(20001, 29999))) logger.info("Initializing distributed tasks at: {}:{}".format(master_addr, master_port)) - subproc = subprocess.run( + process = subprocess.run( ( "torchrun --nnodes {nnodes} --node_rank {node_rank} --nproc_per_node {nproc_per_node} " "--master_addr {master_addr} --master_port {master_port} {file_name} {args}" @@ -106,7 +106,7 @@ def main(): ), shell=True, ) - sys.exit(subproc.returncode) + sys.exit(process.returncode) else: run_exp() elif command == Command.WEBDEMO: diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index d4bcfbc6..6017907c 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -199,8 +199,8 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: if not is_torch_bf16_gpu_available(): raise ValueError("This device does not support `pure_bf16`.") - if training_args.deepspeed: - raise ValueError("`pure_bf16` is incompatible with DeepSpeed.") + if is_deepspeed_zero3_enabled(): + raise ValueError("`pure_bf16` is incompatible with DeepSpeed ZeRO-3.") if training_args.fp16 or training_args.bf16: raise ValueError("Turn off mixed precision training when using `pure_bf16`.") From 5e60c29971ad83cbac19459410eb6b9f75bfaadf Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Thu, 27 Jun 2024 20:29:16 +0800 Subject: [PATCH 151/169] fix docker file Former-commit-id: 0f421055da37d7f9b3313954fd008c433b3100f5 --- docker/docker-cuda/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/docker-cuda/Dockerfile b/docker/docker-cuda/Dockerfile index 718390a8..e4fac987 100644 --- a/docker/docker-cuda/Dockerfile +++ b/docker/docker-cuda/Dockerfile @@ -26,8 +26,8 @@ RUN pip config set global.index-url "$PIP_INDEX" && \ RUN pip uninstall -y transformer-engine flash-attn && \ if [ "$INSTALL_FLASHATTN" == "true" ]; then \ pip uninstall -y ninja && pip install ninja && \ - pip install --no-cache-dir flash-attn --no-build-isolation \ - fi; + pip install --no-cache-dir flash-attn --no-build-isolation; \ + fi # Copy the rest of the application into the image COPY . /app From a294ef2fae15840b38fdaca85fbbdd932a704b5d Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Fri, 28 Jun 2024 00:41:58 +0800 Subject: [PATCH 152/169] fix #4549 Former-commit-id: 8ed6b367e26490acab5d2d7b32f0d5dad449d26a --- src/llamafactory/hparams/parser.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 6017907c..5c59fbe0 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -202,9 +202,6 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: if is_deepspeed_zero3_enabled(): raise ValueError("`pure_bf16` is incompatible with DeepSpeed ZeRO-3.") - if training_args.fp16 or training_args.bf16: - raise ValueError("Turn off mixed precision training when using `pure_bf16`.") - if ( finetuning_args.use_galore and finetuning_args.galore_layerwise From 835f0578c2247101c1db61c7f821cb0422a81a00 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Fri, 28 Jun 2024 01:04:24 +0800 Subject: [PATCH 153/169] refactor pissa, improve llamaboard Former-commit-id: 8baf3b22b0fb9624807d809832f097301982d192 --- src/llamafactory/extras/misc.py | 72 ++-------- src/llamafactory/hparams/finetuning_args.py | 6 +- src/llamafactory/hparams/parser.py | 12 +- .../{extras => train}/callbacks.py | 135 +++++++++++++++++- src/llamafactory/train/dpo/trainer.py | 21 +-- src/llamafactory/train/kto/trainer.py | 13 +- src/llamafactory/train/ppo/trainer.py | 35 +++-- src/llamafactory/train/ppo/workflow.py | 4 +- src/llamafactory/train/pt/trainer.py | 23 ++- src/llamafactory/train/rm/trainer.py | 19 +-- src/llamafactory/train/rm/workflow.py | 6 +- src/llamafactory/train/sft/trainer.py | 23 +-- src/llamafactory/train/trainer_utils.py | 48 ------- src/llamafactory/train/tuner.py | 4 +- src/llamafactory/webui/runner.py | 1 + src/llamafactory/webui/utils.py | 13 +- 16 files changed, 219 insertions(+), 216 deletions(-) rename src/llamafactory/{extras => train}/callbacks.py (59%) diff --git a/src/llamafactory/extras/misc.py b/src/llamafactory/extras/misc.py index 93153b3e..30c287bd 100644 --- a/src/llamafactory/extras/misc.py +++ b/src/llamafactory/extras/misc.py @@ -1,4 +1,7 @@ -# Copyright 2024 the LlamaFactory team. +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by the HuggingFace's PEFT library. +# https://github.com/huggingface/peft/blob/v0.10.0/src/peft/peft_model.py # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,15 +17,11 @@ import gc import os -from typing import TYPE_CHECKING, Dict, Tuple +from typing import TYPE_CHECKING, Tuple import torch -from peft import PeftModel -from transformers import InfNanRemoveLogitsProcessor, LogitsProcessorList, PreTrainedModel +from transformers import InfNanRemoveLogitsProcessor, LogitsProcessorList from transformers.utils import ( - SAFE_WEIGHTS_NAME, - WEIGHTS_NAME, - is_safetensors_available, is_torch_bf16_gpu_available, is_torch_cuda_available, is_torch_mps_available, @@ -31,15 +30,9 @@ from transformers.utils import ( ) from transformers.utils.versions import require_version -from .constants import V_HEAD_SAFE_WEIGHTS_NAME, V_HEAD_WEIGHTS_NAME from .logging import get_logger -if is_safetensors_available(): - from safetensors import safe_open - from safetensors.torch import save_file - - _is_fp16_available = is_torch_npu_available() or is_torch_cuda_available() try: _is_bf16_available = is_torch_bf16_gpu_available() @@ -48,8 +41,6 @@ except Exception: if TYPE_CHECKING: - from trl import AutoModelForCausalLMWithValueHead - from ..hparams import ModelArguments @@ -99,7 +90,7 @@ def count_parameters(model: torch.nn.Module) -> Tuple[int, int]: if num_params == 0 and hasattr(param, "ds_numel"): num_params = param.ds_numel - # Due to the design of 4bit linear layers from bitsandbytes, multiply the number of parameters by 2 + # Due to the design of 4bit linear layers from bitsandbytes, multiply the number of parameters by itemsize if param.__class__.__name__ == "Params4bit": if hasattr(param, "quant_storage") and hasattr(param.quant_storage, "itemsize"): num_bytes = param.quant_storage.itemsize @@ -117,51 +108,6 @@ def count_parameters(model: torch.nn.Module) -> Tuple[int, int]: return trainable_params, all_param -def fix_valuehead_checkpoint( - model: "AutoModelForCausalLMWithValueHead", output_dir: str, safe_serialization: bool -) -> None: - r""" - The model is already unwrapped. - - There are three cases: - 1. full tuning without ds_zero3: state_dict = {"model.layers.*": ..., "v_head.summary.*": ...} - 2. lora tuning without ds_zero3: state_dict = {"v_head.summary.*": ...} - 3. under deepspeed zero3: state_dict = {"pretrained_model.model.layers.*": ..., "v_head.summary.*": ...} - - We assume `stage3_gather_16bit_weights_on_model_save=true`. - """ - if not isinstance(model.pretrained_model, (PreTrainedModel, PeftModel)): - return - - if safe_serialization: - path_to_checkpoint = os.path.join(output_dir, SAFE_WEIGHTS_NAME) - with safe_open(path_to_checkpoint, framework="pt", device="cpu") as f: - state_dict: Dict[str, torch.Tensor] = {key: f.get_tensor(key) for key in f.keys()} - else: - path_to_checkpoint = os.path.join(output_dir, WEIGHTS_NAME) - state_dict: Dict[str, torch.Tensor] = torch.load(path_to_checkpoint, map_location="cpu") - - decoder_state_dict = {} - v_head_state_dict = {} - for name, param in state_dict.items(): - if name.startswith("v_head."): - v_head_state_dict[name] = param - else: - decoder_state_dict[name.replace("pretrained_model.", "")] = param - - os.remove(path_to_checkpoint) - model.pretrained_model.save_pretrained( - output_dir, state_dict=decoder_state_dict or None, safe_serialization=safe_serialization - ) - - if safe_serialization: - save_file(v_head_state_dict, os.path.join(output_dir, V_HEAD_SAFE_WEIGHTS_NAME), metadata={"format": "pt"}) - else: - torch.save(v_head_state_dict, os.path.join(output_dir, V_HEAD_WEIGHTS_NAME)) - - logger.info("Value head model saved at: {}".format(output_dir)) - - def get_current_device() -> torch.device: r""" Gets the current available device. @@ -201,7 +147,7 @@ def get_logits_processor() -> "LogitsProcessorList": return logits_processor -def infer_optim_dtype(model_dtype: torch.dtype) -> torch.dtype: +def infer_optim_dtype(model_dtype: "torch.dtype") -> "torch.dtype": r""" Infers the optimal dtype according to the model_dtype and device compatibility. """ @@ -220,7 +166,7 @@ def is_gpu_or_npu_available() -> bool: return is_torch_npu_available() or is_torch_cuda_available() -def has_tokenized_data(path: os.PathLike) -> bool: +def has_tokenized_data(path: "os.PathLike") -> bool: r""" Checks if the path has a tokenized dataset. """ diff --git a/src/llamafactory/hparams/finetuning_args.py b/src/llamafactory/hparams/finetuning_args.py index b676891e..28da95ad 100644 --- a/src/llamafactory/hparams/finetuning_args.py +++ b/src/llamafactory/hparams/finetuning_args.py @@ -379,10 +379,10 @@ class FinetuningArguments(FreezeArguments, LoraArguments, RLHFArguments, GaloreA if self.loraplus_lr_ratio is not None and self.finetuning_type != "lora": raise ValueError("`loraplus_lr_ratio` is only valid for LoRA training.") - if self.pissa_convert and self.finetuning_type != "lora": - raise ValueError("`pissa_convert` is only valid for LoRA training.") + if self.pissa_init and self.finetuning_type != "lora": + raise ValueError("`pissa_init` is only valid for LoRA training.") - if self.pissa_convert and (self.stage in ["rm", "ppo", "kto"] or self.use_ref_model): + if self.pissa_init and (self.stage in ["ppo", "kto"] or self.use_ref_model): raise ValueError("Cannot use PiSSA for current training stage.") if self.train_mm_proj_only and self.finetuning_type != "full": diff --git a/src/llamafactory/hparams/parser.py b/src/llamafactory/hparams/parser.py index 5c59fbe0..8b2ea4c1 100644 --- a/src/llamafactory/hparams/parser.py +++ b/src/llamafactory/hparams/parser.py @@ -83,9 +83,6 @@ def _verify_model_args(model_args: "ModelArguments", finetuning_args: "Finetunin if model_args.adapter_name_or_path is not None and finetuning_args.finetuning_type != "lora": raise ValueError("Adapter is only valid for the LoRA method.") - if model_args.use_unsloth and is_deepspeed_zero3_enabled(): - raise ValueError("Unsloth is incompatible with DeepSpeed ZeRO-3.") - if model_args.quantization_bit is not None: if finetuning_args.finetuning_type != "lora": raise ValueError("Quantization is only compatible with the LoRA method.") @@ -186,6 +183,9 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: if training_args.parallel_mode == ParallelMode.NOT_DISTRIBUTED: raise ValueError("Please launch distributed training with `llamafactory-cli` or `torchrun`.") + if training_args.deepspeed and training_args.parallel_mode != ParallelMode.DISTRIBUTED: + raise ValueError("Please use `FORCE_TORCHRUN=1` to launch DeepSpeed training.") + if training_args.max_steps == -1 and data_args.streaming: raise ValueError("Please specify `max_steps` in streaming mode.") @@ -195,6 +195,9 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: if training_args.do_train and model_args.quantization_device_map == "auto": raise ValueError("Cannot use device map for quantized models in training.") + if finetuning_args.pissa_init and is_deepspeed_zero3_enabled(): + raise ValueError("PiSSA is incompatible with DeepSpeed ZeRO-3.") + if finetuning_args.pure_bf16: if not is_torch_bf16_gpu_available(): raise ValueError("This device does not support `pure_bf16`.") @@ -224,6 +227,9 @@ def get_train_args(args: Optional[Dict[str, Any]] = None) -> _TRAIN_CLS: if model_args.visual_inputs and data_args.packing: raise ValueError("Cannot use packing in MLLM fine-tuning.") + if model_args.use_unsloth and is_deepspeed_zero3_enabled(): + raise ValueError("Unsloth is incompatible with DeepSpeed ZeRO-3.") + _verify_model_args(model_args, finetuning_args) _check_extra_dependencies(model_args, finetuning_args, training_args) diff --git a/src/llamafactory/extras/callbacks.py b/src/llamafactory/train/callbacks.py similarity index 59% rename from src/llamafactory/extras/callbacks.py rename to src/llamafactory/train/callbacks.py index 0dff6a69..dc9c981e 100644 --- a/src/llamafactory/extras/callbacks.py +++ b/src/llamafactory/train/callbacks.py @@ -1,4 +1,7 @@ -# Copyright 2024 the LlamaFactory team. +# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. +# +# This code is inspired by the HuggingFace's transformers library. +# https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/trainer.py # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -22,22 +25,78 @@ from concurrent.futures import ThreadPoolExecutor from datetime import timedelta from typing import TYPE_CHECKING, Any, Dict, Optional +import torch import transformers -from transformers import TrainerCallback +from peft import PeftModel +from transformers import PreTrainedModel, ProcessorMixin, TrainerCallback from transformers.trainer_utils import PREFIX_CHECKPOINT_DIR, has_length +from transformers.utils import ( + SAFE_WEIGHTS_NAME, + WEIGHTS_NAME, + is_safetensors_available, +) -from .constants import TRAINER_LOG -from .logging import LoggerHandler, get_logger -from .misc import fix_valuehead_checkpoint +from ..extras.constants import TRAINER_LOG, V_HEAD_SAFE_WEIGHTS_NAME, V_HEAD_WEIGHTS_NAME +from ..extras.logging import LoggerHandler, get_logger +if is_safetensors_available(): + from safetensors import safe_open + from safetensors.torch import save_file + if TYPE_CHECKING: from transformers import TrainerControl, TrainerState, TrainingArguments + from trl import AutoModelForCausalLMWithValueHead logger = get_logger(__name__) +def fix_valuehead_checkpoint( + model: "AutoModelForCausalLMWithValueHead", output_dir: str, safe_serialization: bool +) -> None: + r""" + The model is already unwrapped. + + There are three cases: + 1. full tuning without ds_zero3: state_dict = {"model.layers.*": ..., "v_head.summary.*": ...} + 2. lora tuning without ds_zero3: state_dict = {"v_head.summary.*": ...} + 3. under deepspeed zero3: state_dict = {"pretrained_model.model.layers.*": ..., "v_head.summary.*": ...} + + We assume `stage3_gather_16bit_weights_on_model_save=true`. + """ + if not isinstance(model.pretrained_model, (PreTrainedModel, PeftModel)): + return + + if safe_serialization: + path_to_checkpoint = os.path.join(output_dir, SAFE_WEIGHTS_NAME) + with safe_open(path_to_checkpoint, framework="pt", device="cpu") as f: + state_dict: Dict[str, torch.Tensor] = {key: f.get_tensor(key) for key in f.keys()} + else: + path_to_checkpoint = os.path.join(output_dir, WEIGHTS_NAME) + state_dict: Dict[str, torch.Tensor] = torch.load(path_to_checkpoint, map_location="cpu") + + decoder_state_dict = {} + v_head_state_dict = {} + for name, param in state_dict.items(): + if name.startswith("v_head."): + v_head_state_dict[name] = param + else: + decoder_state_dict[name.replace("pretrained_model.", "")] = param + + os.remove(path_to_checkpoint) + model.pretrained_model.save_pretrained( + output_dir, state_dict=decoder_state_dict or None, safe_serialization=safe_serialization + ) + + if safe_serialization: + save_file(v_head_state_dict, os.path.join(output_dir, V_HEAD_SAFE_WEIGHTS_NAME), metadata={"format": "pt"}) + else: + torch.save(v_head_state_dict, os.path.join(output_dir, V_HEAD_WEIGHTS_NAME)) + + logger.info("Value head model saved at: {}".format(output_dir)) + + class FixValueHeadModelCallback(TrainerCallback): def on_save(self, args: "TrainingArguments", state: "TrainerState", control: "TrainerControl", **kwargs): r""" @@ -51,8 +110,70 @@ class FixValueHeadModelCallback(TrainerCallback): ) +class SaveProcessorCallback(TrainerCallback): + def __init__(self, processor: "ProcessorMixin") -> None: + r""" + Initializes a callback for saving the processor. + """ + self.processor = processor + + def on_train_end(self, args: "TrainingArguments", state: "TrainerState", control: "TrainerControl", **kwargs): + r""" + Event called at the end of training. + """ + if args.should_save: + getattr(self.processor, "image_processor").save_pretrained(args.output_dir) + + +class PissaConvertCallback(TrainerCallback): + r""" + Initializes a callback for converting the PiSSA adapter to a normal one. + """ + + def on_train_begin(self, args: "TrainingArguments", state: "TrainerState", control: "TrainerControl", **kwargs): + r""" + Event called at the beginning of training. + """ + if args.should_save: + model = kwargs.pop("model") + pissa_init_dir = os.path.join(args.output_dir, "pissa_init") + logger.info("Initial PiSSA adatper will be saved at: {}.".format(pissa_init_dir)) + if isinstance(model, PeftModel): + init_lora_weights = getattr(model.peft_config["default"], "init_lora_weights") + setattr(model.peft_config["default"], "init_lora_weights", True) + model.save_pretrained(pissa_init_dir, safe_serialization=args.save_safetensors) + setattr(model.peft_config["default"], "init_lora_weights", init_lora_weights) + + def on_train_end(self, args: "TrainingArguments", state: "TrainerState", control: "TrainerControl", **kwargs): + r""" + Event called at the end of training. + """ + if args.should_save: + model = kwargs.pop("model") + pissa_init_dir = os.path.join(args.output_dir, "pissa_init") + pissa_backup_dir = os.path.join(args.output_dir, "pissa_backup") + pissa_convert_dir = os.path.join(args.output_dir, "pissa_converted") + logger.info("Converted PiSSA adapter will be saved at: {}.".format(pissa_convert_dir)) + # 1. save a pissa backup with init_lora_weights: True + # 2. save a converted lora with init_lora_weights: pissa + # 3. load the pissa backup with init_lora_weights: True + # 4. delete the initial adapter and change init_lora_weights to pissa + if isinstance(model, PeftModel): + init_lora_weights = getattr(model.peft_config["default"], "init_lora_weights") + setattr(model.peft_config["default"], "init_lora_weights", True) + model.save_pretrained(pissa_backup_dir, safe_serialization=args.save_safetensors) + setattr(model.peft_config["default"], "init_lora_weights", init_lora_weights) + model.save_pretrained( + pissa_convert_dir, safe_serialization=args.save_safetensors, convert_pissa_to_lora=pissa_init_dir + ) + model.load_adapter(pissa_backup_dir, "default", is_trainable=True) + model.set_adapter("default") + model.delete_adapter("pissa_init") + setattr(model.peft_config["default"], "init_lora_weights", init_lora_weights) + + class LogCallback(TrainerCallback): - def __init__(self, output_dir: str) -> None: + def __init__(self) -> None: r""" Initializes a callback for logging training and evaluation status. """ @@ -70,7 +191,7 @@ class LogCallback(TrainerCallback): self.webui_mode = os.environ.get("LLAMABOARD_ENABLED", "0").lower() in ["true", "1"] if self.webui_mode: signal.signal(signal.SIGABRT, self._set_abort) - self.logger_handler = LoggerHandler(output_dir) + self.logger_handler = LoggerHandler(os.environ.get("LLAMABOARD_WORKDIR")) logging.root.addHandler(self.logger_handler) transformers.logging.add_handler(self.logger_handler) diff --git a/src/llamafactory/train/dpo/trainer.py b/src/llamafactory/train/dpo/trainer.py index ed4fd5d9..e45467d6 100644 --- a/src/llamafactory/train/dpo/trainer.py +++ b/src/llamafactory/train/dpo/trainer.py @@ -15,7 +15,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os import warnings from collections import defaultdict from contextlib import nullcontext @@ -29,7 +28,8 @@ from trl import DPOTrainer from trl.trainer import disable_dropout_in_model from ...extras.constants import IGNORE_INDEX -from ..trainer_utils import convert_pissa_adapter, create_custom_optimzer, create_custom_scheduler, get_batch_logps +from ..callbacks import PissaConvertCallback, SaveProcessorCallback +from ..trainer_utils import create_custom_optimzer, create_custom_scheduler, get_batch_logps if TYPE_CHECKING: @@ -54,7 +54,6 @@ class CustomDPOTrainer(DPOTrainer): disable_dropout_in_model(ref_model) self.finetuning_args = finetuning_args - self.processor = processor self.reference_free = False self.use_dpo_data_collator = True # hack to avoid warning self.generate_during_eval = False # disable at evaluation @@ -92,14 +91,17 @@ class CustomDPOTrainer(DPOTrainer): self.ref_model = self.accelerator.prepare_model(self.ref_model, evaluation_mode=True) self.ref_model.eval() + if processor is not None: + self.add_callback(SaveProcessorCallback(processor)) + if finetuning_args.pissa_convert: - self.save_model(os.path.join(self.args.output_dir, "pissa_init")) + self.callback_handler.add_callback(PissaConvertCallback) if finetuning_args.use_badam: from badam import BAdamCallback, clip_grad_norm_old_version self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) - self.callback_handler.add_callback(BAdamCallback) + self.add_callback(BAdamCallback) def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: @@ -112,15 +114,6 @@ class CustomDPOTrainer(DPOTrainer): create_custom_scheduler(self.args, num_training_steps, optimizer) return super().create_scheduler(num_training_steps, optimizer) - def _save(self, output_dir: Optional[str] = None, state_dict: Optional[Dict[str, "torch.Tensor"]] = None) -> None: - super()._save(output_dir, state_dict) - output_dir = output_dir if output_dir is not None else self.args.output_dir - if self.finetuning_args.pissa_convert: - convert_pissa_adapter(output_dir, state_dict, self.accelerator, self.model, self.args) - - if self.processor is not None: - getattr(self.processor, "image_processor").save_pretrained(output_dir) - def odds_ratio_loss(self, chosen_logps: "torch.Tensor", rejected_logps: "torch.Tensor") -> "torch.Tensor": r""" Computes ORPO's odds ratio (OR) loss for batched log probabilities of the policy model. diff --git a/src/llamafactory/train/kto/trainer.py b/src/llamafactory/train/kto/trainer.py index c2edf95a..460311e4 100644 --- a/src/llamafactory/train/kto/trainer.py +++ b/src/llamafactory/train/kto/trainer.py @@ -27,6 +27,7 @@ from trl import KTOTrainer from trl.trainer import disable_dropout_in_model from ...extras.constants import IGNORE_INDEX +from ..callbacks import SaveProcessorCallback from ..trainer_utils import create_custom_optimzer, create_custom_scheduler, get_batch_logps @@ -53,7 +54,6 @@ class CustomKTOTrainer(KTOTrainer): disable_dropout_in_model(ref_model) self.finetuning_args = finetuning_args - self.processor = processor self.reference_free = False self.use_dpo_data_collator = True # hack to avoid warning self.generate_during_eval = False # disable at evaluation @@ -90,11 +90,14 @@ class CustomKTOTrainer(KTOTrainer): self.ref_model = self.accelerator.prepare_model(self.ref_model, evaluation_mode=True) self.ref_model.eval() + if processor is not None: + self.add_callback(SaveProcessorCallback(processor)) + if finetuning_args.use_badam: from badam import BAdamCallback, clip_grad_norm_old_version self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) - self.callback_handler.add_callback(BAdamCallback) + self.add_callback(BAdamCallback) def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: @@ -113,12 +116,6 @@ class CustomKTOTrainer(KTOTrainer): """ return Trainer._get_train_sampler(self) - def _save(self, output_dir: Optional[str] = None, state_dict: Optional[Dict[str, "torch.Tensor"]] = None) -> None: - super()._save(output_dir, state_dict) - output_dir = output_dir if output_dir is not None else self.args.output_dir - if self.processor is not None: - getattr(self.processor, "image_processor").save_pretrained(output_dir) - def forward( self, model: "PreTrainedModel", batch: Dict[str, "torch.Tensor"], prefix: Literal["", "kl_"] = "" ) -> Tuple["torch.Tensor", "torch.Tensor"]: diff --git a/src/llamafactory/train/ppo/trainer.py b/src/llamafactory/train/ppo/trainer.py index c5f6e175..57f0b848 100644 --- a/src/llamafactory/train/ppo/trainer.py +++ b/src/llamafactory/train/ppo/trainer.py @@ -27,6 +27,7 @@ from accelerate.utils import DistributedDataParallelKwargs from tqdm import tqdm from transformers import GenerationConfig, Trainer, TrainerControl, TrainerState from transformers.optimization import get_scheduler +from transformers.trainer_callback import CallbackHandler from transformers.trainer_pt_utils import remove_dummy_checkpoint from transformers.trainer_utils import PREFIX_CHECKPOINT_DIR from transformers.utils import SAFE_WEIGHTS_NAME, WEIGHTS_NAME @@ -34,9 +35,9 @@ from trl import PPOConfig, PPOTrainer from trl.core import PPODecorators, logprobs_from_logits from trl.models.utils import unwrap_model_for_generation -from ...extras.callbacks import FixValueHeadModelCallback, LogCallback from ...extras.logging import get_logger from ...extras.misc import AverageMeter, count_parameters, get_current_device, get_logits_processor +from ..callbacks import FixValueHeadModelCallback, SaveProcessorCallback from ..trainer_utils import create_custom_optimzer, create_custom_scheduler from .ppo_utils import dump_layernorm, get_rewards_from_server, replace_model, restore_layernorm @@ -131,7 +132,6 @@ class CustomPPOTrainer(PPOTrainer, Trainer): self.finetuning_args = finetuning_args self.reward_model = reward_model self.current_device = get_current_device() # patch for deepspeed training - self.processor = processor self.generation_config = GenerationConfig( pad_token_id=self.tokenizer.pad_token_id, @@ -143,8 +143,9 @@ class CustomPPOTrainer(PPOTrainer, Trainer): self.control = TrainerControl() self.is_deepspeed_enabled = getattr(self.accelerator.state, "deepspeed_plugin", None) is not None self.is_fsdp_enabled = getattr(self.accelerator.state, "fsdp_plugin", None) is not None - self.log_callback, self.save_callback = callbacks[0], callbacks[1] - assert isinstance(self.log_callback, LogCallback) and isinstance(self.save_callback, FixValueHeadModelCallback) + self.callback_handler = CallbackHandler( + [callbacks], self.accelerator.unwrap_model(self.model), self.tokenizer, self.optimizer, self.lr_scheduler + ) if self.args.max_steps > 0: logger.info("max_steps is given, it will override any value given in num_train_epochs") @@ -165,11 +166,16 @@ class CustomPPOTrainer(PPOTrainer, Trainer): else: self.reward_model = self.accelerator.prepare_model(self.reward_model, evaluation_mode=True) + self.add_callback(FixValueHeadModelCallback) + + if processor is not None: + self.add_callback(SaveProcessorCallback(processor)) + if finetuning_args.use_badam: from badam import BAdamCallback, clip_grad_norm_old_version self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) - self.callback_handler.add_callback(BAdamCallback) + self.add_callback(BAdamCallback) def ppo_train(self, resume_from_checkpoint: Optional[str] = None) -> None: r""" @@ -219,7 +225,7 @@ class CustomPPOTrainer(PPOTrainer, Trainer): dataiter = iter(self.dataloader) loss_meter = AverageMeter() reward_meter = AverageMeter() - self.log_callback.on_train_begin(self.args, self.state, self.control) + self.callback_handler.on_train_begin(self.args, self.state, self.control) for step in tqdm(range(max_steps), disable=not self.is_local_process_zero()): try: @@ -257,7 +263,7 @@ class CustomPPOTrainer(PPOTrainer, Trainer): logger.warning("Failed to save stats due to unknown errors.") self.state.global_step += 1 - self.log_callback.on_step_end(self.args, self.state, self.control) + self.callback_handler.on_step_end(self.args, self.state, self.control) if self.is_local_process_zero() and (step + 1) % self.args.logging_steps == 0: logs = dict( @@ -269,7 +275,7 @@ class CustomPPOTrainer(PPOTrainer, Trainer): tqdm.write(str(logs)) logs["step"] = step self.state.log_history.append(logs) - self.log_callback.on_log(self.args, self.state, self.control) + self.callback_handler.on_log(self.args, self.state, self.control, logs) loss_meter.reset() reward_meter.reset() @@ -277,17 +283,12 @@ class CustomPPOTrainer(PPOTrainer, Trainer): self.save_model( os.path.join(self.args.output_dir, "{}-{}".format(PREFIX_CHECKPOINT_DIR, self.state.global_step)) ) - self.save_callback.on_save( - self.args, self.state, self.control, model=self.accelerator.unwrap_model(self.model) - ) + self.callback_handler.on_save(self.args, self.state, self.control) if self.control.should_epoch_stop or self.control.should_training_stop: break - self.log_callback.on_train_end(self.args, self.state, self.control) - self.save_callback.on_train_end( - self.args, self.state, self.control, model=self.accelerator.unwrap_model(self.model) - ) + self.callback_handler.on_train_end(self.args, self.state, self.control) def create_optimizer( self, @@ -505,7 +506,3 @@ class CustomPPOTrainer(PPOTrainer, Trainer): elif self.args.should_save: self._save(output_dir) - - if self.processor is not None and self.args.should_save: - output_dir = output_dir if output_dir is not None else self.args.output_dir - getattr(self.processor, "image_processor").save_pretrained(output_dir) diff --git a/src/llamafactory/train/ppo/workflow.py b/src/llamafactory/train/ppo/workflow.py index 4f4d2820..651296f3 100644 --- a/src/llamafactory/train/ppo/workflow.py +++ b/src/llamafactory/train/ppo/workflow.py @@ -20,10 +20,9 @@ from typing import TYPE_CHECKING, List, Optional from transformers import DataCollatorWithPadding from ...data import get_dataset -from ...extras.callbacks import FixValueHeadModelCallback -from ...extras.misc import fix_valuehead_checkpoint from ...extras.ploting import plot_loss from ...model import load_model, load_tokenizer +from ..callbacks import FixValueHeadModelCallback, fix_valuehead_checkpoint from ..trainer_utils import create_ref_model, create_reward_model from .trainer import CustomPPOTrainer @@ -75,6 +74,7 @@ def run_ppo( ppo_trainer.save_model() if training_args.should_save: fix_valuehead_checkpoint(model, training_args.output_dir, training_args.save_safetensors) + ppo_trainer.save_state() # must be called after save_model to have a folder if ppo_trainer.is_world_process_zero() and finetuning_args.plot_loss: plot_loss(training_args.output_dir, keys=["loss", "reward"]) diff --git a/src/llamafactory/train/pt/trainer.py b/src/llamafactory/train/pt/trainer.py index b6fb161d..e8f180a6 100644 --- a/src/llamafactory/train/pt/trainer.py +++ b/src/llamafactory/train/pt/trainer.py @@ -12,14 +12,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os from types import MethodType -from typing import TYPE_CHECKING, Dict, Optional +from typing import TYPE_CHECKING, Optional from transformers import Trainer from ...extras.logging import get_logger -from ..trainer_utils import convert_pissa_adapter, create_custom_optimzer, create_custom_scheduler +from ..callbacks import PissaConvertCallback, SaveProcessorCallback +from ..trainer_utils import create_custom_optimzer, create_custom_scheduler if TYPE_CHECKING: @@ -42,16 +42,18 @@ class CustomTrainer(Trainer): ) -> None: super().__init__(**kwargs) self.finetuning_args = finetuning_args - self.processor = processor + + if processor is not None: + self.add_callback(SaveProcessorCallback(processor)) if finetuning_args.pissa_convert: - self.save_model(os.path.join(self.args.output_dir, "pissa_init")) + self.add_callback(PissaConvertCallback) if finetuning_args.use_badam: from badam import BAdamCallback, clip_grad_norm_old_version self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) - self.callback_handler.add_callback(BAdamCallback) + self.add_callback(BAdamCallback) def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: @@ -63,12 +65,3 @@ class CustomTrainer(Trainer): ) -> "torch.optim.lr_scheduler.LRScheduler": create_custom_scheduler(self.args, num_training_steps, optimizer) return super().create_scheduler(num_training_steps, optimizer) - - def _save(self, output_dir: Optional[str] = None, state_dict: Optional[Dict[str, "torch.Tensor"]] = None) -> None: - super()._save(output_dir, state_dict) - output_dir = output_dir if output_dir is not None else self.args.output_dir - if self.finetuning_args.pissa_convert: - convert_pissa_adapter(output_dir, state_dict, self.accelerator, self.model, self.args) - - if self.processor is not None: - getattr(self.processor, "image_processor").save_pretrained(output_dir) diff --git a/src/llamafactory/train/rm/trainer.py b/src/llamafactory/train/rm/trainer.py index 70c2e9a0..5eceead8 100644 --- a/src/llamafactory/train/rm/trainer.py +++ b/src/llamafactory/train/rm/trainer.py @@ -46,6 +46,7 @@ import torch from transformers import Trainer from ...extras.logging import get_logger +from ..callbacks import FixValueHeadModelCallback, PissaConvertCallback, SaveProcessorCallback from ..trainer_utils import create_custom_optimzer, create_custom_scheduler @@ -69,13 +70,20 @@ class PairwiseTrainer(Trainer): ) -> None: super().__init__(**kwargs) self.finetuning_args = finetuning_args - self.processor = processor self.can_return_loss = True # override property to return eval_loss + self.add_callback(FixValueHeadModelCallback) + + if processor is not None: + self.add_callback(SaveProcessorCallback(processor)) + + if finetuning_args.pissa_convert: + self.add_callback(PissaConvertCallback) + if finetuning_args.use_badam: from badam import BAdamCallback, clip_grad_norm_old_version self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) - self.callback_handler.add_callback(BAdamCallback) + self.add_callback(BAdamCallback) def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: @@ -88,12 +96,6 @@ class PairwiseTrainer(Trainer): create_custom_scheduler(self.args, num_training_steps, optimizer) return super().create_scheduler(num_training_steps, optimizer) - def _save(self, output_dir: Optional[str] = None, state_dict: Optional[Dict[str, "torch.Tensor"]] = None) -> None: - super()._save(output_dir, state_dict) - output_dir = output_dir if output_dir is not None else self.args.output_dir - if self.processor is not None: - getattr(self.processor, "image_processor").save_pretrained(output_dir) - def compute_loss( self, model: "PreTrainedModel", inputs: Dict[str, torch.Tensor], return_outputs: bool = False ) -> Union[torch.Tensor, Tuple[torch.Tensor, List[torch.Tensor]]]: @@ -164,4 +166,5 @@ class PairwiseTrainer(Trainer): res: List[str] = [] for c_score, r_score in zip(chosen_scores, rejected_scores): res.append(json.dumps({"chosen": round(float(c_score), 2), "rejected": round(float(r_score), 2)})) + writer.write("\n".join(res)) diff --git a/src/llamafactory/train/rm/workflow.py b/src/llamafactory/train/rm/workflow.py index 6f24e964..e0b32b77 100644 --- a/src/llamafactory/train/rm/workflow.py +++ b/src/llamafactory/train/rm/workflow.py @@ -40,10 +40,9 @@ from typing import TYPE_CHECKING, List, Optional from ...data import PairwiseDataCollatorWithPadding, get_dataset, split_dataset -from ...extras.callbacks import FixValueHeadModelCallback -from ...extras.misc import fix_valuehead_checkpoint from ...extras.ploting import plot_loss from ...model import load_model, load_tokenizer +from ..callbacks import fix_valuehead_checkpoint from ..trainer_utils import create_modelcard_and_push from .metric import compute_accuracy from .trainer import PairwiseTrainer @@ -77,7 +76,7 @@ def run_rm( args=training_args, finetuning_args=finetuning_args, data_collator=data_collator, - callbacks=callbacks + [FixValueHeadModelCallback()], + callbacks=callbacks, compute_metrics=compute_accuracy, **tokenizer_module, **split_dataset(dataset, data_args, training_args), @@ -89,6 +88,7 @@ def run_rm( trainer.save_model() if training_args.should_save: fix_valuehead_checkpoint(model, training_args.output_dir, training_args.save_safetensors) + trainer.log_metrics("train", train_result.metrics) trainer.save_metrics("train", train_result.metrics) trainer.save_state() diff --git a/src/llamafactory/train/sft/trainer.py b/src/llamafactory/train/sft/trainer.py index f0a86dff..06bd2b6b 100644 --- a/src/llamafactory/train/sft/trainer.py +++ b/src/llamafactory/train/sft/trainer.py @@ -26,7 +26,8 @@ from transformers import Seq2SeqTrainer from ...extras.constants import IGNORE_INDEX from ...extras.logging import get_logger -from ..trainer_utils import convert_pissa_adapter, create_custom_optimzer, create_custom_scheduler +from ..callbacks import PissaConvertCallback, SaveProcessorCallback +from ..trainer_utils import create_custom_optimzer, create_custom_scheduler if TYPE_CHECKING: @@ -50,19 +51,18 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): ) -> None: super().__init__(**kwargs) self.finetuning_args = finetuning_args - self.processor = processor + + if processor is not None: + self.add_callback(SaveProcessorCallback(processor)) if finetuning_args.pissa_convert: - if self.is_deepspeed_enabled: - self.accelerator.deepspeed_config = self.accelerator.state.deepspeed_plugin.deepspeed_config - self.deepspeed = self._wrap_model(self.model_wrapped) - self.save_model(os.path.join(self.args.output_dir, "pissa_init")) + self.add_callback(PissaConvertCallback) if finetuning_args.use_badam: from badam import BAdamCallback, clip_grad_norm_old_version self.accelerator.clip_grad_norm_ = MethodType(clip_grad_norm_old_version, self.accelerator) - self.callback_handler.add_callback(BAdamCallback) + self.add_callback(BAdamCallback) def create_optimizer(self) -> "torch.optim.Optimizer": if self.optimizer is None: @@ -75,15 +75,6 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): create_custom_scheduler(self.args, num_training_steps, optimizer) return super().create_scheduler(num_training_steps, optimizer) - def _save(self, output_dir: Optional[str] = None, state_dict: Optional[Dict[str, "torch.Tensor"]] = None) -> None: - super()._save(output_dir, state_dict) - output_dir = output_dir if output_dir is not None else self.args.output_dir - if self.finetuning_args.pissa_convert: - convert_pissa_adapter(output_dir, state_dict, self.accelerator, self.model, self.args) - - if self.processor is not None: - getattr(self.processor, "image_processor").save_pretrained(output_dir) - def prediction_step( self, model: "torch.nn.Module", diff --git a/src/llamafactory/train/trainer_utils.py b/src/llamafactory/train/trainer_utils.py index 21d41c36..4b581691 100644 --- a/src/llamafactory/train/trainer_utils.py +++ b/src/llamafactory/train/trainer_utils.py @@ -17,11 +17,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -import os from typing import TYPE_CHECKING, Callable, Dict, List, Optional, Tuple, Union import torch -from peft import PeftModel from transformers import Trainer from transformers.integrations import is_deepspeed_zero3_enabled from transformers.optimization import get_scheduler @@ -40,7 +38,6 @@ if is_galore_available(): if TYPE_CHECKING: - from accelerate import Accelerator from transformers import PreTrainedModel, Seq2SeqTrainingArguments from trl import AutoModelForCausalLMWithValueHead @@ -175,51 +172,6 @@ def create_reward_model( return reward_model -def convert_pissa_adapter( - output_dir: str, - state_dict: Dict[str, "torch.Tensor"], - accelerator: "Accelerator", - model: "PreTrainedModel", - training_args: "Seq2SeqTrainingArguments", -) -> None: - r""" - Converts the PiSSA adapter to a LoRA adapter. - """ - pissa_init_dir = os.path.join(training_args.output_dir, "pissa_init") - pissa_backup_dir = os.path.join(output_dir, "pissa_backup") - if output_dir == pissa_init_dir: - logger.info("Initial PiSSA adatper will be saved at: {}.".format(pissa_init_dir)) - unwrapped_model = accelerator.unwrap_model(model) - if isinstance(unwrapped_model, PeftModel): - init_lora_weights = getattr(unwrapped_model.peft_config["default"], "init_lora_weights") - setattr(unwrapped_model.peft_config["default"], "init_lora_weights", True) - unwrapped_model.save_pretrained( - output_dir, - state_dict=state_dict, - safe_serialization=training_args.save_safetensors, - ) - setattr(unwrapped_model.peft_config["default"], "init_lora_weights", init_lora_weights) - - elif output_dir == training_args.output_dir: # at the end of training - logger.info("Converted PiSSA adapter will be saved at: {}.".format(output_dir)) - unwrapped_model = accelerator.unwrap_model(model) - if isinstance(unwrapped_model, PeftModel): # backup the pissa adapter for further use - unwrapped_model.save_pretrained( - pissa_backup_dir, - state_dict=state_dict, - safe_serialization=training_args.save_safetensors, - ) - unwrapped_model.save_pretrained( - output_dir, - state_dict=state_dict, - safe_serialization=training_args.save_safetensors, - convert_pissa_to_lora=pissa_init_dir, - ) - # TODO: the model is applied pissa again unexpectedly - unwrapped_model.load_adapter(pissa_backup_dir, "default", is_trainable=True) - unwrapped_model.set_adapter("default") - - def _get_decay_parameter_names(model: "PreTrainedModel") -> List[str]: r""" Returns a list of names of parameters with weight decay. (weights in non-layernorm layers) diff --git a/src/llamafactory/train/tuner.py b/src/llamafactory/train/tuner.py index a02fff22..dc982e07 100644 --- a/src/llamafactory/train/tuner.py +++ b/src/llamafactory/train/tuner.py @@ -20,11 +20,11 @@ import torch from transformers import PreTrainedModel from ..data import get_template_and_fix_tokenizer -from ..extras.callbacks import LogCallback from ..extras.constants import V_HEAD_SAFE_WEIGHTS_NAME, V_HEAD_WEIGHTS_NAME from ..extras.logging import get_logger from ..hparams import get_infer_args, get_train_args from ..model import load_model, load_tokenizer +from .callbacks import LogCallback from .dpo import run_dpo from .kto import run_kto from .ppo import run_ppo @@ -41,8 +41,8 @@ logger = get_logger(__name__) def run_exp(args: Optional[Dict[str, Any]] = None, callbacks: List["TrainerCallback"] = []) -> None: + callbacks.append(LogCallback()) model_args, data_args, training_args, finetuning_args, generating_args = get_train_args(args) - callbacks.append(LogCallback(training_args.output_dir)) if finetuning_args.stage == "pt": run_pt(model_args, data_args, training_args, finetuning_args, callbacks) diff --git a/src/llamafactory/webui/runner.py b/src/llamafactory/webui/runner.py index f7fbac30..131d180d 100644 --- a/src/llamafactory/webui/runner.py +++ b/src/llamafactory/webui/runner.py @@ -310,6 +310,7 @@ class Runner: env = deepcopy(os.environ) env["LLAMABOARD_ENABLED"] = "1" + env["LLAMABOARD_WORKDIR"] = args["output_dir"] if args.get("deepspeed", None) is not None: env["FORCE_TORCHRUN"] = "1" diff --git a/src/llamafactory/webui/utils.py b/src/llamafactory/webui/utils.py index 14616ac4..6e5fdbe4 100644 --- a/src/llamafactory/webui/utils.py +++ b/src/llamafactory/webui/utils.py @@ -38,12 +38,15 @@ def abort_process(pid: int) -> None: r""" Aborts the processes recursively in a bottom-up way. """ - children = psutil.Process(pid).children() - if children: - for child in children: - abort_process(child.pid) + try: + children = psutil.Process(pid).children() + if children: + for child in children: + abort_process(child.pid) - os.kill(pid, signal.SIGABRT) + os.kill(pid, signal.SIGABRT) + except Exception: + pass def can_quantize(finetuning_type: str) -> "gr.Dropdown": From 2105cf6000a88ae3c6e74182be985bd3ed8b74f1 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Fri, 28 Jun 2024 01:17:07 +0800 Subject: [PATCH 154/169] update examples Former-commit-id: 2f78b5d62a34ea4d157bbe91a253859d25c8a7fe --- examples/extras/fsdp_qlora/llama3_lora_sft.yaml | 2 +- examples/extras/llama_pro/llama3_freeze_sft.yaml | 2 +- examples/extras/loraplus/llama3_lora_sft.yaml | 2 +- examples/extras/pissa/llama3_lora_sft.yaml | 2 +- examples/train_full/llama3_full_sft_ds3.yaml | 2 +- examples/train_lora/llama3_lora_dpo.yaml | 2 +- examples/train_lora/llama3_lora_kto.yaml | 2 +- examples/train_lora/llama3_lora_ppo.yaml | 2 +- examples/train_lora/llama3_lora_pretrain.yaml | 2 +- examples/train_lora/llama3_lora_reward.yaml | 4 ++-- examples/train_lora/llama3_lora_sft.yaml | 2 +- examples/train_lora/llama3_lora_sft_ds0.yaml | 2 +- examples/train_lora/llama3_lora_sft_ds3.yaml | 2 +- examples/train_lora/llava1_5_lora_sft.yaml | 2 +- examples/train_qlora/llama3_lora_sft_aqlm.yaml | 2 +- examples/train_qlora/llama3_lora_sft_awq.yaml | 2 +- examples/train_qlora/llama3_lora_sft_gptq.yaml | 2 +- examples/train_qlora/llama3_lora_sft_otfq.yaml | 2 +- 18 files changed, 19 insertions(+), 19 deletions(-) diff --git a/examples/extras/fsdp_qlora/llama3_lora_sft.yaml b/examples/extras/fsdp_qlora/llama3_lora_sft.yaml index cc773991..6c80ef58 100644 --- a/examples/extras/fsdp_qlora/llama3_lora_sft.yaml +++ b/examples/extras/fsdp_qlora/llama3_lora_sft.yaml @@ -30,7 +30,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/extras/llama_pro/llama3_freeze_sft.yaml b/examples/extras/llama_pro/llama3_freeze_sft.yaml index f92d6945..5e7e90bb 100644 --- a/examples/extras/llama_pro/llama3_freeze_sft.yaml +++ b/examples/extras/llama_pro/llama3_freeze_sft.yaml @@ -31,7 +31,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/extras/loraplus/llama3_lora_sft.yaml b/examples/extras/loraplus/llama3_lora_sft.yaml index 57383ae0..062a312b 100644 --- a/examples/extras/loraplus/llama3_lora_sft.yaml +++ b/examples/extras/loraplus/llama3_lora_sft.yaml @@ -30,7 +30,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/extras/pissa/llama3_lora_sft.yaml b/examples/extras/pissa/llama3_lora_sft.yaml index fd4b9f1d..05077b6c 100644 --- a/examples/extras/pissa/llama3_lora_sft.yaml +++ b/examples/extras/pissa/llama3_lora_sft.yaml @@ -32,7 +32,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_full/llama3_full_sft_ds3.yaml b/examples/train_full/llama3_full_sft_ds3.yaml index 40afd2ee..c983ad5c 100644 --- a/examples/train_full/llama3_full_sft_ds3.yaml +++ b/examples/train_full/llama3_full_sft_ds3.yaml @@ -29,7 +29,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_lora/llama3_lora_dpo.yaml b/examples/train_lora/llama3_lora_dpo.yaml index 188e5078..d87c0669 100644 --- a/examples/train_lora/llama3_lora_dpo.yaml +++ b/examples/train_lora/llama3_lora_dpo.yaml @@ -31,7 +31,7 @@ learning_rate: 5.0e-6 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_lora/llama3_lora_kto.yaml b/examples/train_lora/llama3_lora_kto.yaml index f730c82e..08208c25 100644 --- a/examples/train_lora/llama3_lora_kto.yaml +++ b/examples/train_lora/llama3_lora_kto.yaml @@ -30,7 +30,7 @@ learning_rate: 5.0e-6 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_lora/llama3_lora_ppo.yaml b/examples/train_lora/llama3_lora_ppo.yaml index e574014e..512e90ea 100644 --- a/examples/train_lora/llama3_lora_ppo.yaml +++ b/examples/train_lora/llama3_lora_ppo.yaml @@ -30,7 +30,7 @@ learning_rate: 1.0e-5 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### generate diff --git a/examples/train_lora/llama3_lora_pretrain.yaml b/examples/train_lora/llama3_lora_pretrain.yaml index 839b3e51..5e8aaaef 100644 --- a/examples/train_lora/llama3_lora_pretrain.yaml +++ b/examples/train_lora/llama3_lora_pretrain.yaml @@ -28,7 +28,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_lora/llama3_lora_reward.yaml b/examples/train_lora/llama3_lora_reward.yaml index 79559d19..96c32238 100644 --- a/examples/train_lora/llama3_lora_reward.yaml +++ b/examples/train_lora/llama3_lora_reward.yaml @@ -25,11 +25,11 @@ overwrite_output_dir: true ### train per_device_train_batch_size: 1 gradient_accumulation_steps: 8 -learning_rate: 1.0e-5 +learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_lora/llama3_lora_sft.yaml b/examples/train_lora/llama3_lora_sft.yaml index fe30c575..55a8077e 100644 --- a/examples/train_lora/llama3_lora_sft.yaml +++ b/examples/train_lora/llama3_lora_sft.yaml @@ -29,7 +29,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_lora/llama3_lora_sft_ds0.yaml b/examples/train_lora/llama3_lora_sft_ds0.yaml index 08b638e6..f1442faa 100644 --- a/examples/train_lora/llama3_lora_sft_ds0.yaml +++ b/examples/train_lora/llama3_lora_sft_ds0.yaml @@ -30,7 +30,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_lora/llama3_lora_sft_ds3.yaml b/examples/train_lora/llama3_lora_sft_ds3.yaml index b7266d61..66e7007e 100644 --- a/examples/train_lora/llama3_lora_sft_ds3.yaml +++ b/examples/train_lora/llama3_lora_sft_ds3.yaml @@ -30,7 +30,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_lora/llava1_5_lora_sft.yaml b/examples/train_lora/llava1_5_lora_sft.yaml index 55ac31fa..ec03f82c 100644 --- a/examples/train_lora/llava1_5_lora_sft.yaml +++ b/examples/train_lora/llava1_5_lora_sft.yaml @@ -30,7 +30,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_qlora/llama3_lora_sft_aqlm.yaml b/examples/train_qlora/llama3_lora_sft_aqlm.yaml index 7b6767d5..3519d46b 100644 --- a/examples/train_qlora/llama3_lora_sft_aqlm.yaml +++ b/examples/train_qlora/llama3_lora_sft_aqlm.yaml @@ -29,7 +29,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_qlora/llama3_lora_sft_awq.yaml b/examples/train_qlora/llama3_lora_sft_awq.yaml index a2a26e4b..df48669b 100644 --- a/examples/train_qlora/llama3_lora_sft_awq.yaml +++ b/examples/train_qlora/llama3_lora_sft_awq.yaml @@ -29,7 +29,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_qlora/llama3_lora_sft_gptq.yaml b/examples/train_qlora/llama3_lora_sft_gptq.yaml index ad3d854c..61fa9bb4 100644 --- a/examples/train_qlora/llama3_lora_sft_gptq.yaml +++ b/examples/train_qlora/llama3_lora_sft_gptq.yaml @@ -29,7 +29,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval diff --git a/examples/train_qlora/llama3_lora_sft_otfq.yaml b/examples/train_qlora/llama3_lora_sft_otfq.yaml index 9c73b439..80a05768 100644 --- a/examples/train_qlora/llama3_lora_sft_otfq.yaml +++ b/examples/train_qlora/llama3_lora_sft_otfq.yaml @@ -31,7 +31,7 @@ learning_rate: 1.0e-4 num_train_epochs: 3.0 lr_scheduler_type: cosine warmup_ratio: 0.1 -fp16: true +bf16: true ddp_timeout: 180000000 ### eval From d3b7c489f2ae4bf7120345a7ddf9195db35b85b6 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Fri, 28 Jun 2024 01:26:50 +0800 Subject: [PATCH 155/169] add Gemma2 models Former-commit-id: 6f63050e1b61742d5f7e48bdc62c46748031d7cb --- README.md | 2 +- README_zh.md | 2 +- src/llamafactory/extras/constants.py | 12 ++++++++++++ src/llamafactory/train/rm/trainer.py | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 44aed7e8..27d1e98b 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ Compared to ChatGLM's [P-Tuning](https://github.com/THUDM/ChatGLM2-6B/tree/main/ | [Command-R](https://huggingface.co/CohereForAI) | 35B/104B | cohere | | [DeepSeek (Code/MoE)](https://huggingface.co/deepseek-ai) | 7B/16B/67B/236B | deepseek | | [Falcon](https://huggingface.co/tiiuae) | 7B/11B/40B/180B | falcon | -| [Gemma/CodeGemma](https://huggingface.co/google) | 2B/7B | gemma | +| [Gemma/Gemma2/CodeGemma](https://huggingface.co/google) | 2B/7B/9B/27B | gemma | | [GLM4](https://huggingface.co/THUDM) | 9B | glm4 | | [InternLM2](https://huggingface.co/internlm) | 7B/20B | intern2 | | [LLaMA](https://github.com/facebookresearch/llama) | 7B/13B/33B/65B | - | diff --git a/README_zh.md b/README_zh.md index 7e3d51ad..9fb56a4e 100644 --- a/README_zh.md +++ b/README_zh.md @@ -160,7 +160,7 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd | [Command-R](https://huggingface.co/CohereForAI) | 35B/104B | cohere | | [DeepSeek (Code/MoE)](https://huggingface.co/deepseek-ai) | 7B/16B/67B/236B | deepseek | | [Falcon](https://huggingface.co/tiiuae) | 7B/11B/40B/180B | falcon | -| [Gemma/CodeGemma](https://huggingface.co/google) | 2B/7B | gemma | +| [Gemma/Gemma2/CodeGemma](https://huggingface.co/google) | 2B/7B/9B/27B | gemma | | [GLM4](https://huggingface.co/THUDM) | 9B | glm4 | | [InternLM2](https://huggingface.co/internlm) | 7B/20B | intern2 | | [LLaMA](https://github.com/facebookresearch/llama) | 7B/13B/33B/65B | - | diff --git a/src/llamafactory/extras/constants.py b/src/llamafactory/extras/constants.py index 866f39d4..3ea21f76 100644 --- a/src/llamafactory/extras/constants.py +++ b/src/llamafactory/extras/constants.py @@ -507,6 +507,18 @@ register_model_group( "Gemma-1.1-7B-Chat": { DownloadSource.DEFAULT: "google/gemma-1.1-7b-it", }, + "Gemma-2-9B": { + DownloadSource.DEFAULT: "google/gemma-2-9b", + }, + "Gemma-2-27B": { + DownloadSource.DEFAULT: "google/gemma-2-27b", + }, + "Gemma-2-9B-Chat": { + DownloadSource.DEFAULT: "google/gemma-2-9b-it", + }, + "Gemma-2-27B-Chat": { + DownloadSource.DEFAULT: "google/gemma-2-27b-it", + }, }, template="gemma", ) diff --git a/src/llamafactory/train/rm/trainer.py b/src/llamafactory/train/rm/trainer.py index 5eceead8..accc877d 100644 --- a/src/llamafactory/train/rm/trainer.py +++ b/src/llamafactory/train/rm/trainer.py @@ -105,7 +105,7 @@ class PairwiseTrainer(Trainer): Subclass and override to inject custom behavior. Note that the first element will be removed from the output tuple. - See: https://github.com/huggingface/transformers/blob/v4.39.1/src/transformers/trainer.py#L3777 + See: https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/trainer.py#L3842 """ # Compute rewards _, _, values = model(**inputs, output_hidden_states=True, return_dict=True) From cba994b9dce9ee83f32fba2c0c0f973f56275544 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Fri, 28 Jun 2024 01:28:59 +0800 Subject: [PATCH 156/169] fix docker flashattn Former-commit-id: e3141f5f1b435d12c71d8b1fc6ade6e69deead71 --- docker/docker-cuda/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/docker-cuda/Dockerfile b/docker/docker-cuda/Dockerfile index e4fac987..d94aa970 100644 --- a/docker/docker-cuda/Dockerfile +++ b/docker/docker-cuda/Dockerfile @@ -4,6 +4,7 @@ FROM nvcr.io/nvidia/pytorch:24.02-py3 # Define environments ENV MAX_JOBS=4 +ENV FLASH_ATTENTION_FORCE_BUILD=TRUE # Define installation arguments ARG INSTALL_BNB=false From b0acd271143c960f21649c41ba871239a56a3f63 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Fri, 28 Jun 2024 03:18:54 +0800 Subject: [PATCH 157/169] increase pissa_iter for stability Former-commit-id: 64f4337daca4c914d86a7181dd582508688383cd --- src/llamafactory/hparams/finetuning_args.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/hparams/finetuning_args.py b/src/llamafactory/hparams/finetuning_args.py index 28da95ad..3867c0ec 100644 --- a/src/llamafactory/hparams/finetuning_args.py +++ b/src/llamafactory/hparams/finetuning_args.py @@ -113,7 +113,7 @@ class LoraArguments: metadata={"help": "Whether or not to initialize a PiSSA adapter."}, ) pissa_iter: int = field( - default=4, + default=16, metadata={"help": "The number of iteration steps performed by FSVD in PiSSA. Use -1 to disable it."}, ) pissa_convert: bool = field( From 87e60f8bacb651984db855c69f14084fdb906623 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Fri, 28 Jun 2024 06:00:26 +0800 Subject: [PATCH 158/169] bf16 by default, gemma2 attns Gemma2 finetuning cannot work until merging https://github.com/huggingface/transformers/pull/31674 Former-commit-id: 4d35e218b1d60ff24b368ff5bc608be9c85411de --- src/llamafactory/model/model_utils/attention.py | 8 +++++++- src/llamafactory/model/patcher.py | 2 +- src/llamafactory/webui/components/train.py | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/llamafactory/model/model_utils/attention.py b/src/llamafactory/model/model_utils/attention.py index dfd90936..9021d277 100644 --- a/src/llamafactory/model/model_utils/attention.py +++ b/src/llamafactory/model/model_utils/attention.py @@ -28,7 +28,13 @@ if TYPE_CHECKING: logger = get_logger(__name__) -def configure_attn_implementation(config: "PretrainedConfig", model_args: "ModelArguments") -> None: +def configure_attn_implementation( + config: "PretrainedConfig", model_args: "ModelArguments", is_trainable: bool +) -> None: + if getattr(config, "model_type", None) == "gemma2" and is_trainable: # gemma2 adopts soft-cap attention + logger.warning("Gemma-2 models should use eager attention in training, change `flash_attn` to disabled.") + model_args.flash_attn = "disabled" + if model_args.flash_attn == "auto": return diff --git a/src/llamafactory/model/patcher.py b/src/llamafactory/model/patcher.py index 24cd2601..4eae0bb4 100644 --- a/src/llamafactory/model/patcher.py +++ b/src/llamafactory/model/patcher.py @@ -67,7 +67,7 @@ def patch_config( use_jit_compile = os.environ.get("JIT_COMPILE", "0").lower() in ["true", "1"] torch.npu.set_compile_mode(jit_compile=use_jit_compile) - configure_attn_implementation(config, model_args) + configure_attn_implementation(config, model_args, is_trainable) configure_rope(config, model_args, is_trainable) configure_longlora(config, model_args, is_trainable) configure_quantization(config, tokenizer, model_args, init_kwargs) diff --git a/src/llamafactory/webui/components/train.py b/src/llamafactory/webui/components/train.py index f33c37ee..d4832dd3 100644 --- a/src/llamafactory/webui/components/train.py +++ b/src/llamafactory/webui/components/train.py @@ -54,7 +54,7 @@ def create_train_tab(engine: "Engine") -> Dict[str, "Component"]: num_train_epochs = gr.Textbox(value="3.0") max_grad_norm = gr.Textbox(value="1.0") max_samples = gr.Textbox(value="100000") - compute_type = gr.Dropdown(choices=["fp16", "bf16", "fp32", "pure_bf16"], value="fp16") + compute_type = gr.Dropdown(choices=["bf16", "fp16", "fp32", "pure_bf16"], value="bf16") input_elems.update({learning_rate, num_train_epochs, max_grad_norm, max_samples, compute_type}) elem_dict.update( From c3792dae9f902b24cee05d06d2af966bcabab2ff Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Fri, 28 Jun 2024 06:55:19 +0800 Subject: [PATCH 159/169] update readme Former-commit-id: 0e0d69b77c36a6110f43b0c760e9b86e2f5ee267 --- README.md | 57 +++++++++++++++++++++++++--------------------------- README_zh.md | 57 +++++++++++++++++++++++++--------------------------- 2 files changed, 54 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index 27d1e98b..6c6a48d9 100644 --- a/README.md +++ b/README.md @@ -151,35 +151,32 @@ Compared to ChatGLM's [P-Tuning](https://github.com/THUDM/ChatGLM2-6B/tree/main/ ## Supported Models -| Model | Model size | Template | -| --------------------------------------------------------- | -------------------------------- | --------- | -| [Baichuan2](https://huggingface.co/baichuan-inc) | 7B/13B | baichuan2 | -| [BLOOM](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | -| [BLOOMZ](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | -| [ChatGLM3](https://huggingface.co/THUDM) | 6B | chatglm3 | -| [Command-R](https://huggingface.co/CohereForAI) | 35B/104B | cohere | -| [DeepSeek (Code/MoE)](https://huggingface.co/deepseek-ai) | 7B/16B/67B/236B | deepseek | -| [Falcon](https://huggingface.co/tiiuae) | 7B/11B/40B/180B | falcon | -| [Gemma/Gemma2/CodeGemma](https://huggingface.co/google) | 2B/7B/9B/27B | gemma | -| [GLM4](https://huggingface.co/THUDM) | 9B | glm4 | -| [InternLM2](https://huggingface.co/internlm) | 7B/20B | intern2 | -| [LLaMA](https://github.com/facebookresearch/llama) | 7B/13B/33B/65B | - | -| [LLaMA-2](https://huggingface.co/meta-llama) | 7B/13B/70B | llama2 | -| [LLaMA-3](https://huggingface.co/meta-llama) | 8B/70B | llama3 | -| [LLaVA-1.5](https://huggingface.co/llava-hf) | 7B/13B | vicuna | -| [Mistral/Mixtral](https://huggingface.co/mistralai) | 7B/8x7B/8x22B | mistral | -| [OLMo](https://huggingface.co/allenai) | 1B/7B | - | -| [PaliGemma](https://huggingface.co/google) | 3B | gemma | -| [Phi-1.5/2](https://huggingface.co/microsoft) | 1.3B/2.7B | - | -| [Phi-3](https://huggingface.co/microsoft) | 4B/7B/14B | phi | -| [Qwen](https://huggingface.co/Qwen) | 1.8B/7B/14B/72B | qwen | -| [Qwen1.5 (Code/MoE)](https://huggingface.co/Qwen) | 0.5B/1.8B/4B/7B/14B/32B/72B/110B | qwen | -| [Qwen2 (MoE)](https://huggingface.co/Qwen) | 0.5B/1.5B/7B/57B/72B | qwen | -| [StarCoder2](https://huggingface.co/bigcode) | 3B/7B/15B | - | -| [XVERSE](https://huggingface.co/xverse) | 7B/13B/65B | xverse | -| [Yi (1/1.5)](https://huggingface.co/01-ai) | 6B/9B/34B | yi | -| [Yi-VL](https://huggingface.co/01-ai) | 6B/34B | yi_vl | -| [Yuan](https://huggingface.co/IEITYuan) | 2B/51B/102B | yuan | +| Model | Model size | Template | +| ------------------------------------------------------------ | -------------------------------- | --------- | +| [Baichuan 2](https://huggingface.co/baichuan-inc) | 7B/13B | baichuan2 | +| [BLOOM/BLOOMZ](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | +| [ChatGLM3](https://huggingface.co/THUDM) | 6B | chatglm3 | +| [Command R](https://huggingface.co/CohereForAI) | 35B/104B | cohere | +| [DeepSeek (Code/MoE)](https://huggingface.co/deepseek-ai) | 7B/16B/67B/236B | deepseek | +| [Falcon](https://huggingface.co/tiiuae) | 7B/11B/40B/180B | falcon | +| [Gemma/Gemma 2/CodeGemma](https://huggingface.co/google) | 2B/7B/9B/27B | gemma | +| [GLM-4](https://huggingface.co/THUDM) | 9B | glm4 | +| [InternLM2](https://huggingface.co/internlm) | 7B/20B | intern2 | +| [Llama](https://github.com/facebookresearch/llama) | 7B/13B/33B/65B | - | +| [Llama 2](https://huggingface.co/meta-llama) | 7B/13B/70B | llama2 | +| [Llama 3](https://huggingface.co/meta-llama) | 8B/70B | llama3 | +| [LLaVA-1.5](https://huggingface.co/llava-hf) | 7B/13B | vicuna | +| [Mistral/Mixtral](https://huggingface.co/mistralai) | 7B/8x7B/8x22B | mistral | +| [OLMo](https://huggingface.co/allenai) | 1B/7B | - | +| [PaliGemma](https://huggingface.co/google) | 3B | gemma | +| [Phi-1.5/Phi-2](https://huggingface.co/microsoft) | 1.3B/2.7B | - | +| [Phi-3](https://huggingface.co/microsoft) | 4B/7B/14B | phi | +| [Qwen/Qwen1.5/Qwen2 (Code/MoE)](https://huggingface.co/Qwen) | 0.5B/1.5B/4B/7B/14B/32B/72B/110B | qwen | +| [StarCoder 2](https://huggingface.co/bigcode) | 3B/7B/15B | - | +| [XVERSE](https://huggingface.co/xverse) | 7B/13B/65B | xverse | +| [Yi/Yi-1.5](https://huggingface.co/01-ai) | 6B/9B/34B | yi | +| [Yi-VL](https://huggingface.co/01-ai) | 6B/34B | yi_vl | +| [Yuan 2](https://huggingface.co/IEITYuan) | 2B/51B/102B | yuan | > [!NOTE] > For the "base" models, the `template` argument can be chosen from `default`, `alpaca`, `vicuna` etc. But make sure to use the **corresponding template** for the "instruct/chat" models. @@ -610,7 +607,7 @@ If you have a project that should be incorporated, please contact via email or c This repository is licensed under the [Apache-2.0 License](LICENSE). -Please follow the model licenses to use the corresponding model weights: [Baichuan2](https://huggingface.co/baichuan-inc/Baichuan2-7B-Base/blob/main/Community%20License%20for%20Baichuan%202%20Model.pdf) / [BLOOM](https://huggingface.co/spaces/bigscience/license) / [ChatGLM3](https://github.com/THUDM/ChatGLM3/blob/main/MODEL_LICENSE) / [Command-R](https://cohere.com/c4ai-cc-by-nc-license) / [DeepSeek](https://github.com/deepseek-ai/DeepSeek-LLM/blob/main/LICENSE-MODEL) / [Falcon](https://huggingface.co/tiiuae/falcon-180B/blob/main/LICENSE.txt) / [Gemma](https://ai.google.dev/gemma/terms) / [GLM4](https://huggingface.co/THUDM/glm-4-9b/blob/main/LICENSE) / [InternLM2](https://github.com/InternLM/InternLM#license) / [LLaMA](https://github.com/facebookresearch/llama/blob/main/MODEL_CARD.md) / [LLaMA-2 (LLaVA-1.5)](https://ai.meta.com/llama/license/) / [LLaMA-3](https://llama.meta.com/llama3/license/) / [Mistral](LICENSE) / [OLMo](LICENSE) / [Phi-1.5/2](https://huggingface.co/microsoft/phi-1_5/resolve/main/Research%20License.docx) / [Phi-3](https://huggingface.co/microsoft/Phi-3-mini-4k-instruct/blob/main/LICENSE) / [Qwen](https://github.com/QwenLM/Qwen/blob/main/Tongyi%20Qianwen%20LICENSE%20AGREEMENT) / [StarCoder2](https://huggingface.co/spaces/bigcode/bigcode-model-license-agreement) / [XVERSE](https://github.com/xverse-ai/XVERSE-13B/blob/main/MODEL_LICENSE.pdf) / [Yi](https://huggingface.co/01-ai/Yi-6B/blob/main/LICENSE) / [Yi-1.5](LICENSE) / [Yuan](https://github.com/IEIT-Yuan/Yuan-2.0/blob/main/LICENSE-Yuan) +Please follow the model licenses to use the corresponding model weights: [Baichuan 2](https://huggingface.co/baichuan-inc/Baichuan2-7B-Base/blob/main/Community%20License%20for%20Baichuan%202%20Model.pdf) / [BLOOM](https://huggingface.co/spaces/bigscience/license) / [ChatGLM3](https://github.com/THUDM/ChatGLM3/blob/main/MODEL_LICENSE) / [Command R](https://cohere.com/c4ai-cc-by-nc-license) / [DeepSeek](https://github.com/deepseek-ai/DeepSeek-LLM/blob/main/LICENSE-MODEL) / [Falcon](https://huggingface.co/tiiuae/falcon-180B/blob/main/LICENSE.txt) / [Gemma](https://ai.google.dev/gemma/terms) / [GLM-4](https://huggingface.co/THUDM/glm-4-9b/blob/main/LICENSE) / [InternLM2](https://github.com/InternLM/InternLM#license) / [Llama](https://github.com/facebookresearch/llama/blob/main/MODEL_CARD.md) / [Llama 2 (LLaVA-1.5)](https://ai.meta.com/llama/license/) / [Llama 3](https://llama.meta.com/llama3/license/) / [Mistral](LICENSE) / [OLMo](LICENSE) / [Phi-1.5/Phi-2](https://huggingface.co/microsoft/phi-1_5/resolve/main/Research%20License.docx) / [Phi-3](https://huggingface.co/microsoft/Phi-3-mini-4k-instruct/blob/main/LICENSE) / [Qwen](https://github.com/QwenLM/Qwen/blob/main/Tongyi%20Qianwen%20LICENSE%20AGREEMENT) / [StarCoder 2](https://huggingface.co/spaces/bigcode/bigcode-model-license-agreement) / [XVERSE](https://github.com/xverse-ai/XVERSE-13B/blob/main/MODEL_LICENSE.pdf) / [Yi](https://huggingface.co/01-ai/Yi-6B/blob/main/LICENSE) / [Yi-1.5](LICENSE) / [Yuan 2](https://github.com/IEIT-Yuan/Yuan-2.0/blob/main/LICENSE-Yuan) ## Citation diff --git a/README_zh.md b/README_zh.md index 9fb56a4e..f695646a 100644 --- a/README_zh.md +++ b/README_zh.md @@ -151,35 +151,32 @@ https://github.com/hiyouga/LLaMA-Factory/assets/16256802/ec36a9dd-37f4-4f72-81bd ## 模型 -| 模型名 | 模型大小 | Template | -| --------------------------------------------------------- | -------------------------------- | --------- | -| [Baichuan2](https://huggingface.co/baichuan-inc) | 7B/13B | baichuan2 | -| [BLOOM](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | -| [BLOOMZ](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | -| [ChatGLM3](https://huggingface.co/THUDM) | 6B | chatglm3 | -| [Command-R](https://huggingface.co/CohereForAI) | 35B/104B | cohere | -| [DeepSeek (Code/MoE)](https://huggingface.co/deepseek-ai) | 7B/16B/67B/236B | deepseek | -| [Falcon](https://huggingface.co/tiiuae) | 7B/11B/40B/180B | falcon | -| [Gemma/Gemma2/CodeGemma](https://huggingface.co/google) | 2B/7B/9B/27B | gemma | -| [GLM4](https://huggingface.co/THUDM) | 9B | glm4 | -| [InternLM2](https://huggingface.co/internlm) | 7B/20B | intern2 | -| [LLaMA](https://github.com/facebookresearch/llama) | 7B/13B/33B/65B | - | -| [LLaMA-2](https://huggingface.co/meta-llama) | 7B/13B/70B | llama2 | -| [LLaMA-3](https://huggingface.co/meta-llama) | 8B/70B | llama3 | -| [LLaVA-1.5](https://huggingface.co/llava-hf) | 7B/13B | vicuna | -| [Mistral/Mixtral](https://huggingface.co/mistralai) | 7B/8x7B/8x22B | mistral | -| [OLMo](https://huggingface.co/allenai) | 1B/7B | - | -| [PaliGemma](https://huggingface.co/google) | 3B | gemma | -| [Phi-1.5/2](https://huggingface.co/microsoft) | 1.3B/2.7B | - | -| [Phi-3](https://huggingface.co/microsoft) | 4B/7B/14B | phi | -| [Qwen](https://huggingface.co/Qwen) | 1.8B/7B/14B/72B | qwen | -| [Qwen1.5 (Code/MoE)](https://huggingface.co/Qwen) | 0.5B/1.8B/4B/7B/14B/32B/72B/110B | qwen | -| [Qwen2 (MoE)](https://huggingface.co/Qwen) | 0.5B/1.5B/7B/57B/72B | qwen | -| [StarCoder2](https://huggingface.co/bigcode) | 3B/7B/15B | - | -| [XVERSE](https://huggingface.co/xverse) | 7B/13B/65B | xverse | -| [Yi (1/1.5)](https://huggingface.co/01-ai) | 6B/9B/34B | yi | -| [Yi-VL](https://huggingface.co/01-ai) | 6B/34B | yi_vl | -| [Yuan](https://huggingface.co/IEITYuan) | 2B/51B/102B | yuan | +| 模型名 | 模型大小 | Template | +| ------------------------------------------------------------ | -------------------------------- | --------- | +| [Baichuan 2](https://huggingface.co/baichuan-inc) | 7B/13B | baichuan2 | +| [BLOOM/BLOOMZ](https://huggingface.co/bigscience) | 560M/1.1B/1.7B/3B/7.1B/176B | - | +| [ChatGLM3](https://huggingface.co/THUDM) | 6B | chatglm3 | +| [Command R](https://huggingface.co/CohereForAI) | 35B/104B | cohere | +| [DeepSeek (Code/MoE)](https://huggingface.co/deepseek-ai) | 7B/16B/67B/236B | deepseek | +| [Falcon](https://huggingface.co/tiiuae) | 7B/11B/40B/180B | falcon | +| [Gemma/Gemma 2/CodeGemma](https://huggingface.co/google) | 2B/7B/9B/27B | gemma | +| [GLM-4](https://huggingface.co/THUDM) | 9B | glm4 | +| [InternLM2](https://huggingface.co/internlm) | 7B/20B | intern2 | +| [Llama](https://github.com/facebookresearch/llama) | 7B/13B/33B/65B | - | +| [Llama 2](https://huggingface.co/meta-llama) | 7B/13B/70B | llama2 | +| [Llama 3](https://huggingface.co/meta-llama) | 8B/70B | llama3 | +| [LLaVA-1.5](https://huggingface.co/llava-hf) | 7B/13B | vicuna | +| [Mistral/Mixtral](https://huggingface.co/mistralai) | 7B/8x7B/8x22B | mistral | +| [OLMo](https://huggingface.co/allenai) | 1B/7B | - | +| [PaliGemma](https://huggingface.co/google) | 3B | gemma | +| [Phi-1.5/Phi-2](https://huggingface.co/microsoft) | 1.3B/2.7B | - | +| [Phi-3](https://huggingface.co/microsoft) | 4B/7B/14B | phi | +| [Qwen/Qwen1.5/Qwen2 (Code/MoE)](https://huggingface.co/Qwen) | 0.5B/1.5B/4B/7B/14B/32B/72B/110B | qwen | +| [StarCoder 2](https://huggingface.co/bigcode) | 3B/7B/15B | - | +| [XVERSE](https://huggingface.co/xverse) | 7B/13B/65B | xverse | +| [Yi/Yi-1.5](https://huggingface.co/01-ai) | 6B/9B/34B | yi | +| [Yi-VL](https://huggingface.co/01-ai) | 6B/34B | yi_vl | +| [Yuan 2](https://huggingface.co/IEITYuan) | 2B/51B/102B | yuan | > [!NOTE] > 对于所有“基座”(Base)模型,`template` 参数可以是 `default`, `alpaca`, `vicuna` 等任意值。但“对话”(Instruct/Chat)模型请务必使用**对应的模板**。 @@ -610,7 +607,7 @@ run_name: test_run # 可选 本仓库的代码依照 [Apache-2.0](LICENSE) 协议开源。 -使用模型权重时,请遵循对应的模型协议:[Baichuan2](https://huggingface.co/baichuan-inc/Baichuan2-7B-Base/blob/main/Community%20License%20for%20Baichuan%202%20Model.pdf) / [BLOOM](https://huggingface.co/spaces/bigscience/license) / [ChatGLM3](https://github.com/THUDM/ChatGLM3/blob/main/MODEL_LICENSE) / [Command-R](https://cohere.com/c4ai-cc-by-nc-license) / [DeepSeek](https://github.com/deepseek-ai/DeepSeek-LLM/blob/main/LICENSE-MODEL) / [Falcon](https://huggingface.co/tiiuae/falcon-180B/blob/main/LICENSE.txt) / [Gemma](https://ai.google.dev/gemma/terms) / [GLM4](https://huggingface.co/THUDM/glm-4-9b/blob/main/LICENSE) / [InternLM2](https://github.com/InternLM/InternLM#license) / [LLaMA](https://github.com/facebookresearch/llama/blob/main/MODEL_CARD.md) / [LLaMA-2 (LLaVA-1.5)](https://ai.meta.com/llama/license/) / [LLaMA-3](https://llama.meta.com/llama3/license/) / [Mistral](LICENSE) / [OLMo](LICENSE) / [Phi-1.5/2](https://huggingface.co/microsoft/phi-1_5/resolve/main/Research%20License.docx) / [Phi-3](https://huggingface.co/microsoft/Phi-3-mini-4k-instruct/blob/main/LICENSE) / [Qwen](https://github.com/QwenLM/Qwen/blob/main/Tongyi%20Qianwen%20LICENSE%20AGREEMENT) / [StarCoder2](https://huggingface.co/spaces/bigcode/bigcode-model-license-agreement) / [XVERSE](https://github.com/xverse-ai/XVERSE-13B/blob/main/MODEL_LICENSE.pdf) / [Yi](https://huggingface.co/01-ai/Yi-6B/blob/main/LICENSE) / [Yi-1.5](LICENSE) / [Yuan](https://github.com/IEIT-Yuan/Yuan-2.0/blob/main/LICENSE-Yuan) +使用模型权重时,请遵循对应的模型协议:[Baichuan 2](https://huggingface.co/baichuan-inc/Baichuan2-7B-Base/blob/main/Community%20License%20for%20Baichuan%202%20Model.pdf) / [BLOOM](https://huggingface.co/spaces/bigscience/license) / [ChatGLM3](https://github.com/THUDM/ChatGLM3/blob/main/MODEL_LICENSE) / [Command R](https://cohere.com/c4ai-cc-by-nc-license) / [DeepSeek](https://github.com/deepseek-ai/DeepSeek-LLM/blob/main/LICENSE-MODEL) / [Falcon](https://huggingface.co/tiiuae/falcon-180B/blob/main/LICENSE.txt) / [Gemma](https://ai.google.dev/gemma/terms) / [GLM-4](https://huggingface.co/THUDM/glm-4-9b/blob/main/LICENSE) / [InternLM2](https://github.com/InternLM/InternLM#license) / [Llama](https://github.com/facebookresearch/llama/blob/main/MODEL_CARD.md) / [Llama 2 (LLaVA-1.5)](https://ai.meta.com/llama/license/) / [Llama 3](https://llama.meta.com/llama3/license/) / [Mistral](LICENSE) / [OLMo](LICENSE) / [Phi-1.5/Phi-2](https://huggingface.co/microsoft/phi-1_5/resolve/main/Research%20License.docx) / [Phi-3](https://huggingface.co/microsoft/Phi-3-mini-4k-instruct/blob/main/LICENSE) / [Qwen](https://github.com/QwenLM/Qwen/blob/main/Tongyi%20Qianwen%20LICENSE%20AGREEMENT) / [StarCoder 2](https://huggingface.co/spaces/bigcode/bigcode-model-license-agreement) / [XVERSE](https://github.com/xverse-ai/XVERSE-13B/blob/main/MODEL_LICENSE.pdf) / [Yi](https://huggingface.co/01-ai/Yi-6B/blob/main/LICENSE) / [Yi-1.5](LICENSE) / [Yuan 2](https://github.com/IEIT-Yuan/Yuan-2.0/blob/main/LICENSE-Yuan) ## 引用 From 2b006beab182162f0843307d015325ec4da19eb1 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sat, 29 Jun 2024 01:42:14 +0800 Subject: [PATCH 160/169] loose gemma2 attention Former-commit-id: 2f4b89ace15b7a4d2adf16eeba9feb7de9e25d43 --- src/llamafactory/model/model_utils/attention.py | 10 ++++++++-- src/llamafactory/train/callbacks.py | 5 +---- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/llamafactory/model/model_utils/attention.py b/src/llamafactory/model/model_utils/attention.py index 9021d277..80d9d4b8 100644 --- a/src/llamafactory/model/model_utils/attention.py +++ b/src/llamafactory/model/model_utils/attention.py @@ -32,8 +32,14 @@ def configure_attn_implementation( config: "PretrainedConfig", model_args: "ModelArguments", is_trainable: bool ) -> None: if getattr(config, "model_type", None) == "gemma2" and is_trainable: # gemma2 adopts soft-cap attention - logger.warning("Gemma-2 models should use eager attention in training, change `flash_attn` to disabled.") - model_args.flash_attn = "disabled" + if model_args.flash_attn == "auto": + logger.warning("Gemma-2 models should use eager attention in training, change `flash_attn` to disabled.") + model_args.flash_attn = "disabled" + else: + logger.warning( + "Gemma-2 models should use eager attention in training, but you set `flash_attn: {}`. " + "Will proceed at your own risk.".format(model_args.flash_attn) + ) if model_args.flash_attn == "auto": return diff --git a/src/llamafactory/train/callbacks.py b/src/llamafactory/train/callbacks.py index dc9c981e..4d024278 100644 --- a/src/llamafactory/train/callbacks.py +++ b/src/llamafactory/train/callbacks.py @@ -1,7 +1,4 @@ -# Copyright 2024 HuggingFace Inc. and the LlamaFactory team. -# -# This code is inspired by the HuggingFace's transformers library. -# https://github.com/huggingface/transformers/blob/v4.40.0/src/transformers/trainer.py +# Copyright 2024 the LlamaFactory team. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. From 4b1ab6c83d6daac433414a9e669cf2d2594f338f Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sun, 30 Jun 2024 21:05:31 +0800 Subject: [PATCH 161/169] update npu docker Former-commit-id: 93e6fbb37ddb60ed356d0acc720463a8cd1a8baa --- docker/docker-npu/Dockerfile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/docker-npu/Dockerfile b/docker/docker-npu/Dockerfile index e413d4e3..34cf9616 100644 --- a/docker/docker-npu/Dockerfile +++ b/docker/docker-npu/Dockerfile @@ -1,6 +1,9 @@ # Use the Ubuntu 22.04 image with CANN 8.0.rc1 # More versions can be found at https://hub.docker.com/r/cosdt/cann/tags +# FROM cosdt/cann:8.0.rc1-910-ubuntu22.04 FROM cosdt/cann:8.0.rc1-910b-ubuntu22.04 +# FROM cosdt/cann:8.0.rc1-910-openeuler22.03 +# FROM cosdt/cann:8.0.rc1-910b-openeuler22.03 # Define environments ENV DEBIAN_FRONTEND=noninteractive From bbc37b2880b6d4c38b7065612372b20fb45514cd Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Sun, 30 Jun 2024 21:28:51 +0800 Subject: [PATCH 162/169] fix #4398 #4592 Former-commit-id: d74244d56858d837044e5c9cea57a1b3c2ca0214 --- README.md | 2 ++ README_zh.md | 4 +++- src/llamafactory/extras/misc.py | 24 +++++++++++++++++------- src/llamafactory/model/loader.py | 3 ++- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 6c6a48d9..6299650b 100644 --- a/README.md +++ b/README.md @@ -384,6 +384,8 @@ Remember to use `ASCEND_RT_VISIBLE_DEVICES` instead of `CUDA_VISIBLE_DEVICES` to If you cannot infer model on NPU devices, try setting `do_sample: false` in the configurations. +Download the pre-built Docker images: [32GB](http://mirrors.cn-central-221.ovaijisuan.com/detail/130.html) | [64GB](http://mirrors.cn-central-221.ovaijisuan.com/detail/131.html) +

    ### Data Preparation diff --git a/README_zh.md b/README_zh.md index f695646a..efc647a7 100644 --- a/README_zh.md +++ b/README_zh.md @@ -357,7 +357,7 @@ pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/downl
    昇腾 NPU 用户指南 -在昇腾 NPU 设备上安装 LLaMA Factory 时,需要指定额外依赖项,使用 `pip install -e ".[torch-npu,metrics]"` 命令安装。此外,还需要安装 **[Ascend CANN Toolkit and Kernels](https://www.hiascend.com/developer/download/community/result?module=cann)**,安装方法请参考[安装教程](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC2alpha002/quickstart/quickstart/quickstart_18_0004.html)或使用以下命令: +在昇腾 NPU 设备上安装 LLaMA Factory 时,需要指定额外依赖项,使用 `pip install -e ".[torch-npu,metrics]"` 命令安装。此外,还需要安装 **[Ascend CANN Toolkit 与 Kernels](https://www.hiascend.com/developer/download/community/result?module=cann)**,安装方法请参考[安装教程](https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/80RC2alpha002/quickstart/quickstart/quickstart_18_0004.html)或使用以下命令: ```bash # 请替换 URL 为 CANN 版本和设备型号对应的 URL @@ -384,6 +384,8 @@ source /usr/local/Ascend/ascend-toolkit/set_env.sh 如果遇到无法正常推理的情况,请尝试设置 `do_sample: false`。 +下载预构建 Docker 镜像:[32GB](http://mirrors.cn-central-221.ovaijisuan.com/detail/130.html) | [64GB](http://mirrors.cn-central-221.ovaijisuan.com/detail/131.html) +
    ### 数据准备 diff --git a/src/llamafactory/extras/misc.py b/src/llamafactory/extras/misc.py index 30c287bd..20c752c5 100644 --- a/src/llamafactory/extras/misc.py +++ b/src/llamafactory/extras/misc.py @@ -20,7 +20,9 @@ import os from typing import TYPE_CHECKING, Tuple import torch +import transformers.dynamic_module_utils from transformers import InfNanRemoveLogitsProcessor, LogitsProcessorList +from transformers.dynamic_module_utils import get_relative_imports from transformers.utils import ( is_torch_bf16_gpu_available, is_torch_cuda_available, @@ -69,6 +71,9 @@ class AverageMeter: def check_dependencies() -> None: + r""" + Checks the version of the required packages. + """ if os.environ.get("DISABLE_VERSION_CHECK", "0").lower() in ["true", "1"]: logger.warning("Version checking has been disabled, may lead to unexpected behaviors.") else: @@ -79,7 +84,7 @@ def check_dependencies() -> None: require_version("trl>=0.8.6", "To fix: pip install trl>=0.8.6") -def count_parameters(model: torch.nn.Module) -> Tuple[int, int]: +def count_parameters(model: "torch.nn.Module") -> Tuple[int, int]: r""" Returns the number of trainable parameters and number of all parameters in the model. """ @@ -108,7 +113,7 @@ def count_parameters(model: torch.nn.Module) -> Tuple[int, int]: return trainable_params, all_param -def get_current_device() -> torch.device: +def get_current_device() -> "torch.device": r""" Gets the current available device. """ @@ -147,6 +152,13 @@ def get_logits_processor() -> "LogitsProcessorList": return logits_processor +def has_tokenized_data(path: "os.PathLike") -> bool: + r""" + Checks if the path has a tokenized dataset. + """ + return os.path.isdir(path) and len(os.listdir(path)) > 0 + + def infer_optim_dtype(model_dtype: "torch.dtype") -> "torch.dtype": r""" Infers the optimal dtype according to the model_dtype and device compatibility. @@ -166,11 +178,9 @@ def is_gpu_or_npu_available() -> bool: return is_torch_npu_available() or is_torch_cuda_available() -def has_tokenized_data(path: "os.PathLike") -> bool: - r""" - Checks if the path has a tokenized dataset. - """ - return os.path.isdir(path) and len(os.listdir(path)) > 0 +def skip_check_imports() -> None: + if os.environ.get("FORCE_CHECK_IMPORTS", "0").lower() not in ["true", "1"]: + transformers.dynamic_module_utils.check_imports = get_relative_imports def torch_gc() -> None: diff --git a/src/llamafactory/model/loader.py b/src/llamafactory/model/loader.py index 1261d17a..fe700d53 100644 --- a/src/llamafactory/model/loader.py +++ b/src/llamafactory/model/loader.py @@ -19,7 +19,7 @@ from transformers import AutoConfig, AutoModelForCausalLM, AutoModelForVision2Se from trl import AutoModelForCausalLMWithValueHead from ..extras.logging import get_logger -from ..extras.misc import count_parameters, try_download_model_from_ms +from ..extras.misc import count_parameters, skip_check_imports, try_download_model_from_ms from .adapter import init_adapter from .model_utils.misc import register_autoclass from .model_utils.mod import convert_pretrained_model_to_mod, load_mod_pretrained_model @@ -48,6 +48,7 @@ def _get_init_kwargs(model_args: "ModelArguments") -> Dict[str, Any]: Note: including inplace operation of model_args. """ + skip_check_imports() model_args.model_name_or_path = try_download_model_from_ms(model_args) return { "trust_remote_code": True, From 768093c7891fcc401997da953629d7ed74c754c5 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 1 Jul 2024 00:22:52 +0800 Subject: [PATCH 163/169] update readme Former-commit-id: d4e2af1fa422caeb1a2daff7cb9af17073cab13c --- README.md | 10 +++++++++- README_zh.md | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6299650b..3d3feae5 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![GitHub Code License](https://img.shields.io/github/license/hiyouga/LLaMA-Factory)](LICENSE) [![GitHub last commit](https://img.shields.io/github/last-commit/hiyouga/LLaMA-Factory)](https://github.com/hiyouga/LLaMA-Factory/commits/main) [![PyPI](https://img.shields.io/pypi/v/llamafactory)](https://pypi.org/project/llamafactory/) -[![Citation](https://img.shields.io/badge/citation-63-green)](#projects-using-llama-factory) +[![Citation](https://img.shields.io/badge/citation-71-green)](#projects-using-llama-factory) [![GitHub pull request](https://img.shields.io/badge/PRs-welcome-blue)](https://github.com/hiyouga/LLaMA-Factory/pulls) [![Discord](https://dcbadge.vercel.app/api/server/rKfvV9r9FK?compact=true&style=flat)](https://discord.gg/rKfvV9r9FK) [![Twitter](https://img.shields.io/twitter/follow/llamafactory_ai)](https://twitter.com/llamafactory_ai) @@ -593,6 +593,14 @@ If you have a project that should be incorporated, please contact via email or c 1. Chen et al. Advancing Tool-Augmented Large Language Models: Integrating Insights from Errors in Inference Trees. 2024. [[arxiv]](https://arxiv.org/abs/2406.07115) 1. Zhu et al. Are Large Language Models Good Statisticians?. 2024. [[arxiv]](https://arxiv.org/abs/2406.07815) 1. Li et al. Know the Unknown: An Uncertainty-Sensitive Method for LLM Instruction Tuning. 2024. [[arxiv]](https://arxiv.org/abs/2406.10099) +1. Ding et al. IntentionQA: A Benchmark for Evaluating Purchase Intention Comprehension Abilities of Language Models in E-commerce. 2024. [[arxiv]](https://arxiv.org/abs/2406.10173) +1. He et al. COMMUNITY-CROSS-INSTRUCT: Unsupervised Instruction Generation for Aligning Large Language Models to Online Communities. 2024. [[arxiv]](https://arxiv.org/abs/2406.12074) +1. Lin et al. FVEL: Interactive Formal Verification Environment with Large Language Models via Theorem Proving. 2024. [[arxiv]](https://arxiv.org/abs/2406.14408) +1. Treutlein et al. Connecting the Dots: LLMs can Infer and Verbalize Latent Structure from Disparate Training Data. 2024. [[arxiv]](https://arxiv.org/abs/2406.14546) +1. Feng et al. SS-Bench: A Benchmark for Social Story Generation and Evaluation. 2024. [[arxiv]](https://arxiv.org/abs/2406.15695) +1. Feng et al. Self-Constructed Context Decompilation with Fined-grained Alignment Enhancement. 2024. [[arxiv]](https://arxiv.org/abs/2406.17233) +1. Liu et al. Large Language Models for Cuffless Blood Pressure Measurement From Wearable Biosignals. 2024. [[arxiv]](https://arxiv.org/abs/2406.18069) +1. Iyer et al. Exploring Very Low-Resource Translation with LLMs: The University of Edinburgh’s Submission to AmericasNLP 2024 Translation Task. AmericasNLP 2024. [[paper]](https://aclanthology.org/2024.americasnlp-1.25) 1. **[StarWhisper](https://github.com/Yu-Yang-Li/StarWhisper)**: A large language model for Astronomy, based on ChatGLM2-6B and Qwen-14B. 1. **[DISC-LawLLM](https://github.com/FudanDISC/DISC-LawLLM)**: A large language model specialized in Chinese legal domain, based on Baichuan-13B, is capable of retrieving and reasoning on legal knowledge. 1. **[Sunsimiao](https://github.com/X-D-Lab/Sunsimiao)**: A large language model specialized in Chinese medical domain, based on Baichuan-7B and ChatGLM-6B. diff --git a/README_zh.md b/README_zh.md index efc647a7..cb5a42e4 100644 --- a/README_zh.md +++ b/README_zh.md @@ -4,7 +4,7 @@ [![GitHub Code License](https://img.shields.io/github/license/hiyouga/LLaMA-Factory)](LICENSE) [![GitHub last commit](https://img.shields.io/github/last-commit/hiyouga/LLaMA-Factory)](https://github.com/hiyouga/LLaMA-Factory/commits/main) [![PyPI](https://img.shields.io/pypi/v/llamafactory)](https://pypi.org/project/llamafactory/) -[![Citation](https://img.shields.io/badge/citation-63-green)](#使用了-llama-factory-的项目) +[![Citation](https://img.shields.io/badge/citation-71-green)](#使用了-llama-factory-的项目) [![GitHub pull request](https://img.shields.io/badge/PRs-welcome-blue)](https://github.com/hiyouga/LLaMA-Factory/pulls) [![Discord](https://dcbadge.vercel.app/api/server/rKfvV9r9FK?compact=true&style=flat)](https://discord.gg/rKfvV9r9FK) [![Twitter](https://img.shields.io/twitter/follow/llamafactory_ai)](https://twitter.com/llamafactory_ai) @@ -593,6 +593,14 @@ run_name: test_run # 可选 1. Chen et al. Advancing Tool-Augmented Large Language Models: Integrating Insights from Errors in Inference Trees. 2024. [[arxiv]](https://arxiv.org/abs/2406.07115) 1. Zhu et al. Are Large Language Models Good Statisticians?. 2024. [[arxiv]](https://arxiv.org/abs/2406.07815) 1. Li et al. Know the Unknown: An Uncertainty-Sensitive Method for LLM Instruction Tuning. 2024. [[arxiv]](https://arxiv.org/abs/2406.10099) +1. Ding et al. IntentionQA: A Benchmark for Evaluating Purchase Intention Comprehension Abilities of Language Models in E-commerce. 2024. [[arxiv]](https://arxiv.org/abs/2406.10173) +1. He et al. COMMUNITY-CROSS-INSTRUCT: Unsupervised Instruction Generation for Aligning Large Language Models to Online Communities. 2024. [[arxiv]](https://arxiv.org/abs/2406.12074) +1. Lin et al. FVEL: Interactive Formal Verification Environment with Large Language Models via Theorem Proving. 2024. [[arxiv]](https://arxiv.org/abs/2406.14408) +1. Treutlein et al. Connecting the Dots: LLMs can Infer and Verbalize Latent Structure from Disparate Training Data. 2024. [[arxiv]](https://arxiv.org/abs/2406.14546) +1. Feng et al. SS-Bench: A Benchmark for Social Story Generation and Evaluation. 2024. [[arxiv]](https://arxiv.org/abs/2406.15695) +1. Feng et al. Self-Constructed Context Decompilation with Fined-grained Alignment Enhancement. 2024. [[arxiv]](https://arxiv.org/abs/2406.17233) +1. Liu et al. Large Language Models for Cuffless Blood Pressure Measurement From Wearable Biosignals. 2024. [[arxiv]](https://arxiv.org/abs/2406.18069) +1. Iyer et al. Exploring Very Low-Resource Translation with LLMs: The University of Edinburgh’s Submission to AmericasNLP 2024 Translation Task. AmericasNLP 2024. [[paper]](https://aclanthology.org/2024.americasnlp-1.25) 1. **[StarWhisper](https://github.com/Yu-Yang-Li/StarWhisper)**: 天文大模型 StarWhisper,基于 ChatGLM2-6B 和 Qwen-14B 在天文数据上微调而得。 1. **[DISC-LawLLM](https://github.com/FudanDISC/DISC-LawLLM)**: 中文法律领域大模型 DISC-LawLLM,基于 Baichuan-13B 微调而得,具有法律推理和知识检索能力。 1. **[Sunsimiao](https://github.com/X-D-Lab/Sunsimiao)**: 孙思邈中文医疗大模型 Sumsimiao,基于 Baichuan-7B 和 ChatGLM-6B 在中文医疗数据上微调而得。 From ca7b65439d67927f267237a5abe43cca3a576dae Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 1 Jul 2024 01:19:27 +0800 Subject: [PATCH 164/169] fix #4402 #4617 Deprecate reserved_label_len arg Former-commit-id: 1771251ce3f6887b301dac10f3de7a253c5e5884 --- src/llamafactory/data/data_utils.py | 12 +- src/llamafactory/data/formatter.py | 116 ++------------- src/llamafactory/data/processors/feedback.py | 16 +- src/llamafactory/data/processors/pairwise.py | 17 ++- .../data/processors/processor_utils.py | 15 +- .../data/processors/supervised.py | 15 +- .../data/processors/unsupervised.py | 9 +- src/llamafactory/data/template.py | 114 +++++--------- src/llamafactory/data/tool_utils.py | 140 ++++++++++++++++++ src/llamafactory/hparams/data_args.py | 7 - tests/data/test_formatter.py | 4 +- tests/data/test_processor.py | 32 ++++ tests/data/test_template.py | 55 ++++++- 13 files changed, 329 insertions(+), 223 deletions(-) create mode 100644 src/llamafactory/data/tool_utils.py create mode 100644 tests/data/test_processor.py diff --git a/src/llamafactory/data/data_utils.py b/src/llamafactory/data/data_utils.py index cc9761b1..76ded47e 100644 --- a/src/llamafactory/data/data_utils.py +++ b/src/llamafactory/data/data_utils.py @@ -13,7 +13,7 @@ # limitations under the License. from enum import Enum, unique -from typing import TYPE_CHECKING, Dict, List, Tuple, Union +from typing import TYPE_CHECKING, Dict, List, Sequence, Set, Union from datasets import concatenate_datasets, interleave_datasets @@ -30,6 +30,9 @@ if TYPE_CHECKING: logger = get_logger(__name__) +SLOTS = Sequence[Union[str, Set[str], Dict[str, str]]] + + @unique class Role(str, Enum): USER = "user" @@ -39,13 +42,6 @@ class Role(str, Enum): OBSERVATION = "observation" -def infer_max_len(source_len: int, target_len: int, max_len: int, reserved_label_len: int) -> Tuple[int, int]: - max_target_len = int(max_len * (target_len / (source_len + target_len))) - max_target_len = max(max_target_len, reserved_label_len) - max_source_len = max_len - min(max_target_len, target_len) - return max_source_len, max_target_len - - def merge_dataset( all_datasets: List[Union["Dataset", "IterableDataset"]], data_args: "DataArguments", diff --git a/src/llamafactory/data/formatter.py b/src/llamafactory/data/formatter.py index 88ebf682..c1653a76 100644 --- a/src/llamafactory/data/formatter.py +++ b/src/llamafactory/data/formatter.py @@ -16,97 +16,10 @@ import json import re from abc import ABC, abstractmethod from dataclasses import dataclass, field -from typing import Any, Dict, List, Literal, Optional, Sequence, Set, Tuple, Union +from typing import List, Literal, Optional, Tuple, Union - -SLOTS = Sequence[Union[str, Set[str], Dict[str, str]]] - - -DEFAULT_TOOL_PROMPT = ( - "You have access to the following tools:\n{tool_text}" - "Use the following format if using a tool:\n" - "```\n" - "Action: tool name (one of [{tool_names}]).\n" - "Action Input: the input to the tool, in a JSON format representing the kwargs " - """(e.g. ```{{"input": "hello world", "num_beams": 5}}```).\n""" - "```\n" -) - - -GLM4_TOOL_PROMPT = ( - "你是一个名为 ChatGLM 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的," - "你的任务是针对用户的问题和要求提供适当的答复和支持。# 可用工具{tool_text}" -) - - -def default_tool_formatter(tools: List[Dict[str, Any]]) -> str: - tool_text = "" - tool_names = [] - for tool in tools: - param_text = "" - for name, param in tool["parameters"]["properties"].items(): - required = ", required" if name in tool["parameters"].get("required", []) else "" - enum = ", should be one of [{}]".format(", ".join(param["enum"])) if param.get("enum", None) else "" - items = ( - ", where each item should be {}".format(param["items"].get("type", "")) if param.get("items") else "" - ) - param_text += " - {name} ({type}{required}): {desc}{enum}{items}\n".format( - name=name, - type=param.get("type", ""), - required=required, - desc=param.get("description", ""), - enum=enum, - items=items, - ) - - tool_text += "> Tool Name: {name}\nTool Description: {desc}\nTool Args:\n{args}\n".format( - name=tool["name"], desc=tool.get("description", ""), args=param_text - ) - tool_names.append(tool["name"]) - - return DEFAULT_TOOL_PROMPT.format(tool_text=tool_text, tool_names=", ".join(tool_names)) - - -def default_tool_extractor(content: str) -> Union[str, List[Tuple[str, str]]]: - regex = re.compile(r"Action:\s*([a-zA-Z0-9_]+)\s*Action Input:\s*(.+?)(?=\s*Action:|\s*$)", re.DOTALL) - action_match: List[Tuple[str, str]] = re.findall(regex, content) - if not action_match: - return content - - results = [] - for match in action_match: - tool_name = match[0].strip() - tool_input = match[1].strip().strip('"').strip("```") - try: - arguments = json.loads(tool_input) - results.append((tool_name, json.dumps(arguments, ensure_ascii=False))) - except json.JSONDecodeError: - return content - - return results - - -def glm4_tool_formatter(tools: List[Dict[str, Any]]) -> str: - tool_text = "" - for tool in tools: - tool_text += "\n\n## {name}\n\n{body}\n在调用上述函数时,请使用 Json 格式表示调用的参数。".format( - name=tool["name"], body=json.dumps(tool, indent=4, ensure_ascii=False) - ) - - return GLM4_TOOL_PROMPT.format(tool_text=tool_text) - - -def glm4_tool_extractor(content: str) -> Union[str, List[Tuple[str, str]]]: - if "\n" not in content: - return content - - tool_name, tool_input = content.split("\n", maxsplit=1) - try: - arguments = json.loads(tool_input) - except json.JSONDecodeError: - return content - - return [(tool_name, json.dumps(arguments, ensure_ascii=False))] +from .data_utils import SLOTS +from .tool_utils import DefaultToolUtils, GLM4ToolUtils @dataclass @@ -168,15 +81,12 @@ class StringFormatter(Formatter): @dataclass class FunctionFormatter(Formatter): def __post_init__(self): - has_name, has_args = False, False - for slot in filter(lambda s: isinstance(s, str), self.slots): - if "{{name}}" in slot: - has_name = True - if "{{arguments}}" in slot: - has_args = True - - if not has_name or not has_args: - raise ValueError("Name and arguments placeholders are required in the function formatter.") + if self.tool_format == "default": + self.slots = DefaultToolUtils.get_function_slots() + self.slots + elif self.tool_format == "glm4": + self.slots = GLM4ToolUtils.get_function_slots() + self.slots + else: + raise NotImplementedError("Tool format {} was not found.".format(self.tool_format)) def apply(self, **kwargs) -> SLOTS: content = kwargs.pop("content") @@ -210,11 +120,11 @@ class FunctionFormatter(Formatter): class ToolFormatter(Formatter): def __post_init__(self): if self.tool_format == "default": - self._tool_formatter = default_tool_formatter - self._tool_extractor = default_tool_extractor + self._tool_formatter = DefaultToolUtils.tool_formatter + self._tool_extractor = DefaultToolUtils.tool_extractor elif self.tool_format == "glm4": - self._tool_formatter = glm4_tool_formatter - self._tool_extractor = glm4_tool_extractor + self._tool_formatter = GLM4ToolUtils.tool_formatter + self._tool_extractor = GLM4ToolUtils.tool_extractor else: raise NotImplementedError("Tool format {} was not found.".format(self.tool_format)) diff --git a/src/llamafactory/data/processors/feedback.py b/src/llamafactory/data/processors/feedback.py index 219ab353..7ba05e23 100644 --- a/src/llamafactory/data/processors/feedback.py +++ b/src/llamafactory/data/processors/feedback.py @@ -16,7 +16,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence, Tuple from ...extras.constants import IGNORE_INDEX from ...extras.logging import get_logger -from .processor_utils import get_paligemma_token_type_ids, get_pixel_values +from .processor_utils import get_paligemma_token_type_ids, get_pixel_values, infer_seqlen if TYPE_CHECKING: @@ -55,12 +55,8 @@ def _encode_feedback_example( else: kl_messages = prompt + [kl_response[1]] - prompt_ids, response_ids = template.encode_oneturn( - tokenizer, messages, system, tools, data_args.cutoff_len, data_args.reserved_label_len - ) - _, kl_response_ids = template.encode_oneturn( - tokenizer, kl_messages, system, tools, data_args.cutoff_len, data_args.reserved_label_len - ) + prompt_ids, response_ids = template.encode_oneturn(tokenizer, messages, system, tools) + _, kl_response_ids = template.encode_oneturn(tokenizer, kl_messages, system, tools) if template.efficient_eos: response_ids += [tokenizer.eos_token_id] @@ -70,6 +66,12 @@ def _encode_feedback_example( image_token_id = tokenizer.convert_tokens_to_ids(template.image_token) prompt_ids = [image_token_id] * getattr(processor, "image_seq_length") + prompt_ids + # do not consider the kl_response + source_len, target_len = infer_seqlen(len(prompt_ids), len(response_ids), data_args.cutoff_len) + prompt_ids = prompt_ids[:source_len] + response_ids = response_ids[:target_len] + kl_response_ids = kl_response_ids[:target_len] + input_ids = prompt_ids + response_ids labels = [IGNORE_INDEX] * len(prompt_ids) + response_ids kl_input_ids = prompt_ids + kl_response_ids diff --git a/src/llamafactory/data/processors/pairwise.py b/src/llamafactory/data/processors/pairwise.py index b2939348..c6001e6e 100644 --- a/src/llamafactory/data/processors/pairwise.py +++ b/src/llamafactory/data/processors/pairwise.py @@ -16,7 +16,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence, Tuple from ...extras.constants import IGNORE_INDEX from ...extras.logging import get_logger -from .processor_utils import get_paligemma_token_type_ids, get_pixel_values +from .processor_utils import get_paligemma_token_type_ids, get_pixel_values, infer_seqlen if TYPE_CHECKING: @@ -44,12 +44,8 @@ def _encode_pairwise_example( chosen_messages = prompt + [response[0]] rejected_messages = prompt + [response[1]] - prompt_ids, chosen_ids = template.encode_oneturn( - tokenizer, chosen_messages, system, tools, data_args.cutoff_len, data_args.reserved_label_len - ) - _, rejected_ids = template.encode_oneturn( - tokenizer, rejected_messages, system, tools, data_args.cutoff_len, data_args.reserved_label_len - ) + prompt_ids, chosen_ids = template.encode_oneturn(tokenizer, chosen_messages, system, tools) + _, rejected_ids = template.encode_oneturn(tokenizer, rejected_messages, system, tools) if template.efficient_eos: chosen_ids += [tokenizer.eos_token_id] @@ -59,6 +55,13 @@ def _encode_pairwise_example( image_token_id = tokenizer.convert_tokens_to_ids(template.image_token) prompt_ids = [image_token_id] * getattr(processor, "image_seq_length") + prompt_ids + source_len, target_len = infer_seqlen( + len(prompt_ids), max(len(chosen_ids), len(rejected_ids)), data_args.cutoff_len + ) # consider the response is more important + prompt_ids = prompt_ids[:source_len] + chosen_ids = chosen_ids[:target_len] + rejected_ids = rejected_ids[:target_len] + chosen_input_ids = prompt_ids + chosen_ids chosen_labels = [IGNORE_INDEX] * len(prompt_ids) + chosen_ids rejected_input_ids = prompt_ids + rejected_ids diff --git a/src/llamafactory/data/processors/processor_utils.py b/src/llamafactory/data/processors/processor_utils.py index 93df0cd5..455908ae 100644 --- a/src/llamafactory/data/processors/processor_utils.py +++ b/src/llamafactory/data/processors/processor_utils.py @@ -13,7 +13,7 @@ # limitations under the License. import bisect -from typing import TYPE_CHECKING, List, Sequence +from typing import TYPE_CHECKING, List, Sequence, Tuple from ...extras.packages import is_pillow_available @@ -76,3 +76,16 @@ def get_paligemma_token_type_ids(input_len: int, processor: "ProcessorMixin") -> """ image_seq_length = getattr(processor, "image_seq_length") return [0] * image_seq_length + [1] * (input_len - image_seq_length) + + +def infer_seqlen(source_len: int, target_len: int, cutoff_len: int) -> Tuple[int, int]: + if target_len * 2 < cutoff_len: # truncate source + max_target_len = cutoff_len + elif source_len * 2 < cutoff_len: # truncate target + max_target_len = cutoff_len - source_len + else: # truncate both + max_target_len = int(cutoff_len * (target_len / (source_len + target_len))) + + new_target_len = min(max_target_len, target_len) + new_source_len = max(cutoff_len - new_target_len, 0) + return new_source_len, new_target_len diff --git a/src/llamafactory/data/processors/supervised.py b/src/llamafactory/data/processors/supervised.py index eb5ffb1a..b283542d 100644 --- a/src/llamafactory/data/processors/supervised.py +++ b/src/llamafactory/data/processors/supervised.py @@ -17,7 +17,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence, Tuple from ...extras.constants import IGNORE_INDEX from ...extras.logging import get_logger -from .processor_utils import get_paligemma_token_type_ids, get_pixel_values, greedy_knapsack +from .processor_utils import get_paligemma_token_type_ids, get_pixel_values, greedy_knapsack, infer_seqlen if TYPE_CHECKING: @@ -51,10 +51,17 @@ def _encode_supervised_example( input_ids += [image_token_id] * getattr(processor, "image_seq_length") labels += [IGNORE_INDEX] * getattr(processor, "image_seq_length") - encoded_pairs = template.encode_multiturn( - tokenizer, messages, system, tools, data_args.cutoff_len, data_args.reserved_label_len - ) + encoded_pairs = template.encode_multiturn(tokenizer, messages, system, tools) + total_length = 1 if template.efficient_eos else 0 for turn_idx, (source_ids, target_ids) in enumerate(encoded_pairs): + if total_length >= data_args.cutoff_len: + break + + source_len, target_len = infer_seqlen(len(source_ids), len(target_ids), data_args.cutoff_len - total_length) + source_ids = source_ids[:source_len] + target_ids = target_ids[:target_len] + total_length += source_len + target_len + if data_args.train_on_prompt: source_mask = source_ids elif turn_idx != 0 and template.efficient_eos: diff --git a/src/llamafactory/data/processors/unsupervised.py b/src/llamafactory/data/processors/unsupervised.py index 75ad4d51..b3fc85c9 100644 --- a/src/llamafactory/data/processors/unsupervised.py +++ b/src/llamafactory/data/processors/unsupervised.py @@ -16,7 +16,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Sequence, Tuple from ...extras.logging import get_logger from ..data_utils import Role -from .processor_utils import get_paligemma_token_type_ids, get_pixel_values +from .processor_utils import get_paligemma_token_type_ids, get_pixel_values, infer_seqlen if TYPE_CHECKING: @@ -47,9 +47,7 @@ def _encode_unsupervised_example( else: messages = prompt + [{"role": Role.ASSISTANT.value, "content": ""}] - input_ids, labels = template.encode_oneturn( - tokenizer, messages, system, tools, data_args.cutoff_len, data_args.reserved_label_len - ) + input_ids, labels = template.encode_oneturn(tokenizer, messages, system, tools) if template.efficient_eos: labels += [tokenizer.eos_token_id] @@ -57,6 +55,9 @@ def _encode_unsupervised_example( image_token_id = tokenizer.convert_tokens_to_ids(template.image_token) input_ids = [image_token_id] * getattr(processor, "image_seq_length") + input_ids + source_len, target_len = infer_seqlen(len(input_ids), len(labels), data_args.cutoff_len) + input_ids = input_ids[:source_len] + labels = labels[:target_len] return input_ids, labels diff --git a/src/llamafactory/data/template.py b/src/llamafactory/data/template.py index 53f16df4..aefd5195 100644 --- a/src/llamafactory/data/template.py +++ b/src/llamafactory/data/template.py @@ -16,7 +16,7 @@ from dataclasses import dataclass from typing import TYPE_CHECKING, Dict, List, Optional, Sequence, Tuple, Union from ..extras.logging import get_logger -from .data_utils import Role, infer_max_len +from .data_utils import Role from .formatter import EmptyFormatter, FunctionFormatter, StringFormatter, ToolFormatter @@ -48,36 +48,33 @@ class Template: def encode_oneturn( self, tokenizer: "PreTrainedTokenizer", - messages: List[Dict[str, str]], + messages: Sequence[Dict[str, str]], system: Optional[str] = None, tools: Optional[str] = None, - cutoff_len: int = 1_000_000, - reserved_label_len: int = 1, ) -> Tuple[List[int], List[int]]: r""" Returns a single pair of token ids representing prompt and response respectively. """ - encoded_pairs = self._encode(tokenizer, messages, system, tools, cutoff_len, reserved_label_len) + encoded_messages = self._encode(tokenizer, messages, system, tools) prompt_ids = [] - for query_ids, resp_ids in encoded_pairs[:-1]: - prompt_ids += query_ids + resp_ids - prompt_ids = prompt_ids + encoded_pairs[-1][0] - answer_ids = encoded_pairs[-1][1] + for encoded_ids in encoded_messages[:-1]: + prompt_ids += encoded_ids + + answer_ids = encoded_messages[-1] return prompt_ids, answer_ids def encode_multiturn( self, tokenizer: "PreTrainedTokenizer", - messages: List[Dict[str, str]], + messages: Sequence[Dict[str, str]], system: Optional[str] = None, tools: Optional[str] = None, - cutoff_len: int = 1_000_000, - reserved_label_len: int = 1, - ) -> Sequence[Tuple[List[int], List[int]]]: + ) -> List[Tuple[List[int], List[int]]]: r""" Returns multiple pairs of token ids representing prompts and responses respectively. """ - return self._encode(tokenizer, messages, system, tools, cutoff_len, reserved_label_len) + encoded_messages = self._encode(tokenizer, messages, system, tools) + return [(encoded_messages[i], encoded_messages[i + 1]) for i in range(0, len(encoded_messages), 2)] def extract_tool(self, content: str) -> Union[str, List[Tuple[str, str]]]: r""" @@ -88,16 +85,14 @@ class Template: def _encode( self, tokenizer: "PreTrainedTokenizer", - messages: List[Dict[str, str]], + messages: Sequence[Dict[str, str]], system: Optional[str], tools: Optional[str], - cutoff_len: int, - reserved_label_len: int, - ) -> Sequence[Tuple[List[int], List[int]]]: + ) -> List[List[int]]: r""" Encodes formatted inputs to pairs of token ids. - Turn 0: system + query resp - Turn t: sep + query resp + Turn 0: prefix + system + query resp + Turn t: sep + query resp """ system = system or self.default_system encoded_messages = [] @@ -106,10 +101,9 @@ class Template: if i == 0: elements += self.format_prefix.apply() - - if i == 0 and (system or tools): - tool_text = self.format_tools.apply(content=tools)[0] if tools else "" - elements += self.format_system.apply(content=(system + tool_text)) + if system or tools: + tool_text = self.format_tools.apply(content=tools)[0] if tools else "" + elements += self.format_system.apply(content=(system + tool_text)) if i > 0 and i % 2 == 0: elements += self.format_separator.apply() @@ -127,11 +121,9 @@ class Template: encoded_messages.append(self._convert_elements_to_ids(tokenizer, elements)) - return self._make_pairs(encoded_messages, cutoff_len, reserved_label_len) + return encoded_messages - def _convert_elements_to_ids( - self, tokenizer: "PreTrainedTokenizer", elements: List[Union[str, Dict[str, str]]] - ) -> List[int]: + def _convert_elements_to_ids(self, tokenizer: "PreTrainedTokenizer", elements: "SLOTS") -> List[int]: r""" Converts elements to token ids. """ @@ -152,60 +144,32 @@ class Template: return token_ids - def _make_pairs( - self, - encoded_messages: Sequence[List[int]], - cutoff_len: int, - reserved_label_len: int, - ) -> Sequence[Tuple[List[int], List[int]]]: - encoded_pairs = [] - total_length = 0 - for i in range(0, len(encoded_messages), 2): - if total_length >= cutoff_len: - break - - max_source_len, max_target_len = infer_max_len( - source_len=len(encoded_messages[i]), - target_len=len(encoded_messages[i + 1]), - max_len=(cutoff_len - total_length), - reserved_label_len=reserved_label_len, - ) - source_ids = encoded_messages[i][:max_source_len] - target_ids = encoded_messages[i + 1][:max_target_len] - total_length += len(source_ids) + len(target_ids) - encoded_pairs.append((source_ids, target_ids)) - - return encoded_pairs - @dataclass class Llama2Template(Template): def _encode( self, tokenizer: "PreTrainedTokenizer", - messages: List[Dict[str, str]], + messages: Sequence[Dict[str, str]], system: str, tools: str, - cutoff_len: int, - reserved_label_len: int, - ) -> Sequence[Tuple[List[int], List[int]]]: + ) -> List[List[int]]: r""" Encodes formatted inputs to pairs of token ids. - Turn 0: system + query resp - Turn t: sep + query resp + Turn 0: prefix + system + query resp + Turn t: sep + query resp """ system = system or self.default_system encoded_messages = [] for i, message in enumerate(messages): elements = [] + system_text = "" if i == 0: elements += self.format_prefix.apply() - - system_text = "" - if i == 0 and (system or tools): - tool_text = self.format_tools.apply(content=tools)[0] if tools else "" - system_text = self.format_system.apply(content=(system + tool_text))[0] + if system or tools: + tool_text = self.format_tools.apply(content=tools)[0] if tools else "" + system_text = self.format_system.apply(content=(system + tool_text))[0] if i > 0 and i % 2 == 0: elements += self.format_separator.apply() @@ -223,7 +187,7 @@ class Llama2Template(Template): encoded_messages.append(self._convert_elements_to_ids(tokenizer, elements)) - return self._make_pairs(encoded_messages, cutoff_len, reserved_label_len) + return encoded_messages TEMPLATES: Dict[str, Template] = {} @@ -240,7 +204,7 @@ def _register_template( format_separator: Optional["Formatter"] = None, format_prefix: Optional["Formatter"] = None, default_system: str = "", - stop_words: List[str] = [], + stop_words: Sequence[str] = [], image_token: str = "", efficient_eos: bool = False, replace_eos: bool = False, @@ -275,9 +239,7 @@ def _register_template( template_class = Llama2Template if name.startswith("llama2") else Template default_user_formatter = StringFormatter(slots=["{{content}}"]) default_assistant_formatter = StringFormatter(slots=["{{content}}"] + eos_slots) - default_function_formatter = FunctionFormatter( - slots=["Action: {{name}}\nAction Input: {{arguments}}\n"] + eos_slots - ) + default_function_formatter = FunctionFormatter(slots=eos_slots, tool_format="default") default_tool_formatter = ToolFormatter(tool_format="default") default_separator_formatter = EmptyFormatter() default_prefix_formatter = EmptyFormatter() @@ -390,7 +352,9 @@ def get_template_and_fix_tokenizer( if tool_format is not None: logger.info("Using tool format: {}.".format(tool_format)) + eos_slots = [] if template.efficient_eos else [{"eos_token"}] template.format_tools = ToolFormatter(tool_format=tool_format) + template.format_function = FunctionFormatter(slots=eos_slots, tool_format=tool_format) stop_words = template.stop_words if template.replace_eos: @@ -506,10 +470,11 @@ _register_template( format_user=StringFormatter(slots=[{"token": "<|user|>"}, "\n", "{{content}}", {"token": "<|assistant|>"}]), format_assistant=StringFormatter(slots=["\n", "{{content}}"]), format_system=StringFormatter(slots=[{"token": "<|system|>"}, "\n", "{{content}}"]), - format_function=FunctionFormatter(slots=["{{name}}\n{{arguments}}"]), + format_function=FunctionFormatter(slots=[], tool_format="glm4"), format_observation=StringFormatter( slots=[{"token": "<|observation|>"}, "\n", "{{content}}", {"token": "<|assistant|>"}] ), + format_tools=ToolFormatter(tool_format="glm4"), format_prefix=EmptyFormatter(slots=[{"token": "[gMASK]"}, {"token": "sop"}]), stop_words=["<|user|>", "<|observation|>"], efficient_eos=True, @@ -603,16 +568,15 @@ _register_template( _register_template( name="deepseekcoder", format_user=StringFormatter(slots=["### Instruction:\n{{content}}\n### Response:"]), - format_assistant=StringFormatter(slots=["\n", "{{content}}"]), - format_separator=EmptyFormatter(slots=["\n<|EOT|>\n"]), + format_assistant=StringFormatter(slots=["\n{{content}}\n"]), + format_separator=EmptyFormatter(slots=["\n"]), + format_prefix=EmptyFormatter(slots=[{"bos_token"}]), default_system=( "You are an AI programming assistant, utilizing the Deepseek Coder model, " "developed by Deepseek Company, and you only answer questions related to computer science. " "For politically sensitive questions, security and privacy issues, " "and other non-computer science questions, you will refuse to answer\n" ), - stop_words=["<|EOT|>"], - efficient_eos=True, ) @@ -662,7 +626,7 @@ _register_template( format_user=StringFormatter(slots=["<|user|>\n{{content}}<|assistant|>"]), format_assistant=StringFormatter(slots=["\n{{content}}"]), format_system=StringFormatter(slots=["<|system|>\n{{content}}"]), - format_function=FunctionFormatter(slots=["{{name}}\n{{arguments}}"]), + format_function=FunctionFormatter(slots=[], tool_format="glm4"), format_observation=StringFormatter(slots=["<|observation|>\n{{content}}<|assistant|>"]), format_tools=ToolFormatter(tool_format="glm4"), format_prefix=EmptyFormatter(slots=["[gMASK]"]), diff --git a/src/llamafactory/data/tool_utils.py b/src/llamafactory/data/tool_utils.py new file mode 100644 index 00000000..ac5565d5 --- /dev/null +++ b/src/llamafactory/data/tool_utils.py @@ -0,0 +1,140 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import json +import re +from abc import ABC, abstractmethod +from dataclasses import dataclass +from typing import Any, Dict, List, Tuple, Union + +from .data_utils import SLOTS + + +DEFAULT_TOOL_PROMPT = ( + "You have access to the following tools:\n{tool_text}" + "Use the following format if using a tool:\n" + "```\n" + "Action: tool name (one of [{tool_names}]).\n" + "Action Input: the input to the tool, in a JSON format representing the kwargs " + """(e.g. ```{{"input": "hello world", "num_beams": 5}}```).\n""" + "```\n" +) + + +GLM4_TOOL_PROMPT = ( + "你是一个名为 ChatGLM 的人工智能助手。你是基于智谱AI训练的语言模型 GLM-4 模型开发的," + "你的任务是针对用户的问题和要求提供适当的答复和支持。# 可用工具{tool_text}" +) + + +@dataclass +class ToolUtils(ABC): + @staticmethod + @abstractmethod + def get_function_slots() -> SLOTS: ... + + @staticmethod + @abstractmethod + def tool_formatter(tools: List[Dict[str, Any]]) -> str: ... + + @staticmethod + @abstractmethod + def tool_extractor(content: str) -> Union[str, List[Tuple[str, str]]]: ... + + +class DefaultToolUtils(ToolUtils): + @staticmethod + def get_function_slots() -> SLOTS: + return ["Action: {{name}}\nAction Input: {{arguments}}\n"] + + @staticmethod + def tool_formatter(tools: List[Dict[str, Any]]) -> str: + tool_text = "" + tool_names = [] + for tool in tools: + param_text = "" + for name, param in tool["parameters"]["properties"].items(): + required, enum, items = "", "", "" + if name in tool["parameters"].get("required", []): + required = ", required" + + if param.get("enum", None): + enum = ", should be one of [{}]".format(", ".join(param["enum"])) + + if param.get("items", None): + items = ", where each item should be {}".format(param["items"].get("type", "")) + + param_text += " - {name} ({type}{required}): {desc}{enum}{items}\n".format( + name=name, + type=param.get("type", ""), + required=required, + desc=param.get("description", ""), + enum=enum, + items=items, + ) + + tool_text += "> Tool Name: {name}\nTool Description: {desc}\nTool Args:\n{args}\n".format( + name=tool["name"], desc=tool.get("description", ""), args=param_text + ) + tool_names.append(tool["name"]) + + return DEFAULT_TOOL_PROMPT.format(tool_text=tool_text, tool_names=", ".join(tool_names)) + + @staticmethod + def tool_extractor(content: str) -> Union[str, List[Tuple[str, str]]]: + regex = re.compile(r"Action:\s*([a-zA-Z0-9_]+)\s*Action Input:\s*(.+?)(?=\s*Action:|\s*$)", re.DOTALL) + action_match: List[Tuple[str, str]] = re.findall(regex, content) + if not action_match: + return content + + results = [] + for match in action_match: + tool_name = match[0].strip() + tool_input = match[1].strip().strip('"').strip("```") + try: + arguments = json.loads(tool_input) + results.append((tool_name, json.dumps(arguments, ensure_ascii=False))) + except json.JSONDecodeError: + return content + + return results + + +class GLM4ToolUtils(ToolUtils): + @staticmethod + def get_function_slots() -> SLOTS: + return ["{{name}}\n{{arguments}}"] + + @staticmethod + def tool_formatter(tools: List[Dict[str, Any]]) -> str: + tool_text = "" + for tool in tools: + tool_text += "\n\n## {name}\n\n{body}\n在调用上述函数时,请使用 Json 格式表示调用的参数。".format( + name=tool["name"], body=json.dumps(tool, indent=4, ensure_ascii=False) + ) + + return GLM4_TOOL_PROMPT.format(tool_text=tool_text) + + @staticmethod + def tool_extractor(content: str) -> Union[str, List[Tuple[str, str]]]: + if "\n" not in content: + return content + + tool_name, tool_input = content.split("\n", maxsplit=1) + try: + arguments = json.loads(tool_input) + except json.JSONDecodeError: + return content + + return [(tool_name, json.dumps(arguments, ensure_ascii=False))] diff --git a/src/llamafactory/hparams/data_args.py b/src/llamafactory/hparams/data_args.py index dad13820..880be84a 100644 --- a/src/llamafactory/hparams/data_args.py +++ b/src/llamafactory/hparams/data_args.py @@ -45,10 +45,6 @@ class DataArguments: default=1024, metadata={"help": "The cutoff length of the tokenized inputs in the dataset."}, ) - reserved_label_len: int = field( - default=1, - metadata={"help": "The minimum cutoff length reserved for the tokenized labels in the dataset."}, - ) train_on_prompt: bool = field( default=False, metadata={"help": "Whether to disable the mask on the prompt or not."}, @@ -111,9 +107,6 @@ class DataArguments: ) def __post_init__(self): - if self.reserved_label_len >= self.cutoff_len: - raise ValueError("`reserved_label_len` must be smaller than `cutoff_len`.") - if self.streaming and self.val_size > 1e-6 and self.val_size < 1: raise ValueError("Streaming mode should have an integer val size.") diff --git a/tests/data/test_formatter.py b/tests/data/test_formatter.py index 37b21dc5..1845df24 100644 --- a/tests/data/test_formatter.py +++ b/tests/data/test_formatter.py @@ -28,7 +28,7 @@ def test_string_formatter(): def test_function_formatter(): - formatter = FunctionFormatter(slots=["Action: {{name}}\nAction Input: {{arguments}}\n"]) + formatter = FunctionFormatter(slots=[], tool_format="default") tool_calls = json.dumps({"name": "tool_name", "arguments": {"foo": "bar", "size": 10}}) assert formatter.apply(content=tool_calls) == [ """Action: tool_name\nAction Input: {\"foo\": \"bar\", \"size\": 10}\n""" @@ -36,7 +36,7 @@ def test_function_formatter(): def test_multi_function_formatter(): - formatter = FunctionFormatter(slots=["Action: {{name}}\nAction Input: {{arguments}}\n"]) + formatter = FunctionFormatter(slots=[], tool_format="default") tool_calls = json.dumps([{"name": "tool_name", "arguments": {"foo": "bar", "size": 10}}] * 2) assert formatter.apply(content=tool_calls) == [ """Action: tool_name\nAction Input: {\"foo\": \"bar\", \"size\": 10}\n""", diff --git a/tests/data/test_processor.py b/tests/data/test_processor.py new file mode 100644 index 00000000..fa8f7172 --- /dev/null +++ b/tests/data/test_processor.py @@ -0,0 +1,32 @@ +# Copyright 2024 the LlamaFactory team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from typing import Tuple + +import pytest + +from llamafactory.data.processors.processor_utils import infer_seqlen + + +@pytest.mark.parametrize( + "test_input,test_output", + [ + ((3000, 2000, 1000), (600, 400)), + ((2000, 3000, 1000), (400, 600)), + ((1000, 100, 1000), (900, 100)), + ((100, 1000, 1000), (100, 900)), + ], +) +def test_infer_seqlen(test_input: Tuple[int, int, int], test_output: Tuple[int, int]): + assert test_output == infer_seqlen(*test_input) diff --git a/tests/data/test_template.py b/tests/data/test_template.py index 9d73c116..e4728a84 100644 --- a/tests/data/test_template.py +++ b/tests/data/test_template.py @@ -21,15 +21,60 @@ from llamafactory.data import get_template_and_fix_tokenizer TINY_LLAMA = os.environ.get("TINY_LLAMA", "llamafactory/tiny-random-Llama-3") +MESSAGES = [ + {"role": "user", "content": "How are you"}, + {"role": "assistant", "content": "I am fine!"}, + {"role": "user", "content": "你好"}, + {"role": "assistant", "content": "很高兴认识你!"}, +] + + +def test_encode_oneturn(): + tokenizer = AutoTokenizer.from_pretrained(TINY_LLAMA) + template = get_template_and_fix_tokenizer(tokenizer, name="llama3") + prompt_ids, answer_ids = template.encode_oneturn(tokenizer, MESSAGES) + assert tokenizer.decode(prompt_ids) == ( + "<|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\nHow are you<|eot_id|>" + "<|start_header_id|>assistant<|end_header_id|>\n\nI am fine!<|eot_id|>" + "<|start_header_id|>user<|end_header_id|>\n\n你好<|eot_id|>" + "<|start_header_id|>assistant<|end_header_id|>\n\n" + ) + assert tokenizer.decode(answer_ids) == "很高兴认识你!<|eot_id|>" + + +def test_encode_multiturn(): + tokenizer = AutoTokenizer.from_pretrained(TINY_LLAMA) + template = get_template_and_fix_tokenizer(tokenizer, name="llama3") + encoded_pairs = template.encode_multiturn(tokenizer, MESSAGES) + assert tokenizer.decode(encoded_pairs[0][0]) == ( + "<|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\nHow are you<|eot_id|>" + "<|start_header_id|>assistant<|end_header_id|>\n\n" + ) + assert tokenizer.decode(encoded_pairs[0][1]) == "I am fine!<|eot_id|>" + assert tokenizer.decode(encoded_pairs[1][0]) == ( + "<|start_header_id|>user<|end_header_id|>\n\n你好<|eot_id|>" + "<|start_header_id|>assistant<|end_header_id|>\n\n" + ) + assert tokenizer.decode(encoded_pairs[1][1]) == "很高兴认识你!<|eot_id|>" + def test_jinja_template(): tokenizer = AutoTokenizer.from_pretrained(TINY_LLAMA) ref_tokenizer = AutoTokenizer.from_pretrained(TINY_LLAMA) get_template_and_fix_tokenizer(tokenizer, name="llama3") assert tokenizer.chat_template != ref_tokenizer.chat_template + assert tokenizer.apply_chat_template(MESSAGES) == ref_tokenizer.apply_chat_template(MESSAGES) - messages = [ - {"role": "user", "content": "hi!"}, - {"role": "assistant", "content": "hello there"}, - ] - assert tokenizer.apply_chat_template(messages) == ref_tokenizer.apply_chat_template(messages) + +def test_qwen_template(): + tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2-7B-Instruct") + template = get_template_and_fix_tokenizer(tokenizer, name="qwen") + prompt_ids, answer_ids = template.encode_oneturn(tokenizer, MESSAGES) + assert tokenizer.decode(prompt_ids) == ( + "<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n" + "<|im_start|>user\nHow are you<|im_end|>\n" + "<|im_start|>assistant\nI am fine!<|im_end|>\n" + "<|im_start|>user\n你好<|im_end|>\n" + "<|im_start|>assistant\n" + ) + assert tokenizer.decode(answer_ids) == "很高兴认识你!<|im_end|>" From a475d808f28b4b7e1a3a809b0fe57cc1197ababc Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 1 Jul 2024 01:29:09 +0800 Subject: [PATCH 165/169] Update label_issue.yml Former-commit-id: fc2c15d71321838aad05ff27323c0199840b3956 --- .github/workflows/label_issue.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/label_issue.yml b/.github/workflows/label_issue.yml index 0e10f0b9..ffd644a7 100644 --- a/.github/workflows/label_issue.yml +++ b/.github/workflows/label_issue.yml @@ -16,7 +16,7 @@ jobs: ISSUE_TITLE: ${{ github.event.issue.title }} run: | LABEL=pending - NPU_KEYWORDS=(npu ascend 昇腾) + NPU_KEYWORDS=(npu ascend huawei 华为 昇腾) ISSUE_TITLE_LOWER=$(echo $ISSUE_TITLE | tr '[:upper:]' '[:lower:]') for KEYWORD in ${NPU_KEYWORDS[@]}; do if [[ $ISSUE_TITLE_LOWER == *$KEYWORD* ]] && [[ $ISSUE_TITLE_LOWER != *input* ]]; then From 54e786346e36f4d7255abc4cc156326f487b75ed Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 1 Jul 2024 03:51:20 +0800 Subject: [PATCH 166/169] add eval acc Former-commit-id: 1856a08e87b150fa4bffcb0af703ed84d848e24b --- src/llamafactory/train/sft/metric.py | 24 +++++++++++++++++++++--- src/llamafactory/train/sft/trainer.py | 17 ++++++----------- src/llamafactory/train/sft/workflow.py | 7 ++++--- 3 files changed, 31 insertions(+), 17 deletions(-) diff --git a/src/llamafactory/train/sft/metric.py b/src/llamafactory/train/sft/metric.py index 95bfcb69..72faef0a 100644 --- a/src/llamafactory/train/sft/metric.py +++ b/src/llamafactory/train/sft/metric.py @@ -17,9 +17,11 @@ # limitations under the License. from dataclasses import dataclass -from typing import TYPE_CHECKING, Dict, Sequence, Tuple, Union +from typing import TYPE_CHECKING, Dict import numpy as np +import torch +from transformers import EvalPrediction from transformers.utils import is_jieba_available, is_nltk_available from ...extras.constants import IGNORE_INDEX @@ -42,6 +44,22 @@ if is_rouge_available(): from rouge_chinese import Rouge +def compute_accuracy(eval_preds: "EvalPrediction") -> Dict[str, float]: + preds, labels = eval_preds.predictions, eval_preds.label_ids + accuracies = [] + for i in range(len(preds)): + pred, label = preds[i, 1:], labels[i, :-1] + label_mask = label != IGNORE_INDEX + accuracies.append(np.mean(pred[label_mask] == label[label_mask])) + + return {"accuracy": float(np.mean(accuracies))} + + +def eval_logit_processor(logits: "torch.Tensor", labels: "torch.Tensor") -> "torch.Tensor": + logits = logits[0] if isinstance(logits, (list, tuple)) else logits + return torch.argmax(logits, dim=-1) + + @dataclass class ComputeMetrics: r""" @@ -50,11 +68,11 @@ class ComputeMetrics: tokenizer: "PreTrainedTokenizer" - def __call__(self, eval_preds: Sequence[Union[np.ndarray, Tuple[np.ndarray]]]) -> Dict[str, float]: + def __call__(self, eval_preds: "EvalPrediction") -> Dict[str, float]: r""" Uses the model predictions to compute metrics. """ - preds, labels = eval_preds + preds, labels = eval_preds.predictions, eval_preds.label_ids score_dict = {"rouge-1": [], "rouge-2": [], "rouge-l": [], "bleu-4": []} preds = np.where(preds != IGNORE_INDEX, preds, self.tokenizer.pad_token_id) diff --git a/src/llamafactory/train/sft/trainer.py b/src/llamafactory/train/sft/trainer.py index 06bd2b6b..954bb69f 100644 --- a/src/llamafactory/train/sft/trainer.py +++ b/src/llamafactory/train/sft/trainer.py @@ -135,21 +135,16 @@ class CustomSeq2SeqTrainer(Seq2SeqTrainer): for i in range(len(preds)): pad_len = np.nonzero(preds[i] != self.tokenizer.pad_token_id)[0] - if len(pad_len): - preds[i] = np.concatenate( - (preds[i][pad_len[0] :], preds[i][: pad_len[0]]), axis=-1 - ) # move pad token to last + if len(pad_len): # move pad token to last + preds[i] = np.concatenate((preds[i][pad_len[0] :], preds[i][: pad_len[0]]), axis=-1) - decoded_inputs = self.tokenizer.batch_decode( - dataset["input_ids"], skip_special_tokens=True, clean_up_tokenization_spaces=False - ) - decoded_labels = self.tokenizer.batch_decode( - labels, skip_special_tokens=True, clean_up_tokenization_spaces=False - ) - decoded_preds = self.tokenizer.batch_decode(preds, skip_special_tokens=True, clean_up_tokenization_spaces=True) + decoded_inputs = self.tokenizer.batch_decode(dataset["input_ids"], skip_special_tokens=True) + decoded_labels = self.tokenizer.batch_decode(labels, skip_special_tokens=True) + decoded_preds = self.tokenizer.batch_decode(preds, skip_special_tokens=True) with open(output_prediction_file, "w", encoding="utf-8") as writer: res: List[str] = [] for text, label, pred in zip(decoded_inputs, decoded_labels, decoded_preds): res.append(json.dumps({"prompt": text, "label": label, "predict": pred}, ensure_ascii=False)) + writer.write("\n".join(res)) diff --git a/src/llamafactory/train/sft/workflow.py b/src/llamafactory/train/sft/workflow.py index 885bc7ac..0c3f9b11 100644 --- a/src/llamafactory/train/sft/workflow.py +++ b/src/llamafactory/train/sft/workflow.py @@ -25,7 +25,7 @@ from ...extras.misc import get_logits_processor from ...extras.ploting import plot_loss from ...model import load_model, load_tokenizer from ..trainer_utils import create_modelcard_and_push -from .metric import ComputeMetrics +from .metric import ComputeMetrics, compute_accuracy, eval_logit_processor from .trainer import CustomSeq2SeqTrainer @@ -72,7 +72,8 @@ def run_sft( finetuning_args=finetuning_args, data_collator=data_collator, callbacks=callbacks, - compute_metrics=ComputeMetrics(tokenizer) if training_args.predict_with_generate else None, + compute_metrics=ComputeMetrics(tokenizer) if training_args.predict_with_generate else compute_accuracy, + preprocess_logits_for_metrics=None if training_args.predict_with_generate else eval_logit_processor, **tokenizer_module, **split_dataset(dataset, data_args, training_args), ) @@ -91,7 +92,7 @@ def run_sft( trainer.save_metrics("train", train_result.metrics) trainer.save_state() if trainer.is_world_process_zero() and finetuning_args.plot_loss: - plot_loss(training_args.output_dir, keys=["loss", "eval_loss"]) + plot_loss(training_args.output_dir, keys=["loss", "eval_loss", "eval_accuracy"]) # Evaluation if training_args.do_eval: From de4de5b5ab4816cd08ad91eb20edc21febdcc555 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 1 Jul 2024 03:55:20 +0800 Subject: [PATCH 167/169] tiny fix Former-commit-id: 8c41a0aa6db8bf31200c83b14819d474927268a1 --- src/llamafactory/model/model_utils/attention.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/model/model_utils/attention.py b/src/llamafactory/model/model_utils/attention.py index 80d9d4b8..4bed7e21 100644 --- a/src/llamafactory/model/model_utils/attention.py +++ b/src/llamafactory/model/model_utils/attention.py @@ -35,7 +35,7 @@ def configure_attn_implementation( if model_args.flash_attn == "auto": logger.warning("Gemma-2 models should use eager attention in training, change `flash_attn` to disabled.") model_args.flash_attn = "disabled" - else: + elif model_args.flash_attn != "disabled": logger.warning( "Gemma-2 models should use eager attention in training, but you set `flash_attn: {}`. " "Will proceed at your own risk.".format(model_args.flash_attn) From 2cf03017a0f8eefadb24b1cd3bbf33ad3d324c10 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 1 Jul 2024 05:43:17 +0800 Subject: [PATCH 168/169] tiny fix Former-commit-id: 73280b7dc7f8b3210bb08dfc3cf34760190f585a --- src/llamafactory/train/sft/metric.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/llamafactory/train/sft/metric.py b/src/llamafactory/train/sft/metric.py index 72faef0a..c69608c0 100644 --- a/src/llamafactory/train/sft/metric.py +++ b/src/llamafactory/train/sft/metric.py @@ -48,7 +48,7 @@ def compute_accuracy(eval_preds: "EvalPrediction") -> Dict[str, float]: preds, labels = eval_preds.predictions, eval_preds.label_ids accuracies = [] for i in range(len(preds)): - pred, label = preds[i, 1:], labels[i, :-1] + pred, label = preds[i, :-1], labels[i, 1:] label_mask = label != IGNORE_INDEX accuracies.append(np.mean(pred[label_mask] == label[label_mask])) From 48a299f8ae6812a1299de9d33bbcd9a651c1ad18 Mon Sep 17 00:00:00 2001 From: hiyouga <467089858@qq.com> Date: Mon, 1 Jul 2024 16:28:54 +0800 Subject: [PATCH 169/169] Update wechat_npu.jpg Former-commit-id: 33f2ddb8b68d11370a1e113330a4e10c39fba744 --- assets/wechat_npu.jpg | Bin 152241 -> 150732 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/assets/wechat_npu.jpg b/assets/wechat_npu.jpg index 15085ceec4fcba68cc3e712f3ba3798a69693fba..2c7e0817228606726ccc95f937a388480f466be2 100644 GIT binary patch literal 150732 zcmeFZ2UJsE*Ee{P5*4H<9U&+vN)hQu3l^G)2nZ-GG-;to4>cei=}n|dM@s0umjEKt zdk;u&p@tSFKL6)^-uHWFX3aOV);F`(f1a>TNOJEz=j?O#*=PTLd*6FGemM_NzLZsv z1qcWLfB^poTuuSc0TLo&5@I3}5@He%h~(;Z%Inv!UAs&pM@>u1$b1jX z$i#M=mX?*9mF+&qL(Yc`V4lZ34<6rp@bJN(N(ew8(Dkd=Z(YBB>j5JzMHRH5r~lBE^vj4fRKvdvK;{9`$z^9vK}QpO{=gFE0IF zURhmR$L#GN93CBGPfq{HMF0@~B^LhuFTwtsTvT|ut`HFs5`q56MR3I#UkIs)i0|-` z+66`
    Y-dSh*H38V}l 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 z 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%0D=7acN|XY!3X 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