charent commited on
Commit
3983014
1 Parent(s): 3191b3b

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +17 -3
README.md CHANGED
@@ -14,10 +14,18 @@ tags:
14
  - text-generation-inference
15
  ---
16
 
17
- # 中文对话0.2B小模型 ChatLM-Chinese-0.2B
 
 
 
 
 
 
 
 
18
 
19
  # 一、👋介绍
20
- *Read this in [English](README.en.md).*
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/>