diff --git a/docs/mindspore/source_zh_cn/mindformers/usage/pre_training.md b/docs/mindspore/source_zh_cn/mindformers/usage/pre_training.md
index 43e2f84adbd2b8cd8bc14da6af3237edc414e19d..d6aaa3765c09060c079307b75715e1810ba733cb 100644
--- a/docs/mindspore/source_zh_cn/mindformers/usage/pre_training.md
+++ b/docs/mindspore/source_zh_cn/mindformers/usage/pre_training.md
@@ -1,3 +1,184 @@
# 预训练
+## 概述
+
+预训练是指在大规模未标注数据上训练模型,使其能够捕捉语言的广泛特性。通过预训练,模型可以学习到词汇、句法和语义等方面的知识,这些知识在下游任务中可以被微调,以实现特定任务的优化。
+
+## MindFormers的预训练目标
+
+MindFormers框架的预训练目标是帮助开发者快速、便捷地构建和训练基于Transformer架构的预训练模型。它通过优化的训练流程、丰富的模型库和高效的分布式训练支持,帮助用户在各种NLP任务中实现高效的模型开发。
+
+## 数据集
+
+### 数据集下载
+
+MindFormers提供**Wiki103**作为[预训练](#预训练)数据集,**alpaca**作为[微调](#微调)数据集。
+
+| 数据集名称 | 适用模型 | 适用阶段 | 下载链接 |
+|:--------|:--------------------------:|:--------:|:-------------------------------------------------------------------------------:|
+| Wikitext2 | llama2-7b
llama2-13b
llama2-70b | Pretrain | [Link](https://gitee.com/link?target=https%3A%2F%2Fascend-repo-modelzoo.obs.cn-east-2.myhuaweicloud.com%2FMindFormers%2Fdataset%2Fwikitext-2%2Fwikitext-2-v1.zip) |
+| alpaca | llama2-7b
llama2-13b
llama2-70b | Finetune | [Link](https://github.com/tatsu-lab/stanford_alpaca/blob/main/alpaca_data.json) |
+
+### 数据预处理
+
+- **Wiki103 数据预处理**
+
+ 使用`research/llama3/llama_preprocess.py`对下载后的数据进行预处理,并生成Mindrecord数据。
+
+ ```shell
+ python llama_preprocess.py \
+ --dataset_type wiki \
+ --input_glob /{path}/wiki.train.tokens \
+ --model_file /{path}/tokenizer.model \
+ --seq_length 8192 \
+ --output_file /{path}/wiki8192.mindrecord
+
+ # 参数说明
+ dataset_type: 预处理数据类型
+ input_glob: 输入下载后wiki.train.tokens的文件路径
+ model_file: 模型tokenizer.model文件路径
+ seq_length: 输出数据的序列长度
+ output_file: 输出文件的保存路径
+ ```
+- **alpaca 数据预处理**
+
+ 1. 执行`mindformers/tools/dataset_preprocess/llama/alpaca_converter.py`,使用fastchat工具添加prompts模板,将原始数据集转换为多轮对话格式。
+
+ ```shell
+ python alpaca_converter.py \
+ --data_path /{path}/alpaca_data.json \
+ --output_path /{path}/alpaca-data-conversation.json
+
+ # 参数说明
+ data_path: 输入下载的文件路径
+ output_path: 输出文件的保存路径
+ ```
+
+ 2. 执行`research/llama3/llama_preprocess.py`,生成Mindrecord数据,将带有prompt模板的数据转换为mindrecord格式。
+
+ ```shell
+ # 此工具依赖fschat工具包解析prompt模板, 请提前安装fschat >= 0.2.13 python = 3.9
+ python llama_preprocess.py \
+ --dataset_type qa \
+ --input_glob /{path}/alpaca-data-conversation.json \
+ --model_file /{path}/tokenizer.model \
+ --seq_length 8192 \
+ --output_file /{path}/alpaca-fastchat8192.mindrecord
+
+ # 参数说明
+ dataset_type: 预处理数据类型
+ input_glob: 转换后的alpaca的文件路径
+ model_file: 模型tokenizer.model文件路径
+ seq_length: 输出数据的序列长度
+ output_file: 输出文件的保存路径
+ ```
+
+> 数据处理时候注意bos,eos,pad等特殊`ids`要和配置文件中`model_config`里保持一致。
+
+## 单机单卡训练
+
+以下内容将以Llama2-7b为例,展示如何在单卡的配置下进行训练。
+
+### 启动训练
+
+```
+# 运行run_mindformer.py的入参会覆盖模型配置文件中的参数
+python run_mindformer.py --config configs/llama2/pretrain_llama2_7b.yaml --run_mode train
+```
+
+## 单机多卡训练
+
+```
+# 1. 单机多卡快速启动方式,默认8卡启动
+bash scripts/msrun_launcher.sh "run_mindformer.py \
+ --config {CONFIG_PATH} \
+ --run_mode {train/finetune/eval/predict}"
+
+# 2. 单机多卡快速启动方式,仅设置使用卡数即可
+bash scripts/msrun_launcher.sh "run_mindformer.py \
+ --config {CONFIG_PATH} \
+ --run_mode {train/finetune/eval/predict}" WORKER_NUM
+
+# 3. 单机多卡自定义启动方式
+bash scripts/msrun_launcher.sh "run_mindformer.py \
+ --config {CONFIG_PATH} \
+ --run_mode {train/finetune/eval/predict}" \
+ WORKER_NUM MASTER_PORT LOG_DIR JOIN CLUSTER_TIME_OUT
+```
+
+以下内容将以Llama2-7b为例,展示如何在单机8卡的配置下进行分布式训练。
+
+### 启动训练
+
+使用`msrun`命令启动训练脚本:
+
+```bash
+bash scripts/msrun_launcher.sh "run_mindformer.py \
+ --config configs/llama2/pretrain_llama2_7b.yaml \
+ --train_dataset_dir /{path}/wiki4096.mindrecord \
+ --use_parallel True \
+ --run_mode train" 8
+```
+
+## 多机多卡训练
+
+多机多卡执行脚本进行分布式训练需要分别在不同节点运行脚本,并将参数MASTER\_ADDR设置为主节点的ip地址, 所有节点设置的ip地址相同,不同节点之间仅参数NODE\_RANK不同。
+
+```
+# 多机多卡自定义启动方式
+ bash scripts/msrun_launcher.sh "run_mindformer.py \
+ --config {CONFIG_PATH} \
+ --run_mode {train/finetune/eval/predict}" \
+ WORKER_NUM LOCAL_WORKER MASTER_ADDR MASTER_PORT NODE_RANK LOG_DIR JOIN CLUSTER_TIME_OUT
+```
+
+以Llama2-13b为例,进行2机16卡的预训练。
+
+### 配置文件修改
+
+根据实际使用的节点数和设备数,修改配置文件`configs/llama2/pretrain_llama2_7b.yaml`:
+
+```yaml
+parallel_config:
+ data_parallel: 2
+ model_parallel: 4
+ pipeline_stage: 2
+ micro_batch_num: 16
+ vocab_emb_dp: True
+ gradient_aggregation_group: 4
+```
+
+**注意:** 如果节点数和设备数发生变化,需根据实际情况修改`data_parallel`、`model_parallel`和`pipeline_stage`,使其满足设备数的需求,即 `device_num = data_parallel × model_parallel × pipeline_stage`,同时需确保`micro_batch_num >= pipeline_stage`。
+
+### 启动多机多卡训练
+
+分别在不同节点运行以下脚本,并将参数`MASTER_ADDR`设置为主节点的IP地址。所有节点使用相同的IP地址设置,不同节点之间仅`NODE_RANK`参数不同。
+
+- 主节点(节点0)启动脚本:
+
+```bash
+bash scripts/msrun_launcher.sh "run_mindformer.py \
+ --config {CONFIG_PATH} \
+ --train_dataset_dir /{path}/wiki4096.mindrecord \
+ --use_parallel True \
+ --run_mode {train}" \
+ 16 8 {ip_addr} 8118 0 output/msrun_log False 300
+```
+
+- 从节点(节点1)启动脚本,仅修改`NODE_RANK`参数:
+
+```bash
+bash scripts/msrun_launcher.sh "run_mindformer.py \
+ --config {CONFIG_PATH} \
+ --train_dataset_dir /{path}/wiki4096.mindrecord \
+ --use_parallel True \
+ --run_mode {train}" \
+ 16 8 {ip_addr} 8118 1 output/msrun_log False 300
+```
+
+## 更多信息
+
+更多关于不同模型的训练示例,请访问[MindFormers已支持模型库](https://gitee.com/mindspore/mindformers#/mindspore/mindformers/blob/r1.2.0/docs/model_cards/llama2.md)。
+
+---
[](https://gitee.com/mindspore/docs/blob/master/docs/mindspore/source_zh_cn/mindformers/usage/pre_training.md)
\ No newline at end of file