目录

关键硬件

大模型类型

垂域训练技术

微调技术

领域大模型训练trick

知识增强


关键硬件

GPU

GPU擅长处理图形渲染和数据并行任务,可以同时处理大量的矩阵运算,在科学计算、人工智能、游戏开发等领域应用广泛。

显卡

显卡是一种完整的硬件设备,不仅包含GPU,还包括内存(显存)、电源管理模块、散热系统等,共同支持GPU高效工作。

英伟达历代产品参数

架构名称 中文名 发布时间 核心参数 特点 & 优势 纳米制程 代表型号
Fermi 费米 2010年 16个SM,每个SM包含32个CUDA Cores,一共512CUDA Cores 首个完整GPU计算架构,支持与共享存储结合的Cache层次GPU架构,支持ECC GPU架构 40/28nm 30亿晶体管 Quadro7000
Kepler 开普勒 2012年 15个SMX,每个SMX包含192个FP32+64个FP64CUDA Cores 游戏性能大幅提升,首次支持GPU Direct技术 28nm 71亿晶体管 K80、K40M
Maxwell 麦克斯韦 2014年 16个SM,每个SM包括4个处理块,每个处理块包括32个CUDA Cores+8个LD/ST Unit+8SFU 每组SM单元从192个减少到每组128个,每个SMM单元拥有更多逻辑控制电路 28nm 80亿晶体管 M5000、M4000、GTX 9XX系列
Pascal 帕斯卡 2016年 GP100有60个SM,每个SM包括64个CUDA Cores,32个DP Cores NVLink第一代,双向互联带宽160GB/s,P100拥有56个SM HBM 16nm 153亿晶体管 P100、P6000、TTX1080
Volta 沃塔 2017年 80个SM,每个SM包含32个FP64+64Int32+64FP32+8个Tensor Cores NVLink2.0,Tensor Cores第一代,支持AI运算 12nm 211亿晶体管 V100、TiTan V
Turing 图灵 2018年 102核心92个SM,SM重新设计,每个SM包含64个Int32+64个FP32+8个Tensor Cores Tensor Core2.0,RT Core第一代 12nm 186亿晶体管 T4、2080TI、RTX5000
Ampere 安培 2020年 108个SM,每个SM包含64个FP32+64个Int32+32个FP64+4个Tensor Cores Tensor Core3.0,RT Core2.0,NVLink3.0,结构稀疏性矩阵MIG1.0 7nm 283亿晶体管 A100、A30系列
Hopper 霍珀 2022年 132个SM,每个SM包含128个FP32+64个INT32+64个FP64+4个Tensor Cores Tensor Core4.0,NVLink4.0,结构稀疏性矩阵MIG2.0 4nm 800亿晶体管 H100、H800

(1)SM 是一般GPU架构中的基本计算单元,表示GPU中执行并行计算的模块。SMX 是在 Kepler 架构中引入的增强版 SM,具有更高的计算能力和更优化的硬件设计。

(2)NVLink 是由 NVIDIA 开发的高速互连技术,旨在提高多个 GPU 之间的数据传输速度和带宽。主要用于在数据密集型计算任务中增强多 GPU 系统的性能。NVLink 相比传统的 PCIE总线,提供了更高的数据传输速率,并改善了 GPU 间的协作能力。

(3)GPU 是显卡的核心处理单元,负责执行图形渲染和计算任务。每个GPU由多个 SM(流处理器)组成。每个 SM 内部有多个 CUDA 核心,每个核心负责执行一个线程的操作。显卡>GPU>SM>核心。

(4)纳米制程指显卡芯片的制造工艺,制程越小,能效和性能通常越高。

(5)国产昇腾910B对标A100。

大模型类型

①自然语言处理大模型:具有语言理解能力、对话生成能力、文字创作能力。广泛应用于:医疗、金融、对话、搜索、信息抽取、跨语言、代码、图网络等场景。比如:chatgpt、百度文心一言等。

②计算机视觉大模型:通过学习海量图像数据,具备强大的图像分类、分割、识别、生成能力。广泛应用于人脸识别、自动驾驶、安防监控、医疗影像分析、商品图像识别等领域。

③多模态大模型:通过联合学习文本、图像、语音、视频等多模态的数据,实现多模态数据的综合理解和生成。应用于:基于文本生成图像(如AI绘画)、图像和视频搜索、语音-文本转换、图像字幕生成等场景。

垂域训练技术

通用大模型基于通识知识进行训练,在面对:①垂直领域知识、②私有数据问答 时常常需要借助以下技术:

技术 what 适用场景 优缺点
微调(Fine-Tuning) 针对预先训练的语言模型,在特定任务的少量数据集上对其进行进一步训练 当任务或域定义明确,并且有足够的标记数据可供训练时,通常使用微调 优点:能在特定任务上取得更高的精度;
缺点:需要领域标注数据;容易过拟合领域数据,导致模型泛化能力降低。
Prompt工程 涉及设计自然语言提示或指令,可以指导语言模型执行特定的任务 最适合需要高精度和明确输出的任务,提示工程可用于制作引发所需输出的查询 优点:无需额外训练,灵活适应多种任务;
缺点:设计有效的prompt需要大量的试错和专业知识;难以适应非常专业化的领域。
RAG(Retrieval-Augmented Generation) 调用外部知识,作为大模型的背景知识和问题一并输入大模型 外部知识较多且更新频繁,适用于各类问答 优点:能够利用外部知识库进行动态更新,提升模型的表现和灵活性;
缺点:需要高效的检索机制和高质量的知识库;可能依赖外部系统。

微调技术

PEFT(Parameter-Efficient Fine-Tuning)技术 通过只调整模型的一部分参数,而不是对整个模型进行全面的调整,降低了计算资源的消耗和内存使用,适用于参数量巨大的预训练模型。

方法 简介 图示
Prefix Tuning 1. 构造一段任务相关的virtual tokens作为prefix;
2. 只更新prefix部分的参数,而transformer中的其他部分参数固定
Prompt Tuning 1. 只在输入层加入prompt tokens;
2. 随着预训练模型参数量的增加,prompt tuning的方法会逼近fine-tune的结果
Adapter Tuning 1. 首先是一个down-project层将高维度特征映射到低维度;
2. 然后经过一个非线性层之后,再用一个up-project结构将低维特征映射回原来的高维特征;
3. 同时也设计了skip-connection结构,确保了在最差的情况下能退化为identity
LoRA 1. 在原始预训练语言模型(PLM)旁边增加一个旁路,做一个降维再升维的操作;
2. 训练的时候固定PLM的参数,只训练降维矩阵A与升维矩阵B;
3. 模型的输入输出维度不变,输出时将BA与PLM的参数叠加;
4. 用随机高斯分布初始化A,用0矩阵初始化B,保证训练的开始次旁路矩阵依然是0矩阵
P-Tuning 1. 加入了prompt tokens作为输入;
2. p-tuning v2的目标就是让prompt tuning能够在不同参数规模的预训练模型、针对不同下游任务的结果上都达到匹敌fine-tuning的结果;
3. p-tuning方法在sequence tagging任务上表现都很差;
4. 在预训练模型参数规模足够大时,才能够达到和fine-tuning类似的效果,而参数规模小时效果则很差
Freeze 1. freeze方法,即参数冻结,对原始模型部分参数进行冻结操作,仅训练部分参数,以达到在单卡或不进行TP或PP操作,就可以对大模型进行训练;
2. 大量减少了大预言模型的微调参数,是一种参数高效的微调方法;
3. 由于只需要调高层特征,加快了模型的收敛,节约了微调的时间

无脑选LoRA!

LoRA微调的核心代码:

peft_config = LoraConfig(
    task_type=TaskType.CAUSAL_LM,
    inference_mode=False,
    r=finetune_args.lora_rank,
    lora_alpha=32,
    lora_dropout=0.1
)
​
model = get_peft_model(model,peft_config)
dataset = datasets.load_from_disk(finetune_args.dataset_path)
​
trainer = ModifiedTrainer(
    model=model,
    train_dataset=dataset,
    args=training_args,
    callbacks=[TensorBoardCallback(writer)],
    data_collator=data_collator
)
​
trainer.train()
writer.close()
​
model.save_pretrained(training_args.output_dir)

领域大模型训练trick

(1)领域数据训练后,往往通用能力会有所下降,需要混合通用数据缓解模型遗忘通用能力,领域 : 通用数据比例为1 : 5时最优;

(2)仅用SFT(Supervised Fine-Tuning)做领域模型时,资源(资源=数据+显卡)有限就用在chat模型基础上训练,资源充足就在Base模型上训练;

(3)在chat模型上进行SFT时,数据量有限请选择lora微调,不建议采用全量参数训练。

GPT 和 GLM 是基础的语言生成模型(base模型),而 ChatGPT 和 ChatGLM 是它们在对话生成上的定制化版本(chat模型),具有特定任务优化和微调的特点。

知识增强

知识增强大模型:一类结合了大规模预训练模型和领域知识库的模型。

技术实现方法有:知识图谱、检索增强等。

应用于:对话系统、智能搜索引擎等场景。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐