Update README.md
Browse files
README.md
CHANGED
@@ -14,10 +14,18 @@ tags:
|
|
14 |
- text-generation-inference
|
15 |
---
|
16 |
|
17 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
19 |
# 一、👋介绍
|
20 |
-
|
21 |
现在的大语言模型的参数往往较大,消费级电脑单纯做推理都比较慢,更别说想自己从头开始训练一个模型了。本项目的目标是整理生成式语言模型的训练流程,包括数据清洗、tokenizer训练、模型预训练、SFT指令微调、RLHF优化等。
|
22 |
|
23 |
ChatLM-mini-Chinese为中文对话小模型,模型参数只有0.2B(算共享权重约210M),可以在最低4GB显存的机器进行预训练(`batch_size=1`,`fp16`或者` bf16`),`float16`加载、推理最少只需要512MB显存。
|
@@ -27,7 +35,7 @@ ChatLM-mini-Chinese为中文对话小模型,模型参数只有0.2B(算共享
|
|
27 |
- 使用`Huggingface`NLP框架,包括`transformers`、`accelerate`、`trl`、`peft`等。
|
28 |
- 自实现`trainer`,支持单机单卡、单机多卡进行预训练、SFT微调。训练过程中支持在任意位置停止,及在任意位置继续训练。
|
29 |
- 预训练:整合为端到端的`Text-to-Text`预训练,非`mask`掩码预测预训练。
|
30 |
-
-
|
31 |
- tokenizer多进程词频统计,支持`sentencepiece`、`huggingface tokenizers`的tokenizer训练;
|
32 |
- 预训练支持任意位置断点,可从断点处继续训练;
|
33 |
- 大数据集(GB级别)流式加载、支持缓冲区数据打乱,不利用内存、硬盘作为缓存,有效减少内存、磁盘占用。配置`batch_size=1, max_len=320`下,最低支持在16GB内存+4GB显存的机器上进行预训练;
|
@@ -43,6 +51,12 @@ ChatLM-mini-Chinese为中文对话小模型,模型参数只有0.2B(算共享
|
|
43 |
|
44 |
🟢**最近更新**
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
<details close>
|
47 |
<summary> <b>2023-12-29</b> </summary>
|
48 |
- 更新模型代码(权重不变),可以直接使用`AutoModelForSeq2SeqLM.from_pretrained(...)`加载模型使用。<br/>
|
|
|
14 |
- text-generation-inference
|
15 |
---
|
16 |
|
17 |
+
<div align="center">
|
18 |
+
|
19 |
+
# 中文对话0.2B小模型 ChatLM-Chinese-0.2B
|
20 |
+
|
21 |
+
中文 | [English](https://github.com/charent/ChatLM-mini-Chinese/blob/main/README.en.md)
|
22 |
+
|
23 |
+
</div>
|
24 |
+
|
25 |
+
最新的readme文档请移步Github仓库[ChatLM-mini-Chinese](https://github.com/charent/ChatLM-mini-Chinese)
|
26 |
|
27 |
# 一、👋介绍
|
28 |
+
|
29 |
现在的大语言模型的参数往往较大,消费级电脑单纯做推理都比较慢,更别说想自己从头开始训练一个模型了。本项目的目标是整理生成式语言模型的训练流程,包括数据清洗、tokenizer训练、模型预训练、SFT指令微调、RLHF优化等。
|
30 |
|
31 |
ChatLM-mini-Chinese为中文对话小模型,模型参数只有0.2B(算共享权重约210M),可以在最低4GB显存的机器进行预训练(`batch_size=1`,`fp16`或者` bf16`),`float16`加载、推理最少只需要512MB显存。
|
|
|
35 |
- 使用`Huggingface`NLP框架,包括`transformers`、`accelerate`、`trl`、`peft`等。
|
36 |
- 自实现`trainer`,支持单机单卡、单机多卡进行预训练、SFT微调。训练过程中支持在任意位置停止,及在任意位置继续训练。
|
37 |
- 预训练:整合为端到端的`Text-to-Text`预训练,非`mask`掩码预测预训练。
|
38 |
+
- 开源所有数据清洗(如规范化、基于mini_hash的文档去重等)、数据集构造、数据集加载优化等流程;
|
39 |
- tokenizer多进程词频统计,支持`sentencepiece`、`huggingface tokenizers`的tokenizer训练;
|
40 |
- 预训练支持任意位置断点,可从断点处继续训练;
|
41 |
- 大数据集(GB级别)流式加载、支持缓冲区数据打乱,不利用内存、硬盘作为缓存,有效减少内存、磁盘占用。配置`batch_size=1, max_len=320`下,最低支持在16GB内存+4GB显存的机器上进行预训练;
|
|
|
51 |
|
52 |
🟢**最近更新**
|
53 |
|
54 |
+
<details close>
|
55 |
+
<summary> <b>2024-01-07</b> </summary>
|
56 |
+
- 添加数据清洗过程中基于mini hash实现的文档去重(在本项目中其实数据集的样本去重),防止模型遇到多次重复数据后,在推理时吐出训练数据。<br/>
|
57 |
+
- 添加`DropDatasetDuplicate`类实现对大数据集的文档去重。<br/>
|
58 |
+
</details>
|
59 |
+
|
60 |
<details close>
|
61 |
<summary> <b>2023-12-29</b> </summary>
|
62 |
- 更新模型代码(权重不变),可以直接使用`AutoModelForSeq2SeqLM.from_pretrained(...)`加载模型使用。<br/>
|