🚀 Baichuan-7B
Baichuan-7Bは、百川智能によって開発されたオープンソースの大規模事前学習モデルです。Transformer構造に基づき、約1.2兆トークンで訓練された70億パラメータのモデルで、中国語と英語の両方をサポートし、コンテキストウィンドウの長さは4096です。標準的な中国語と英語の権威あるベンチマーク(C-EVAL/MMLU)で、同サイズのモデルの中で最高の性能を達成しています。
Baichuan-7Bを使用する場合は(推論、微調整など)、コードライブラリBaichuan-7Bの使用をおすすめします。
🚀 クイックスタート
モデルの使い方
中国語の例
以下は、Baichuan-7Bを使用して1ショット推論を行うタスクで、作品から作者名を特定する例です。正しい出力は「夜雨寄北->李商隐」です。
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("baichuan-inc/Baichuan-7B", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("baichuan-inc/Baichuan-7B", device_map="auto", trust_remote_code=True)
inputs = tokenizer('登鹳雀楼->王之涣\n夜雨寄北->', return_tensors='pt')
inputs = inputs.to('cuda:0')
pred = model.generate(**inputs, max_new_tokens=64,repetition_penalty=1.1)
print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))
英語の例
以下は、Baichuan-7Bを使用して1ショット推論を行うタスクで、作品から作者名を特定する例です。正しい出力は「One Hundred Years of Solitude->Gabriel Garcia Marquez」です。
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("baichuan-inc/Baichuan-7B", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("baichuan-inc/Baichuan-7B", device_map="auto", trust_remote_code=True)
inputs = tokenizer('Hamlet->Shakespeare\nOne Hundred Years of Solitude->', return_tensors='pt')
inputs = inputs.to('cuda:0')
pred = model.generate(**inputs, max_new_tokens=64,repetition_penalty=1.1)
print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))
✨ 主な機能
- 同サイズのモデルの中で、Baichuan-7Bは現在の最先端(SOTA)レベルに達しています。下記のMMLU指標を参照してください。
- Baichuan-7Bは独自の中英語バイリンガルコーパスを使用して訓練されており、中国語で最適化されており、C-EvalでSOTAレベルの性能を達成しています。
- LLaMAが商用を完全に禁止しているのとは異なり、Baichuan-7Bはより緩やかなオープンソースライセンスを採用しており、商用目的での使用が許可されています。
📚 ドキュメント
モデルの詳細
モデルの説明
- 開発元: 百川智能(Baichuan Intelligent Technology)
- メールアドレス: opensource@baichuan-inc.com
- 言語 (NLP): 中国語/英語
- ライセンス: Baichuan-7B License
モデルのソース
全体のモデルは標準的なTransformer構造に基づいており、LLaMAと同じモデル設計を採用しています。
- 位置埋め込み:rotary-embeddingを採用しており、現段階でほとんどのモデルが採用している位置符号化方式で、優れた外挿能力を持っています。
- フィードフォワード層:SwiGLUを使用しています。フィードフォワードは隠れ層のサイズの(8/3)倍に変更され、つまり11008になります。
- レイヤー正規化:RMSNormに基づくPre-Normalizationを使用しています。
具体的なパラメータは以下の通りです。
ハイパーパラメータ |
値 |
n_parameters |
7000559616 |
n_layers |
32 |
n_heads |
32 |
d_model |
4096 |
語彙サイズ |
64000 |
シーケンス長 |
4096 |
使用方法
下流タスクでの使用
本モデルに対応する訓練コードも同時にオープンソース化しており、下流タスクに対して効率的な微調整が可能です。詳細はBaichuan-7Bを参照してください。
想定外の使用
リスクを十分に評価せず、緩和策を講じないままでの本番環境での使用や、責任がない、または有害と見なされる可能性のある使用事例は避けてください。
バイアス、リスク、および制限事項
Baichuan-7Bは事実上誤った出力を生成する可能性があり、事実上正確な情報を生成するために依存するべきではありません。Baichuan-7Bは様々な公共データセットで訓練されています。事前学習データのクリーニングに多大な努力を払っていますが、このモデルが猥褻、偏見、またはその他の不快な出力を生成する可能性があります。
訓練の詳細
訓練の具体的な設定については、Baichuan-7Bを参照してください。
評価
中国語の評価
C-Eval
CEvalデータセットは、52の学科と4つの難易度レベルをカバーする包括的な中国語基礎モデル評価データセットです。このデータセットのdevセットをfew-shotのソースとして使用し、testセットで5-shotテストを行いました。
モデル 5-shot |
平均 |
平均(難易度高) |
STEM |
社会科学 |
人文科学 |
その他 |
GPT-4 |
68.7 |
54.9 |
67.1 |
77.6 |
64.5 |
67.8 |
ChatGPT |
54.4 |
41.4 |
52.9 |
61.8 |
50.9 |
53.6 |
Claude-v1.3 |
54.2 |
39.0 |
51.9 |
61.7 |
52.1 |
53.7 |
Claude-instant-v1.0 |
45.9 |
35.5 |
43.1 |
53.8 |
44.2 |
45.4 |
moss-moon-003-base (16B) |
27.4 |
24.5 |
27.0 |
29.1 |
27.2 |
26.9 |
Ziya-LLaMA-13B-pretrain |
30.2 |
22.7 |
27.7 |
34.4 |
32.0 |
28.9 |
LLaMA-7B-hf |
27.1 |
25.9 |
27.1 |
26.8 |
27.9 |
26.3 |
ChatGLM-6B |
34.5 |
23.1 |
30.4 |
39.6 |
37.4 |
34.5 |
Falcon-7B |
25.8 |
24.3 |
25.8 |
26.0 |
25.8 |
25.6 |
Open-LLaMA-v2-pretrain (7B) |
24.0 |
22.5 |
23.1 |
25.3 |
25.2 |
23.2 |
TigerBot-7B-base |
25.7 |
27.0 |
27.3 |
24.7 |
23.4 |
26.1 |
Aquila-7B* |
25.5 |
25.2 |
25.6 |
24.6 |
25.2 |
26.6 |
BLOOM-7B |
22.8 |
20.2 |
21.8 |
23.3 |
23.9 |
23.3 |
BLOOMZ-7B |
35.7 |
25.8 |
31.3 |
43.5 |
36.6 |
35.6 |
Baichuan-7B |
42.8 |
31.5 |
38.2 |
52.0 |
46.2 |
39.3 |
Gaokao
Gaokaoは、中国の大学入試問題を使用して大規模言語モデルの能力を評価するデータセットで、モデルの言語能力と論理推論能力を評価するために使用されます。このデータセットの中から単一選択問題のみを残し、すべてのモデルに対して統一的な5-shotテストを行いました。
以下はテストの結果です。
モデル |
平均 |
Open-LLaMA-v2-pretrain |
21.41 |
Ziya-LLaMA-13B-pretrain |
23.17 |
Falcon-7B |
23.98 |
TigerBot-7B-base |
25.94 |
LLaMA-7B |
27.81 |
ChatGLM-6B |
21.41 |
BLOOM-7B |
26.96 |
BLOOMZ-7B |
28.72 |
Aquila-7B* |
24.39 |
Baichuan-7B |
36.24 |
AGIEval
AGIEvalは、モデルの認知および問題解決に関連するタスクにおける一般的な能力を評価することを目的としています。このデータセットの中から4択の単一選択問題のみを残し、ランダムに分割してすべてのモデルに対して統一的な5-shotテストを行いました。
モデル |
平均 |
Open-LLaMA-v2-pretrain |
23.49 |
Ziya-LLaMA-13B-pretrain |
27.64 |
Falcon-7B |
27.18 |
TigerBot-7B-base |
25.19 |
LLaMA-7B |
28.17 |
ChatGLM-6B |
23.49 |
BLOOM-7B |
26.55 |
BLOOMZ-7B |
30.27 |
Aquila-7B* |
25.58 |
Baichuan-7B |
34.44 |
*Aquilaモデルは智源官方网站から取得したもので、参考用です。
英語の評価
MMLU
MMLUは英語の評価データセットで、57の選択問題を含み、初等数学、アメリカの歴史、コンピュータサイエンス、法律などをカバーしています。難易度は高校レベルから専門家レベルまで幅広く、主流のLLM評価データセットとなっています。
オープンソースの評価スキームを採用し、最終的な5-shotの結果は以下の通りです。
モデル |
人文科学 |
社会科学 |
STEM |
その他 |
平均 |
LLaMA-7B2 |
34.0 |
38.3 |
30.5 |
38.1 |
35.1 |
Falcon-7B1 |
- |
- |
- |
- |
35.0 |
mpt-7B1 |
- |
- |
- |
- |
35.6 |
ChatGLM-6B0 |
35.4 |
41.0 |
31.3 |
40.5 |
36.9 |
BLOOM 7B0 |
25.0 |
24.4 |
26.5 |
26.4 |
25.5 |
BLOOMZ 7B0 |
31.3 |
42.1 |
34.4 |
39.0 |
36.1 |
moss-moon-003-base (16B)0 |
24.2 |
22.8 |
22.4 |
24.4 |
23.6 |
moss-moon-003-sft (16B)0 |
30.5 |
33.8 |
29.3 |
34.4 |
31.9 |
Baichuan-7B0 |
38.4 |
48.9 |
35.6 |
48.1 |
42.3 |
モデル列の上付き文字は結果のソースを示しています。
0: 再実装
1: https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard
2: https://paperswithcode.com/sota/multi-task-language-understanding-on-mmlu
開発チーム
