260401日志

attention_mask是因为padding产生的

静态填充和动态填充优缺点:批次大小固定,训练过程稳定,易于分布式训练,静态优点计算图固定,可能获得更好的硬件加速,缺点存在大量无效计算(填充部分),显存利用率低,长序列样本可能丢失重要信息,;动态填充优点提高计算效率,显存占用降低约 30%,保留更多序列信息,尤其适合短文本占比高的数据集,适合训练阶段,提升整体训练速度,推理阶段需要额外处理,不适合批量预测,批次长度不固定,分布式训练配置更复杂

分布式训练:多卡训练

目前主流分词工具:Hugging Face Transformers Tokenizer

Hugging Face transformers 库原生支持 SentencePiece 模型

Hugging Face SentencePieceTokenizer和sentencepiece区别:底层一样,少写代码

Hugging Face transformers 库在新版本中彻底移除了 SentencePieceTokenizer 这个独立类,所有基于 SentencePiece 的分词器统一通过 AutoTokenizer 自动加载

使用 AutoTokenizer 自动适配(所有基于 SentencePiece 的模型都支持)

之前了解的主流分词器格式tokenizer.json

查看电脑的cuda版本:PowerShell(Windows) nvidia-smi

是不是越高版本的cuda计算速度越快:在驱动、显卡、深度学习框架(PyTorch/TensorFlow)全都完美兼容的前提下:更高版本的 CUDA 通常会更快,至少不会更慢

AlbertTokenizer配置sentencepiece训练的model:

python 复制代码
from transformers import AlbertTokenizer

# 核心写法:直接初始化,加载本地SentencePiece模型 + 手动配置特殊令牌
tokenizer = AlbertTokenizer(
    vocab_file="mymodel.model",  # 你的本地分词模型文件
    do_lower_case=True,         # 根据你的模型选择是否小写(中文可忽略)
    # 手动指定Albert必需的特殊令牌,修复special_tokens错误
    bos_token="[CLS]",
    eos_token="[SEP]",
    unk_token="[UNK]",
    pad_token="[PAD]",
    mask_token="[MASK]"
)

# 测试分词
text = "你好,这是测试文本"
inputs = tokenizer(text, return_tensors="pt")
print(inputs)

sentencepiece训练出的model示例:

显示的是 score(分数)而不是"词频"或"ID"异常;负数是因为log probability(对数概率)或类似评分;整数是因为是打印时被截断/近似了

相关推荐
结构化知识课堂9 分钟前
AI产品经理入门实战:如何理解计算机视觉?
人工智能·计算机视觉·产品经理·ai产品经理·ai产品设计
我没胡说八道11 分钟前
2026论文工具选购指南:降重、降AI率、排版一站式筛选
人工智能·经验分享·深度学习·考研·aigc·学习方法
初心未改HD14 分钟前
深度学习之MLP与反向传播算法详解
人工智能·深度学习·算法
刀法如飞15 分钟前
【Go 字符串查找的 20 种实现方式,用不同思路解决问题】
人工智能·算法·go
阿正的梦工坊26 分钟前
ALiBi:让大语言模型“免训练“外推到更长序列的位置编码方法
人工智能·语言模型·自然语言处理
极客老王说Agent37 分钟前
2026供应链革命:实在Agent货物智能入库智能助理使用方法与库位优化全指南
人工智能·ai
沪漂阿龙38 分钟前
面试题:训练-蒸馏详解——知识蒸馏、Teacher-Student、强弱蒸馏、Qwen3 强到弱蒸馏流程全解析
人工智能·深度学习·机器学习
凌波粒1 小时前
什么是 MCP(模型上下文协议)
人工智能·网络协议·aigc
txg6661 小时前
HgtJIT:基于异构图 Transformer 的即时漏洞检测框架
人工智能·深度学习·安全·transformer