核心知识点总结(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参数强制指定设备。
相关推荐
九.九6 小时前
ops-transformer:AI 处理器上的高性能 Transformer 算子库
人工智能·深度学习·transformer
春日见6 小时前
拉取与合并:如何让个人分支既包含你昨天的修改,也包含 develop 最新更新
大数据·人工智能·深度学习·elasticsearch·搜索引擎
恋猫de小郭6 小时前
AI 在提高你工作效率的同时,也一直在增加你的疲惫和焦虑
前端·人工智能·ai编程
deephub6 小时前
Agent Lightning:微软开源的框架无关 Agent 训练方案,LangChain/AutoGen 都能用
人工智能·microsoft·langchain·大语言模型·agent·强化学习
偷吃的耗子7 小时前
【CNN算法理解】:三、AlexNet 训练模块(附代码)
深度学习·算法·cnn
大模型RAG和Agent技术实践7 小时前
从零构建本地AI合同审查系统:架构设计与流式交互实战(完整源代码)
人工智能·交互·智能合同审核
老邋遢7 小时前
第三章-AI知识扫盲看这一篇就够了
人工智能
互联网江湖7 小时前
Seedance2.0炸场:长短视频们“修坝”十年,不如AI放水一天?
人工智能
PythonPioneer7 小时前
在AI技术迅猛发展的今天,传统职业该如何“踏浪前行”?
人工智能
冬奇Lab7 小时前
一天一个开源项目(第20篇):NanoBot - 轻量级AI Agent框架,极简高效的智能体构建工具
人工智能·开源·agent