AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


微调框架Llama-factory和Unsloth:应该选择哪个?
发布日期:2024-09-12 14:41:30 浏览次数: 1646


大模型(如GPT系列和Meta-Llama系列)在自然语言处理方面表现出色,但要实现最佳效果,仍需通过精细化处理。提示词工程、微调和RAG增强检索是三种关键技术,帮助提升大模型的应用性能。

提示词工程,通过设计精准的输入提示,引导模型生成符合预期的输出。就像教孩子识别苹果一样,单一描述往往不够,需要通过多样化的例子提供上下文,让孩子更好理解。同样,提示词工程通过上下文示例让模型理解并生成更准确的回应。

RAG增强检索,则用于弥补大模型知识局限的问题,将模型与外部知识库连接,使其在生成回答时可以检索到相关信息,确保在未知领域也能提供准确答案。微调则是对模型的定制训练,使其在特定领域的任务中表现更优,类似于演员为特定角色做排练训练。

微调将大模型比作一位多才多艺的演员,他可以扮演各种角色。但是,要想让演员完美诠释一个特定角色,需要进行针对性的训练和排练。微调的过程类似于演员的排练过程。它利用特定领域的数据对大模型进行进一步训练,使其更擅长处理该领域的任務。例如,将大模型用于医学诊断,就需要使用医疗文本数据进行微调,使其能够理解医学术语并做出准确的诊断。

今天我们重点来介绍一下微调框架的选择:

  • 微调的重要性:解锁模型潜能

  • 如何选择大模型微调框架


微调的重要性:解锁模型潜能

微调是将预训练模型适应特定下游任务的过程。它类似于一个已经接受过良好教育的学生学习新技能,比如演奏乐器或学习一门外语。 

预训练模型就像那个已经接受过良好教育的学生,他们已经掌握了大量的知识和能力,例如理解语言、识别图像等。但是,要想在特定的任务上表现出色,还需要针对性的训练。

举个例子,假设有一个预训练的语言模型,它能够理解文本并生成文字。如果我们想用这个模型来进行情感分析,就需要对它进行微调。具体来说,我们需要提供大量的带标签数据,例如评论文本和它们的情绪标签(正面、负面或中性)。通过在这些数据上训练,模型就能学习到识别不同情绪的特征,从而提高情感分析的准确率。

微调的好处在于:

  • 节省时间和资源:与从头开始训练模型相比,微调只需要较少的训练数据和计算资源,能够显著缩短模型开发周期。

  • 提升性能: 微调可以帮助模型更好地适应特定任务,从而提高模型的性能和准确率。

因此,微调是将预训练模型应用于实际场景的重要手段,它能够有效地提高模型的性能,并降低模型开发成本。

如何选择大模型微调框架

LLaMA-Factory 

支持多种先进的微调算法和模型,包括但不限于:多种模型:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。

在应用领域有广泛的社区支持,从任何搜索引擎都可以找到大把的入门和学习资料。

可以基于图形的WEBUI界面或通过命令行两种方式来进行大模型的微调,非常方便,我们所要关注的就是对参数进行不断探索和调整。如下图所示,是一个典型的操作界面:

Unsloth:

UNSLOTH 这个易用微调框架让任何即使没有算法经验的人,在简单了解大模型基础之后,也能轻松微调主流大模型,开启你的 AI 应用之旅。

方网站提供丰富示例: 你可以参考各种模型的使用案例,只需稍微调整参数即可完成微调过程。https://github.com/unslothai/unsloth,如下图所示:

同样支持绝大多数主流大模型:在 HUGGING FACE 上搜索 UNSLOTH,即可找到对 Llama、mistral、国内大模型等主流大模型的全面支持,如下图所示:

也有大量的主流社区提供支持。

LLAMA-FACTORY vs. UNSLOTH: 微调速度的对比

最近,我分别使用了LLAMA-FACTORYUNSLOTH对一个大型语言模型进行了微调。在微调过程中,UNSLOTH的微调速度给我留下了深刻的印象。本文将简要介绍这两个框架,并重点对比它们在微调速度上的差异,以帮助大家更好地理解和选择合适的工具。

微调业务背景及数据说明:

为了提升模型将现代汉语翻译为古文的能力,我使用了一份包含中国古代所有古文与现代文对照的数据集。经过数据预处理,最终的数据集包含约1140万条对照记录,示例如下:

[{"instruction": "请把现代汉语翻译成古文","input": "世界及其所产生的一切现象,都是来源于物质。","output": "天地与其所产焉,物也。"},{"instruction": "请把现代汉语翻译成古文","input": "以概念来称谓事物而不超过事物的实际范围,只是概念的外延。","output": "物以物其所物而不过焉,实也。"}]

实测结果对比:

由于4090计算资源有限,针对两种不同的微调工具进行了实际测试。具体情况如下:

  • 微调设置

    • Llama - factory:

      • 数据量:约2万条

      • 调步长:2940    

    • unsloth:

      • 数据量:约45万条(考虑其对GPU加速的支持)

      • 微调步长:3000

   

  • 耗时对比

    • llama-factory:

      • 预测时间:3.5小时


      • 实际时间:5小时

    • unsloth:

      • 预测时间:约37分钟

      • 实际时间:约37分钟

从对比的结果来看,Unsloth 在数据量大幅增加的情况下,实际耗时与预测几乎一致,耗时仅为37分钟,且相较于Llama - factory的速度快了约10倍。这意味着,Unsloth 对GPU的加速效果显著,能大幅提升微调速度。

总结 

测试表明,UNSLOTH和LLAMA-FACTORY在社区支持、模型种类和易用性上相近,但UNSLOTH在微调速度上表现突出。尽管处理的数据量是LLAMA-FACTORY的20倍,UNSLOTH的速度仍快约10倍,极大优化了时间成本,尤其在大规模数据处理中的效率优势显著。




53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询