GLM-OCR微调完全教程:LoRA微调单卡8GB显存即可跑起来

GLM-OCR微调完全教程:LoRA微调单卡8GB显存即可跑起来 GLM-OCR微调完全教程LoRA微调单卡8GB显存即可跑起来【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCRGLM-OCR 是一款精准 × 快速 × 全面的开源 OCR 模型仅 0.9B 参数却覆盖文本、表格、公式三大识别任务。本教程带你用LLaMA-Factory 对 GLM-OCR 进行 LoRA 微调8GB 显存的单卡甚至消费级显卡就能完整跑通安装 → 备数据 → 配参数 → 启动训练 → 合并权重全流程快速让模型适应你的专属场景手写体、化学式、行业文档……。 官方已内置最小可用的微调教程与示例配置examples/finetune/README_zh.md本文与其保持一致。为什么选 LoRA微调方式与显存需求一览GLM-OCR 是 0.9B 参数的轻量模型微调门槛远低于常见多模态大模型微调方式单卡显存需求适用场景LoRA 微调≥ 8 GB数据量适中、想快速做领域适配推荐新手全参微调≥ 24 GB数据充足、算力充裕追求极致效果LoRA 只训练低秩适配矩阵不改动原模型权重所以显存占用低、训练速度快想要更大 batch 或更长序列时还可以叠加 DeepSpeed ZeRO-2/3 多卡扩展。两种方式的官方示例配置都已放在仓库里可直接参考修改LoRA 配置glm_ocr_lora_sft.yaml全参配置glm_ocr_full_sft.yaml一键安装 LLaMA-Factory三步完成环境搭建GLM-OCR 的微调基于 LLaMA-Factory 框架安装只需三步git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git cd LLaMA-Factory pip install -e . pip install -r requirements/metrics.txt⚠️最容易踩的坑LLaMA-Factory 默认依赖的 transformers 版本暂不支持 GLM-OCR安装完成后务必手动升级pip install --upgrade transformers用llamafactory-cli version能正常输出版本号说明安装成功。获取 GLM-OCR 模型两行命令下载权重从 HuggingFace 或 ModelScope 任选其一下载# 方式 AHuggingFace hf download zai-org/GLM-OCR --local-dir /path/to/GLM-OCR # 方式 BModelScope modelscope download --model ZhipuAI/GLM-OCR --local_dir /path/to/GLM-OCR小技巧此步骤可以跳过。直接在训练配置里写model_name_or_path: zai-org/GLM-OCR训练启动时会自动拉取模型权重。准备数据集ShareGPT 格式与 Prompt 技巧数据格式多模态 SFT 用 ShareGPT每条样本由对话消息 图片路径组成官方示例数据集长这样仓库自带cosyn_chemical化学式数据集可直接照抄{ messages: [ { role: user, content: imageCode Generation: }, { role: assistant, content: rdkit\nC1CCCCC1\n } ], images: [cosyn_chemical/example.png] }三条硬性规则文本中每个image标记对应images列表中的一张图数量必须严格一致图片路径相对于LLaMA-Factory 的data/目录role只能是user或assistant。放置与注册数据集把 JSON 文件和图片文件夹放进data/目录然后在data/dataset_info.json中注册cosyn_chemical: { file_name: cosyn_chemical.json, formatting: sharegpt, columns: { messages: messages, images: images }, tags: { role_tag: role, content_tag: content, user_tag: user, assistant_tag: assistant } }示例数据文件可参考examples/finetune/cosyn_chemical.json图片位于 examples/finetune/cosyn_chemical/。Prompt 设置想强化哪种任务就写哪种GLM-OCR 预定义了三种识别任务及其 Prompt任务Prompt文本识别Text Recognition:表格识别Table Recognition:公式识别Formula Recognition:强化已有任务保持 Prompt 与预定义一致图片放前面例如imageText Recognition:训练新任务如官方的化学式生成自定义 Prompt 即可官方示例用的就是imageCode Generation:。配置 LoRA 训练参数8GB 显存的关键设置打开 glm_ocr_lora_sft.yaml核心就这几组参数参数示例值说明finetuning_typelora切换为 LoRA 模式lora_rank8LoRA 秩越大容量越强、显存越高建议 8lora_targetall作用于所有线性层templateglm_ocr必须设为 glm_ocrlearning_rate1.0e-4LoRA 建议 1e-4全参建议 1e-5per_device_train_batch_size4显存吃紧就调小用gradient_accumulation_steps补偿bf16true开启 BFloat16 混合精度省显存 全参微调额外需要freeze_vision_tower: true冻结 CogViT 视觉编码器和freeze_multi_modal_projector: true只训练语言模型部分可将显存压到 24GB 左右。启动训练一条命令开跑单卡 LoRA 训练8GB 显存即可DISABLE_VERSION_CHECK1 CUDA_VISIBLE_DEVICES0 \ llamafactory-cli train path/to/glm_ocr_lora_sft.yaml多卡扩展如 8 卡DISABLE_VERSION_CHECK1 FORCE_TORCHRUN1 NNODES1 NPROC_PER_NODE8 \ llamafactory-cli train path/to/glm_ocr_lora_sft.yaml用CUDA_VISIBLE_DEVICES控制使用哪几张卡把命令中的path/to/...yaml换成你的配置文件实际路径训练结束后 checkpoint 自动保存到配置里的output_dir。训练完成后如何合并 LoRA 权重LoRA 训练产物是适配器文件想部署成一个完整模型用 export 命令合并即可llamafactory-cli export \ --model_name_or_path zai-org/GLM-OCR \ --adapter_name_or_path saves/glm-ocr/lora/sft \ --template glm_ocr \ --export_dir saves/glm-ocr/lora/sft/merged \ --trust_remote_code true合并后的模型目录可直接替换原模型路径用于推理部署。常见问题 FAQQ到底需要多少显存LoRA 微调 8GB 单卡就能跑全参微调约 24GB。更大 batch / 更长序列可上 DeepSpeed ZeRO-2/3。Q能用自己的 OCR 数据集吗可以。按 ShareGPT 格式整理 → 在dataset_info.json注册 → 修改 YAML 中的dataset字段即可。Q全参微调和 LoRA 怎么选LoRA 训练快、显存低适合数据量适中的领域适配数据充足且算力充裕时全参效果通常更好。写在最后回顾一下 GLM-OCR LoRA 微调的完整路线升级 transformers → ShareGPT 格式备数据 → 配置 lora_rank8 → 单条命令开训 → export 合并权重。得益于 0.9B 的轻量身材消费级显卡就能开始 OCR 模型微调实验。完整图文教程见 examples/finetune/README_zh.md动手试试吧 【免费下载链接】GLM-OCRGLM-OCR: Accurate × Fast × Comprehensive项目地址: https://gitcode.com/GitHub_Trending/gl/GLM-OCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考