Spaces:
Sleeping
Sleeping
File size: 2,028 Bytes
130525d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
import os
import torch
from transformers import AutoModelForVision2Seq, AutoProcessor
from dotenv import load_dotenv
# --- μ€μ λΆλΆ ---
MODEL_NAME = "kakaocorp/kanana-1.5-v-3b-instruct"
SAVE_DIRECTORY = "./lily_llm_core/models/kanana_1_5_v_3b_instruct"
# --- μ€μ λ ---
load_dotenv()
HF_TOKEN = os.getenv("HF_TOKEN")
print("="*60)
print(f"'{MODEL_NAME}' λͺ¨λΈ λ° νλ‘μΈμ 곡μ λ€μ΄λ‘λλ₯Ό μμν©λλ€.")
print(f"μ μ₯ κ²½λ‘: {SAVE_DIRECTORY}")
print("="*60)
try:
# 1. 곡μ AutoProcessor λ‘λ λ° λ€μ΄λ‘λ
print("\n[1/2] νλ‘μΈμ(Tokenizer+Image Processor) λ€μ΄λ‘λ μ€...")
processor = AutoProcessor.from_pretrained(
MODEL_NAME,
token=HF_TOKEN,
trust_remote_code=True
)
print("β
νλ‘μΈμ λ€μ΄λ‘λ μ±κ³΅!")
# 2. 곡μ AutoModelForVision2Seq λ‘λ λ° λ€μ΄λ‘λ
print("\n[2/2] λͺ¨λΈ λ€μ΄λ‘λ μ€... (μκ°μ΄ 걸릴 μ μμ΅λλ€)")
model = AutoModelForVision2Seq.from_pretrained(
MODEL_NAME,
token=HF_TOKEN,
torch_dtype=torch.bfloat16, # 곡μ μμ μ λμΌνκ² bfloat16 μ¬μ©
trust_remote_code=True
)
print("β
λͺ¨λΈ λ€μ΄λ‘λ μ±κ³΅!")
# 3. λ‘컬 κ²½λ‘μ λͺ¨λΈκ³Ό νλ‘μΈμ λͺ¨λ μ μ₯
print(f"\n[+] '{SAVE_DIRECTORY}' κ²½λ‘μ λͺ¨λ νμΌ μ μ₯ μ€...")
if not os.path.exists(SAVE_DIRECTORY):
os.makedirs(SAVE_DIRECTORY)
processor.save_pretrained(SAVE_DIRECTORY)
model.save_pretrained(SAVE_DIRECTORY)
print("β
λͺ¨λΈκ³Ό νλ‘μΈμ μ μ₯ μλ£!")
print("\n" + "="*60)
print("π λͺ¨λ μμ
μ΄ μ±κ³΅μ μΌλ‘ μλ£λμμ΅λλ€!")
print("μ΄μ `kanana_1_5_v_3b_instruct.py` νμΌμ μμ νκ³ μλ²λ₯Ό μ€ννμΈμ.")
print("="*60)
except Exception as e:
import traceback
print(f"\nβ μ€λ₯ λ°μ: {e}")
traceback.print_exc()
print("\nνκΉ
νμ΄μ€ ν ν°μ΄ μ¬λ°λ₯Έμ§, `huggingface-cli login`μ μ€ννλμ§ νμΈνμΈμ.") |