模型概述
模型特點
模型能力
使用案例
🚀 Llama-2-Ko 🦙🇰🇷
Llama-2-Ko 是 Llama 2 的高級版本,在進一步預訓練中增加了詞彙量,並納入了韓語語料庫。和其前身一樣,Llama-2-Ko 屬於生成式文本模型,參數範圍從 70 億到 700 億。本倉庫主要關注 70 億參數的預訓練版本,它適配了 Hugging Face Transformers 格式。如需訪問其他模型,請參考下面的索引。
🚀 快速開始
本文檔提供了 Llama-2-Ko 模型的詳細信息,包括模型更新日誌、模型細節、基準測試結果、使用注意事項、引用信息等。
✨ 主要特性
- 詞彙擴展:在原有的 Llama-2 基礎上,增加了韓語詞彙,提升了韓語處理能力。
- 多參數版本:提供 70 億、130 億和 700 億等不同參數規模的模型。
- 適配 Hugging Face:70 億參數的預訓練版本適配了 Hugging Face Transformers 格式。
📚 詳細文檔
更新日誌
- 2023.12.27
- 新模型發佈!僅使用開放獲取的韓語文本語料庫進行訓練:https://huggingface.co/beomi/open-llama-2-ko-7b
- 2023.10.19
- 修復
transforemrs>=4.34.0
之後的分詞器錯誤(解碼時不應用空格)
- 修復
模型細節
- 模型開發者:Junbum Lee (Beomi)
- 變體:Llama-2-Ko 有 70 億、130 億和 700 億等不同參數規模,以及預訓練和微調等不同版本。
- 輸入:模型僅接受文本輸入。
- 輸出:模型僅生成文本輸出。
- 模型架構:Llama-2-Ko 是一個自迴歸語言模型,基於 Llama-2 使用了優化的 Transformer 架構。
屬性 | 詳情 |
---|---|
模型開發者 | Junbum Lee (Beomi) |
變體 | 7B、13B 和 70B 參數規模,預訓練和微調版本 |
輸入 | 僅文本 |
輸出 | 僅文本 |
模型架構 | 基於 Llama-2 的優化 Transformer 架構的自迴歸語言模型 |
訓練數據 | 參數 | 內容長度 | GQA | 令牌數 | 學習率 |
---|---|---|---|---|---|
新的韓語在線數據組合 | 7B | 4k | ❌ | >40B* | 1e⁻⁵ |
*計劃訓練至 200B 令牌 |
詞彙擴展
模型名稱 | 詞彙量 | 描述 |
---|---|---|
原始 Llama-2 | 32000 | Sentencepiece BPE |
擴展後的 Llama-2-Ko | 46336 | Sentencepiece BPE,增加了韓語詞彙和合並規則 |
分詞示例
-
韓語句子 "안녕하세요, 오늘은 날씨가 좋네요." | 模型 | 分詞結果 | | --- | --- | | Llama-2 |
['▁', '안', '<0xEB>', '<0x85>', '<0x95>', '하', '세', '요', ',', '▁', '오', '<0xEB>', '<0x8A>', '<0x98>', '은', '▁', '<0xEB>', '<0x82>', '<0xA0>', '씨', '가', '▁', '<0xEC>', '<0xA2>', '<0x8B>', '<0xEB>', '<0x84>', '<0xA4>', '요']
| | Llama-2-Ko |['▁안녕', '하세요', ',', '▁오늘은', '▁날', '씨가', '▁좋네요']
| -
英文句子 "Llama 2: Open Foundation and Fine-Tuned Chat Models" | 模型 | 分詞結果 | | --- | --- | | Llama-2 |
['▁L', 'l', 'ama', '▁', '2', ':', '▁Open', '▁Foundation', '▁and', '▁Fine', '-', 'T', 'un', 'ed', '▁Ch', 'at', '▁Mod', 'els']
| | Llama-2-Ko |['▁L', 'l', 'ama', '▁', '2', ':', '▁Open', '▁Foundation', '▁and', '▁Fine', '-', 'T', 'un', 'ed', '▁Ch', 'at', '▁Mod', 'els']
|
模型基準測試
LM Eval Harness - 韓語 (polyglot 分支)
使用了 EleutherAI 的 lm-evaluation-harness:https://github.com/EleutherAI/lm-evaluation-harness/tree/polyglot
NSMC (準確率)
測試數據為 50000 條完整測試集,結果待公佈。
COPA (F1 分數)
模型 | 0 次提示 | 5 次提示 | 10 次提示 | 50 次提示 |
---|---|---|---|---|
https://huggingface.co/skt/ko-gpt-trinity-1.2B-v0.5 | 0.6696 | 0.6477 | 0.6419 | 0.6514 |
https://huggingface.co/kakaobrain/kogpt | 0.7345 | 0.7287 | 0.7277 | 0.7479 |
https://huggingface.co/facebook/xglm-7.5B | 0.6723 | 0.6731 | 0.6769 | 0.7119 |
https://huggingface.co/EleutherAI/polyglot-ko-1.3b | 0.7196 | 0.7193 | 0.7204 | 0.7206 |
https://huggingface.co/EleutherAI/polyglot-ko-3.8b | 0.7595 | 0.7608 | 0.7638 | 0.7788 |
https://huggingface.co/EleutherAI/polyglot-ko-5.8b | 0.7745 | 0.7676 | 0.7775 | 0.7887 |
https://huggingface.co/EleutherAI/polyglot-ko-12.8b | 0.7937 | 0.8108 | 0.8037 | 0.8369 |
Llama-2 原始 7B* | 0.562033 | 0.575982 | 0.576216 | 0.595532 |
Llama-2-Ko-7b 20B (10k) | 0.738780 | 0.762639 | 0.780761 | 0.797863 |
Llama-2-Ko-7b 40B (20k) | 0.743630 | 0.792716 | 0.803746 | 0.825944 |
*Llama-2 原始 7B 使用了 https://huggingface.co/meta-llama/Llama-2-7b-hf(未更新分詞器) |
HellaSwag (F1 分數)
模型 | 0 次提示 | 5 次提示 | 10 次提示 | 50 次提示 |
---|---|---|---|---|
https://huggingface.co/skt/ko-gpt-trinity-1.2B-v0.5 | 0.5243 | 0.5272 | 0.5166 | 0.5352 |
https://huggingface.co/kakaobrain/kogpt | 0.5590 | 0.5833 | 0.5828 | 0.5907 |
https://huggingface.co/facebook/xglm-7.5B | 0.5665 | 0.5689 | 0.5565 | 0.5622 |
https://huggingface.co/EleutherAI/polyglot-ko-1.3b | 0.5247 | 0.5260 | 0.5278 | 0.5427 |
https://huggingface.co/EleutherAI/polyglot-ko-3.8b | 0.5707 | 0.5830 | 0.5670 | 0.5787 |
https://huggingface.co/EleutherAI/polyglot-ko-5.8b | 0.5976 | 0.5998 | 0.5979 | 0.6208 |
https://huggingface.co/EleutherAI/polyglot-ko-12.8b | 0.5954 | 0.6306 | 0.6098 | 0.6118 |
Llama-2 原始 7B* | 0.415390 | 0.431382 | 0.421342 | 0.442003 |
Llama-2-Ko-7b 20B (10k) | 0.451757 | 0.466751 | 0.472607 | 0.482776 |
Llama-2-Ko-7b 40B (20k) | 0.456246 | 0.465665 | 0.469810 | 0.477374 |
*Llama-2 原始 7B 使用了 https://huggingface.co/meta-llama/Llama-2-7b-hf(未更新分詞器) |
BoolQ (F1 分數)
模型 | 0 次提示 | 5 次提示 | 10 次提示 | 50 次提示 |
---|---|---|---|---|
https://huggingface.co/skt/ko-gpt-trinity-1.2B-v0.5 | 0.3356 | 0.4014 | 0.3640 | 0.3560 |
https://huggingface.co/kakaobrain/kogpt | 0.4514 | 0.5981 | 0.5499 | 0.5202 |
https://huggingface.co/facebook/xglm-7.5B | 0.4464 | 0.3324 | 0.3324 | 0.3324 |
https://huggingface.co/EleutherAI/polyglot-ko-1.3b | 0.3552 | 0.4751 | 0.4109 | 0.4038 |
https://huggingface.co/EleutherAI/polyglot-ko-3.8b | 0.4320 | 0.5263 | 0.4930 | 0.4038 |
https://huggingface.co/EleutherAI/polyglot-ko-5.8b | 0.4356 | 0.5698 | 0.5187 | 0.5236 |
https://huggingface.co/EleutherAI/polyglot-ko-12.8b | 0.4818 | 0.6041 | 0.6289 | 0.6448 |
Llama-2 原始 7B* | 0.352050 | 0.563238 | 0.474788 | 0.419222 |
Llama-2-Ko-7b 20B (10k) | 0.360656 | 0.679743 | 0.680109 | 0.662152 |
Llama-2-Ko-7b 40B (20k) | 0.578640 | 0.697747 | 0.708358 | 0.714423 |
*Llama-2 原始 7B 使用了 https://huggingface.co/meta-llama/Llama-2-7b-hf(未更新分詞器) |
SentiNeg (F1 分數)
模型 | 0 次提示 | 5 次提示 | 10 次提示 | 50 次提示 |
---|---|---|---|---|
https://huggingface.co/skt/ko-gpt-trinity-1.2B-v0.5 | 0.6065 | 0.6878 | 0.7280 | 0.8413 |
https://huggingface.co/kakaobrain/kogpt | 0.3747 | 0.8942 | 0.9294 | 0.9698 |
https://huggingface.co/facebook/xglm-7.5B | 0.3578 | 0.4471 | 0.3964 | 0.5271 |
https://huggingface.co/EleutherAI/polyglot-ko-1.3b | 0.6790 | 0.6257 | 0.5514 | 0.7851 |
https://huggingface.co/EleutherAI/polyglot-ko-3.8b | 0.4858 | 0.7950 | 0.7320 | 0.7851 |
https://huggingface.co/EleutherAI/polyglot-ko-5.8b | 0.3394 | 0.8841 | 0.8808 | 0.9521 |
https://huggingface.co/EleutherAI/polyglot-ko-12.8b | 0.9117 | 0.9015 | 0.9345 | 0.9723 |
Llama-2 原始 7B* | 0.347502 | 0.529124 | 0.480641 | 0.788457 |
Llama-2-Ko-7b 20B (10k) | 0.485546 | 0.829503 | 0.871141 | 0.851253 |
Llama-2-Ko-7b 40B (20k) | 0.459447 | 0.761079 | 0.727611 | 0.936988 |
*Llama-2 原始 7B 使用了 https://huggingface.co/meta-llama/Llama-2-7b-hf(未更新分詞器) |
oobabooga/text-generation-webui 使用注意事項
需要在 modules/models.py
文件的 load_tokenizer
函數(第 109 行左右)中移除 ValueError
異常捕獲。
diff --git a/modules/models.py b/modules/models.py
index 232d5fa..de5b7a0 100644
--- a/modules/models.py
+++ b/modules/models.py
@@ -106,7 +106,7 @@ def load_tokenizer(model_name, model):
trust_remote_code=shared.args.trust_remote_code,
use_fast=False
)
- except ValueError:
+ except:
tokenizer = AutoTokenizer.from_pretrained(
path_to_model,
trust_remote_code=shared.args.trust_remote_code,
由於 Llama-2-Ko 使用了 HF tokenizers 提供的 FastTokenizer,而不是 sentencepiece 包,因此在初始化分詞器時需要使用 use_fast=True
選項。
蘋果硅芯片不支持 BF16 計算,請使用 CPU 代替(NVIDIA GPU 支持 BF16)。
引用信息
@misc {l._junbum_2023,
author = { {L. Junbum} },
title = { llama-2-ko-7b (Revision 4a9993e) },
year = 2023,
url = { https://huggingface.co/beomi/llama-2-ko-7b },
doi = { 10.57967/hf/1098 },
publisher = { Hugging Face }
}
致謝
本模型的訓練得到了 TPU Research Cloud 項目的支持。
Open LLM 排行榜評估結果
詳細結果請參考 此處
指標 | 值 |
---|---|
平均值 | 39.43 |
ARC (25 次提示) | 48.46 |
HellaSwag (10 次提示) | 75.28 |
MMLU (5 次提示) | 39.56 |
TruthfulQA (0 次提示) | 34.49 |
Winogrande (5 次提示) | 72.14 |
GSM8K (5 次提示) | 1.97 |
DROP (3 次提示) | 4.1 |



