Update!
[2024.08.09] Llama3.1 λ²μ μ κΈ°λ°μΌλ‘ν Bllossom-8Bλ‘ λͺ¨λΈμ μ λ°μ΄νΈ νμ΅λλ€. κΈ°μ‘΄ llama3κΈ°λ° Bllossom λ³΄λ€ νκ· 5%μ λ μ±λ₯ ν₯μμ΄ μμμ΅λλ€.(μμ μ€μ μμ΅λλ€.)- [2024.06.18] μ¬μ νμ΅λμ 250GBκΉμ§ λλ¦° Bllossom ELOλͺ¨λΈλ‘ μ λ°μ΄νΈ λμμ΅λλ€. λ€λ§ λ¨μ΄νμ₯μ νμ§ μμμ΅λλ€. κΈ°μ‘΄ λ¨μ΄νμ₯λ long-context λͺ¨λΈμ νμ©νκ³ μΆμΌμ λΆμ κ°μΈμ°λ½μ£ΌμΈμ!
- [2024.06.18] Bllossom ELO λͺ¨λΈμ μ체 κ°λ°ν ELOμ¬μ νμ΅ κΈ°λ°μΌλ‘ μλ‘μ΄ νμ΅λ λͺ¨λΈμ λλ€. LogicKor λ²€μΉλ§ν¬ κ²°κ³Ό νμ‘΄νλ νκ΅μ΄ 10Bμ΄ν λͺ¨λΈμ€ SOTAμ μλ₯Ό λ°μμ΅λλ€.
LogicKor μ±λ₯ν :
Model | Math | Reasoning | Writing | Coding | Understanding | Grammar | Single ALL | Multi ALL | Overall |
---|---|---|---|---|---|---|---|---|---|
gpt-3.5-turbo-0125 | 7.14 | 7.71 | 8.28 | 5.85 | 9.71 | 6.28 | 7.50 | 7.95 | 7.72 |
gemini-1.5-pro-preview-0215 | 8.00 | 7.85 | 8.14 | 7.71 | 8.42 | 7.28 | 7.90 | 6.26 | 7.08 |
llama-3-Korean-Bllossom-8B | 5.43 | 8.29 | 9.0 | 4.43 | 7.57 | 6.86 | 6.93 | 6.93 | 6.93 |
Bllossom | Demo | Homepage | Github |
μ ν¬ Bllossomν μμ νκ΅μ΄-μμ΄ μ΄μ€ μΈμ΄λͺ¨λΈμΈ Bllossomμ 곡κ°νμ΅λλ€!
μμΈκ³ΌκΈ°λ μνΌμ»΄ν¨ν
μΌν°μ μ§μμΌλ‘ 100GBκ°λλ νκ΅μ΄λ‘ λͺ¨λΈμ 체λ₯Ό ννλν νκ΅μ΄ κ°ν μ΄μ€μΈμ΄ λͺ¨λΈμ
λλ€!
νκ΅μ΄ μνλ λͺ¨λΈ μ°Ύκ³ μμ§ μμΌμ
¨λμ?
- νκ΅μ΄ μ΅μ΄! λ¬΄λ € 3λ§κ°κ° λλ νκ΅μ΄ μ΄ννμ₯
- Llama3λλΉ λλ΅ 25% λ κΈ΄ κΈΈμ΄μ νκ΅μ΄ Context μ²λ¦¬κ°λ₯
- νκ΅μ΄-μμ΄ Pararell Corpusλ₯Ό νμ©ν νκ΅μ΄-μμ΄ μ§μμ°κ²° (μ¬μ νμ΅)
- νκ΅μ΄ λ¬Έν, μΈμ΄λ₯Ό κ³ λ €ν΄ μΈμ΄νμκ° μ μν λ°μ΄ν°λ₯Ό νμ©ν λ―ΈμΈμ‘°μ
- κ°ννμ΅
μ΄ λͺ¨λ κ² νκΊΌλ²μ μ μ©λκ³ μμ
μ μ΄μ©μ΄ κ°λ₯ν Bllossomμ μ΄μ©ν΄ μ¬λ¬λΆ λ§μ λͺ¨λΈμ λ§λ€μ΄λ³΄μΈμ₯!
λ¬΄λ € Colab λ¬΄λ£ GPUλ‘ νμ΅μ΄ κ°λ₯ν©λλ€. νΉμ μμν λͺ¨λΈλ‘ CPUμμ¬λ €λ³΄μΈμ [μμνλͺ¨λΈ](https://huggingface.co/MLP-KTLim/llama-3-Korean-Bllossom-8B-4bit)
1. Bllossom-8Bλ μμΈκ³ΌκΈ°λ, ν
λμΈ, μ°μΈλ μΈμ΄μμ μ°κ΅¬μ€μ μΈμ΄νμμ νμ
ν΄ λ§λ μ€μ©μ£ΌμκΈ°λ° μΈμ΄λͺ¨λΈμ
λλ€! μμΌλ‘ μ§μμ μΈ μ
λ°μ΄νΈλ₯Ό ν΅ν΄ κ΄λ¦¬νκ² μ΅λλ€ λ§μ΄ νμ©ν΄μ£ΌμΈμ π
2. μ΄ κ°λ ₯ν Advanced-Bllossom 8B, 70Bλͺ¨λΈ, μκ°-μΈμ΄λͺ¨λΈμ 보μ νκ³ μμ΅λλ€! (κΆκΈνμ λΆμ κ°λ³ μ°λ½μ£ΌμΈμ!!)
3. Bllossomμ NAACL2024, LREC-COLING2024 (ꡬλ) λ°νλ‘ μ±νλμμ΅λλ€.
4. μ’μ μΈμ΄λͺ¨λΈ κ³μ μ
λ°μ΄νΈ νκ² μ΅λλ€!! νκ΅μ΄ κ°νλ₯Όμν΄ κ³΅λ μ°κ΅¬νμ€λΆ(νΉνλ
Όλ¬Έ) μΈμ λ νμν©λλ€!!
νΉν μλμ GPUλΌλ λμ¬ κ°λ₯ννμ μΈμ λ μ°λ½μ£ΌμΈμ! λ§λ€κ³ μΆμκ±° λμλλ €μ.
The Bllossom language model is a Korean-English bilingual language model based on the open-source LLama3. It enhances the connection of knowledge between Korean and English. It has the following features:
- Knowledge Linking: Linking Korean and English knowledge through additional training
- Vocabulary Expansion: Expansion of Korean vocabulary to enhance Korean expressiveness.
- Instruction Tuning: Tuning using custom-made instruction following data specialized for Korean language and Korean culture
- Human Feedback: DPO has been applied
- Vision-Language Alignment: Aligning the vision transformer with this language model
This model developed by MLPLab at Seoultech, Teddysum and Yonsei Univ
Demo Video
NEWS
- [2024.06.18] We have reverted to the non-vocab-expansion model. However, we have significantly increased the amount of pre-training data to 250GB.
- [2024.05.08] Vocab Expansion Model Update
- [2024.04.25] We released Bllossom v2.0, based on llama-3
Example code
Colab Tutorial
Install Dependencies
pip install torch transformers==4.40.0 accelerate
Python code with Pipeline
import transformers
import torch
model_id = "MLP-KTLim/llama-3-Korean-Bllossom-8B"
pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)
pipeline.model.eval()
PROMPT = '''You are a helpful AI assistant. Please answer the user's questions kindly. λΉμ μ μ λ₯ν AI μ΄μμ€ν΄νΈ μ
λλ€. μ¬μ©μμ μ§λ¬Έμ λν΄ μΉμ νκ² λ΅λ³ν΄μ£ΌμΈμ.'''
instruction = "μμΈμ μ λͺ
ν κ΄κ΄ μ½μ€λ₯Ό λ§λ€μ΄μ€λ?"
messages = [
{"role": "system", "content": f"{PROMPT}"},
{"role": "user", "content": f"{instruction}"}
]
prompt = pipeline.tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
terminators = [
pipeline.tokenizer.eos_token_id,
pipeline.tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
outputs = pipeline(
prompt,
max_new_tokens=2048,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.9
)
print(outputs[0]["generated_text"][len(prompt):])
# λ¬Όλ‘ μ΄μ£ ! μμΈμ λ€μν λ¬Ένμ μμ¬, μμ°μ κ²ΈλΉν λμλ‘, λ§μ κ΄κ΄ λͺ
μλ₯Ό μλν©λλ€. μ¬κΈ° μμΈμ μ λͺ
ν κ΄κ΄ μ½μ€λ₯Ό μκ°ν΄ λ릴κ²μ.
### μ½μ€ 1: μμ¬μ λ¬Έν νλ°©
1. **경볡κΆ**
- μμΈμ λνμ μΈ κΆκΆλ‘, μ‘°μ μμ‘°μ μμ¬μ λ¬Ένλ₯Ό 체νν μ μλ κ³³μ
λλ€.
2. **λΆμ΄ νμ₯λ§μ**
- μ ν΅ νμ₯μ΄ μ 보쑴λ λ§μλ‘, μ‘°μ μλμ μνμμ λλ μ μμ΅λλ€.
3. **μΈμ¬λ**
- μ ν΅ λ¬Ένμ νλ μμ μ΄ κ³΅μ‘΄νλ 거리λ‘, λ€μν κ°€λ¬λ¦¬μ μ ν΅ μμμ μ΄ μμ΅λλ€.
4. **μ²κ³μ²**
- μμΈμ μ€μ¬μ μμΉν μ²λ¬ΈμΌλ‘, μ‘°κΉ
κ³Ό μ°μ±
μ μ¦κΈΈ μ μλ κ³³μ
λλ€.
### μ½μ€ 2: μμ°κ³Ό μΌν
1. **λ¨μ° μμΈνμ**
- μμΈμ μ κ²½μ νλμ λ³Ό μ μλ κ³³μΌλ‘, νΉν μ λ
μκ°λμ μΌλͺ°μ κ°μνλ κ²μ΄ μ’μ΅λλ€.
2. **λͺ
λ**
- μΌνκ³Ό μμμ μ΄ μ¦λΉν μ§μμΌλ‘, λ€μν λΈλλμ μ ν΅ μμμ λ§λ³Ό μ μμ΅λλ€.
3. **νκ°κ³΅μ**
- μμΈμ μ£Όμ 곡μ μ€ νλλ‘, μ‘°κΉ
, μμ κ±° νκΈ°, λ°°λ μ¬νμ μ¦κΈΈ μ μμ΅λλ€.
4. **νλ**
- μ μμ΄λ€μ΄ μ¦κ²¨ μ°Ύλ μ§μμΌλ‘, λ€μν μΉ΄ν, λ μ€ν λ, ν΄λ½μ΄ μμ΅λλ€.
### μ½μ€ 3: νλμ μ ν΅μ μ‘°ν
1. **λλλ¬Έ λμμΈ νλΌμ (DDP)**
- νλμ μΈ κ±΄μΆλ¬Όλ‘, λ€μν μ μμ μ΄λ²€νΈκ° μ΄λ¦¬λ κ³³μ
λλ€.
2. **μ΄νμ**
- λ€μν κ΅μ μμκ³Ό μΉ΄νκ° μλ μ§μμΌλ‘, λ€μν λ¬Ένλ₯Ό κ²½νν μ μμ΅λλ€.
3. **κ΄νλ¬Έ**
- μμΈμ μ€μ¬μ μμΉν κ΄μ₯μΌλ‘, λ€μν 곡μ°κ³Ό νμ¬κ° μ΄λ¦½λλ€.
4. **μμΈλλ**
- μμΈ μΈκ³½μ μμΉν ν
λ§νν¬λ‘, κ°μ‘±λ¨μ κ΄κ΄κ°λ€μκ² μΈκΈ° μλ κ³³μ
λλ€.
μ΄ μ½μ€λ€μ μμΈμ λ€μν λ©΄λͺ¨λ₯Ό κ²½νν μ μλλ‘ κ΅¬μ±λμ΄ μμ΅λλ€. κ° μ½μ€λ§λ€ μκ°μ μ‘°μ νκ³ , κ°μΈμ κ΄μ¬μ¬μ λ§κ² μ ννμ¬ λ°©λ¬Ένλ©΄ μ’μ κ² κ°μ΅λλ€. μ¦κ±°μ΄ μ¬ν λμΈμ!
Python code with AutoModel
import os
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = 'MLP-KTLim/llama-3-Korean-Bllossom-8B'
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
model.eval()
PROMPT = '''You are a helpful AI assistant. Please answer the user's questions kindly. λΉμ μ μ λ₯ν AI μ΄μμ€ν΄νΈ μ
λλ€. μ¬μ©μμ μ§λ¬Έμ λν΄ μΉμ νκ² λ΅λ³ν΄μ£ΌμΈμ.'''
instruction = "μμΈμ μ λͺ
ν κ΄κ΄ μ½μ€λ₯Ό λ§λ€μ΄μ€λ?"
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|>")
]
outputs = model.generate(
input_ids,
max_new_tokens=2048,
eos_token_id=terminators,
do_sample=True,
temperature=0.6,
top_p=0.9
)
print(tokenizer.decode(outputs[0][input_ids.shape[-1]:], skip_special_tokens=True))
# λ¬Όλ‘ μ΄μ£ ! μμΈμ λ€μν λ¬Ένμ μμ¬, μμ°μ κ²ΈλΉν λμλ‘, λ§μ κ΄κ΄ λͺ
μλ₯Ό μλν©λλ€. μ¬κΈ° μμΈμ μ λͺ
ν κ΄κ΄ μ½μ€λ₯Ό μκ°ν΄ λ릴κ²μ.
### μ½μ€ 1: μμ¬μ λ¬Έν νλ°©
1. **경볡κΆ**
- μμΈμ λνμ μΈ κΆκΆλ‘, μ‘°μ μμ‘°μ μμ¬μ λ¬Ένλ₯Ό 체νν μ μλ κ³³μ
λλ€.
2. **λΆμ΄ νμ₯λ§μ**
- μ ν΅ νμ₯μ΄ μ 보쑴λ λ§μλ‘, μ‘°μ μλμ μνμμ λλ μ μμ΅λλ€.
3. **μΈμ¬λ**
- μ ν΅ λ¬Ένμ νλ μμ μ΄ κ³΅μ‘΄νλ 거리λ‘, λ€μν κ°€λ¬λ¦¬μ μ ν΅ μμμ μ΄ μμ΅λλ€.
4. **μ²κ³μ²**
- μμΈμ μ€μ¬μ μμΉν μ²λ¬ΈμΌλ‘, μ‘°κΉ
κ³Ό μ°μ±
μ μ¦κΈΈ μ μλ κ³³μ
λλ€.
### μ½μ€ 2: μμ°κ³Ό μΌν
1. **λ¨μ° μμΈνμ**
- μμΈμ μ κ²½μ νλμ λ³Ό μ μλ κ³³μΌλ‘, νΉν μ λ
μκ°λμ μΌλͺ°μ κ°μνλ κ²μ΄ μ’μ΅λλ€.
2. **λͺ
λ**
- μΌνκ³Ό μμμ μ΄ μ¦λΉν μ§μμΌλ‘, λ€μν λΈλλμ μ ν΅ μμμ λ§λ³Ό μ μμ΅λλ€.
3. **νκ°κ³΅μ**
- μμΈμ μ£Όμ 곡μ μ€ νλλ‘, μ‘°κΉ
, μμ κ±° νκΈ°, λ°°λ μ¬νμ μ¦κΈΈ μ μμ΅λλ€.
4. **νλ**
- μ μμ΄λ€μ΄ μ¦κ²¨ μ°Ύλ μ§μμΌλ‘, λ€μν μΉ΄ν, λ μ€ν λ, ν΄λ½μ΄ μμ΅λλ€.
### μ½μ€ 3: νλμ μ ν΅μ μ‘°ν
1. **λλλ¬Έ λμμΈ νλΌμ (DDP)**
- νλμ μΈ κ±΄μΆλ¬Όλ‘, λ€μν μ μμ μ΄λ²€νΈκ° μ΄λ¦¬λ κ³³μ
λλ€.
2. **μ΄νμ**
- λ€μν κ΅μ μμκ³Ό μΉ΄νκ° μλ μ§μμΌλ‘, λ€μν λ¬Ένλ₯Ό κ²½νν μ μμ΅λλ€.
3. **κ΄νλ¬Έ**
- μμΈμ μ€μ¬μ μμΉν κ΄μ₯μΌλ‘, λ€μν 곡μ°κ³Ό νμ¬κ° μ΄λ¦½λλ€.
4. **μμΈλλ**
- μμΈ μΈκ³½μ μμΉν ν
λ§νν¬λ‘, κ°μ‘±λ¨μ κ΄κ΄κ°λ€μκ² μΈκΈ° μλ κ³³μ
λλ€.
μ΄ μ½μ€λ€μ μμΈμ λ€μν λ©΄λͺ¨λ₯Ό κ²½νν μ μλλ‘ κ΅¬μ±λμ΄ μμ΅λλ€. κ° μ½μ€λ§λ€ μκ°μ μ‘°μ νκ³ , κ°μΈμ κ΄μ¬μ¬μ λ§κ² μ ννμ¬ λ°©λ¬Ένλ©΄ μ’μ κ² κ°μ΅λλ€. μ¦κ±°μ΄ μ¬ν λμΈμ!
Citation
Language Model
@misc{bllossom,
author = {ChangSu Choi, Yongbin Jeong, Seoyoon Park, InHo Won, HyeonSeok Lim, SangMin Kim, Yejee Kang, Chanhyuk Yoon, Jaewan Park, Yiseul Lee, HyeJin Lee, Younggyun Hahm, Hansaem Kim, KyungTae Lim},
title = {Optimizing Language Augmentation for Multilingual Large Language Models: A Case Study on Korean},
year = {2024},
journal = {LREC-COLING 2024},
paperLink = {\url{https://arxiv.org/pdf/2403.10882}},
},
}
Vision-Language Model
@misc{bllossom-V,
author = {Dongjae Shin, Hyunseok Lim, Inho Won, Changsu Choi, Minjun Kim, Seungwoo Song, Hangyeol Yoo, Sangmin Kim, Kyungtae Lim},
title = {X-LLaVA: Optimizing Bilingual Large Vision-Language Alignment},
year = {2024},
publisher = {GitHub},
journal = {NAACL 2024 findings},
paperLink = {\url{https://arxiv.org/pdf/2403.11399}},
},
}
Contact
- μκ²½ν(KyungTae Lim), Professor at Seoultech.
[email protected]
- ν¨μκ· (Younggyun Hahm), CEO of Teddysum.
[email protected]
- κΉνμ(Hansaem Kim), Professor at Yonsei.
[email protected]
Contributor
- μ΅μ°½μ(Chansu Choi), [email protected]
- κΉμλ―Ό(Sangmin Kim), [email protected]
- μμΈνΈ(Inho Won), [email protected]
- κΉλ―Όμ€(Minjun Kim), [email protected]
- μ‘μΉμ°(Seungwoo Song), [email protected]
- μ λμ¬(Dongjae Shin), [email protected]
- μνμ(Hyeonseok Lim), [email protected]
- μ‘μ ν(Jeonghun Yuk), [email protected]
- μ νκ²°(Hangyeol Yoo), [email protected]
- μ‘μν(Seohyun Song), [email protected]
- Downloads last month
- 29
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social
visibility and check back later, or deploy to Inference Endpoints (dedicated)
instead.
Model tree for Kyle55/Base
Base model
meta-llama/Meta-Llama-3-8B