HuggingFace — загрузить/сохранить PeftConfig как json

Я обучаюсь тонкой настройке модели HuggingFace, добавляя собственные данные и используя LORA. Однако я не хочу загружать файл в HuggingFace, а хочу сохранить его на своем локальном компьютере. Это работает для токенизатора и модели, однако объект LoraConfig сохранить невозможно. Что я делаю не так?

Вот часть моего кода:

      import transformers

trainer = transformers.Trainer(
    model=model, 
    train_dataset=data['train'],
    args=transformers.TrainingArguments(
        per_device_train_batch_size=4, 
        gradient_accumulation_steps=4,
        warmup_steps=100, 
        max_steps=2, 
        learning_rate=2e-4, 
        fp16=False,
        logging_steps=1, 
        output_dir='outputs'
    ),
    data_collator=transformers.DataCollatorForLanguageModeling(tokenizer, mlm=False)
)

model.config.use_cache = False  # silence the warnings. Please re-enable for inference!
with torch.autocast("cuda"): 
    trainer.train()

tokenizer.save_pretrained("./")
model.save_pretrained("./")

config

"""
LoraConfig(peft_type=<PeftType.LORA: 'LORA'>, auto_mapping=None, base_model_name_or_path='xx', revision=None, task_type='CAUSAL_LM', inference_mode=False, r=16, target_modules=['q_proj', 'v_proj'], lora_alpha=32, lora_dropout=0.05, fan_in_fan_out=False, bias='none', modules_to_save=None, init_lora_weights=True, layers_to_transform=None, layers_pattern=None)
"""

out_file = open("config.json", "w")  
json.dump(config, out_file, indent = 6)

TypeError: Object of type LoraConfig is not JSON serializable

Дальнейшее использование будет:

      import torch
from peft import PeftModel, PeftConfig
from transformers import AutoModelForCausalLM, AutoTokenizer

#peft_model_id = "ybelkada/opt-6.7b-lora"
config = PeftConfig.from_dict("./")
model = AutoModelForCausalLM.from_pretrained("./", return_dict=True, load_in_8bit=True, device_map='auto')
tokenizer = AutoTokenizer.from_pretrained("./")

# Load the Lora model
model = PeftModel.from_pretrained(model, config)

Какая там основная ошибка? Сохраняю ли я правильный файл конфигурации?

0 ответов

Другие вопросы по тегам