核心知识点总结(BERT-tiny 微调 + 推理全流程)

一、模型微调核心要点

  1. 环境与依赖

    • 训练报错多与依赖版本兼容相关(如accelerate版本过低导致Accelerator参数错误、NumPy版本不兼容导致张量转换失败),需保证transformers(4.37.2)、accelerate(0.25.0)、NumPy(1.26.4)版本匹配。
    • 显存残留问题可通过「杀进程(taskkill/kill)、清空 CUDA 缓存(torch.cuda.empty_cache())、重启驱动」解决,训练代码中建议加异常捕获 + 显存清理逻辑。
  2. 数据与训练流程

    • GLUE/SST2 数据集默认缓存路径(Windows):C:\Users\<用户名>\.cache\huggingface\datasets,可通过cache_dir参数自定义路径,下载后重复加载会读取缓存。
    • 微调核心步骤:加载数据集→预处理(分词 / 截断 / 补全)→定义评估指标(准确率)→配置训练参数(批次大小、学习率、轮数等)→Trainer封装训练,最终验证集准确率 80.05%(bert-tiny 小模型正常水平)。
二、模型推理核心要点
  1. 基础推理

    • 推理前必须切换模型到eval()模式(禁用训练层),并加torch.no_grad()(禁用梯度计算,节省显存 / 提升速度)。
    • 单条推理流程:文本→分词器编码(转 PyTorch 张量)→模型推理→torch.argmax()解析 logits 得到分类结果(0 = 负面 / 1 = 正面)。
  2. 批量推理

    • 支持一次性输入多文本(如 10 个),分词器直接接收文本列表批量编码,模型一次性输出结果,效率远高于单条推理,批量大小需适配 GPU 显存。
三、文件与路径关键规则
  1. 数据集与模型文件

    • 微调后模型保存:trainer.save_model()仅保存模型权重 / 配置,必须单独用tokenizer.save_pretrained()保存分词器文件vocab.txt/tokenizer_config.json),否则推理时会因缺少分词器文件报错。
    • 完整模型目录需包含:config.json(模型结构)、model.safetensors(权重)、vocab.txt(分词器词汇表),缺一不可。
  2. 路径与缓存

    • 数据集缓存可通过代码dataset["train"].cache_files[0]["filename"]快速定位,模型 / 分词器加载路径需与保存路径完全一致。
四、新手避坑核心原则
  1. 训练 / 推理时的「必加操作」:model.eval()torch.no_grad()、分词器truncation=True/padding="max_length"(保证文本长度统一)。
  2. 保存规范:训练完成后模型 + 分词器需保存在同一目录,才能保证推理时AutoTokenizer/AutoModel正常加载。
  3. 设备适配:代码默认优先用 CUDA 训练 / 推理,可通过torch.cuda.is_available()验证 GPU 是否可用,或在TrainingArguments中用device参数强制指定设备。
相关推荐
思绪无限4 分钟前
YOLOv5至YOLOv12升级:木材表面缺陷检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·深度学习·目标检测·计算机视觉·木材表面缺陷检测
kishu_iOS&AI5 分钟前
深度学习 —— 损失函数
人工智能·pytorch·python·深度学习·线性回归
好运的阿财8 分钟前
OpenClaw工具拆解之canvas+message
人工智能·python·ai编程·openclaw·openclaw工具
TechubNews13 分钟前
新火集团首席经济学家付鹏演讲——2026 年是 Crypto 加入到 FICC 资产配置框架元年
大数据·人工智能
蒸汽求职1 小时前
跨越 CRUD 内卷:半导体产业链与算力基建下的软件工程新生态
人工智能·科技·面试·职场和发展·软件工程·制造
DeepModel1 小时前
通俗易懂讲透 Q-Learning:从零学会强化学习核心算法
人工智能·学习·算法·机器学习
聊点儿技术1 小时前
LLM数据采集如何突破AI反爬?——用IP数据接口实现进阶
人工智能·数据分析·产品运营·ip·电商·ip地址查询·ip数据接口
小兵张健1 小时前
一场大概率没拿到 offer 的面试,让我更坚定去做喜欢的事
人工智能·面试·程序员
2501_940041741 小时前
AI创建小游戏指令词
人工智能·游戏·prompt
AC赳赳老秦1 小时前
OpenClaw二次开发实战:编写专属办公自动化技能,适配个性化需求
linux·javascript·人工智能·python·django·测试用例·openclaw