fix galore and peft finetune example (#12776)
This commit is contained in:
parent
c0d6b282b8
commit
b4c9e23f73
3 changed files with 10 additions and 13 deletions
|
|
@ -13,11 +13,8 @@ conda activate llm
|
||||||
# below command will install intel_extension_for_pytorch==2.1.10+xpu as default
|
# below command will install intel_extension_for_pytorch==2.1.10+xpu as default
|
||||||
pip install --pre --upgrade ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/
|
pip install --pre --upgrade ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/
|
||||||
pip install galore-torch
|
pip install galore-torch
|
||||||
pip install accelerate==0.28.0
|
pip install transformers==4.45.0 "trl<0.12.0" datasets
|
||||||
pip install bitsandbytes==0.43.0
|
pip install bitsandbytes==0.45.1
|
||||||
pip install datasets==2.18.0
|
|
||||||
pip install transformers==4.39.1
|
|
||||||
pip install trl==0.8.1
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. GaLore Finetune
|
### 2. GaLore Finetune
|
||||||
|
|
|
||||||
|
|
@ -14,10 +14,10 @@ conda create -n llm python=3.11
|
||||||
conda activate llm
|
conda activate llm
|
||||||
# below command will install intel_extension_for_pytorch==2.1.10+xpu as default
|
# below command will install intel_extension_for_pytorch==2.1.10+xpu as default
|
||||||
pip install --pre --upgrade ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/
|
pip install --pre --upgrade ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/
|
||||||
pip install transformers==4.36.0 datasets
|
pip install transformers==4.45.0 "trl<0.12.0" datasets
|
||||||
|
pip install bitsandbytes==0.45.1 scipy
|
||||||
pip install fire peft==0.10.0
|
pip install fire peft==0.10.0
|
||||||
pip install oneccl_bind_pt==2.1.100 --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/ # necessary to run distributed finetuning
|
pip install oneccl_bind_pt==2.1.100 --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/ # necessary to run distributed finetuning
|
||||||
pip install bitsandbytes scipy
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Configures OneAPI environment variables
|
### 2. Configures OneAPI environment variables
|
||||||
|
|
|
||||||
|
|
@ -53,10 +53,10 @@ from peft import (
|
||||||
LoraConfig,
|
LoraConfig,
|
||||||
get_peft_model,
|
get_peft_model,
|
||||||
get_peft_model_state_dict,
|
get_peft_model_state_dict,
|
||||||
prepare_model_for_int8_training,
|
prepare_model_for_kbit_training,
|
||||||
set_peft_model_state_dict,
|
set_peft_model_state_dict,
|
||||||
)
|
)
|
||||||
from transformers import LlamaForCausalLM, LlamaTokenizer
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||||
|
|
||||||
from utils.prompter import Prompter
|
from utils.prompter import Prompter
|
||||||
|
|
||||||
|
|
@ -145,14 +145,14 @@ def train(
|
||||||
if len(wandb_log_model) > 0:
|
if len(wandb_log_model) > 0:
|
||||||
os.environ["WANDB_LOG_MODEL"] = wandb_log_model
|
os.environ["WANDB_LOG_MODEL"] = wandb_log_model
|
||||||
|
|
||||||
model = LlamaForCausalLM.from_pretrained(
|
model = AutoModelForCausalLM.from_pretrained(
|
||||||
base_model,
|
base_model,
|
||||||
load_in_8bit=True,
|
load_in_4bit=True,
|
||||||
torch_dtype=torch.float16,
|
torch_dtype=torch.float16,
|
||||||
device_map=device_map,
|
device_map=device_map,
|
||||||
)
|
)
|
||||||
|
|
||||||
tokenizer = LlamaTokenizer.from_pretrained(base_model)
|
tokenizer = AutoTokenizer.from_pretrained(base_model)
|
||||||
|
|
||||||
tokenizer.pad_token_id = (
|
tokenizer.pad_token_id = (
|
||||||
0 # unk. we want this to be different from the eos token
|
0 # unk. we want this to be different from the eos token
|
||||||
|
|
@ -207,7 +207,7 @@ def train(
|
||||||
] # could be sped up, probably
|
] # could be sped up, probably
|
||||||
return tokenized_full_prompt
|
return tokenized_full_prompt
|
||||||
|
|
||||||
model = prepare_model_for_int8_training(model)
|
model = prepare_model_for_kbit_training(model)
|
||||||
|
|
||||||
config = LoraConfig(
|
config = LoraConfig(
|
||||||
r=lora_r,
|
r=lora_r,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue