Проблемы во время тонкой настройки LoRA: получены неожиданные аргументы: {'num_items_in_batch': 8192}Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблемы во время тонкой настройки LoRA: получены неожиданные аргументы: {'num_items_in_batch': 8192}

Сообщение Anonymous »

Я экспериментирую с LoRA, чтобы точно настроить модель для обработки и анализа PDF-файлов, чтобы можно было задавать вопросы на основе этих файлов. По сути, я загружал PDF-файлы, затем программа разбивала их на куски и «училась» на PDF-файлах, чтобы мне не приходилось повторно загружать файлы, и она запоминала контекст из файлов (поскольку я создаю потоковое приложение ), а затем создайте векторное хранилище для запросов.

Код: Выделить всё

def fine_tune_model_lora_with_suggestions(train_data):
st.write("Starting high-performance fine-tuning with LoRA...")
try:
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, Trainer
from peft import LoraConfig, get_peft_model
from datasets import Dataset

# Define model name
model_name = "bigscience/bloom-7b1"

# Load tokenizer
tokenizer = AutoTokenizer.from_pretrained(model_name)

# Load model normally if CUDA is available, otherwise use CPU
if torch.cuda.is_available():
model = AutoModelForCausalLM.from_pretrained(
model_name,
load_in_8bit=True,  # Enable 8-bit quantization
device_map="auto",  # Automatically map layers between GPU and CPU
llm_int8_enable_fp32_cpu_offload=True,  # Offload some layers to CPU in FP32
torch_dtype=torch.float16,  # Use FP16 for GPU-loaded layers
)
else:
model = AutoModelForCausalLM.from_pretrained(model_name)

# Apply LoRA configuration
lora_config = LoraConfig(
r=16,
lora_alpha=32,
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM",
target_modules=["query_key_value"],  # Specify target modules for LoRA
)
model = get_peft_model(model, lora_config)

# Prepare dataset
dataset = Dataset.from_list(train_data)

def tokenize_function(examples):
tokens = tokenizer(
examples["text"],
padding="max_length",
truncation=True,
max_length=512,
)
tokens["labels"] = tokens["input_ids"].copy()
return tokens

tokenized_dataset = dataset.map(tokenize_function, batched=True)

# Training arguments
training_args = TrainingArguments(
per_device_train_batch_size=4,
gradient_accumulation_steps=4,
max_steps=200,
learning_rate=2e-4,
fp16=torch.cuda.is_available(),  # Enable FP16 only if CUDA is available
logging_steps=10,
output_dir="./outputs",
save_steps=10,
save_total_limit=2,
report_to="none",
)

# Initialize Trainer
trainer = Trainer(
model=model,
args=training_args,
train_dataset=tokenized_dataset,
)

# Train model
trainer.train()

# Save fine-tuned model
model.save_pretrained("./fine_tuned_bloom_lora")
tokenizer.save_pretrained("./fine_tuned_bloom_lora")
st.write("Fine-tuning completed successfully.")

except ImportError as e:
st.error(f"Import Error: {e}")
except Exception as e:
st.error(f"Error during LoRA fine-tuning: {e}")
Кстати, я запускаю этот код в Google Colabs.
Когда я запускаю свой код полностью, я получаю эту ошибку :

Ошибка во время тонкой настройки LoRA: Получены неожиданные аргументы: {'num_items_in_batch': 8192}.
А еще вот библиотеки, которые я установил:

Код: Выделить всё

!pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
!pip install transformers datasets PyPDF2 langchain langchain_community streamlit faiss-cpu python-dotenv google-generativeai pyngrok wandb
!pip install -U transformers
!pip install -U bitsandbytes
!pip install transformers==4.26.0 peft==0.2.0 datasets==2.7.1
!pip install bitsandbytes --extra-index-url https://huggingface.github.io/bitsandbytes/

# !pip install bitsandbytes
!pip install einops==0.6.1
!pip install git+https://github.com/huggingface/accelerate.git
!pip install jedi
!sudo apt-get install -y libcairo2-dev libjpeg-dev libpng-dev libfreetype6-dev
!pip install pycairo
!pip install fsspec[http]==2024.9.0
!pip install --upgrade peft accelerate

!pip install accelerate appdirs bitsandbytes datasets fire git+https://github.com/huggingface/peft.git git+https://github.com/huggingface/transformers.git torch sentencepiece tensorboardX gradio
!pip install -i https://test.pypi.org/simple/ bitsandbytes

!!pip install -U peft transformers
Буду признателен за любую помощь в этом вопросе! Спасибо!
Сначала я думал, что ошибка возникает из-за вызова старых версий библиотек или из-за того, что некоторые функции устарели, но я не уверен.

Подробнее здесь: https://stackoverflow.com/questions/793 ... s-in-batch
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»