solar-kor-resume

Update @ 2024.05.27: First release of Ocelot-Ko-self-instruction-10.8B-v1.0

This model card corresponds to the 10.8B Instruct version of the Solar-Ko model.

The train wad done on A100-80GB

Resources and Technical Documentation:

Citation

@misc {cpm-ai/Ocelot-Ko-self-instruction-10.8B-v1.0,
    author       = { {frcp, nebchi} },
    title        = { solar-kor-resume},
    year         = 2024,
    url          = { https://huggingface.co/cpm-ai/Ocelot-Ko-self-instruction-10.8B-v1.0 },
    publisher    = { Hugging Face }
}

Model Developers: frcp, nebchi

Model Information

Resume Proofreading and evaluation of inputs and outputs.

Description

It has been trained with a large amount of Korean tokens compared to other LLMs, enabling it to generate high-quality Korean text.

Model Architecture Solar is an auto-regressive language model that is scaled using the DUS method.

*You can find dataset list here: https://huggingface.co/datasets/cpm-ai/gpt-self-introduction-all

Inputs and outputs

  • Input: Text string, such as a question, a prompt, or a document to be Proofreaded.
  • Output: Generated Korea text in response to the input, such as an answer to a question, or a evaluation of a resume.

Running the model on a single / multi GPU

# pip install accelerate, flash_attn, sentencepiece
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("cpm-ai/Ocelot-Ko-self-instruction-10.8B-v1.0")
model = AutoModelForCausalLM.from_pretrained("cpm-ai/Ocelot-Ko-self-instruction-10.8B-v1.0", device_map="auto")

pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, max_new_tokens=4096, streamer=streamer)

text = ๋„ˆ๋Š” ์ž๊ธฐ์†Œ๊ฐœ์„œ ์ฒจ์‚ญ ์ „๋ฌธ๊ฐ€์•ผ.
์ฃผ์–ด์ง„ ์ž๊ธฐ์†Œ๊ฐœ์„œ๋ฅผ ์ฒจ์‚ญํ•ด์„œ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผํ•ด.
์ถœ๋ ฅํ˜•์‹์€ ๋‹ค์Œ์„ ์ง€์ผœ์•ผํ•ด.

[์ฒจ์‚ญ]

๋‹ค์Œ์ด ์ž๊ธฐ์†Œ๊ฐœ์„œ์•ผ :
[์ €๋Š” ์–ด๋ฆฐ ์‹œ์ ˆ๋ถ€ํ„ฐ ์™„๋ฒฝ์ฃผ์˜์ ์ธ ์„ฑ๊ฒฉ์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ํ•ญ์ƒ ์ž์‹ ์˜ ๋Šฅ๋ ฅ์— ๋Œ€ํ•œ ๋ถˆ์•ˆ๊ฐ์„ ๋А๋ผ๋ฉฐ ๊ณผ๋„ํ•œ ์ŠคํŠธ๋ ˆ์Šค๋ฅผ ๋ฐ›์•„์™”์Šต๋‹ˆ๋‹ค. ํ•™์ฐฝ ์‹œ์ ˆ์—๋Š” ๊ณผ์ œ๋‚˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๋งˆ๋ฌด๋ฆฌํ•˜์ง€ ๋ชปํ•˜๋ฉด ์ž์กด๊ฐ์ด ํฌ๊ฒŒ ํ”๋“ค๋ ธ์Šต๋‹ˆ๋‹ค. ์ค‘ํ•™๊ต ์‹œ์ ˆ์—๋Š” ํ•œ ๊ฐ€์ง€ ๋ฌธ์ œ์— ๋„ˆ๋ฌด ์˜ค๋žœ ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜์—ฌ ๋‹ค๋ฅธ ํ•™์Šต ๊ธฐํšŒ๋ฅผ ๋†“์น˜๊ธฐ๋„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝํ—˜๋“ค์€ ์ €์—๊ฒŒ ์™„๋ฒฝํ•จ์„ ์ถ”๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์ข…์ข… ํ˜„์‹ค์— ๋ถ€์ ํ•ฉํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ณ ๋“ฑํ•™๊ต์™€ ๋Œ€ํ•™๊ต์— ์ง„ํ•™ํ•˜๋ฉด์„œ๋„ ์ด๋Ÿฌํ•œ ์™„๋ฒฝ์ฃผ์˜์ ์ธ ์„ฑ๊ฒฉ์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์‹คํŒจ๋ฅผ ๋ฐ›์•„๋“ค์ด๋Š” ๊ฒƒ์ด ์–ด๋ ต๊ณ , ์ž์‹ ์˜ ํ•œ๊ณ„๋ฅผ ์ธ์ •ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ํ†ตํ•ด ์™„๋ฒฝํ•จ์— ๋Œ€ํ•œ ๊ฐ•๋ฐ•์ด ์ €์˜ ์„ฑ์žฅ๊ณผ์ •์„ ์ œ์•ฝํ•˜๋Š” ์š”์ธ์ด ๋˜์—ˆ์Œ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค.]"""

messages = [
    {
        "role": "user",
        "content": "{}".format(text)
    }
]

prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

outputs = pipe(
    prompt,
    temperature=0.2,
    add_special_tokens=True
)
print(outputs[0]["generated_text"][len(prompt):])

results

[์ฒจ์‚ญ]

์–ด๋ฆฐ ์‹œ์ ˆ๋ถ€ํ„ฐ ์ €๋Š” ์™„๋ฒฝํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถ”๊ตฌํ•˜๋ฉฐ ์Šค์Šค๋กœ๋ฅผ ์••๋ฐ•ํ•ด์˜จ ์„ฑ๊ฒฉ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ•™์—…๊ณผ ๊ด€๋ จ๋œ ์ŠคํŠธ๋ ˆ์Šค๋กœ ์ด์–ด์ ธ, ๊ณผ์ œ๋ฅผ ์™„์ˆ˜ํ•˜๋”๋ผ๋„ ๋งŒ์กฑ๋ณด๋‹ค๋Š” ๋ถˆ๋งŒ์กฑ์˜ ๊ฐ์ •์ด ๋” ์ปธ๋˜ ์‹œ๊ธฐ์˜€์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ค‘ํ•™๊ต ๋•Œ ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ง€๋‚˜์น˜๊ฒŒ ์˜ค๋žซ๋™์•ˆ ๋งค๋‹ฌ๋ ค ๊ฒฐ๊ตญ ์ค‘์š”ํ•œ ์‹œ๊ธฐ๋ฅผ ๋†“์นœ ๊ฒฝํ—˜์€ ์ œ ์„ฑ์žฅ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์ณค์Šต๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์—์„œ ์™„๋ฒฝ์ฃผ์˜๋ฅผ ์ถ”๊ตฌํ•˜๋Š” ๊ฒƒ์ด ํ˜„์‹ค์ ์ด์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ซ๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ณ ๋“ฑํ•™๊ต์™€ ๋Œ€ํ•™์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์„ฑํ–ฅ์„ ๊ฐœ์„ ํ•˜๊ณ ์ž ๋‹ค์–‘ํ•œ ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์˜€์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ชฉํ‘œ๋ฅผ ์„ธ๋ถ„ํ™”ํ•˜๊ณ  ๋‹จ๊ณ„๋ณ„๋กœ ์ ‘๊ทผํ•˜๋ฉด์„œ ์„ฑ์ทจ๊ฐ๊ณผ ์ž์‹ ๊ฐ์„ ํ‚ค์šฐ๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ ์—ญํ• ์„ ๋ถ„๋‹ดํ•˜๊ณ  ํ˜‘๋ ฅํ•จ์œผ๋กœ์จ ๊ฐœ์ธ์˜ ํ•œ๊ณ„๋ณด๋‹ค ์ „์ฒด ์„ฑ๊ณผ๋ฅผ ์šฐ์„ ์‹œํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ๋น„๋ก ์•„์ง ์™„๋ฒฝํ•จ์ด๋ผ๋Š” ๊ตด๋ ˆ๋กœ๋ถ€ํ„ฐ ์™„์ „ํžˆ ์ž์œ ๋กœ์›Œ์ง€์ง€๋Š” ๋ชปํ–ˆ์ง€๋งŒ, ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ณ  ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜๋‹ค๋Š” ์ ์—์„œ ์ž๋ถ€์‹ฌ์„ ๋А๋‚๋‹ˆ๋‹ค.

Evaluation Results - LogicKor

Evaluation Results-LogicKor
Model ๊ธ€์“ฐ๊ธฐ ์ดํ•ด ๋ฌธ๋ฒ•
HyperClovaX 8.50 9.50 8.50
solar-1-mini-chat 8.50 7.00 5.21
allganize/Llama-3-Alpha-Ko-8B-Instruct 8.50 8.35 4.92
Synatra-kiqu-7B 4.42 5.71 4.50
Ocelot-ko-10.8B 8.57 7.00 6.57

Evaluation Results - Kobest

๋ชจ๋ธ ๋ช…์นญ Average
n=0 n=5
HellaSwag
n=0  n=5
COPA
n=0  n=5
BooIQ
n=0  n=5
KoGPT 58.2    63.7 55.9    58.3 73.5    72.9 45.1    59.8
Polyglot-ko-13B 62.4    68.2 59.5    63.1 79.4    81.1 48.2    60.4
LLaMA 2-13B 45.2    60.5 41.3    44.0 59.3    63.8 34.9    73.8
Baichuan 2-13B 52.7    53.9 39.2    39.6 60.6    60.6 58.4    61.5
QWEN-14B 47.8    66.4 45.3    46.8 64.9    68.9 33.4    83.5
Orion-14B-Chat 68.8    73.2 47.0    49.6 77.7    79.4 81.6    90.7
Ocelot-ko-10.8B 72.5    75.9 50.0    51.4 75.8    82.5 91.7    93.8

Software

Training was done using QLoRA

Downloads last month
4
Safetensors
Model size
11B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for cpm-ai/Ocelot-Ko-self-instruction-10.8B-v1.0

Quantizations
3 models