File size: 2,544 Bytes
31f6a40 532c9cb 31f6a40 190e730 532c9cb 31f6a40 532c9cb ea9e01e 532c9cb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
---
license: apache-2.0
datasets:
- Dongwookss/q_a_korean_futsal
language:
- ko
tags:
- unsloth
- trl
- transformer
---
### Model Name : ํํ์ด(futfut)
#### Model Concept
- ํ์ด ๋๋ฉ์ธ ์น์ ํ ๋์ฐ๋ฏธ ์ฑ๋ด์ ๊ตฌ์ถํ๊ธฐ ์ํด LLM ํ์ธํ๋๊ณผ RAG๋ฅผ ์ด์ฉํ์์ต๋๋ค.
- **Base Model** : [zephyr-7b-beta](https://huggingface.co/HuggingFaceH4/zephyr-7b-beta)
- ํํ์ด์ ๋งํฌ๋ 'ํด์'์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ๋ง๋์ '์ผ๋ง๋ ์ง ๋ฌผ์ด๋ณด์ธ์! ํํ~!'๋ก ์ข
๋ฃํฉ๋๋ค.
<p align="center">
<img src="https://cdn-uploads.huggingface.co/production/uploads/66305fd7fdd79b4fe6d6a5e5/7UDKdaPfBJnazuIi1cUVw.png" width="400" height="400">
</p>
### Serving by Fast API
- Git repo : [Dongwooks](https://github.com/ddsntc1/FA_Chatbot_for_API)
#### Summary:
- **Unsloth** ํจํค์ง๋ฅผ ์ฌ์ฉํ์ฌ **LoRA** ์งํํ์์ต๋๋ค.
- **SFT Trainer**๋ฅผ ํตํด ํ๋ จ์ ์งํ
- ํ์ฉ ๋ฐ์ดํฐ
- [q_a_korean_futsal](https://huggingface.co/datasets/Dongwookss/q_a_korean_futsal)
- ๋งํฌ ํ์ต์ ์ํด 'ํด์'์ฒด๋ก ๋ณํํ๊ณ ์ธ์ฟ๋ง์ ๋ฃ์ด ๋ชจ๋ธ ์ปจ์
์ ์ ์งํ์์ต๋๋ค.
- **Environment** : Colab ํ๊ฒฝ์์ ์งํํ์์ผ๋ฉฐ L4 GPU๋ฅผ ์ฌ์ฉํ์์ต๋๋ค.
**Model Load**
``` python
#!pip install transformers==4.40.0 accelerate
import os
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = 'Dongwookss/small_fut_final'
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
model.eval()
```
**Query**
```python
from transformers import TextStreamer
PROMPT = '''Below is an instruction that describes a task. Write a response that appropriately completes the request.
์ ์ํ๋ context์์๋ง ๋๋ตํ๊ณ context์ ์๋ ๋ด์ฉ์ ๋ชจ๋ฅด๊ฒ ๋ค๊ณ ๋๋ตํด'''
messages = [
{"role": "system", "content": f"{PROMPT}"},
{"role": "user", "content": f"{instruction}"}
]
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt"
).to(model.device)
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
text_streamer = TextStreamer(tokenizer)
_ = model.generate(
input_ids,
max_new_tokens=4096,
eos_token_id=terminators,
do_sample=True,
streamer = text_streamer,
temperature=0.6,
top_p=0.9,
repetition_penalty = 1.1
)
``` |