返回首页

在俄语对话上微调 Mistral 7B

本文描述了在 53.5 亿俄语 token 上微调 Mistral 7B 用于对话摘要。全参数微调优于 LoRA,在 MERA 上取得最佳结果。带有 ML Controller 的架构和在 RTX A6000 上的优化。

俄语 Mistral 7B:微调完整指南和结果
Advertisement 728x90

为俄语微调Mistral 7B:从LoRA到全微调实现对话摘要

Mistral 7B在俄语上表现不佳:存在变格错误、忽略提示以及长对话中意义丢失的问题。AiGenda团队决定微调该模型以自动化会议纪要生成。任务涉及语音识别、说话人识别、主题检测,以及使用最多70亿参数和8192个令牌上下文的LLM进行摘要生成。

架构设计注重可扩展性、安全性和容错性。后端通过RabbitMQ将请求路由到ML服务。ML控制器管理模型并与向量数据库交互以处理嵌入。数据隔离存储,使用S3存储并通过OpenStack API进行会议录制。

ML系统架构

处理流程:界面 → 后端 → RabbitMQ → ML → 响应。ML控制器在Whisper(语音)、pyannote/ResNet34(说话人)、主题嵌入和Mistral(文本)之间分配任务。

Google AdInline article slot

关键组件:

  • RabbitMQ队列:批处理,降低延迟。
  • ML控制器:路由、添加/替换模型。
  • 向量数据库:说话人和文本嵌入。
  • 会议控制器:动态资源用于录制。
  • 监控:Grafana、Sentry。

这确保了灵活性和安全性,无需直接访问模型。

LoRA失败与转向全微调

LoRA平滑了错误,但由于基础模型中俄语数据不足,未能修复弱句子逻辑问题。我们转向了全微调。

Google AdInline article slot

我们编译了一个包含53.5亿个令牌的数据集:文本、对话、指令、机器翻译。在transformers(Hugging Face)上进行训练,并采用优化:

  • 混合精度,bfloat16。
  • 无填充采样器(速度提升10倍)。
  • Flash Attention 2(节省VRAM)。
  • ZeRO-2,卸载到CPU。

两台Nvidia RTX A6000(48 GB)符合预算。日志记录在wandb.ai。

在MERA上评估语言模型

在Ubuntu 20.04、RTX 4090、16个Ice Lake核心、32 GB RAM上测试。微调后的模型在以下方面优于基础Mistral 7B、GigaChat和MTS Chat:

Google AdInline article slot
  • LCS。
  • PARus。
  • SimpleAR。
  • RuHumanEval。
  • ruHH。

实际应用:减少了对话中的错误,在8192个令牌内进行信息提取,幻觉率低。

关键要点:

  • 对于预训练模型中数据有限的语言,全微调至关重要。
  • 优化(Flash Attention、ZeRO-2)使得在消费级硬件上训练70亿参数模型成为可能。
  • MERA是俄语的可靠基准测试。
  • 8192个令牌的上下文足以处理会议对话。
  • 与架构集成确保了生产就绪性。

任务特定微调与Whisper

在对话数据集上进行最终LoRA微调(摘要、行动项、主题)。标注:手动 + GPT-4 API。摘要的BertScore F1 = 0.93。

Whisper在50%以上俄语数据上微调:讲座、会议、访谈。伪标注 + 字典检查(例如,“ETMO” → “ITMO”)。降低了嘈杂会议音频的WER。

未来发展

计划:上下文扩展到128k个令牌,新架构。收集反馈以进行迭代。

— Editorial Team

Advertisement 728x90

继续阅读