? GitHub •
? Huggig Face •
? Discord •
? 微信
我们正在重新定义大型语言模型(LLM)。该代码仓库是TrasNormerLLM的官方实现。 我们的 TrasNormerLLM 开放权现在可供个人、创作者、研究人员和各种规模的企业使用,以便他们能够负责任地实验、创新和扩展他们的想法。 我们开放的版本包含 TrasNormerLLM 模型实现、开源权重和监督微调 (SFT) 的起始代码。 我们将展示如何加载 TrasNormerLLM 模型、运行 SFT 并对其进行推理的示例。 具体发布版本及下载链接如下: 为了验证 TrasNormerLLM,我们在 Commosese Reasoig Task、MMLU、CMMLU 和 C-Eval 上测试了 385M、1B 和 7B 模型。 为了进行比较,我们选择了几个开源模型作为比较,包括基于 Trasformer 的模型,如 OPT、Pythia、BLOOM、GPT-Neo、GPT-J、MPT、Falco、LLaMA1/2、OpeLLAMA v1/v2、Baichua 1/ 2、ChatGLM 1/2,以及非Trasformer模型RWKV。 可以看出,与这些模型相比,TrasNormerLLM仍然具有很强的竞争力。 在通用领域,我们对以下数据集进行了 5-shot 测试: 推理所需的模型权重、源代码和配置已在 Huggig Face 上发布。 下载链接可以在本文档开头的表格中找到。 下面,我们以 TrasNormerLLM-1B 为例演示各种推理方法。 程序会自动从Huggig Face下载所需的资源。 如果遇到Trito相关错误,请设置以下环境变量: 在上面的代码片段中,模型加载指定 下面,我们提供了使用 ZeRO-3 在单台机器上微调 TrasNormerLLM-7B-Base 的示例。 训练数据: 我们特此声明,我们的团队没有开发过任何基于 TrasNormerLLM 模型的应用程序,也没有在 iOS、Adroid、Web 或任何其他平台上开发过。 我们强烈呼吁所有用户不要利用TrasNormerLLM模型进行任何危害国家/社会安全或违法的活动。 此外,我们要求用户不要将 TrasNormerLLM 模型用于未经过适当安全审查和备案的互联网服务。 我们希望所有用户都能遵守这一原则,确保技术的发展在规范、合法的环境中进行。 我们已尽力确保模型训练过程中使用的数据的合规性。 然而,尽管我们付出了巨大的努力,由于模型和数据的复杂性,仍然可能会出现一些不可预见的问题。 因此,如果因使用TrasNormerLLM开源模型而出现任何问题,包括但不限于数据安全问题、舆情风险,或模型被误导、滥用、传播或不当利用带来的任何风险和问题, 我们将不承担任何责任。 TrasNormerLLM 模型的社区使用需要遵守 Apache 2.0 和 TrasNormerLLM 模型社区许可证。 TrasNormerLLM 模型支持商业用途。 如果您计划将TrasNormerLLM模型或其衍生品用于商业目的,请确保您的实体满足以下条件: 满足上述条件后,您需要通过以下联系邮箱提交TrasNormerLLM模型社区许可协议所需的申请材料:opelplab@gmail.com。 一旦获得批准,TrasNormerLLM 将特此授予您非排他性、全球性、不可转让、不可再许可、可撤销的商业版权许可。 我们的项目基于如下开源项目进行开发: 如果您想引用我们的工作,请使用以下参考文献:
TrasNormerLLM -- A Faster ad Better LLM
入门简介
开源模型
基础模型
385M
? TrasNormerLLM-385M
1B
? TrasNormerLLM-1B
7B
? TrasNormerLLM-7B
评测结果
通用领域
模型结果
Model
PS
T
BoolQ
PIQA
HS
WG
ARC-e
ARC-c
OBQA
MMLU
CMMLU
C-Eval
OPT
0.35
0.30
57.74
64.58
36.69
52.49
44.02
23.89
28.20
26.02
25.34
25.71
Pythia
0.40
0.30
60.40
67.08
40.52
53.59
51.81
24.15
29.40
25.99
25.16
24.81
BLOOM
0.56
0.35
55.14
64.09
36.97
52.80
47.35
23.98
28.20
24.80
25.35
27.14
RWKV
0.43
-
-
67.52
40.90
51.14
52.86
25.17
32.40
24.85
-
-
0.39
1.0
62.14
66.70
46.27
54.46
55.43
27.99
32.40
25.90
25.05
25.24
GPT-Neo
1.3
0.3
61.99
71.11
48.93
54.93
56.19
25.85
33.60
24.82
26.03
23.94
OPT
1.3
0.3
57.77
71.71
53.70
59.35
57.24
29.69
33.20
24.96
24.97
25.32
Pythia
1.4
0.3
60.73
70.67
47.18
53.51
56.99
26.88
31.40
26.55
25.13
24.25
BLOOM
1.1
0.35
59.08
67.14
42.98
54.93
51.47
25.68
29.40
27.30
25.09
26.50
RWKV
1.5
-
-
72.36
52.48
54.62
60.48
29.44
34.00
25.77
-
-
Falco
1.0
0.35
61.38
75.14
61.50
60.30
63.38
32.17
35.60
25.28
24.88
25.66
1.0
1.2
63.27
72.09
56.49
60.38
63.68
35.24
36.60
27.10
25.88
26.01
GPT-J
6.9
0.3
65.44
75.41
66.25
64.09
66.92
36.60
38.20
25.40
26.47
23.39
OPT
6.7
0.3
66.18
76.22
67.21
65.19
65.66
34.64
37.20
24.57
25.36
25.32
Pythia
6.9
0.3
63.46
75.14
63.92
60.77
67.34
35.41
37.00
24.64
25.56
26.40
BLOOM
7.1
0.35
62.91
72.69
62.33
64.01
65.11
33.45
35.80
26.25
24.97
24.25
RWKV
7.4
-
-
76.06
65.51
61.01
67.80
37.46
40.20
24.96
-
-
MPT
6.9
1.0
73.88
79.43
76.25
68.27
74.79
41.72
42.20
30.80
25.99
24.06
Falco
7.2
1.5
73.73
79.38
76.3
67.17
74.62
43.60
43.80
27.79
25.73
22.92
Baichua1
7.0
1.2
70.09
76.01
70.06
64.09
71.72
40.53
38.20
42.30
44.43
42.80
Baichua2
7.0
2.6
72.72
76.50
72.17
68.35
75.17
42.32
39.60
54.16
57.07
54.00
ChatGLM1
6.7
1.0
74.74
68.88
45.57
52.25
48.78
31.66
36.80
40.63
37.48
40.23
ChatGLM2
7.1
1.4
77.65
69.37
50.51
57.62
59.13
34.30
37.00
45.46
48.80
52.55
OpeLLaMAv1
6.7
1.0
70.43
75.68
69.23
66.69
71.17
38.57
39.00
30.49
25.40
26.09
OpeLLaMAv2
6.7
1.0
72.20
78.84
74.51
65.67
72.39
41.30
41.00
41.29
29.58
30.01
LLaMA1
6.7
1.0
76.50
79.80
76.10
70.10
72.80
47.60
57.20
35.10
25.62
25.72
LLaMA2
6.7
2.0
77.68
78.07
76.02
68.98
76.30
46.33
44.20
45.30
32.96
33.20
6.8
1.4
75.87
80.09
75.21
66.06
75.42
44.40
63.40
43.10
47.99
43.18
推理部署
安装依赖
pip istall trito==2.0.0
pip istall eiops
特别注意
export use_trito=False
Pytho 推理代码
基础模型推理演示
>>> from trasformers import AutoModelForCausalLM, AutoTokeizer
>>> tokeizer = AutoTokeizer.from_pretraied("OpeNLPLab/TrasNormerLLM-1B", trust_remote_code=True)
>>> model = AutoModelForCausalLM.from_pretraied("OpeNLPLab/TrasNormerLLM-1B", device_map="auto", trust_remote_code=True)
device_map='auto',它将使用所有可用的GPU。 如果需要指定要使用的设备,可以通过类似于“export CUDAVISIBLEDEVICES=0,1”(使用0和1显卡)的方式进行控制。微调模型
依赖安装
git cloe https://github.com/OpeNLPLab/TrasNormerLLM.git
cd TrasNormerLLM/fie-tue
pip istall -r requiremets.txt
训练
alpaca_data.jso。 此示例数据取自 alpaca_data.jso,包含 52,002 个条目的选择,并已重新格式化。 主要目的是演示如何SFT我们的模型,不保证有效性。torchru \
--proc_per_ode=8 \
trai.py \
--model_ame_or_path OpeNLPLab/TrasNormerLLM-1B \
--data_path ./alpaca_data.jso \
--output_dir output \
--um_trai_epochs 1 \
--per_device_trai_batch_size 2 \
--per_device_eval_batch_size 1 \
--gradiet_accumulatio_steps 1 \
--bf16 true \
--adam_beta1 0.9 \
--adam_beta2 0.95 \
--evaluatio_strategy "o" \
--save_strategy "steps" \
--save_steps 5000 \
--save_total_limit 30 \
--learig_rate 1e-4 \
--weight_decay 0.1 \
--warmup_ratio 0.1 \
--lr_scheduler_type "cosie" \
--deepspeed 'cofigs/zero3.jso' \
--loggig_steps 1 \
--dataloader_um_workers 24 \
--ddp_fid_uused_parameters false \
--tf32 true \
社区生态
许可声明
声明
协议
致谢
引用
@article{qi2023scalig,
title={Scalig trasormer to 175 billio parameters},
author={Qi, Zhe ad Li, Dog ad Su, Weigao ad Su, Weixua ad She, Xuyag ad Ha, Xiaodog ad Wei, Yushe ad Lv, Baohog ad Yua, Fei ad Luo, Xiao ad others},
joural={arXiv preprit arXiv:2307.14995},
year={2023}
}
点击空白处退出提示










评论