Eruku Korean (ํ•œ๊ธ€ ์†๊ธ€์”จ ์ƒ์„ฑ)

Eruku (blowing-up-groundhogs/eruku, arXiv:2510.23240) ๋ฅผ ํ•œ๊ธ€(Korean) ๋กœ ํŒŒ์ธํŠœ๋‹ํ•œ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ์Šคํƒ€์ผ ์ฐธ์กฐ ์†๊ธ€์”จ ์ด๋ฏธ์ง€ + ์ƒ์„ฑํ•  ํ…์ŠคํŠธ๋ฅผ ๋ฐ›์•„, ํ•ด๋‹น ์Šคํƒ€์ผ๋กœ ํ…์ŠคํŠธ ์ด๋ฏธ์ง€๋ฅผ ์ž๊ธฐํšŒ๊ท€ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์˜์–ด pretrained ๋Š” ํ•œ๊ธ€์„ ์ „ํ˜€ ์ƒ์„ฑํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค(์™„์ „ ๋ถ•๊ดด). ์ด ๋ชจ๋ธ์€ ์˜์–ด ๋Šฅ๋ ฅ์„ ๋ณด์กดํ•œ ์ฑ„ ํ•œ๊ธ€์„ ์ƒˆ๋กœ ํ•™์Šตํ–ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋ฒ•

1) AutoModel (๊ถŒ์žฅ, ์›๋ณธ๊ณผ ๋™์ผํ•œ ํŽธ์˜ API)

from transformers import AutoModel
from PIL import Image
import torch

device = "cuda" if torch.cuda.is_available() else "cpu"
model = AutoModel.from_pretrained("HERIUN/eruku_korean", trust_remote_code=True).to(device).eval()

style_image = Image.open("style_sample.png")   # ์†๊ธ€์”จ ์Šคํƒ€์ผ ์ฐธ์กฐ ์ด๋ฏธ์ง€
result = model.generate_handwriting(
    style_image=style_image,
    gen_text="ํ•œ๊ตญ์–ด ์†๊ธ€์”จ ์ƒ์„ฑ",
    style_text="",       # ์„ ํƒ: style ์ด๋ฏธ์ง€์˜ ์ „์‚ฌ
    cfg_scale=1.5,       # ํ•œ๊ธ€์€ 1.5 ๊ถŒ์žฅ (์›๋ณธ ๊ธฐ๋ณธ 1.25)
)
result.save("generated.png")

๋กœ๋“œ ์‹œ t5_to_ocr.weight ๊ฐ€ UNEXPECTED ๋กœ ๋œจ๋Š” ๊ฑด ์ •์ƒ์ž…๋‹ˆ๋‹ค(ํ•™์Šต์—๋งŒ ์“ฐ์ธ ๋ณด์กฐ OCR ํ—ค๋“œ, ์ถ”๋ก  ๋ฏธ์‚ฌ์šฉ โ†’ ๋ฌด์‹œ). ๊ทธ ์™ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋ชจ๋‘ ์ •์ƒ ๋กœ๋“œ๋ฉ๋‹ˆ๋‹ค.

2) ํ•™์Šต repo ์ฝ”๋“œ๋กœ ๋กœ๋“œ (๋™์ผ ๊ฒฐ๊ณผ)

from huggingface_hub import hf_hub_download
from infer_show import load_model   # https://github.com/HERIUN/Eruku_korean_finetuning
ckpt = hf_hub_download("HERIUN/eruku_korean", "pytorch_model.bin")
model, _ = load_model(ckpt, "cuda")

upstream ๋Œ€๋น„ ์ฐจ์ด์ 

ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ์— ๋‘ ๊ฐ€์ง€ ์ˆ˜์ •์ด ๋ฐ˜์˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(๊ฐ€์ค‘์น˜์— ๋‚ด์žฌ). ์ถ”๋ก  ์ „์ฒ˜๋ฆฌ๋Š” ์›๋ณธ modeling_eruku.py ์™€ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘ํ•˜๋„๋ก ๋งž์ถฐ์ ธ ์žˆ์–ด ์œ„ AutoModel ๊ฒฝ๋กœ๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ƒ…๋‹ˆ๋‹ค.

  1. style-length ๋‹จ์œ„ ๋ฒ„๊ทธ ์ˆ˜์ •: ํ•™์Šต ์‹œ get_model_inputs ์˜ style/gen ๊ธธ์ด clamp ์—์„œ ํ”ฝ์…€โ†”latent ๋‹จ์œ„๊ฐ€ ์„ž์—ฌ style ์ด ~1/8 ๋กœ ์ž˜๋ฆฌ๋˜ ๋ฌธ์ œ๋ฅผ ํ”ฝ์…€ ํ™˜์‚ฐ(*8)์œผ๋กœ ์ˆ˜์ •.
  2. ์ด์ค‘ ์ •๊ทœํ™” ์ œ๊ฑฐ: ํ•™์Šต ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋ฏธ [-1,1] ์ธ๋ฐ Normalize(0.5,0.5) ๋ฅผ ํ•œ ๋ฒˆ ๋” ์ ์šฉํ•ด VAE ์ž…๋ ฅ์ด [-3,1] ๋กœ ๋ฐ€๋ฆฌ๋˜ ๋ฌธ์ œ๋ฅผ ์ œ๊ฑฐ(ํ•™์Šต ์‹œ). ์ถ”๋ก ์€ [0,1] ์ž…๋ ฅ์„ ํ•œ ๋ฒˆ ์ •๊ทœํ™”ํ•˜๋ฏ€๋กœ ์ผ๊ด€.

ํ•™์Šต ๋ ˆ์‹œํ”ผ

ํ•ญ๋ชฉ ๊ฐ’
์‹œ์ž‘ ์˜์–ด pretrained (blowing-up-groundhogs/eruku), Phase 1 ์ƒ๋žต
virtual batch 256 (batch 2 ร— grad-accum 128)
lr 5e-5 (pretrained ์ฒœ์ฒœํžˆ ๋ฎ์–ด ์˜์–ด ๋ณด์กด)
๋ฐ์ดํ„ฐ ์˜จ๋ผ์ธ ํ•ฉ์„ฑ(ํ•œ๊ธ€ ์†๊ธ€์”จ/๋””์Šคํ”Œ๋ ˆ์ด ํฐํŠธ + ๋ผํ‹ด ํฐํŠธ 15%), style 18 / gen 132 ์–ด์ ˆ
max-img-len 8192 (๊ธด ๋ฌธ์žฅ truncation ๋ฐฉ์ง€)
VAE ๋™๊ฒฐ (frozen)

ํ‰๊ฐ€ (held-out ๋ฏธํ•™์Šต ํฐํŠธ, n=40, ๊ธด ๋ฌธ์žฅ ํฌํ•จ)

โ†“ ๋‚ฎ์„์ˆ˜๋ก ์ข‹์Œ(FIDยทCER) / โ†‘ ๋†’์„์ˆ˜๋ก(SSIM). ๋ฏธํ•™์Šต ํฐํŠธ = ํ•™์Šต์— ์“ฐ์ง€ ์•Š์€ held-out ํฐํŠธ.

ํ•œ๊ธ€ FIDโ†“ ํ•œ๊ธ€ CERโ†“ ํ•œ๊ธ€ SSIMโ†‘ ์˜์–ด FIDโ†“ ์˜์–ด CERโ†“
pretrained (์˜์–ด์›์กฐ) 176.8 3.539 (๋ถ•๊ดด) โ€” 54.6 0.274
์ด ๋ชจ๋ธ (step 11k) 110.0 0.150 0.332 51.4 0.250
step 5k (์ฐธ๊ณ ) 87.7 0.214 0.353 50.9 0.256
  • ํ•œ๊ธ€: pretrained ๋Š” ์™„์ „ ๋ถ•๊ดด(CER 3.5) โ†’ ํŒŒ์ธํŠœ๋‹ ํ›„ ์œ ์ฐฝ(CER 0.15). ๋‚ด์šฉ ์ •ํ™•๋„ ์ตœ๊ณ .
  • ์˜์–ด: ํŒŒ์ธํŠœ๋‹ ํ›„์—๋„ ๋ณด์กด(FIDยทCER ๊ฑฐ์˜ ๋™์ผ).
  • step 5k ๋Š” ์Šคํƒ€์ผ/์ด๋ฏธ์ง€ ์ถฉ์‹ค๋„(FID) ๊ฐ€ ๋” ์ข‹๊ณ , step 11k(์ด ๋ชจ๋ธ) ๋Š” ํ…์ŠคํŠธ ๋‚ด์šฉ ์ •ํ™•๋„(CER) ๊ฐ€ ๋” ์ข‹์€ trade-off ์ž…๋‹ˆ๋‹ค. ๊ฐ€๋…์„ฑ/์ •ํ™•๋„ ์šฐ์„ ์ด๋ฉด ์ด ๋ชจ๋ธ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

์•Œ๋ ค์ง„ ํ•œ๊ณ„: VAE ํ•œ๊ธ€ ์ˆ˜์šฉ์„ฑ

ํ•œ๊ธ€ fidelity ๋Š” step ~11k ๋ถ€๊ทผ์—์„œ plateau ํ•ฉ๋‹ˆ๋‹ค. ์›์ธ์€ ํ•™์Šต ๋ถ€์กฑ์ด ์•„๋‹ˆ๋ผ ๋™๊ฒฐ VAE ์˜ ํ•œ๊ธ€ ์žฌ๊ตฌ์„ฑ ํ•œ๊ณ„์ž…๋‹ˆ๋‹ค. ๋ชจ๋ธ์€ VAE latent ๋งŒ ์กฐ๊ฑดยทํƒ€๊นƒ์œผ๋กœ ์“ฐ๋ฏ€๋กœ, VAE ๊ฐ€ ํ•œ๊ธ€์„ latent ์— ๋‹ด์ง€ ๋ชปํ•˜๋Š” ๋””ํ…Œ์ผ์€ ํ•™์Šต์œผ๋กœ ๋„˜์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ™์€ ํฐํŠธ VAE roundtrip ์žฌ๊ตฌ์„ฑ ์˜ค์ฐจ: ํ•œ๊ธ€ MSE 0.0165 / SSIM 0.906 vs ์˜์–ด MSE 0.0014 / SSIM 0.984 (ํ•œ๊ธ€์ด ~12๋ฐฐ, ๋ฐ€์ง‘ ์Œ์ ˆ์ผ์ˆ˜๋ก ์‹ฌํ•จ). ์ž์„ธํ•œ ๊ทผ๊ฑฐ๋Š” training repo ์ฐธ๊ณ .

๋ผ์ด์„ ์Šค

Apache-2.0 (base model ์Šน๊ณ„). ํฐํŠธ/๋ฐ์ดํ„ฐ๋Š” ๊ฐ ๋ผ์ด์„ ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

์ธ์šฉ

Base model:

@article{eruku2025,
  title={Eruku: Autoregressive Styled Text Image Generation},
  journal={arXiv preprint arXiv:2510.23240},
  year={2025}
}
Downloads last month
68
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for HERIUN/eruku_korean

Finetuned
(1)
this model

Space using HERIUN/eruku_korean 1

Paper for HERIUN/eruku_korean