Лора, точная настройка занимает слишком много времени
Есть ли причина, почему это дает мне месяц ожидаемого времени обработки?
И самое главное, как это ускорить?
Мой набор данных представляет собой набор из 20 тысяч коротких предложений (максимум 100 слов каждое).
import transformers
import torch
model_id = "tiiuae/falcon-40b-instruct"
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_use_double_quant=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16
)
tokenizer = AutoTokenizer.from_pretrained(model_id)
tokenizer.pad_token = tokenizer.eos_token
model = AutoModelForCausalLM.from_pretrained(model_id, quantization_config=bnb_config, device_map="auto", trust_remote_code=True)
from peft import prepare_model_for_kbit_training
model.gradient_checkpointing_enable()
model = prepare_model_for_kbit_training(model)
from peft import LoraConfig, get_peft_model
config = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["query_key_value"],
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM"
)
model = get_peft_model(model, config)
trainer = transformers.Trainer(
model=model,
train_dataset=tokenized_data,
args=transformers.TrainingArguments(
num_train_epochs=100,
per_device_train_batch_size=4,
gradient_accumulation_steps=4,
warmup_ratio=0.05,
learning_rate=2e-4,
fp16=False,
logging_steps=1,
output_dir="output",
optim="paged_adamw_8bit",
lr_scheduler_type='cosine',
),
data_collator=transformers.DataCollatorForLanguageModeling(tokenizer, mlm=False),
)
model.config.use_cache = False # silence the warnings. Please re-enable for inference!
trainer.train()```
1 ответ
Я думаю, причина в том, что графический процессор не используется. Если он у вас есть, вы можете включить его и выполнить точную настройку.