当前位置: 首页 > news >正文

CANN-昇腾NPU-持续预训练-怎么用领域数据继续训练

基座模型用通用语料训练网页、书籍、代码但你的业务数据可能是医疗、法律、金融——领域词不在词表里模型答不准。持续预训练Continued Pre-Training用领域数据继续训练基座模型扩展词表和专业能力。持续预训练 vs 微调维度持续预训练微调SFT/LoRA数据量10M-1B tokens10K-1M tokens训练目标MLM/CLM无监督指令跟随有监督词表可扩展不扩展训练时间数天到数周数小时到数天效果领域知识内化指令跟随能力持续预训练是给模型补知识微调是教模型怎么用知识回答问题。数据准备领域数据需要跟预训练数据同分布纯文本无指令格式# 错误带指令格式这是 SFT 数据{instruction:解释心绞痛,input:,output:...}# 正确纯文本跟预训练一样{text:心绞痛是由于冠状动脉供血不足引起的胸痛...\n\n病理机制...}数据量建议领域最小数据量推荐数据量医疗100M tokens1B tokens法律50M tokens500M tokens金融50M tokens500M tokens代码100M tokens2B tokens训练配置fromtransformersimportTrainer,TrainingArguments training_argsTrainingArguments(per_device_train_batch_size4,gradient_accumulation_steps32,# 有效 batch 4×32 128max_seq_len4096,learning_rate1e-5,# 持续预训练用较小的 LRweight_decay0.01,num_train_epochs3,# 领域数据少的话 1-2 轮就够了save_steps1000,fp16False,bf16True,# 昇腾NPU 推荐 bf16deepspeedds_config_zero3.json,# ZeRO-3 节省显存...)trainerTrainer(modelmodel,argstraining_args,train_datasetdataset)trainer.train()学习率关键持续预训练的 LR 应该比预训练小 10-100×。预训练 LR 通常是 1e-4 到 3e-4持续预训练用 1e-5 到 3e-5。词表扩展领域专有词如医疗的阿司匹林肠溶片被拆成多个 subword模型难以理解。扩展词表fromsentencepieceimportSentencePieceTrainer# 1. 在领域数据上训练新词表SentencePieceTrainer.train(inputdomain_corpus.txt,model_prefixdomain_bpe,vocab_size5000,# 扩展 5000 个新词model_typebpe,)# 2. 扩展模型词表model.resize_token_embeddings(old_vocab_size5000,pad_to_multiple_of64,# 对齐到 64Cube 要求)扩展后的新词 embedding 用旧词 embedding 的平均值初始化然后在持续预训练中更新。防止灾难性遗忘持续预训练容易让模型忘记通用能力。解决方案方案 1混合通用数据# 90% 领域数据 10% 通用数据mixed_datasetconcatenate_datasets([domain_dataset.shuffle().select(range(int(0.9*len(domain_dataset)))),general_dataset.shuffle().select(range(int(0.1*len(domain_dataset))),])方案 2较小的学习率LR1e-5 比 LR1e-4 的遗忘少 30-50%。方案 3LoRA 持续预训练# 只用 LoRA 更新参数原模型冻结modelget_peft_model(model,lora_config)# 持续预训练时只更新 LoRA 参数原模型参数不变不会遗忘。昇腾NPU 上的加速持续预训练数据量大10M-1B tokens需要分布式训练# 8 卡 Atlas 800I A2training_argsTrainingArguments(...,deepspeedds_config_zero3.json,# ZeRO-3tf32True,# 昇腾NPU 支持 TF32等价 fp32 精度fp16 速度)ZeRO-3 把优化器状态、梯度、参数都分片到各卡8 卡Llama2-7B 无 ZeRO: 每卡显存 76GBOOM ZeRO-1: 每卡显存 42GB ZeRO-2: 每卡显存 28GB ZeRO-3: 每卡显存 18GB ← 8 卡都能跑效果评估持续预训练后在领域任务和通用任务上分别评估# 领域任务医疗问答domain_scoreevaluate(model,medical_qa_dataset)# 通用任务MMLUgeneral_scoreevaluate(model,mmlu_dataset)print(f领域得分:{domain_score:.1f}(原模型: 45.2))print(f通用得分:{general_score:.1f}(原模型: 78.5))好的持续预训练领域得分提升 10-30%通用得分下降 ❤️%。持续预训练是给基座模型补知识的重要手段。关键是数据质量跟预训练同分布、学习率小一点、防止遗忘混合通用数据。在昇腾NPU上用 ZeRO-3 做分布式训练8 卡能跑 7B 模型。仓库在这里https://atomgit.com/cann/torch_npu
http://www.gsyq.cn/news/1360998.html

相关文章:

  • AI动态简报之技术前沿篇(2026.05.23)
  • 利用Taotoken CLI工具一键配置多开发环境与团队协作
  • UE5 Layouts配置文件:UI跨端适配的隐形骨架
  • AI安全工程师能力模型重构:从规则执行到意图治理
  • Unity 2022工程实践避坑指南:AssetBundle、URP与Job System深度解析
  • 2026年小红书去水印保存图片怎么操作?实测这2款小程序秒级搞定,完全免费! - 科技热点发布
  • 2026年抖音去水印软件推荐,实测这两款微信小程序免费又好用 - 科技热点发布
  • GPT-4的1.8万亿参数与2%稀疏激活:MoE架构的工程真相
  • 【无人机通信】无线通信网络中无人机UAV定位与带宽分配的优化算法在确保地面用户服务质量QoS约束的同时,最大化网络吞吐量附matlab代码
  • 牛牛走迷宫【牛客tracker 每日一题】
  • 《Java语言实践》课程设计——个人健康财务助手
  • 单曲循环
  • MATLAB改进的前推回代法求解低压配电网潮流附Matlab代码
  • AI工作站选型核心:数据流协同与硬件匹配逻辑
  • AI技术落地情报简报:面向执行层的模型选型与Prompt工程实战
  • 美国联邦AI资助逻辑:问题驱动型资金如何塑造技术路线
  • AI技术解析的底线:只拆解真实可验证的项目
  • 2026年抖音去水印工具实测排行榜:这5个方法最好用,第一名免费且秒出结果 - 科技热点发布
  • Go从零手写神经网络:纯标准库实现全连接BP网络
  • AI肖像生成的技术边界与伦理挑战
  • 大模型MoE架构揭秘:参数量≠实际计算量
  • AI Agent Runtime 正在 commoditize:从沙箱到策略的价值迁移
  • Mythos模型:AI原生攻防时代的零日漏洞自动化引擎
  • RL调度+知识图谱+模块化Agent:构建确定性AI系统架构
  • 在Hermes Agent中自定义Provider并接入Taotoken大模型服务的完整步骤
  • 生产级机器学习服务架构:FastAPI+Triton工程实践
  • Mythos门控模型:可编程AI能力与可信推理架构
  • 激活函数、损失函数与优化算法:神经网络三大核心组件协同原理
  • 2026年阿里云OpenClaw/Hermes Agent配置Token Plan怎么部署看这
  • DownKyi专业指南:一站式解决B站8K超高清视频下载需求