stmasson commited on
Commit
80fe464
·
verified ·
1 Parent(s): 6d492a0

Upload scripts/train_n8n_sft.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. scripts/train_n8n_sft.py +17 -11
scripts/train_n8n_sft.py CHANGED
@@ -154,16 +154,21 @@ lora_config = LoraConfig(
154
 
155
  print(f"\nChargement du dataset: {DATASET_REPO}")
156
 
157
- dataset = load_dataset(
 
 
158
  DATASET_REPO,
159
- data_files={
160
- "train": TRAIN_FILE,
161
- "validation": VAL_FILE
162
- }
 
 
 
163
  )
164
 
165
- print(f"Train: {len(dataset['train'])} exemples")
166
- print(f"Validation: {len(dataset['validation'])} exemples")
167
 
168
  # Fonction de formatage
169
  def format_example(example):
@@ -178,11 +183,12 @@ def format_example(example):
178
 
179
  # Appliquer le formatage
180
  print("Formatage des données...")
181
- dataset = dataset.map(format_example, remove_columns=dataset["train"].column_names)
 
182
 
183
  # Afficher un exemple
184
  print("\nExemple de données formatées:")
185
- print(dataset["train"][0]["text"][:500] + "...")
186
 
187
  # ============================================================================
188
  # CONFIGURATION D'ENTRAÎNEMENT
@@ -235,8 +241,8 @@ print("\nInitialisation du trainer...")
235
  trainer = SFTTrainer(
236
  model=model,
237
  args=training_args,
238
- train_dataset=dataset["train"],
239
- eval_dataset=dataset["validation"],
240
  peft_config=lora_config,
241
  tokenizer=tokenizer,
242
  )
 
154
 
155
  print(f"\nChargement du dataset: {DATASET_REPO}")
156
 
157
+ # Charger train et validation séparément pour éviter les problèmes de schéma
158
+ # (les colonnes metadata.node_types peuvent différer entre les splits)
159
+ train_dataset = load_dataset(
160
  DATASET_REPO,
161
+ data_files={"train": TRAIN_FILE},
162
+ split="train"
163
+ )
164
+ val_dataset = load_dataset(
165
+ DATASET_REPO,
166
+ data_files={"train": VAL_FILE},
167
+ split="train"
168
  )
169
 
170
+ print(f"Train: {len(train_dataset)} exemples")
171
+ print(f"Validation: {len(val_dataset)} exemples")
172
 
173
  # Fonction de formatage
174
  def format_example(example):
 
183
 
184
  # Appliquer le formatage
185
  print("Formatage des données...")
186
+ train_dataset = train_dataset.map(format_example, remove_columns=train_dataset.column_names)
187
+ val_dataset = val_dataset.map(format_example, remove_columns=val_dataset.column_names)
188
 
189
  # Afficher un exemple
190
  print("\nExemple de données formatées:")
191
+ print(train_dataset[0]["text"][:500] + "...")
192
 
193
  # ============================================================================
194
  # CONFIGURATION D'ENTRAÎNEMENT
 
241
  trainer = SFTTrainer(
242
  model=model,
243
  args=training_args,
244
+ train_dataset=train_dataset,
245
+ eval_dataset=val_dataset,
246
  peft_config=lora_config,
247
  tokenizer=tokenizer,
248
  )