AlekseyCalvin commited on
Commit
49dc183
·
verified ·
1 Parent(s): 7c781ef

Create merge_utils.py

Browse files
Files changed (1) hide show
  1. merge_utils.py +23 -0
merge_utils.py ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import yaml
2
+ import os
3
+ import torch
4
+ from mergekit.config import MergeConfiguration
5
+ from mergekit.merge import run_merge
6
+ from pathlib import Path
7
+
8
+ def execute_mergekit(config_dict, out_path, hf_token):
9
+ """Runs a MergeKit operation using a dictionary config."""
10
+ # Convert dict to YAML string for MergeKit's parser
11
+ config_yaml = yaml.dump(config_dict)
12
+ conf = MergeConfiguration.model_validate(yaml.safe_load(config_yaml))
13
+
14
+ # Execute merge with CPU-specific optimizations
15
+ run_merge(
16
+ conf,
17
+ out_path,
18
+ device="cpu",
19
+ low_cpu_mem=True,
20
+ copy_tokenizer=True,
21
+ lazy_unpickle=True
22
+ )
23
+ return True