felipecaspol commited on
Commit
4e469f4
·
1 Parent(s): cf00782

Optimización de memoria en Hugging Face Spaces

Browse files
Files changed (1) hide show
  1. api.py +12 -4
api.py CHANGED
@@ -15,18 +15,25 @@ os.environ["HF_HOME"] = "/tmp/huggingface"
15
  HUGGING_FACE_REPO = "fcp2207/Phi-2" # Reemplaza con tu usuario y nombre correcto del modelo en Hugging Face
16
  MODEL_FILENAME = "phi2_finetuned.pth" # Nombre del archivo en Hugging Face
17
 
18
- # ✅ Descargar el modelo desde Hugging Face (usando la caché segura)
19
  model_path = hf_hub_download(
20
  repo_id=HUGGING_FACE_REPO,
21
  filename=MODEL_FILENAME,
22
  cache_dir=os.environ["HF_HOME"] # Directorio seguro en Hugging Face Spaces
23
  )
24
 
25
- # ✅ Cargar el tokenizer y el modelo base desde Hugging Face
26
  tokenizer = AutoTokenizer.from_pretrained("microsoft/phi-2", cache_dir=os.environ["HF_HOME"])
27
- model = AutoModelForCausalLM.from_pretrained("microsoft/phi-2", cache_dir=os.environ["HF_HOME"])
28
 
29
- # ✅ Cargar los pesos del modelo fine-tuned
 
 
 
 
 
 
 
 
30
  model.load_state_dict(torch.load(model_path, map_location="cpu"))
31
  model.eval() # Poner el modelo en modo inferencia
32
 
@@ -68,3 +75,4 @@ if __name__ == "__main__":
68
 
69
 
70
 
 
 
15
  HUGGING_FACE_REPO = "fcp2207/Phi-2" # Reemplaza con tu usuario y nombre correcto del modelo en Hugging Face
16
  MODEL_FILENAME = "phi2_finetuned.pth" # Nombre del archivo en Hugging Face
17
 
18
+ # ✅ Descargar el modelo desde Hugging Face con caché segura
19
  model_path = hf_hub_download(
20
  repo_id=HUGGING_FACE_REPO,
21
  filename=MODEL_FILENAME,
22
  cache_dir=os.environ["HF_HOME"] # Directorio seguro en Hugging Face Spaces
23
  )
24
 
25
+ # ✅ Cargar el tokenizer
26
  tokenizer = AutoTokenizer.from_pretrained("microsoft/phi-2", cache_dir=os.environ["HF_HOME"])
 
27
 
28
+ # ✅ Cargar el modelo en modo optimizado para memoria
29
+ model = AutoModelForCausalLM.from_pretrained(
30
+ "microsoft/phi-2",
31
+ cache_dir=os.environ["HF_HOME"],
32
+ torch_dtype=torch.float16, # Reduce el tamaño del modelo
33
+ device_map="auto" # Optimiza la carga en CPU/GPU automáticamente
34
+ )
35
+
36
+ # ✅ Cargar los pesos del modelo entrenado
37
  model.load_state_dict(torch.load(model_path, map_location="cpu"))
38
  model.eval() # Poner el modelo en modo inferencia
39
 
 
75
 
76
 
77
 
78
+