基于Megatron-LM从0到1完成GPT2模型预训练、模型评估及推理

随着 ChatGPT 迅速爆火,引领基于Transformer架构的大模型从幕后走到台前。但 ChatGPT 的成功并不是一蹴而就,而是,经过了从早期的 GPT1 到 GPT2,之后到 GPT3 和 InstructGPT、然后到GPT3.5和ChatGPT,直到如今的多模态大模型 GPT4。

image.png

但是 GPT3 之后的一系列工作,OpenAI并没有开源其模型,因此,我们没办法去自己的剖析其背后的机理。但是,作为 GPT 系列的鼻祖之一,GPT2 却是开源的;因此,本文将使用 Megatron-LM 针对 GPT2 模型进行预训练;为了不影响文章的阅读体验,具体的脚本和代码均放置在GitHub:llm-action

在这里插入图片描述

运行环境搭建


基础环境配置如下:

  • 操作系统: Ubuntu 18.04
  • CPUs: 单个节点具有 384GB 内存的 Intel CPU,物理CPU个数为2,每颗CPU核数为20
  • GPUs: 4 卡 A800 80GB GPUs
  • Python: 3.8.10
  • NVIDIA驱动程序版本: 525.105.17,根据不同型号选择不同的驱动程序,点击下载
  • CUDA工具包: 12.1,点击下载

为了能够快速复现 GPT2 的整个预训练过程,本文选择基于英伟达官方提供的 Doker 镜像来构建运行环境。

首先,从英伟达官方下载对应版本的Pytorch镜像。

1  docker pull nvcr.io/nvidia/pytorch:23.04-py3

镜像下载完成之后,创建训练环境的容器。

1  docker run -dt --name nvidia_pytorch_env --restart=always --gpus all \
2  --network=host \
3  --shm-size 4G \
4  -v /home/gdong/workspace:/workspace \
5  -w /workspace \
6  nvcr.io/nvidia/pytorch:23.04-py3 \
7  /bin/bash

之后,进入容器准备代码、模型、数据等。

1  docker exec -it nvidia_pytorch_env bash

代码准备


下载 Megatron-LM 源码,然后,切换到对应的 commitid:

1  git clone https://github.com/NVIDIA/Megatron-LM.git
2  cd Megatron-LM
3  git checkout 992da75

模型权重和词表准备


下载GPT2权重:

1  wget --content-disposition https://api.ngc.nvidia.com/v2/models/nvidia/megatron_lm_345m/versions/v0.0/zip -O megatron_lm_345m_v0.0.zip

解压之后的文件格式如下所示:

1  > tree -h megatron
2  megatron
3  ├── [   8]  latest_checkpointed_iteration.txt
4  └── [4.0K]  release
5      └── [4.0K]  mp_rank_00
6          └── [677M]  model_optim_rng.pt
7
8  2 directories, 2 files
9
10 > cat megatron/latest_checkpointed_iteration.txt 
11 release

下载GPT2词表:

1  https://s3.amazonaws.com/models.huggingface.co/bert/gpt2-vocab.json
2  https://s3.amazonaws.com/models.huggingface.co/bert/gpt2-merges.txt

数据集准备


Megatron-LM 训练 GPT2 利用了 jcpeterson 和 eukaryote31 的公开可用的 OpenWebText 库来下载 URL。 然后,根据 openwebtext 目录中描述的过程对所有下载的内容进行过滤、清理和重复数据删除。 根据截至 2018 年 10 月 Reddit URL 对应的内容,得到了大约 37GB 的内容。

下面根据 Megatron-LM 中 openwebtext 文档准备训练数据。

首先,安装依赖库。

1  pip install ftfy langdetect numpy torch pandas nltk sentencepiece boto3 tqdm regex bs4 newspaper3k htmlmin tldextract -i https://pypi.tuna.tsinghua.edu.cn/simple  --trusted-host pypi.tuna.tsinghua.edu.cn

然后,安装LSH。

1  git clone https://github.com/mattilyra/LSH
2  cd LSH
3  git checkout a57069b
4  python setup.py install

由于,这里使用的Python版本为3.8.10,存在不兼容的问题,安装的时候会报错,按照提示进行修改即可。

修改lsh/cMinhash.cpp文件:

  • 将exc_type改为curexc_type
  • 将exc_value改为curexc_value
  • 将exc_traceback改为curexc_traceback

安装完成之后,下面从 jcpeterson 下载去重后的 URL,放置在urls目录下,由于文件太多这里仅下载一个URL文件用于演示。

image.png

1  > mkdir urls
2
3  > tree -h urls/
4  urls/
5  └── [5.3M]  RS_2011-01.bz2.deduped.txt
6
7  0 directories, 1 file

然后,删除列入黑名单的 URL。

1  # python blacklist_urls.py <path to the downloaded deduplicated URLs> <filename for clean urls. e.g. clean_urls.txt>
2  python3 blacklist_urls.py ./urls clean_urls.txt
3  # 只保存清除后的前100个URL。
4  # head -n100 clean_urls.txt >> clean_urls_100.txt

接下来,使用 openwebtext 的实用工具从清洗后的 URL 下载内容。

需要修改一下download.py里面的--sqlite_meta--save_uncompressed的默认值,分别改成FalseTrue,这样执行python3 openwebtext/download.py clean_urls.txt 之后就会生成一个scraped文件夹,每个url下载的文本就保存在data子文件夹下。

1  # ef42b51
2  git clone https://github.com/yet-another-account/openwebtext.git
3  
4  # vim openwebtext/download.py
5
6  python3 openwebtext/download.py ./Megatron-LM/tools/openwebtext/clean_urls.txt  --output_dir /workspace/code/scraped

下载完成之后,格式如下所示:

1  > tree -h /workspace/code/scraped
2  /workspace/code/scraped
3  ├── [304K]  data
4  │   ├── [ 176]  0000300-ab9ff12f7658b8764a413bf58d58bc48b866b0c163ce5c0442296dce46ff0ff8.txt
5  │	│	...
6  │   └── [ 634]  0009896-6e15400f49434b3dbf9421a8f342f80f26c1e901f78f6350d4b738f58c456bdd.txt
7  └── [296K]  meta
8      ├── [ 154]  0001000-ab50f2cd5366369108d58d6e4eb77e8c4babf56e634a33dcd880597684109fc4.json
9      │	...
10     └── [ 224]  0009896-6e15400f49434b3dbf9421a8f342f80f26c1e901f78f6350d4b738f58c456bdd.json
11
12 2 directories, 4860 files

文件内容如下:

1  # meta 子文件夹存储元数据
2  > cat /workspace/code/scraped/meta/0009896-6e15400f49434b3dbf9421a8f342f80f26c1e901f78f6350d4b738f58c456bdd.json
3  {"url": "http://minnesotaindependent.com/74302/bachmann-says-transportation-projects-shouldnt-count-as-earmarks", "word_count": 73, "elapsed": 3.2160894870758057, "scraper": "newspaper", "domain": "minnesotaindependent.com"}
4
5  # data 子文件夹存储文本数据
6  > cat /workspace/code/scraped/data/0009896-6e15400f49434b3dbf9421a8f342f80f26c1e901f78f6350d4b738f58c456bdd.txt 
7  Der eigene Bodenwischer ist der wichtigste Begleiter im täglichen Haushalt. Ob für Parkett, Fliesen oder Laminat: Qualität, Ausstattung und Preis spielen bei der Kaufentscheidung eine große Rolle.
8  ...
9  Bodenwischer für …

将data子文件夹的文本文件合并成一个json文件。

1  python3 Megatron-LM/tools/openwebtext/merge_data.py --data_path /workspace/code/scraped/data --output_file /workspace/data/merged_output.json

合并后文件格式如下:

1  > head -n6 /workspace/data/merged_output.json
2  {"text": "With every new year, it's murder for Neal Smither and his crew.\n"}
3  {"text": "\n"}
4  {"text": "Suicide, too.\n"}
5  {"text": "\n"}
6  {"text": "As owner of Crime Scene Cleaners, Smither's job is to clean up the bloody messes left behind when people kill each other or themselves - and those first few weeks after Jan. 1 are his busiest time of year.\n"}
7  {"text": "\n"}

数据清洗


执行 ftfy、英语检测并删除少于 128 个标记的文档。

1  python3 cleanup_dataset.py /workspace/data/merged_output.json /workspace/data/merged_cleand.json

清洗前后数据对比:

1  > wc -l merged_output.json 
2  78802 merged_output.json
3
4  > wc -l merged_cleand.json 
5  2456 merged_cleand.json

然后,shuffle清洗后的数据集。

1  shuf /workspace/data/merged_cleand.json -o /workspace/data/train_data.json

数据预处理


接下来,进行训练数据需要预处理。

1  python tools/preprocess_data.py \
2         --input /workspace/data/train_data.json \
3         --output-prefix /workspace/data/my-gpt2 \
4         --vocab-file /workspace/model/gpt2-vocab/gpt2-vocab.json\
5         --dataset-impl mmap \
6         --tokenizer-type GPT2BPETokenizer \
7         --merge-file /workspace/model/gpt2-vocab/gpt2-merges.txt \
8         --append-eod \
9         --workers 20 \
10        --chunk-size 25

输出文件名为 my-gpt2_text_document.bin 和 my-gpt2_text_document.idx。在 GPT2 训练时,使用不带扩展名的名称作为 --data-path

现在,所有的前期工作都已经准备好了,接下来开始模型训练。

模型训练


单卡训练

下面,修改examples/pretrain_gpt.sh脚本,配置权重文件路径(CHECKPOINT_PATH)、词表文件路径(VOCAB_FILE)merge表路径(MERGE_FILE)、数据集路径(DATA_PATH)等;

1  #!/bin/bash
2
3  # Runs the "345M" parameter model
4
5  export CUDA_DEVICE_MAX_CONNECTIONS=1
8
7  CHECKPOINT_PATH=/workspace/model/megatron-models/345m
8  VOCAB_FILE=/workspace/model/gpt2-vocab/gpt2-vocab.json
9  MERGE_FILE=/workspace/model/gpt2-vocab/gpt2-merges.txt
10 DATA_PATH=/workspace/data/my-gpt2_text_document
11 MODEL_PATH=/workspace/model/megatron-models/output
12
13 # 模型超参数
14 GPT_ARGS="
15     --num-layers 24 \
16     --hidden-size 1024 \
17     --num-attention-heads 16 \
18     --seq-length 1024 \
19     --max-position-embeddings 1024 \
20     --micro-batch-size 1 \
21     --global-batch-size 2 \
22     --lr 0.00015 \
23     --train-iters 5000 \
24     --lr-decay-iters 320000 \
25     --lr-decay-style cosine \
26     --min-lr 1.0e-5 \
27     --weight-decay 1e-2 \
28     --lr-warmup-fraction .01 \
29     --clip-grad 1.0 \
30     --fp16
31 "
32
33 # 数据集和词表路径参数
34 DATA_ARGS="
35     --data-path $DATA_PATH \
36     --vocab-file $VOCAB_FILE \
37     --merge-file $MERGE_FILE \
38     --data-impl mmap \
39     --split 700,200,100
40 "
41
42 # 模型权重输出、评估、日志相关的参数
43 OUTPUT_ARGS="
44     --log-interval 100 \
45     --save-interval 10000 \
46     --eval-interval 1000 \
47     --eval-iters 10
48 "
49
50 # 启动训练任务
51 torchrun pretrain_gpt.py \
52     $GPT_ARGS \
53     $DATA_ARGS \
54     $OUTPUT_ARGS \
55     --save $MODEL_PATH \
56     --load $CHECKPOINT_PATH

然后,运行如下脚本进行训练:

1  CUDA_VISIBLE_DEVICES=3 sh examples/pretrain_gpt.sh 

训练完成之后,模型权重输出如下所示:

1  > tree -h 345m
2  345m
3  ├── [4.0K]  iter_0005000
4  │   └── [4.0K]  mp_rank_00
5  │       └── [4.6G]  model_optim_rng.pt
6  └── [   4]  latest_checkpointed_iteration.txt
7
8  > cat 345m/latest_checkpointed_iteration.txt 
9  5000

除了单卡进行训练之外,我们还可以使用多卡进行训练。下面分别演示使用4卡数据并行、4卡张量并行、4卡流水线并行、以及多维混合并行(2卡张量并行、2卡流水线并行)训练。

数据并行训练(4DP)

下面使用4DP进行数据并行训练,运行pretrain_gpt_distributed.sh脚本进行训练。

训练完成之后,模型权重输出:

1  tree -h /workspace/model/megatron-models/345m-init-4tp
2  /workspace/model/megatron-models/345m-init-4tp
3  ├── [4.0K]  iter_0002000
4  │   ├── [4.0K]  mp_rank_00
5  │   │   └── [1.2G]  model_optim_rng.pt
6  ...
7  │   └── [4.0K]  mp_rank_03
8  │       └── [1.2G]  model_optim_rng.pt
9  └── [   4]  latest_checkpointed_iteration.txt
10
11 10 directories, 9 files
12 
13 > cat /workspace/model/megatron-models/345m-init-4tp/latest_checkpointed_iteration.txt 
14 2000

训练过程中,显存占用:

1
2  +-----------------------------------------------------------------------------+
3  | Processes:                                                                  |
4  |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
5  |        ID   ID                                                   Usage      |
6  |=============================================================================|
7  |    0   N/A  N/A   3227288      C   /usr/bin/python                  9652MiB |
8  |    1   N/A  N/A   3227289      C   /usr/bin/python                  9652MiB |
9  |    2   N/A  N/A   3227290      C   /usr/bin/python                  9652MiB |
10 |    3   N/A  N/A   3227291      C   /usr/bin/python                  9652MiB |
11 +-----------------------------------------------------------------------------+

模型并行训练(4PP)

下面使用4PP进行模型并行训练,使用pretrain_gpt_distributed_with_4pp.sh脚本进行训练。

训练完成之后,模型权重输出:

1  > tree -h /workspace/model/megatron-models/345m-init-4pp
2  /workspace/model/megatron-models/345m-init-4pp
3  ├── [4.0K]  iter_0002000
4  │   ├── [4.0K]  mp_rank_00_000
5  │   │   └── [1.7G]  model_optim_rng.pt
6  │   ├── [4.0K]  mp_rank_00_001
7  │   │   └── [1009M]  model_optim_rng.pt
8  │   ├── [4.0K]  mp_rank_00_002
9  │   │   └── [1009M]  model_optim_rng.pt
10 │   └── [4.0K]  mp_rank_00_003
11 │       └── [1.7G]  model_optim_rng.pt
12 └── [   4]  latest_checkpointed_iteration.txt
13
14 > cat /workspace/model/megatron-models/345m-init-4pp/latest_checkpointed_iteration.txt 
15 2000

训练过程中,显存占用:

1  +-----------------------------------------------------------------------------+
2  | Processes:                                                                  |
3  |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
4  |        ID   ID                                                   Usage      |
5  |=============================================================================|
6  |    0   N/A  N/A   2630871      C   /usr/bin/python                  8680MiB |
7  |    1   N/A  N/A   2630872      C   /usr/bin/python                  6408MiB |
8  |    2   N/A  N/A   2630873      C   /usr/bin/python                  5080MiB |
9  |    3   N/A  N/A   2630874      C   /usr/bin/python                  5436MiB |
10 +-----------------------------------------------------------------------------+

模型并行训练(4TP)

下面使用4TP进行模型并行训练,使用pretrain_gpt_distributed_with_4tp.sh脚本进行训练。

训练完成之后,模型权重输出:

1  tree -h /workspace/model/megatron-models/345m-init-4tp
2  /workspace/model/megatron-models/345m-init-4tp
3  ├── [4.0K]  iter_0002000
4  │   ├── [4.0K]  mp_rank_00
5  │   │   └── [1.2G]  model_optim_rng.pt
6  ...
7  │   └── [4.0K]  mp_rank_03
8  │       └── [1.2G]  model_optim_rng.pt
9  └── [   4]  latest_checkpointed_iteration.txt
10
11 > cat /workspace/model/megatron-models/345m-init-4tp/latest_checkpointed_iteration.txt 
12 2000

训练过程中,显存占用:

1  +-----------------------------------------------------------------------------+
2  | Processes:                                                                  |
3  |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
4  |        ID   ID                                                   Usage      |
5  |=============================================================================|
6  |    0   N/A  N/A   3895346      C   /usr/bin/python                  4236MiB |
7  |    1   N/A  N/A   3895347      C   /usr/bin/python                  4176MiB |
8  |    2   N/A  N/A   3895348      C   /usr/bin/python                  4168MiB |
9  |    3   N/A  N/A   3895349      C   /usr/bin/python                  4176MiB |
10 +-----------------------------------------------------------------------------+

模型并行训练(2TP+2PP)

下面使用2TP和2PP进行模型并行训练,运行pretrain_gpt_distributed_with_mp.sh脚本进行训练。

训练完成之后,模型权重输出:

1  > tree -h 345m-init-mp
2  345m-init-mp
3  ├── [4.0K]  iter_0005000
4  │   ├── [4.0K]  mp_rank_00_000
5  │   │   └── [1.3G]  model_optim_rng.pt
6  │   ├── [4.0K]  mp_rank_00_001
7  │   │   └── [1.3G]  model_optim_rng.pt
8  │   ├── [4.0K]  mp_rank_01_000
9  │   │   └── [1.3G]  model_optim_rng.pt
10 │   └── [4.0K]  mp_rank_01_001
11 │       └── [1.3G]  model_optim_rng.pt
12 └── [   4]  latest_checkpointed_iteration.txt

训练过程中,显存占用:

1  +-----------------------------------------------------------------------------+
2  | Processes:                                                                  |
3  |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
4  |        ID   ID                                                   Usage      |
5  |=============================================================================|
6  |    0   N/A  N/A   3448098      C   /usr/bin/python                  8732MiB |
7  |    1   N/A  N/A   3448099      C   /usr/bin/python                  8732MiB |
8  |    2   N/A  N/A   3448100      C   /usr/bin/python                  6828MiB |
9  |    3   N/A  N/A   3448101      C   /usr/bin/python                  7078MiB |
10 +-----------------------------------------------------------------------------+

模型权重合并


合并分布式并行训练的模型,在更少的 GPU 上使用可能会更有利。

通过以下脚本完成合并操作。 此示例读取具有 2TP 和 2PP 模型并行训练的 GPT 模型,并输出具有 1TP 和 1PP 的模型。

1  python tools/checkpoint_util.py \
2          --model-type GPT \
3          --load-dir /workspace/model/megatron-models/345m-init-mp\
4          --save-dir /workspace/model/megatron-models/345m-init-mp-out \
5          --target-tensor-parallel-size 1 \
6          --target-pipeline-parallel-size 1

模型权重合并之后,下面使用合并后的权重进行模型评估及推理。

模型评估


下面基于 LAMBADA 数据集 进行完形填空准确率(在给定前面的Token的情况下,预测最后一个Token的准确性)评估。

使用以下命令进行模型评估,执行脚本之前需预先配置模型权重、评估数据集、词表路径等。

1  sh eval_gpt2_lambada.sh 

注意:应使用 --strict-lambada 来要求整个单词匹配。

运行过程部分日志如下:

1  using world size: 1, data-parallel-size: 1, tensor-model-parallel size: 1, pipeline-model-parallel size: 1 
2  setting global batch size to 8
3  using torch.float16 for parameters ...
4  ------------------------ arguments ------------------------
5    accumulate_allreduce_grads_in_fp32 .............. False
6    ...
7    world_size ...................................... 1
8  -------------------- end of arguments ---------------------
9  setting number of micro-batches to constant 1
10 > building GPT2BPETokenizer tokenizer ...
11 > padded vocab (size: 50257) with 47 dummy tokens (new size: 50304)
12 > initializing torch distributed ...
13 > initialized tensor model parallel with size 1
14 > initialized pipeline model parallel with size 1
15 > setting random seeds to 1234 ...
16 > compiling dataset index builder ...
17 ...
18 make: Leaving directory '/workspace/code/bak/Megatron-LM/megatron/data'
19 >>> done with dataset index builder. Compilation time: 13.399 seconds
20 > compiling and loading fused kernels ...
21 >>> done with compiling and loading fused kernels. Compilation time: 1.411 seconds
22 building GPT model ...
23  > number of parameters on (tensor, pipeline) model parallel rank (0, 0): 354871296
24  loading checkpoint from /workspace/model/megatron-models/345m-init-mp-out at iteration 5000
25  checkpoint version 3.0
26   successfully loaded checkpoint from /workspace/model/megatron-models/345m-init-mp-out at iteration 5000
27 > building lambada dataset from /workspace/data/lambada_test.jsonl ...
28  > found 5153 samples.
29 > working on iteration: 0
30 ...
31 > working on iteration: 640
32 --------------------------------------------------------------------------------------------------------------------
33  validation results on LAMBADA | number correct: 0.0000E+00 | total examples: 5.1530E+03 | avg accuracy: 0.0000E+00
34 --------------------------------------------------------------------------------------------------------------------
35 done :-)
36

模型推理服务


tools/run_text_ Generation_server.py 中包含了一个简单的 REST 服务,用于生成文本。运行它,你需要指定适当的预训练检查点(checkpoint)。 还有一些可选参数:temperaturetop-ktop-p 等可以配置,详细信息请参阅 --help 或源文件。

启动推理服务之前,需预先安装依赖库:

1  pip install flask flask-restful -i https://pypi.tuna.tsinghua.edu.cn/simple  --trusted-host pypi.tuna.tsinghua.edu.cn

安装完成之后,使用examples/run_text_generation_server_345M.sh脚本启动基于GPT2模型的推理服务。

1  sh examples/run_text_generation_server_345M.sh

推理服务运行后,您可以使用 tools/text_ Generation_cli.py 来请求接口,它需要一个参数,即服务运行的主机。

1  > python tools/text_generation_cli.py localhost:5000
2  Enter prompt: hello
3  Enter number of tokens to generate: 5
4  Megatron Response: 
5  hello! Until that protagonist receive
6  Enter prompt: world 
7  Enter number of tokens to generate: 2
8  Megatron Response: 
9  worldboarding-
10 Enter prompt: 

除此之外,您还可以使用 curl 或任何其他接口测试工具直接请求接口:

1  > curl 'http://localhost:5000/api' -X 'PUT' -H 'Content-Type: application/json; charset=UTF-8'  -d '{"prompts":["Hello world"], "tokens_to_generate":1}'
2
3  {"logprobs":null,"segments":[["Hello"," world",","]],"text":["Hello world,"]}

上面是使用单卡进行模型推理,我们还可以进行多卡模型并行推理。

使用4TP进行模型推理:

1  sh examples/run_text_generation_server_345M_4_tensor_parallel.sh 

显存占用:

1  +-----------------------------------------------------------------------------+
2  | Processes:                                                                  |
3  |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
4  |        ID   ID                                                   Usage      |
5  |=============================================================================|
6  |    0   N/A  N/A   1844443      C   /usr/bin/python                   788MiB |
7  |    1   N/A  N/A   1844444      C   /usr/bin/python                   788MiB |
8  |    2   N/A  N/A   1844445      C   /usr/bin/python                   788MiB |
9  |    3   N/A  N/A   1844446      C   /usr/bin/python                   788MiB |
10 +-----------------------------------------------------------------------------+

使用2TP+2PP进行模型推理:

1  sh examples/run_text_generation_server_345M_2tp_2dp.sh 

显存占用:

1  +-----------------------------------------------------------------------------+
2  | Processes:                                                                  |
3  |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
4  |        ID   ID                                                   Usage      |
5  |=============================================================================|
6  |    0   N/A  N/A   1869409      C   /usr/bin/python                  1222MiB |
7  |    1   N/A  N/A   1869410      C   /usr/bin/python                  1222MiB |
8  |    2   N/A  N/A   1869411      C   /usr/bin/python                  1222MiB |
9  |    3   N/A  N/A   1869412      C   /usr/bin/python                  1222MiB |
10 +-----------------------------------------------------------------------------+

结语


本文基于英伟达开源的 Megatron-LM 框架完成了GPT2 模型的预训练、模型评估及推理的整个过程。同时,也讲述了准备 GPT2 模型训练的数据集的整个预处理过程。

如果觉得我的文章能够能够给您带来帮助,期待您的点赞收藏加关注~~


最后如果您也对AI大模型感兴趣想学习却苦于没有方向👀
小编给自己收藏整理好的学习资料分享出来给大家💖
👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码关注免费领取【保证100%免费】🆓

请添加图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)
在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉如何学习AI大模型?👈

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
在这里插入图片描述

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!
在这里插入图片描述

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
在这里插入图片描述

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
在这里插入图片描述

四、AI大模型商业化落地方案

在这里插入图片描述

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值