""" Merge LoRA adapter with base model and push to Hugging Face Hub. """ import torch from peft import PeftModel from transformers import AutoModelForCausalLM, AutoTokenizer # --- Config --- BASE_MODEL = "nvidia/Llama-3.1-Nemotron-Nano-4B-v1.1" ADAPTER_PATH = "training/output" HUB_REPO = "aslanconfig/tech-advisor-nemotron-4b" # --- Load base model --- print(f"Loading base model: {BASE_MODEL}") tokenizer = AutoTokenizer.from_pretrained(BASE_MODEL) model = AutoModelForCausalLM.from_pretrained( BASE_MODEL, torch_dtype=torch.bfloat16, device_map="auto", ) # --- Load and merge adapter --- print(f"Loading adapter from: {ADAPTER_PATH}") model = PeftModel.from_pretrained(model, ADAPTER_PATH) print("Merging adapter into base model...") model = model.merge_and_unload() # --- Push to Hub --- print(f"Pushing merged model to: {HUB_REPO}") model.push_to_hub(HUB_REPO) tokenizer.push_to_hub(HUB_REPO) print("Done! Model available at: https://huggingface.co/" + HUB_REPO)