Buckets:
| """Merge a LoRA adapter into a bf16 checkpoint that vLLM can serve on its own.""" | |
| from __future__ import annotations | |
| import argparse | |
| import torch | |
| from peft import PeftModel | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| def main() -> None: | |
| ap = argparse.ArgumentParser() | |
| ap.add_argument("--model", default="Qwen/Qwen3.5-4B") | |
| ap.add_argument("--adapter", required=True) | |
| ap.add_argument("--out", required=True) | |
| args = ap.parse_args() | |
| base = AutoModelForCausalLM.from_pretrained(args.model, dtype=torch.bfloat16) | |
| merged = PeftModel.from_pretrained(base, args.adapter).merge_and_unload() | |
| merged.save_pretrained(args.out, safe_serialization=True) | |
| AutoTokenizer.from_pretrained(args.model).save_pretrained(args.out) | |
| print(f"merged {args.adapter} into {args.out}") | |
| if __name__ == "__main__": | |
| main() | |
Xet Storage Details
- Size:
- 856 Bytes
- Xet hash:
- d15429eecad2b84f6155f76c0827f8d182551386f26357eab8bcd10a22777b85
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.