全面对比GPT-3.5与LLaMA 2微调

这篇具有很好参考价值的文章主要介绍了全面对比GPT-3.5与LLaMA 2微调。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

全面对比GPT-3.5与LLaMA 2微调,前沿技术,gpt-3,llama

通用大模型虽好,但通过微调得到一个专属大模型不仅可以提高模型的可操控性、输出格式的可靠性和语气的一致性,还能让用户缩短提示长度,加速API调用,降低成本。

本文作者Sam L'Huillier对GPT-3.5与LLaMA 2的微调进行了基准测试,以验证手动微调的模型能否以较低的成本接近GPT-3.5的性能水平,从而帮助用户在各类任务中选择最佳微调模型。

本文作者是微调实践者Sam L'Huillier。Sam毕业于伦敦帝国理工学院,曾是Brev.dev的创始工程师,致力于构建GPU云。

(本文由OneFlow编译发布,转载请联系授权。原文:https://ragntune.com/blog/gpt3.5-vs-llama2-finetuning)

作者 | Sam L'Huillier

OneFlow编译

翻译|杨婷、宛子琳

本文中,我将分享在SQL任务和函数表示任务中,对GPT-3.5与LLaMA 2的微调进行基准测试的实验。总体而言:

  • GPT-3.5在SQL任务(https://github.com/samlhuillier/spider-sql-finetune)和函数表示(https://github.com/samlhuillier/viggo-finetune)任务中的表现都略优于用LoRA微调的CodeLLaMA-34B(我发现的效果最好的模型)。

  • GPT-3.5的训练成本要高出4-6倍(部署成本甚至更高)。

为什么要做这个对比?因为GPT-3.5的微调十分昂贵,我想通过实验来验证,手动微调的模型能否以较低的成本接近GPT-3.5的性能水平。有趣的是,手动微调的模型性能确实更接近GPT-3.5!

1

实验结果

全面对比GPT-3.5与LLaMA 2微调,前沿技术,gpt-3,llama

CodeLLaMA-34B和训练至收敛的GPT-3.5模型在SQL任务和函数表示任务中的表现。GPT-3.5在这两个任务上的准确性都要略优于CodeLLaMA-34B。在让模型生成SQL查询时,我也使用了执行准确性作为指标以比较在虚拟数据库上执行查询的输出。(精确匹配准确性是字符级比较。)

训练成本

全面对比GPT-3.5与LLaMA 2微调,前沿技术,gpt-3,llama

供参考:我在去中心化GPU市场vast.ai上使用了一块价格为0.475美元/每小时的A40 GPU。(因为CodeLLaMA-34B量化为int 8后占用的GPU内存略大于40GB,所以无法使用40GB的A100GPU)

2

实验设置

我使用了Spider数据集和Viggo函数表示数据集的子集。这些数据集非常适合微调:

  • 它们可以教导模型给出人们所期望的输出形式,而不是事实。SQL和函数表示任务都在寻求结构化输出。(这是Anyscale的建议。)

  • 在开箱即用的情况下,预训练模型在这两项任务上表现不佳。

关于GPT-3.5的微调,OpenAI只允许配置epoch数量。为了与OpenAI公平比较,我在LLaMA上进行了最小程度的超参数调优,允许OpenAI选择epoch数量,并在评估集上训练LLaMA直到收敛。

LLaMA架构

使用CodeLLaMA-34B和LoRA进行微调(而非全参数微调)是我的两个关键决策。

  • OpenAI很可能会做一些适配器或非全参数微调。(他们不可能同时管理和冷启动多个具有175B参数的模型。如了解相关信息请与我联系。)

  • Anyscale的另一篇博文指出,在SQL和函数表示等任务中,LoRA几乎可以媲美全参数微调。(https://www.anyscale.com/blog/fine-tuning-llms-lora-or-full-parameter-an-in-depth-analysis-with-llama-2

我基本遵循了LoRA超参数设置。LoRA适配器配置如下:

config = LoraConfig(
    r=8,
    lora_alpha=16,
     target_modules=[
     "q_proj",
     "k_proj",
     "v_proj",
     "o_proj",
 ],
    lora_dropout=0.05,
    bias="none",
    task_type="CAUSAL_LM",
)

在实验中,我尝试将适配器应用于所有线性层(就像Qlora论文所建议的那样),但结果显示,这对性能的提升很少。同样地,将r增加到16并不会带来显著的性能提升,只会消耗更多计算资源。

数据集

其中一个示例的SQL提示为:

You are a powerful text-to-SQL model. Your job is to answer questions about a database. You are given a question and context regarding one or more tables.


You must output the SQL query that answers the question.
### Input:
Which Class has a Frequency MHz larger than 91.5, and a City of license of hyannis, nebraska?


### Context:
CREATE TABLE table_name_12 (class VARCHAR, frequency_mhz VARCHAR, city_of_license VARCHAR)


### Response:

相比完整的Spider数据集,该数据集的数据库模式(schema)如下:

department : Department_ID [ INT ] primary_key Name [ TEXT ] Creation [ TEXT ] Ranking [ INT ] Budget_in_Billions [ INT ] Num_Employees [ INT ] head : head_ID [ INT ] primary_key name [ TEXT ] born_state [ TEXT ] age [ INT ] management : department_ID [ INT ] primary_key management.department_ID = department.Department_ID head_ID [ INT ] management.head_ID = head.head_ID temporary_acting [ TEXT ]

我使用了sql-create-context数据集与Spider数据集的交集。因此,给模型的上下文是一个类似的SQL创建命令:

CREATE TABLE table_name_12 (class VARCHAR, frequency_mhz VARCHAR, city_of_license VARCHAR)

(这样做完全是为了节省OpenAI词元数)

函数表示的提示示例如下:

Given a target sentence construct the underlying meaning representation of the input sentence as a single function with attributes and attribute values.
This function should describe the target string accurately and the function must be one of the following ['inform', 'request', 'give_opinion', 'confirm', 'verify_attribute', 'suggest', 'request_explanation', 'recommend', 'request_attribute'].
The attributes must be one of the following: ['name', 'exp_release_date', 'release_year', 'developer', 'esrb', 'rating', 'genres', 'player_perspective', 'has_multiplayer', 'platforms', 'available_on_steam', 'has_linux_release', 'has_mac_release', 'specifier']


### Target sentence:
I remember you saying you found Little Big Adventure to be average. Are you not usually that into single-player games on PlayStation?


### Meaning representation:

输出将为:

verify_attribute(name[Little Big Adventure], rating[average], has_multiplayer[no], platforms[PlayStation])

评估

两个模型都迅速收敛了。

全面对比GPT-3.5与LLaMA 2微调,前沿技术,gpt-3,llama

图表展示了训练过程中模型在评估数据集上的损失。SQL(左图)在一段时间后开始出现过拟合。

对于SQL任务,我还使用了spider eval repo来计算SQL查询的执行准确率。该存储库设置了虚拟数据库,并将查询结果与GPT-3.5和LLaMA 2的查询输出进行了比较。

3

结论

本次实验表明,对于初步验证/最小可行产品(MVP)来说,微调GPT-3.5是一个不错的选择,但在其他方面,LLaMA 2等模型才是最佳选择。

为什么要对GPT-3.5进行微调?

  • 想要验证微调是否为解决特定任务/数据集的正确方法

  • 希望获得完全托管的体验

为什么要微调LLaMA 2等开源模型?

  • 希望节省成本

  • 希望从数据集中获取最佳性能

  • 希望在训练和部署基础设施方面具有完全灵活性

  • 希望保留某些私有数据

其他人都在看

  • 开源语言大模型的正确姿势

  • 为什么开源大模型终将胜出

  • OpenAI规模经济与第二护城河

  • 大模型长上下文运行的关键问题

  • 开源语言大模型演进史:早期革新

  • 为什么GPT-3.5比LLaMA 2更便宜

  • LLVM之父:我的AI基础设施软件构建理念

试用OneFlow: github.com/Oneflow-Inc/oneflow/文章来源地址https://www.toymoban.com/news/detail-713910.html

到了这里,关于全面对比GPT-3.5与LLaMA 2微调的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 为什么多数情况下GPT-3.5比LLaMA 2更便宜?

    本文旨在为用户选择合适的开源或闭源语言模型提供指导,以便在不同任务需求下获得更高的性价比。 通过测试比较 LLaMA-2 和 GPT-3.5 的成本和时延,本文作者分别计算了二者的 1000 词元成本,证明在大多数情况下,选择 GPT-3.5 的成本更低、速度更快。基于上述评估维度,作者

    2024年02月05日
    浏览(50)
  • 全球最强开源AI大模型来了!Databricks称DBRX吊打Llama 2和GPT-3.5

    美国AI初创公司Databricks公布,在语言理解、编程和数学方面,其将开源的模型DBRX的测试得分均高于GPT-3.5、Mixtral、Meta的Llama 2-70B、马斯克旗下xAI的Grok-1。作为混合专家模型,DBRX的输出token速度高Llama 2一筹。 全球最强大的开源人工智能大语言模型将要易主 美国AI初创公司Data

    2024年04月12日
    浏览(49)
  • 【LLM系列之底座模型对比】LLaMA、Palm、GLM、BLOOM、GPT模型结构对比

    LLama [GPT3] 使用RMSNorm(即Root Mean square Layer Normalization)对输入数据进行标准化,RMSNorm可以参考论文:Root mean square layer normalization。 [PaLM]使用激活函数SwiGLU, 该函数可以参考PALM论文:Glu variants improve transformer。 [GPTNeo]使用Rotary Embeddings进行位置编码,该编码可以参考论文 Rofo

    2024年02月09日
    浏览(52)
  • Meta推动全球AI助手革命:Llama 3引领技术前沿,Meta AI助手全面融入社交媒体平台

      每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与

    2024年04月27日
    浏览(60)
  • LLM系列 | 22 : Code Llama实战(下篇):本地部署、量化及GPT-4对比

    引言 模型简介 依赖安装 模型inference 代码补全 4-bit版模型 代码填充 指令编码 Code Llama vs ChatGPT vs GPT4 小结 青山隐隐水迢迢,秋尽江南草未凋。 小伙伴们好,我是《小窗幽记机器学习》的小编:卖热干面的小女孩。紧接前文: 今天这篇小作文作为代码大语言模型Code Llama的下

    2024年02月07日
    浏览(40)
  • 《实战AI模型》——赶上GPT3.5的大模型LLaMA 2可免费商用,内含中文模型推理和微调解决方案

    目录 准备环境及命令后参数导入: 导入模型: 准备LoRA: 导入datasets: 配置

    2024年02月16日
    浏览(64)
  • 使用GPT-4生成训练数据微调GPT-3.5 RAG管道

    OpenAI在2023年8月22日宣布,现在可以对GPT-3.5 Turbo进行微调了。也就是说,我们可以自定义自己的模型了。然后LlamaIndex就发布了0.8.7版本,集成了微调OpenAI gpt-3.5 turbo的功能 也就是说,我们现在可以使用GPT-4生成训练数据,然后用更便宜的API(gpt-3.5 turbo)来进行微调,从而获得

    2024年02月09日
    浏览(49)
  • 陈巍:LLaMA-2的多模态版本架构与训练详解(收录于GPT-4/ChatGPT技术与产业分析)

    陈巍 :2023年9月,Meta的研究人员推出了AnyMAL(任意模态增强语言模型,Any-Modality Augmented Language Model)。该模型能够理解多种模态信号并生成文本回应,即多模态输入,单模态输出。输入的模态可包括图像、视频、音频和IMU(惯性测量单元,Inertial Measurement Unit)传感器数据。

    2024年04月10日
    浏览(69)
  • 实测:GPT -3.5 与GPT -4.0 编程能力对比

    在本文中,我们将从三个不同角度对比GPT-4和GPT-3.5的代码能力,包括:技术概念解释、代码编写能力和调试代码能力。这将有助于我们了解这两个版本的人工智能语言模型在各方面的优劣。 推荐人 | 互联网老孙 编辑者 | JK 1. 技术概念解释对比 问题

    2023年04月23日
    浏览(39)
  • 实测:GPT 3.5 与GPT 4.0 回答问题能力对比

    目录 一、问题 1 鲁迅为什么打周树人? 1)GPT 3.5 2)GPT 4.0 2 树上有9只鸟,猎人开枪打死一只,树上还剩下多少只鸟? 1)GPT 3.5 2)GPT 4.0 二、总结 我们将通过两个问题,比较GPT-3.5和GPT-4.0在回答问题方面的能力。 1)GPT 3.5 据我所了解,鲁迅并没有亲自打过周树人。鲁迅和周树

    2024年02月07日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包