前言
随着多模态大模型技术的发展,利用 OCR(光学字符识别)技术结合数学专用大模型来解决教育场景下的作业辅导问题已成为可能。本文介绍如何整合中科大的 GOT-OCR2.0 模型与阿里通义千问的 Qwen2.5-Math 系列模型,搭建一个本地化的个人 AI 数学老师。
GOT-OCR2.0 负责图像识别,相当于系统的'眼睛',能够精准提取题目中的文本、公式和图表;Qwen2.5-Math 负责逻辑推理与计算,相当于系统的'大脑'。通过两者的协同工作,可以实现对小学、初中及高中各类数学题目的自动解答。
Qwen2.5-Math 大模型介绍
Qwen2.5-Math 是阿里通义千问团队开源的数学垂直领域大模型。该系列包含多个参数规模的版本,包括基础模型 Qwen2.5-Math-1.5B/7B/72B 以及指令微调模型 Qwen2.5-Math-1.5B/7B/72B-Instruct,此外还发布了数学奖励模型 Qwen2.5-Math-RM-72B。
Qwen2.5-Math 与 Qwen2-Math 的区别
相较于上一代 Qwen2-Math 仅支持使用思维链(Chain-of-Thought, CoT)解答英文数学题目,Qwen2.5 系列在以下方面实现了显著升级:
- 双语支持:同时支持中文和英文数学题的解答。
- 推理模式扩展:除了思维链(CoT),还支持工具集成推理(Tool-Integrated Reasoning, TIR)。TIR 允许模型调用 Python 解释器等外部工具进行精确计算,从而解决复杂代数运算或算法问题。
- 性能提升:在 Math 数据集上,Qwen2.5-Math-7B-Instruct 的性能达到 83.6,相比 Qwen2-Math-7B-Instruct 提升了约 8.5 个百分点,接近 Qwen2-Math-72B-Instruct 的水平。
虽然 CoT 能增强 LLM 的推理能力,但在处理高精度计算(如二次方程求根、矩阵特征值计算)时仍面临挑战。引入 TIR 机制后,Qwen2.5-Math-1.5B/7B/72B-Instruct 在 MATH 基准测试中分别取得了 79.7、85.3 和 87.8 的高分。
训练流程与数据规模
Qwen2.5-Math 的训练流程主要包含三个关键步骤:
- 高质量数据合成:利用 Qwen2-Math-72B-Instruct 模型生成更多高质量的数学预训练数据。
- 多源数据召回:从网络资源、专业书籍和代码库中收集大量数学数据,特别加强了中文数学数据的覆盖。
- 参数初始化优化:基于 Qwen2.5 系列基础模型进行初始化,利用其更强的语言理解和代码生成能力。
最终构建了名为 Qwen Math Corpus v2 的预训练数据集,总 Token 数量从 v1 的 700B 增加到超过 1T,上下文长度保持为 4K。
GOT-OCR2.0 模型介绍
GOT-OCR2.0 是由中科大研究学者提出的新一代通用 OCR 理论模型,旨在推动 OCR 技术进入 2.0 时代。其核心特点如下:
- 参数规模:拥有 580M 参数,兼顾效率与效果。
- 模型结构:采用高压缩编码器与长上下文解码器,实现端到端处理。
- 统一性:支持文本、公式、表格、图表、乐谱和几何形状等多种人造光学信号的识别。
- 输入支持:兼容切片和整页等多种文档风格。
- 输出灵活性:可生成纯文本或格式化结果(如 LaTeX/Markdown 格式的公式和表格)。
- 交互性:具备区域级识别功能,可通过坐标引导特定区域的识别。
- 技术适配:整合了动态分辨率和多页 OCR 技术。
实战篇:部署 GOT-OCR2.0+Qwen2.5-Math-7B 大模型
本章节将详细演示如何配置环境、加载模型并封装推理接口,打造个人 AI 数学老师。
配置代码运行环境
首先,需要安装必要的依赖库。建议使用 Python 3.8+ 环境,并确保 CUDA 驱动已正确配置。
pip install torch==2.4.0 transformers accelerate tiktoken==0.7.0 verovio==4.3.1 bitsandbytes


