Update README.md
Browse files
README.md
CHANGED
@@ -25,15 +25,8 @@ tags:
|
|
25 |
|
26 |
### Inference Examples
|
27 |
```
|
28 |
-
from dataclasses import dataclass, field
|
29 |
-
from typing import Optional
|
30 |
-
|
31 |
import torch
|
32 |
-
|
33 |
-
from transformers import AutoTokenizer, HfArgumentParser, AutoModelForCausalLM, BitsAndBytesConfig, TrainingArguments
|
34 |
-
from datasets import load_dataset
|
35 |
-
from peft import LoraConfig
|
36 |
-
from trl import SFTTrainer
|
37 |
|
38 |
model_id = "brildev7/gemma-7b-it-finetune-summarization-ko-lora"
|
39 |
quantization_config = BitsAndBytesConfig(
|
@@ -44,9 +37,9 @@ quantization_config = BitsAndBytesConfig(
|
|
44 |
|
45 |
model = AutoModelForCausalLM.from_pretrained(
|
46 |
model_id,
|
47 |
-
device_map=
|
48 |
quantization_config=quantization_config,
|
49 |
-
torch_dtype=torch.
|
50 |
)
|
51 |
|
52 |
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
@@ -55,7 +48,7 @@ tokenizer.padding_side = 'right'
|
|
55 |
|
56 |
passage = "APΒ·AFP ν΅μ λ± μΈμ μ μμμ μ΅κ³ λΆμλ‘ κΌ½νλ μΈλμ 무μΌμ μλ°λ 릴λΌμ΄μΈμ€ μΈλμ€νΈλ¦¬ νμ₯μ΄ λ§λ΄μλ€μ μ΄νΈν κ²°νΌμμ μ€λΉνλ©΄μ μ μΈκ³ μ΅λ§μ₯μμ ν 리μ°λ μ€ν λ± μ λͺ
μΈμ¬λ€μ λκ±° μ΄λνλ€κ³ 2μΌ(νμ§μκ°) 보λνλ€. μ΄μ λ°λ₯΄λ©΄ κ·Έμ 28μΈ μλ€μΈ μλνΈ μλ°λλ μ€λ 7μ μΈλ μλΆ κ΅¬μλΌνΈμ£Ό μ λκ°λ₯΄μμ μ€λ μ°μΈμΈ λΌλμΉ΄ λ¨Έμ²νΈμ κ²°νΌν μμ μ΄λ€. λ¨Έμ²νΈλ μΈλ μ μ½νμ¬ μμ½λ₯΄ ν¬μ€μΌμ΄μ μ΅κ³ κ²½μμ(CEO) λ°μ΄λ λ¨Έμ²νΈμ λΈμ΄λ€. μ¬νκ° μ§νλ λ μ¬λμ κ²°νΌμμ λ§ν¬ μ 컀λ²κ·Έ λ©ν CEO, λΉ κ²μ΄μΈ λ§μ΄ν¬λ‘μννΈ(MS) μ°½μ
μ, μλ€λ₯΄ νΌμ°¨μ΄ κ΅¬κΈ CEO, λλλ νΈλΌν μ λ―Έκ΅ λν΅λ Ήμ λΈ μ΄λ°©μΉ΄ νΈλΌν λ± 1200λͺ
μ μ λͺ
μΈμ¬λ€μ΄ μ°Έμν μμ μ΄λ€. λ νμ€ν 리νλμ λ§μ μ¬ λ°μ΄λΉλ λΈλ μΈ λ±μ 곡μ°λ μ΄λ¦΄ μμ μ΄λ€. μΈλμ ν¬λ°μ΄λ 리νλκ° μ΄ νμ¬ μΆμ°λ£λ‘ 900λ§ λ¬λ¬(μ½ 120μ΅ μ)λ₯Ό μ μλ°μλ€κ³ 보λνλ€. μ§λ 6μΌ μμΈκΉν¬λΉμ¦λμ€ν곡μΌν°λ₯Ό ν΅ν΄ μλλ©λ―Έλ¦¬νΈμ°ν©(UAE)μΌλ‘ μΆκ΅νκ³ μλ μ΄μ¬μ© μΌμ±μ μ νμ₯. λ΄μμ€ μ΄λ² κ²°νΌμμ μ°Έμνλ νκ°λ€μ μ κΈμ ν
λ§λ‘ ν μμμ μ
κ³ μλνΈ μλ°λκ° μ΄μνλ λλ¬Ό ꡬ쑰 μΌν°λ₯Ό λ°©λ¬Ένλ€. βμ²μ λ³βμ΄λΌλ λ»μ βλ°νλΌβλ‘ μλ €μ§ μ΄κ³³μ λ©΄μ λ§ μ¬μλμ 4λ°° κ·λͺ¨μΈ 12γ’μ λ¬νλ©° μ½λΌλ¦¬ λ± κ°μ’
λ©Έμ’
μκΈ°μ μλ λλ¬Όλ€μ΄ μμνλ€. λ λ§€μΌ μ΄νΈν νν°κ° μ΄λ¦¬λ©° κ·Έλλ§λ€ μλ‘μ΄ λλ μ€ μ½λμ λ§μΆ° μ·μ μ
μ΄μΌ νλ€. μ΄λ² κ²°νΌμμ μν΄ μλ°λλ νλκ΅ μ¬μ λ¨μ§λ₯Ό μλ‘ κ±΄μ€ μ€μ΄λ©°, κ²°νΌμ νν°μλ§ 2500μ¬ κ°μ μμμ΄ μ 곡λ μμ μ΄λ€. μλ°λλ 2018λ
κ³Ό 2019λ
μλ κ°κ° λΈκ³Ό μλ€μ κ²°νΌμν€λ©΄μ μ΄νΈν νν°λ₯Ό μ΄μ΄ μ μΈκ³μ μ΄λͺ©μ μ§μ€μμΌ°λ€. 2018λ
12μμ μ΄λ¦° λΈ μ΄μ€ μλ°λμ κ²°νΌμ μΆνμ°μλ νλ¬λ¦¬ ν΄λ¦°ν΄ μ λ―Έκ΅ κ΅λ¬΄μ₯κ΄κ³Ό μ΄μ¬μ© μΌμ±μ μ νμ₯, μΈλ‘ μ¬λ² 루νΌνΈ λ¨Έλ
μ μ°¨λ¨ μ μμ€ λ¨Έλ
λ±μ΄ μ°Έμνκ³ , μΆν 곡μ°μ νμ€ν λΉμμΈκ° 맑μλ€. μλ°λ νμ₯μ μ΄ κ²°νΌμμλ§ 1μ΅ λ¬λ¬(μ½ 1336μ΅ μ)λ₯Ό μ¬μ©ν κ²μΌλ‘ μ ν΄μ‘λ€. 2019λ
μ₯λ¨ μμΉ΄μ μλ°λμ κ²°νΌμμλ ν λ λΈλ μ΄ μ μκ΅ μ΄λ¦¬λ₯Ό λΉλ‘―ν΄ μλ€λ₯΄ νΌμ°¨μ΄μ λ°κΈ°λ¬Έ μ μ μμ¬λ¬΄μ΄μ₯ λ±μ΄ μ°Έμνλ€. μ΄μ¬μ© νμ₯μ μ΄ λ μΈλ μ ν΅ μμμ μ
κ³ μ°Έμν μ¬μ§μ΄ 곡κ°λΌ νμ κ° λκΈ°λ νλ€. μλ°λ νμ₯μ μμ μ κ°μ€, μμ νν λΆμΌμμ μ±κ³΅ν΄ λ§μ λμ λͺ¨μκ³ 2016λ
릴λΌμ΄μΈμ€ μ§μ€λ₯Ό μμΈμ μΈλ ν΅μ μμ₯μλ μ§μΆ, μΈλ μμ₯μ μ¬μ€μ νμ νλ©΄μ μμμ μ΅κ³ κ°λΆ λμ΄μ μ¬λΌμ°λ€. κ·Έκ° μμ ν μΈλ λλ°μ΄μ 27μΈ΅μ§λ¦¬ μ ν βμν리μβλ μΈκ³μμ κ°μ₯ λΉμΌ κ°μΈ μ£ΌνμΌλ‘ κΌ½νλ€."
|
57 |
text = f"λ¬Έμ₯: {passage}\nμμ½ :"
|
58 |
-
device = "cuda
|
59 |
inputs = tokenizer(text, return_tensors="pt").to(device)
|
60 |
|
61 |
outputs = model.generate(**inputs,
|
|
|
25 |
|
26 |
### Inference Examples
|
27 |
```
|
|
|
|
|
|
|
28 |
import torch
|
29 |
+
from transformers import AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig
|
|
|
|
|
|
|
|
|
30 |
|
31 |
model_id = "brildev7/gemma-7b-it-finetune-summarization-ko-lora"
|
32 |
quantization_config = BitsAndBytesConfig(
|
|
|
37 |
|
38 |
model = AutoModelForCausalLM.from_pretrained(
|
39 |
model_id,
|
40 |
+
device_map="auto",
|
41 |
quantization_config=quantization_config,
|
42 |
+
torch_dtype=torch.float16,
|
43 |
)
|
44 |
|
45 |
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
|
|
48 |
|
49 |
passage = "APΒ·AFP ν΅μ λ± μΈμ μ μμμ μ΅κ³ λΆμλ‘ κΌ½νλ μΈλμ 무μΌμ μλ°λ 릴λΌμ΄μΈμ€ μΈλμ€νΈλ¦¬ νμ₯μ΄ λ§λ΄μλ€μ μ΄νΈν κ²°νΌμμ μ€λΉνλ©΄μ μ μΈκ³ μ΅λ§μ₯μμ ν 리μ°λ μ€ν λ± μ λͺ
μΈμ¬λ€μ λκ±° μ΄λνλ€κ³ 2μΌ(νμ§μκ°) 보λνλ€. μ΄μ λ°λ₯΄λ©΄ κ·Έμ 28μΈ μλ€μΈ μλνΈ μλ°λλ μ€λ 7μ μΈλ μλΆ κ΅¬μλΌνΈμ£Ό μ λκ°λ₯΄μμ μ€λ μ°μΈμΈ λΌλμΉ΄ λ¨Έμ²νΈμ κ²°νΌν μμ μ΄λ€. λ¨Έμ²νΈλ μΈλ μ μ½νμ¬ μμ½λ₯΄ ν¬μ€μΌμ΄μ μ΅κ³ κ²½μμ(CEO) λ°μ΄λ λ¨Έμ²νΈμ λΈμ΄λ€. μ¬νκ° μ§νλ λ μ¬λμ κ²°νΌμμ λ§ν¬ μ 컀λ²κ·Έ λ©ν CEO, λΉ κ²μ΄μΈ λ§μ΄ν¬λ‘μννΈ(MS) μ°½μ
μ, μλ€λ₯΄ νΌμ°¨μ΄ κ΅¬κΈ CEO, λλλ νΈλΌν μ λ―Έκ΅ λν΅λ Ήμ λΈ μ΄λ°©μΉ΄ νΈλΌν λ± 1200λͺ
μ μ λͺ
μΈμ¬λ€μ΄ μ°Έμν μμ μ΄λ€. λ νμ€ν 리νλμ λ§μ μ¬ λ°μ΄λΉλ λΈλ μΈ λ±μ 곡μ°λ μ΄λ¦΄ μμ μ΄λ€. μΈλμ ν¬λ°μ΄λ 리νλκ° μ΄ νμ¬ μΆμ°λ£λ‘ 900λ§ λ¬λ¬(μ½ 120μ΅ μ)λ₯Ό μ μλ°μλ€κ³ 보λνλ€. μ§λ 6μΌ μμΈκΉν¬λΉμ¦λμ€ν곡μΌν°λ₯Ό ν΅ν΄ μλλ©λ―Έλ¦¬νΈμ°ν©(UAE)μΌλ‘ μΆκ΅νκ³ μλ μ΄μ¬μ© μΌμ±μ μ νμ₯. λ΄μμ€ μ΄λ² κ²°νΌμμ μ°Έμνλ νκ°λ€μ μ κΈμ ν
λ§λ‘ ν μμμ μ
κ³ μλνΈ μλ°λκ° μ΄μνλ λλ¬Ό ꡬ쑰 μΌν°λ₯Ό λ°©λ¬Ένλ€. βμ²μ λ³βμ΄λΌλ λ»μ βλ°νλΌβλ‘ μλ €μ§ μ΄κ³³μ λ©΄μ λ§ μ¬μλμ 4λ°° κ·λͺ¨μΈ 12γ’μ λ¬νλ©° μ½λΌλ¦¬ λ± κ°μ’
λ©Έμ’
μκΈ°μ μλ λλ¬Όλ€μ΄ μμνλ€. λ λ§€μΌ μ΄νΈν νν°κ° μ΄λ¦¬λ©° κ·Έλλ§λ€ μλ‘μ΄ λλ μ€ μ½λμ λ§μΆ° μ·μ μ
μ΄μΌ νλ€. μ΄λ² κ²°νΌμμ μν΄ μλ°λλ νλκ΅ μ¬μ λ¨μ§λ₯Ό μλ‘ κ±΄μ€ μ€μ΄λ©°, κ²°νΌμ νν°μλ§ 2500μ¬ κ°μ μμμ΄ μ 곡λ μμ μ΄λ€. μλ°λλ 2018λ
κ³Ό 2019λ
μλ κ°κ° λΈκ³Ό μλ€μ κ²°νΌμν€λ©΄μ μ΄νΈν νν°λ₯Ό μ΄μ΄ μ μΈκ³μ μ΄λͺ©μ μ§μ€μμΌ°λ€. 2018λ
12μμ μ΄λ¦° λΈ μ΄μ€ μλ°λμ κ²°νΌμ μΆνμ°μλ νλ¬λ¦¬ ν΄λ¦°ν΄ μ λ―Έκ΅ κ΅λ¬΄μ₯κ΄κ³Ό μ΄μ¬μ© μΌμ±μ μ νμ₯, μΈλ‘ μ¬λ² 루νΌνΈ λ¨Έλ
μ μ°¨λ¨ μ μμ€ λ¨Έλ
λ±μ΄ μ°Έμνκ³ , μΆν 곡μ°μ νμ€ν λΉμμΈκ° 맑μλ€. μλ°λ νμ₯μ μ΄ κ²°νΌμμλ§ 1μ΅ λ¬λ¬(μ½ 1336μ΅ μ)λ₯Ό μ¬μ©ν κ²μΌλ‘ μ ν΄μ‘λ€. 2019λ
μ₯λ¨ μμΉ΄μ μλ°λμ κ²°νΌμμλ ν λ λΈλ μ΄ μ μκ΅ μ΄λ¦¬λ₯Ό λΉλ‘―ν΄ μλ€λ₯΄ νΌμ°¨μ΄μ λ°κΈ°λ¬Έ μ μ μμ¬λ¬΄μ΄μ₯ λ±μ΄ μ°Έμνλ€. μ΄μ¬μ© νμ₯μ μ΄ λ μΈλ μ ν΅ μμμ μ
κ³ μ°Έμν μ¬μ§μ΄ 곡κ°λΌ νμ κ° λκΈ°λ νλ€. μλ°λ νμ₯μ μμ μ κ°μ€, μμ νν λΆμΌμμ μ±κ³΅ν΄ λ§μ λμ λͺ¨μκ³ 2016λ
릴λΌμ΄μΈμ€ μ§μ€λ₯Ό μμΈμ μΈλ ν΅μ μμ₯μλ μ§μΆ, μΈλ μμ₯μ μ¬μ€μ νμ νλ©΄μ μμμ μ΅κ³ κ°λΆ λμ΄μ μ¬λΌμ°λ€. κ·Έκ° μμ ν μΈλ λλ°μ΄μ 27μΈ΅μ§λ¦¬ μ ν βμν리μβλ μΈκ³μμ κ°μ₯ λΉμΌ κ°μΈ μ£ΌνμΌλ‘ κΌ½νλ€."
|
50 |
text = f"λ¬Έμ₯: {passage}\nμμ½ :"
|
51 |
+
device = "cuda"
|
52 |
inputs = tokenizer(text, return_tensors="pt").to(device)
|
53 |
|
54 |
outputs = model.generate(**inputs,
|