Views
No views yet
| モデル | val_loss | 備考 |
|---|---|---|
| lora_convert_v4 (LoRA, 1000 steps) | 0.934 | このアダプタ |
| full_ft_v1 (Full FT, 800 steps) | 0.908 | 参考値(不採用) |
1import torch
2import json
3from pathlib import Path
4from peft import LoraConfig, get_peft_model
5import safetensors.torch as st
6from liquid_audio import LFM2AudioModel, LFM2AudioProcessor, ChatState
7from huggingface_hub import snapshot_download
8
9# アダプタのダウンロード
10adapter_dir = snapshot_download("YujiYamaguchi/lfm25-audio-jp-dialect-lora")
11
12# モデルロード
13MODEL_ID = "LiquidAI/LFM2.5-Audio-1.5B-JP"
14processor = LFM2AudioProcessor.from_pretrained(MODEL_ID)
15model = LFM2AudioModel.from_pretrained(MODEL_ID, device="cuda", dtype=torch.bfloat16)
16
17# LoRA 適用
18cfg = json.loads(Path(adapter_dir, "adapter_config.json").read_text())
19lora_cfg = LoraConfig(
20 r=cfg["r"], lora_alpha=cfg["lora_alpha"],
21 target_modules=cfg["target_modules"],
22 lora_dropout=cfg.get("lora_dropout", 0.05),
23)
24model = get_peft_model(model, lora_cfg)
25weights = st.load_file(str(Path(adapter_dir, "adapter_model.safetensors")))
26model.load_state_dict(weights, strict=False)
27model.eval()federerjiang/dialect.osaka +
federerjiang/dialect.kumamoto