HyperCLOVA X U-CURATE Random v0.1

Powered by HyperCLOVA X

K-DS ํ•ด์ปคํ†ค ์˜ˆ์„  ๋ฐ K-AI ๋ฆฌ๋”๋ณด๋“œ ์ตœ์ดˆ ์‹ค์ฆ ์ œ์ถœ์„ ์œ„ํ•ด ๋งŒ๋“  ํ•œ๊ตญ์–ด PEFT LoRA adapter์ž…๋‹ˆ๋‹ค. ๊ตญ์‚ฐ sLLM์ธ HyperCLOVA X SEED Text Instruct 1.5B๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ, U-CURATE์˜ ์‚ฌ์ „ ๊ณ ์ • ๋ฐ์ดํ„ฐ ๊ฒ€์ฆ ์ ˆ์ฐจ๋ฅผ ํ†ต๊ณผํ•œ Random ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

์ œ์ถœ ํ˜•ํƒœ

  • ํ˜•ํƒœ: PEFT LoRA adapter (base model ์ „์ฒด ๊ฐ€์ค‘์น˜๋‚˜ merged model ๋ฏธํฌํ•จ)
  • Base model: naver-hyperclovax/HyperCLOVAX-SEED-Text-Instruct-1.5B
  • Base revision: 0728a47d632019a8da5f53b663db1c175dc04115
  • ๋ชจ๋ธ ์œ ํ˜•: Fine-tuning
  • ์–ธ์–ด: ํ•œ๊ตญ์–ด
  • Adapter SHA-256: 2ef68c9b159f7560a38ab153e739dea5ef042dde89c46cd37a359ae977cfc326

Base model์€ gated model์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” NAVER์˜ ์›๋ณธ ๋ชจ๋ธ ํŽ˜์ด์ง€์—์„œ ์ ‘๊ทผ ์กฐ๊ฑด์— ๋™์˜ํ•˜๊ณ  ์ธ์ฆํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ•™์Šต ๋ฐ์ดํ„ฐ

  • AIHUB_71533 ๊ธฐ์ˆ ๊ณผํ•™ ๋ฌธ์„œ ๊ธฐ๊ณ„๋…ํ•ด: 193๊ฑด
  • AIHUB_569 ํ–‰์ •๋ฌธ์„œ ๋Œ€์ƒ ๊ธฐ๊ณ„๋…ํ•ด: 207๊ฑด
  • ์ด 400๊ฑด

์›๋ฌธ ํ•™์Šต ๋ฐ์ดํ„ฐ๋Š” ์ด ์ €์žฅ์†Œ์— ํฌํ•จํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ•™์Šต ์„ค์ •

  • 4-bit NF4, double quantization, BF16 compute
  • LoRA target: q_proj, k_proj, v_proj, o_proj
  • LoRA: r=8, alpha=16, dropout=0.05
  • Batch 1, gradient accumulation 8
  • 50 optimizer steps, seed 42
  • Max sequence length 2,048, truncation off, packing off
  • Learning rate 1e-4, cosine schedule, 3 warmup steps
  • Optimizer: paged AdamW 8-bit
  • Assistant-only loss masking
  • Formatted tokens: 298,831
  • Supervised tokens: 4,303 (1.4399%)

๋‚ด๋ถ€ ๊ฒ€์ฆ

๋™์ผํ•œ ๋น„๊ณต๊ฐœ ๋‚ด๋ถ€ holdout 200๊ฑด(AIHUB_71533 100๊ฑด + AIHUB_569 100๊ฑด)์„ ์‚ฌ์šฉํ•œ ๋‹จ์ผ seed ์˜ˆ๋น„ ์‹ค์ฆ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. K-AI ๊ณต์‹ ์ ์ˆ˜๋‚˜ ํ†ต๊ณ„์  ์šฐ์›”์„ฑ ์ฃผ์žฅ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์กฐ๊ฑด ์ „์ฒด primary AIHUB_71533 AIHUB_569
Base 0.21097 0.22590 0.19604
Random adapter 0.43349 0.35252 0.51446

Random ๊ตฌ์„ฑ์€ ๋‘ source ๋ชจ๋‘ Base ๋Œ€๋น„ ๊ฐœ์„ ๋˜์–ด ์‚ฌ์ „ ์ •์˜๋œ U-CURATE gate๋ฅผ ํ†ต๊ณผํ•œ ์ตœ์ดˆ ์ œ์ถœ ๊ธฐ์ค€์„ ์ž…๋‹ˆ๋‹ค. Balanced์™€ Reasoning-oriented ๊ตฌ์„ฑ์˜ ๋ถ€์ •์  ๊ฒฐ๊ณผ๋„ ๋‚ด๋ถ€ ์‹คํ—˜ ๊ธฐ๋ก์— ๋ณด์กด๋˜์–ด ์žˆ์œผ๋ฉฐ, ์ด adapter ์„ ํƒ ํ›„ ํŒ๋‹จ ๊ธฐ์ค€์„ ๋ฐ”๊พธ์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋ถˆ๋Ÿฌ์˜ค๊ธฐ

import torch
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig

base_id = "naver-hyperclovax/HyperCLOVAX-SEED-Text-Instruct-1.5B"
base_revision = "0728a47d632019a8da5f53b663db1c175dc04115"
adapter_id = "hoySky92/HyperCLOVA-X-U-CURATE-Random-v0.1"

tokenizer = AutoTokenizer.from_pretrained(adapter_id)
base_model = AutoModelForCausalLM.from_pretrained(
    base_id,
    revision=base_revision,
    quantization_config=BitsAndBytesConfig(
        load_in_4bit=True,
        bnb_4bit_quant_type="nf4",
        bnb_4bit_use_double_quant=True,
        bnb_4bit_compute_dtype=torch.bfloat16,
    ),
    device_map="auto",
    torch_dtype=torch.bfloat16,
)
model = PeftModel.from_pretrained(base_model, adapter_id)
model.eval()

messages = [{"role": "user", "content": "๋Œ€ํ•œ๋ฏผ๊ตญ์˜ ์ˆ˜๋„๋Š” ์–ด๋””์ธ๊ฐ€์š”?"}]
inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

with torch.inference_mode():
    outputs = model.generate(
        **inputs,
        do_sample=False,
        max_new_tokens=64,
        tokenizer=tokenizer,
        stop_strings=["<|endofturn|>", "<|stop|>"],
        pad_token_id=tokenizer.eos_token_id,
    )

print(tokenizer.decode(outputs[0, inputs["input_ids"].shape[-1]:], skip_special_tokens=True))

K-AI ๊ถŒ์žฅ ์ตœ์ดˆ ์ถ”๋ก  ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” temperature=0, top_p=1, top_k=20์ž…๋‹ˆ๋‹ค.

ํ•œ๊ณ„

  • 400๊ฑด, ๋‹จ์ผ seed์˜ ์†Œ๊ทœ๋ชจ ์˜ˆ๋น„ ํ•™์Šต์ž…๋‹ˆ๋‹ค.
  • ๋‚ด๋ถ€ ๊ฒ€์ฆ์€ AI Hub ๋‘ ๋ฐ์ดํ„ฐ์…‹์˜ 200๊ฑด holdout์— ํ•œ์ •๋ฉ๋‹ˆ๋‹ค.
  • ์ผ๋ฐ˜ ํ•œ๊ตญ์–ด ์ถ”๋ก  ์ „๋ฐ˜์ด๋‚˜ K-AI ๊ณต์‹ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๋‹ต๋ณ€์ด ๋ถ€์ •ํ™•ํ•˜๊ฑฐ๋‚˜ ํŽธํ–ฅ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ณ ์œ„ํ—˜ ์˜์‚ฌ๊ฒฐ์ •์— ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜์ง€ ๋งˆ์„ธ์š”.

๋ผ์ด์„ ์Šค์™€ ์‚ฌ์šฉ ์ œํ•œ

์ด ์ €์žฅ์†Œ๋Š” LICENSE์˜ HyperCLOVA X SEED Model License Agreement๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. ์žฌ๋ฐฐํฌ ์กฐ๊ฑด, ๊ธˆ์ง€ ์šฉ๋„, ๊ท€์† ๊ณ ์ง€์™€ ๋ช…๋ช… ์š”๊ฑด์„ ํฌํ•จํ•œ ์ „์ฒด ์กฐ๊ฑด์„ ๋ฐ˜๋“œ์‹œ ํ™•์ธํ•˜์„ธ์š”.

ํŠนํžˆ ๋ถˆ๋ฒ• ๊ฐ์‹œ, ํ•„์š”ํ•œ ๋™์˜ ์—†๋Š” ๋ถˆ๋ฒ• ์ƒ์ฒด์ •๋ณด ์ˆ˜์ง‘ยท์ฒ˜๋ฆฌ, ๋ถˆ๋ฒ• ๊ดด๋กญํž˜ยทํ•™๋Œ€ยท์œ„ํ˜‘ยท์ง‘๋‹จ ๋”ฐ๋Œ๋ฆผ, ํƒ€์ธ์„ ์˜๋„์ ์œผ๋กœ ์˜ค๋„ํ•˜๊ฑฐ๋‚˜ ๊ธฐ๋งŒํ•˜๋Š” ์šฉ๋„ ๋ฐ ๊ธฐํƒ€ ๋ฒ•๋ น ์œ„๋ฐ˜ ์šฉ๋„๋Š” ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋ณ€๊ฒฝ ๋‚ด์—ญ์€ MODIFICATIONS.md, ๊ท€์† ๊ณ ์ง€๋Š” NOTICE๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Downloads last month
8
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for hoySky92/HyperCLOVA-X-U-CURATE-Random-v0.1