Dongguk nDRIMS ActionModel (LoRA Adapter)
μ΄ λͺ¨λΈμ λκ΅λνκ΅ nDRIMS ν¬νΈμ λμμΌλ‘ ν μ‘μ
μμ±μ© LoRA μ΄λν°μ
λλ€.
κΈ°λ³Έ λ² μ΄μ€ λͺ¨λΈμΈ kakaocorp/kanana-nano-2.1b-instructμ
PEFT/LoRA λ°©μμΌλ‘ μΉμ΄μ, μ¬μ©μμ μμ°μ΄ μμ²κ³Ό νμ¬ UI μν(observations)λ₯Ό μ
λ ₯λ°μΌλ©΄
- Plan λͺ¨λ:
{"task_plan": [...]}ννμ λ¨κ³λ³ νλ μμ± - Action λͺ¨λ:
{"action": {...}}ννμ λ¨μΌ ν΄λ¦/μ‘°μ μ‘μ JSON μμ±
μ μννλλ‘ νμΈνλλμμ΅λλ€.
Model Details
Model Description
λͺ©μ (Purpose)
λκ΅λ nDRIMS(νμ¬ νμ ν¬νΈ)μμ νμμ΄ μμ£Ό μννλ μ 무
(μ: λΆκ΅λμ리 κ°μ , μ‘Έμ μ·¨λνμ νμΈ, νμ λΆ μ΄λ, λ±λ‘κΈ κ³ μ§μ μ‘°ν λ±)λ₯Ό
βμμ°μ΄ ν λ§λβλ‘ μμ²νλ©΄, μ΄λ₯Ό μλμΌλ‘- λ¨κ³λ³ UI λ€λΉκ²μ΄μ
νλ(
task_plan)κ³Ό - κ° λ¨κ³μμ μνν΄μΌ ν μ‘μ
(
action)
μΌλ‘ λ³νν΄ μ£Όλ Large Action Model(LAM) 2λ¨κ³μ© μ‘μ ν€λμ λλ€.
- λ¨κ³λ³ UI λ€λΉκ²μ΄μ
νλ(
μ λ ₯ ꡬ쑰(μμ)
- Plan μμ²:
{"user_request": "λΆκ΅λμ리 κ°μ "} - Action μμ²:
{ "user_request": "λΆκ΅λμ리 κ°μ ", "task_plan": "νμ λ©λ΄ 'λΆκ΅λμ리κ°μ 'μ ν΄λ¦νλ€", "step_id": "2", "observations": { "sidebar": [ { "id": "d7", "label": "νμμ μ²(κΈ°ν)", "expanded": true, "sub_items": [ {"id": "ee", "label": "λΆκ΅λμ리κ°μ ", "checked": false} ] } ] } }
- Plan μμ²:
μΆλ ₯ ꡬ쑰(μμ)
- Plan λͺ¨λ:
{ "task_plan": [ { "step_id": 1, "description": "μ’μΈ‘ λ©λ΄μμ 'νμμ μ²(κΈ°ν)'λ₯Ό νΌμΉλ€" }, { "step_id": 2, "description": "νμ λ©λ΄ 'λΆκ΅λμ리κ°μ 'μ ν΄λ¦νλ€" }, { "step_id": 3, "description": "κ°μΈμ 보 λμ νμ μ°½μ λ«λλ€." } ] } - Action λͺ¨λ:
{ "function": "click", "control_label": "λΆκ΅λμ리κ°μ ", "control_type": "tree-item", "value": "", "args": { "role": "treeitem", "aria-label": "λΆκ΅λμ리κ°μ " }, "status": "CONTINUE" }
- Plan λͺ¨λ:
Developed by: Chaerin Lee (@leeChaerin)
Model type: LoRA adapter for UI action generation (Plan / Action head)
Language(s): Korean (ko) μ€μ¬, μ½κ°μ English label λ° aria-label ν μ€νΈ ν¬ν¨
License: Follows the base modelβs license (
kakaocorp/kanana-nano-2.1b-instruct).
μ€μ μλΉμ€ μ μ© μ, λ² μ΄μ€ λͺ¨λΈ λΌμ΄μ μ€λ₯Ό λ°λμ νμΈνμΈμ.Finetuned from:
kakaocorp/kanana-nano-2.1b-instructusing PEFT/LoRA
Model Sources
- Adapter Repository: https://huggingface.co/leeChaerin/ActionModel_v5
- Base Model: https://huggingface.co/kakaocorp/kanana-nano-2.1b-instruct
Uses
Direct Use
μ΄ λͺ¨λΈμ κ·Έ μμ²΄λ‘ λνν LLMμΌλ‘ μ°κΈ° μν λͺ¨λΈμ΄ μλλΌ,
λ€μκ³Ό κ°μ μμ΄μ νΈ/μλν μμ€ν
μ ν λͺ¨λλ‘ μ¬μ©νλ κ²μ μ μ λ‘ μ€κ³λμμ΅λλ€.
- λνμ μΈ μ¬μ© μλ리μ€
- μ¬μ©μκ° μμ°μ΄λ‘ μμ²
- μ:
"μ‘Έμ νλ €λ©΄ νμ μΌλ§λ λ¨μμ΄?"
- μ:
- Plan μμ² β
task_planμμ±"μ’μΈ‘ λ©λ΄μμ 'μ‘Έμ ' νμ μ°λ€.""'μ·¨λνμ νμΈμμ‘°ν' λ©λ΄λ₯Ό ν΄λ¦νμ¬ νμ΄μ§λ‘ μ΄λνλ€."
- κ° stepμ λν΄ Action μμ² β
actionJSON μμ±"μ‘Έμ " tree-item ν΄λ¦"μ·¨λνμ νμΈμμ‘°ν" tree-item ν΄λ¦
- μμ±λ μ‘μ JSONμ κΈ°λ°μΌλ‘ RPA/λΈλΌμ°μ μλν/GUI μλ μ μ΄ λ± μν
- μ¬μ©μκ° μμ°μ΄λ‘ μμ²
μ¦, Large Action Model(LAM)μ Action Headλ‘ μ¬μ©νκΈ° μ’μ΅λλ€.
Downstream Use
- λ€λ₯Έ νκ΅/λ΄λΆ ν¬νΈμ μ μ©νκ³ μΆμ κ²½μ°:
- μ¬μ΄λλ°/λ©λ΄ ꡬ쑰λ₯Ό λΉμ·ν μ€ν€λ§(
sidebar,sub_items,checked,expandedλ±)λ‘ λ§μΆκ³ - ν΄λΉ λλ©μΈμ© νλ/μ‘μ λ°μ΄ν°λ‘ μΆκ° νμΈνλ λλ μ¬νμ΅ νμ
- μ¬μ΄λλ°/λ©λ΄ ꡬ쑰λ₯Ό λΉμ·ν μ€ν€λ§(
- nDRIMSμ μ μ¬ν νΈλ¦¬ κΈ°λ° λ€λΉκ²μ΄μ UIλ₯Ό κ°μ§ μ΄λλ―Ό μ¬μ΄νΈ, μ¬λ΄ ν¬νΈ, μ 무 μμ€ν λ±μ μ¬νμ© κ°λ₯
Out-of-Scope Use
λ€μκ³Ό κ°μ μ©λλ κΆμ₯λμ§ μμ΅λλ€.
- μΌλ°μ μΈ μ€ν λλ©μΈ λν/μ±λ΄ μ©λ
- μμμ μΉμ¬μ΄νΈ(λ€μ΄λ², ꡬκΈ, μν λ±)μ λ°λ‘ μ μ©νλ μλν
- κΈμ΅/μλ£/λ²λ₯ λ± κ³ μν λλ©μΈμ λ¬΄μΈ μμ μλ μ²λ¦¬
- μ¬λμ νμΈ μμ΄ κ³μ /κ°μΈμ 보/κ²°μ κ΄λ ¨ μ€μ μ λ³κ²½νλ νμ
Bias, Risks, and Limitations
Risks & Limitations
- λλ©μΈ νΉν λͺ¨λΈ
- λκ΅λ nDRIMSμ νΉμ λ©λ΄ ꡬ쑰μ λ§μΆμ΄ νμ΅λμκΈ° λλ¬Έμ,
λ€λ₯Έ μ¬μ΄νΈλ λ€λ₯Έ UI ꡬ쑰μμλ μ λμνμ§ μμ μ μμ΅λλ€.
- λκ΅λ nDRIMSμ νΉμ λ©λ΄ ꡬ쑰μ λ§μΆμ΄ νμ΅λμκΈ° λλ¬Έμ,
- μλͺ»λ μ‘μ
function/control_label/argsκ° μΌλΆλΌλ ν릴 κ²½μ°,- μλͺ»λ λ©λ΄λ₯Ό μ΄κ±°λ
- μλͺ»λ λ²νΌμ ν΄λ¦ν κ°λ₯μ±μ΄ μμ΅λλ€.
- λ°μ΄ν° μ€μΌμΌ
- νμ¬λ μκ·λͺ¨, μμμ
μΌλ‘ ꡬμ±λ νμ΅/νκ° λ°μ΄ν°μ
μ κΈ°λ°μΌλ‘ νκ³ μμ΄,
μ£μ§ μΌμ΄μ€λ μμΈ μν©μ λν μΌλ°ν λ₯λ ₯μ μ νμ μΌ μ μμ΅λλ€.
- νμ¬λ μκ·λͺ¨, μμμ
μΌλ‘ ꡬμ±λ νμ΅/νκ° λ°μ΄ν°μ
μ κΈ°λ°μΌλ‘ νκ³ μμ΄,
Recommendations
- νμ μλλ°μ€ / ν μ€νΈ κ³μ μμ λ¨Όμ ν΅ν© λ° κ²μ¦μ μ§ννμΈμ.
- μ€μ μλΉμ€ μ μ© μμλ:
- μ¬λμ νμΈ(HITL, Human-in-the-loop) λ¨κ³λ₯Ό λκ±°λ
- λ―Όκ°ν μμ (μ: ν΄ν/μν΄, κ°μΈμ 보 λ³κ²½ λ±)μ λ³λμ μΆκ° νμΈ UIλ₯Ό κ±°μΉλλ‘ μ€κ³νλ κ²μ μΆμ²ν©λλ€.
- nDRIMS ꡬ쑰 λ³κ²½(λ©λ΄ μ΄λ¦, ID, νΈλ¦¬ ꡬ쑰 λ±)μ΄ μμ κ²½μ°,
- λͺ¨λΈμ μ±λ₯μ΄ κΈκ²©ν λ¨μ΄μ§ μ μμΌλ μ¬νμ΅ λλ ν둬ννΈ/λ°μ΄ν° μ λ°μ΄νΈκ° νμν©λλ€.
How to Get Started with the Model
1. λͺ¨λΈ λ‘λ (PEFT + LoRA)
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
BASE_REPO = "kakaocorp/kanana-nano-2.1b-instruct"
ADAPTER_REPO = "leeChaerin/ActionModel_v4"
# ν ν¬λμ΄μ λ‘λ
tokenizer = AutoTokenizer.from_pretrained(BASE_REPO, padding_side="left")
if tokenizer.pad_token is None:
tokenizer.pad_token = tokenizer.eos_token
# λ² μ΄μ€ λͺ¨λΈ λ‘λ
base = AutoModelForCausalLM.from_pretrained(
BASE_REPO,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
# LoRA μ΄λν° μ μ©
model = PeftModel.from_pretrained(base, ADAPTER_REPO)
model.eval()
- Downloads last month
- -
Model tree for leeChaerin/ActionModel_v4
Base model
kakaocorp/kanana-nano-2.1b-instruct