Skip to content

About

基于 ChatGLM2-6B 的雅思写作微调与本地部署实战

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

🎓 ChatGLM2 IELTS Fine-tuning Project

Python ChatGLM2 Method Status

基于 ChatGLM2-6B 微调的雅思(IELTS)备考助手。本项目旨在探索大语言模型在垂直教育领域的应用潜力,专注于提供更符合雅思评分标准的写作批改与口语模拟。

📖 项目简介 (Introduction)

本项目通过参数高效微调(PEFT)技术,将通用大模型 ChatGLM2 适配到雅思备考场景。解决了通用模型在特定考试规则下“评分不准”、“风格不符”的问题,旨在打造一个低成本、本地化、高隐私的 AI 雅思陪练。

🎯 目标用户 (Target Audience)

  • 雅思备考学生:需要高质量、即时的口语陪练和作文批改,但预算有限或希望保护隐私(如口语录音不上传云端)的考生。
  • NLP 开发者/研究者:探索在消费级显卡上进行垂直领域 LLM 微调与落地流程的同行。

💡 工程复盘与核心思考 (Engineering Insights)

⚠️ 核心价值说明:本部分记录了项目开发过程中的技术决策、遇到的困难及解决方案,展示了从 Demo 到落地的工程思维。

1. 模型效果评估 (Evaluation)

  • 现状:基座模型具有优秀的通用对话能力,但在雅思“Task Response”和“Coherence”评分维度上较为模糊。
  • 评估方法:
    • 定性评估:构建包含 1500 篇不同分数段(5.0 - 8.0)的真题范文测试集,人工对比模型评分与考官真实评分的差异。
    • 定量评估 (LLM-as-a-Judge):引入 Gemini 作为 Referee,计算微调后模型输出的评语与标准评语的语义相似度,以及打分误差率(MSE)。

2. 挑战与解决方案 (Challenges & Solutions)

挑战分类 具体痛点 解决方案
算力瓶颈 只有消费级显卡(如 RTX 30/40系列),无法进行全参数微调。 采用 INT4 量化 加载模型,配合 P-Tuning v2 或 LoRA 技术,将显存需求控制在 6GB-10GB 之间。
数据质量 开源雅思数据杂乱,大量范文缺乏准确的分数标注,且格式不统一。 开发数据清洗脚本(正则去噪);利用 GPT-4 生成高质量的“合成数据”作为微调的 Seed Data,构建标准 JSONL 格式。
幻觉问题 模型偶尔会捏造不存在的雅思评分细则,或在口语模拟中自行结束话题。 在 Prompt 中引入 CoT (思维链) 引导;在微调数据中强化“基于规则引用”的回答模式;通过 System Prompt 强制约束角色边界。

3. 技术路线探讨:微调是最优解吗?

结论:仅靠微调(SFT)不是最优解,它更多是调整模型的“说话语气”而非“注入知识”。

  • 当前方案:ChatGLM2 + LoRA 微调。
  • 存在局限:模型对于最新的雅思题库(如当季口语题卡)缺乏实时知识,且长逻辑推理能力在参数量限制下有天花板。
  • 改进方向 (Next Step):
    • RAG (检索增强生成):外挂《剑桥雅思》真题库和评分标准文档,解决知识时效性和准确性问题。
    • RLHF (人类反馈强化学习):构建 Reward Model,基于真实考生的偏好(点赞/修改建议)进行对齐训练,使模型反馈更像真实考官。

4. 产品化难点分析 (Production Bottlenecks)

若将本项目转化为长期可用的商业/开源产品,面临以下核心难点:

  1. 推理延迟与成本:口语陪练对延迟极度敏感。本地部署用户门槛高,云端部署 GPU 成本高昂(Token 经济模型需优化)。
  2. 语音交互链路:目前的 STT (Whisper) -> LLM -> TTS 链路中,语音转文字的准确率受口音影响大,且全链路延迟难以控制在 500ms 以内(这是流畅对话的阈值)。
  3. 长上下文记忆:雅思口语 Part 3 需要结合 Part 1/2 的内容,长窗口下的记忆丢失会导致体验下降。

🚀 快速开始 (Quick Start)

1. 环境准备

git clone [https://github.com/richardoo-707/ChatGLM2-IELTS-Finetune.git](https://github.com/richardoo-707/ChatGLM2-IELTS-Finetune.git)
cd ChatGLM2-IELTS-Finetune
pip install -r requirements.txt

About

基于 ChatGLM2-6B 的雅思写作微调与本地部署实战

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages