|
--- |
|
license: apache-2.0 |
|
library_name: transformers |
|
tags: |
|
- Korean |
|
- LLM |
|
- Chatbot |
|
- DPO |
|
- Intel/neural-chat-7b-v3-3 |
|
--- |
|
|
|
# QI-neural-chat-7B-ko-DPO |
|
|
|
This is a fine tuned model based on the [neural-chat-7b-v3-3](https://huggingface.co/Intel/neural-chat-7b-v3-3) with Korean DPO dataset([Oraca-DPO-Pairs-KO](https://huggingface.co/datasets/Ja-ck/Orca-DPO-Pairs-KO)). |
|
|
|
It processes Korean language relatively well, so it is useful when creating various applications. |
|
|
|
|
|
|
|
### Basic Usage |
|
|
|
``` |
|
from transformers import AutoModelForCausalLM, AutoTokenizer, GPTQConfig |
|
import transformers |
|
import torch |
|
|
|
|
|
model_id = "QuantumIntelligence/QI-neural-chat-7B-ko-DPO" |
|
|
|
tokenizer = AutoTokenizer.from_pretrained(model_id) |
|
# model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto") |
|
model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", load_in_8bit=True) # quantization |
|
|
|
pipeline = transformers.pipeline( |
|
"text-generation", |
|
model=model, |
|
torch_dtype=torch.float16, |
|
device_map="auto", |
|
tokenizer=tokenizer, |
|
) |
|
|
|
prompt = """Classify the text into neutral, negative or positive. |
|
Text: This movie is definitely one of my favorite movies of its kind. The interaction between respectable and morally strong characters is an ode to chivalry and the honor code amongst thieves and policemen. |
|
Sentiment: |
|
""" |
|
|
|
outputs = pipeline(prompt, max_new_tokens=6) |
|
print(outputs[0]["generated_text"]) |
|
``` |
|
|
|
### Using Korean |
|
|
|
- Sentiment |
|
``` |
|
prompt = """ |
|
๋ค์ ํ
์คํธ๋ฅผ ์ค๋ฆฝ, ๋ถ์ , ๊ธ์ ์ผ๋ก ๋ถ๋ฅํด์ค. |
|
ํ
์คํธ: ํ๋์ ๋ณด๋ ๋น๊ฐ ์ฌ๋ฏ ํ๋ค. ์ฐ์ธํ ๊ธฐ๋ถ์ด ๋ค์ด์ ์ ์ ํ์ ํ ๊น ๊ณ ๋ฏผ์ค์ธ๋ฐ ๊ฐ์ด ๋ง์ค ์ฌ๋์ด ์๋ค. |
|
๋ถ๋ฅ: |
|
""" |
|
|
|
outputs = pipeline(prompt, max_new_tokens=6) |
|
print(outputs[0]["generated_text"]) |
|
``` |
|
|
|
- Summarization |
|
``` |
|
|
|
prompt = """ |
|
๊ตญ๋ด ์ฐ๊ตฌ์ง์ด ๋ฏธ๊ตญ, ์๊ตญ ๊ณต๋ ์ฐ๊ตฌํ๊ณผ ์ฒญ๊ฐ ๊ธฐ๋ฅ์ ๊ด์ฌํ๋ ๋จ๋ฐฑ์ง ๊ตฌ์กฐ๋ฅผ ๊ท๋ช
ํ๋ค. ๋์ฒญ ์น๋ฃ๋ฒ์ ๊ฐ๋ฐํ๋ ๋ฐ ๋์์ด ๋ ๊ฒ์ผ๋ก ๋ณด์ธ๋ค. |
|
ํฌ์คํ
์ ์กฐ์ค์ ์๋ช
๊ณผํ๊ณผ ๊ต์ ์ฐ๊ตฌํ์ด ๊น๊ดํ ๊ฒฝํฌ๋ ์์ฉํํ๊ณผ ๊ต์ ์ฐ๊ตฌํ, ๋ธ์
ฐ๋ณผ๋ก๋ ์นดํธ๋ฆฌ์น ๋ฏธ๊ตญ ์๋ ์บ๋ฆฌํฌ๋์๋ ๊ต์ ์ฐ๊ตฌํ, ์บ๋กค ๋ก๋น์จ ์๊ตญ ์ฅ์คํผ๋๋ ๊ต์์ ํจ๊ป ์ฒญ๊ฐ ๊ด๋ จ ํน์ ์์ฉ์ฒด ๋จ๋ฐฑ์ง ๊ตฌ์กฐ์ ๋ฉ์ปค๋์ฆ์ ๋ฐํ๋ ๋ฐ ์ฑ๊ณตํ๋ค๊ณ 11์ผ ๋ฐํ๋ค. |
|
๊ท ์์ชฝ์๋ ์๋ฆฌ๋ฅผ ๊ฐ์งํ๋ ๋ฌํฝ์ด๊ด๊ณผ ํํ๊ฐ๊ฐ์ ๋ด๋นํ๋ ์ ์ ๊ธฐ๊ด์ด ์๋ค. ์ด ๊ธฐ๊ด๋ค์ ์ธํฌ๋ค์ ์์ฉ์ฒด ๋จ๋ฐฑ์ง์ธ โGPR156โ์ ๊ฐ๊ณ ์๋ค. GPR156์ด ํ์ฑํ๋๋ฉด ์ธํฌ ๋ด G๋จ๋ฐฑ์ง๊ณผ ๊ฒฐํฉํด ์ ํธ๋ฅผ ์ ๋ฌํ๋ค. G๋จ๋ฐฑ์ง์ โ๊ตฌ์๋ ๋ดํด๋ ์คํ์ด๋-๊ฒฐํฉ ๋จ๋ฐฑ์งโ๋ก ์ ํธ๋ฅผ ์ ๋ฌํ๋ ์ค๊ฐ์๋ค. |
|
GPR156์ ๋ค๋ฅธ ์์ฉ์ฒด์ ๋ฌ๋ฆฌ ํน๋ณํ ์๊ทน์ด ์์ด๋ ํญ์ ๋์ ํ์ฑ์ ์ ์งํ๋ฉฐ ์ฒญ๊ฐ๊ณผ ํํ ๊ธฐ๋ฅ ์ ์ง์ ํฐ ์ญํ ์ ํ๋ค. ์ ์ฒ์ ์ผ๋ก ์ฒญ๊ฐ ์ฅ์ ๊ฐ ์๋ ํ์๋ค์ ์น๋ฃํ๊ธฐ ์ํด์๋ ์ด ๋จ๋ฐฑ์ง์ ๊ตฌ์กฐ์ ์์ฉ ๋ฉ์ปค๋์ฆ์ ์์์ผ ํ๋ค. |
|
์ฐ๊ตฌํ์ ์ด์ ์จ์ ์ํ๋ฏธ๊ฒฝ(Cryo-EM) ๋ถ์๋ฒ์ ์ฌ์ฉํด GPR156๊ณผ GPR156-G๋จ๋ฐฑ์ง ๊ฒฐํฉ ๋ณตํฉ์ฒด๋ฅผ ๊ณ ํด์๋๋ก ๊ด์ฐฐํ๋ค. ์ด๋ฅผ ํตํด ์์ฉ์ฒด๋ฅผ ํ์ฑํํ๋ ์์ฉ์ ์์ด๋ GPR156์ด ๋์ ํ์ฑ์ ์ ์งํ ์ ์๋ ์์ธ์ ์ฐพ์๋ค. |
|
GPR156์ ์ธํฌ๋ง์ ํ๋ถํ ์ธ์ง์ง๊ณผ ๊ฒฐํฉํด ํ์ฑํ๋๋ค. ์ธํฌ์ง์ ์๋ G๋จ๋ฐฑ์ง๊ณผ์ ์ํธ์์ฉ์ ํตํด ์์ฒด์ ์ผ๋ก ๊ตฌ์กฐ๋ฅผ ๋ณํ, ๋์ ํ์ฑ์ ์ ์งํ๋ค๋ ์ฌ์ค๋ ํ์ธ๋๋ค. |
|
๊ธฐ์กด์ ์๋ ค์ง ์์ฉ์ฒด ๋จ๋ฐฑ์ง๋ค๊ณผ ๋ฌ๋ฆฌ GPR156์ ์ธํฌ๋ง์ ํต๊ณผํ๋ 7๋ฒ์งธ ํ๋ฆญ์ค ๋ง๋จ ๋ถ๋ถ์ ๊ตฌ์กฐ๋ฅผ ์ ์ฐํ๊ฒ ๋ฐ๊พธ๋ฉฐ G๋จ๋ฐฑ์ง๊ณผ์ ๊ฒฐํฉ์ ์ ๋ํ๋ค. ์ด๋ฅผ ํตํด ์ ํธ๋ฅผ ํ์ฑํํจ์ผ๋ก์จ ์๋ฆฌ๋ฅผ ๊ฐ์งํ๋ ๋ฐ ๋์์ ์ฃผ์๋ค. |
|
์กฐ ๊ต์๋ โ์ ์ฒ์ ์ผ๋ก ๋์ฒญ๊ณผ ๊ท ํ ๊ฐ๊ฐ ๊ธฐ๋ฅ์ ์ฅ์ ๊ฐ ์๋ ํ์๋ค์ด ๋ง๋คโ๋ฉฐ โ์ด๋ค์ ์ํ ํ๊ธฐ์ ์ธ ์น๋ฃ๋ฒ๊ณผ ์ฝ๋ฌผ ๊ฐ๋ฐ์ ์ด๋ฒ ์ฐ๊ตฌ๊ฐ ํฐ ๋์์ด ๋๊ธธ ๋ฐ๋๋คโ๊ณ ๋งํ๋ค. ์ฐ๊ตฌ ๋
ผ๋ฌธ์ ๊ตญ์ ํ์ ์ง โ๋ค์ด์ฒ ๊ตฌ์กฐ&๋ถ์ ์๋ฌผํโ ์จ๋ผ์ธํ์ ์ต๊ทผ ๊ฒ์ฌ๋๋ค. |
|
|
|
์ ๋ฌธ์ฅ์ ํ๊ธ๋ก 100์๋ด๋ก ์์ฝํด์ค. |
|
์์ฝ: |
|
""" |
|
|
|
outputs = pipeline(prompt, max_new_tokens=256, return_full_text = False, pad_token_id=tokenizer.eos_token_id)&& |
|
print(outputs[0]["generated_text"]) |
|
|
|
|
|
``` |
|
|
|
- Question answering |
|
``` |
|
prompt = """ |
|
์ฐธ๊ฐ์๋ค์ ๋จผ์ fMRI ๊ธฐ๊ธฐ ์์์ ์์ ์ ์ด์ผ๊ธฐ๋ฅผ ์ฝ๋ ๋์ ๋์ ํ๋ ํจํด์ ๊ธฐ๋กํ๋ค. ์ด์ผ๊ธฐ๋ฅผ ๋ค์ ์ฝ์ผ๋ฉด์๋ ์ด์ผ๊ธฐ ์ ๋จ์ด์ ๋ํด ์๊ฐ์๊ฐ ์์ ์ด ๋๋ผ๋ ์๊ธฐ ๊ด๋ จ๋, ๊ธยท๋ถ์ ์ ์๋ฅผ ๋ณด๊ณ ํ๋ค. ์์ง๋ 49๋ช
์ ๋ฐ์ดํฐ๋ ์๊ธฐ ๊ด๋ จ๋์ ๊ธยท๋ถ์ ์ ์ ์ ์์ ๋ฐ๋ผ ๋ค์ฏ ๊ฐ ์์ค์ผ๋ก ๋ถ๋ฅ๋๋ค. |
|
์ง๋ฌธ: ์คํ์ ๋์์ด ๋ ์ฌ๋์ ๋ช ๋ช
์ธ๊ฐ? ํ๊ธ๋ก ๋๋ต. |
|
๋๋ต: |
|
""" |
|
|
|
outputs = pipeline(prompt, max_new_tokens=30, return_full_text = False) |
|
generated_text = outputs[0]["generated_text"] |
|
print(generated_text) |
|
|
|
``` |
|
|
|
- Reasoning |
|
``` |
|
|
|
prompt = """ |
|
๊ฐ ๋ฐฉ์ ๊ณต์ด 5๊ฐ ์๊ณ , ๋ฐฉ์ ์ด ๊ฐ์๋ 4. ์ด ๊ณต์ ๊ฐฏ์๋ ๋ช๊ฐ ์ธ๊ฐ? |
|
""" |
|
|
|
outputs = pipeline(prompt, max_new_tokens=40, return_full_text = False, pad_token_id=tokenizer.eos_token_id) |
|
print(outputs[0]["generated_text"]) |
|
|
|
``` |
|
|
|
- Chatbot template |
|
|
|
``` |
|
messages = [{"role": "user", "content": "์ข์ ์ทจ๋ฏธ๋ฅผ ๊ฐ์ง๋ ค๋ฉด ์ด๋ป๊ฒ ํ๋์?"}] |
|
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True) |
|
|
|
outputs = pipeline(prompt, max_new_tokens=512, do_sample=True, temperature=0.7, top_k=50, top_p=0.95, return_full_text = False) |
|
generated_text = outputs[0]["generated_text"] |
|
|
|
print(generated_text) |
|
|
|
``` |
|
|
|
### Request |
|
|
|
The support of GPU computing resource is required for the development and implementation of state-of-the-art models. |
|
I would appreciate if anyone could help. |
|
|
|
Email: [email protected] |