专栏名称: GiantPandaCV
专注于机器学习、深度学习、计算机视觉、图像处理等多个方向技术分享。团队由一群热爱技术且热衷于分享的小伙伴组成。我们坚持原创,每天一到两篇原创技术分享。希望在传播知识、分享知识的同时能够启发你,大家一起共同进步(・ω<)☆
目录
相关文章推荐
GiantPandaCV  ·  AwesomeCLIP---100+篇CLI ... ·  2 天前  
GiantPandaCV  ·  小白视角:利用 vllm serve 新的 ... ·  4 天前  
GiantPandaCV  ·  小白视角:利用 SGL 来 Serve ... ·  6 天前  
GiantPandaCV  ·  小白视角:vllm 迁移到 SGLang ... ·  1 周前  
51好读  ›  专栏  ›  GiantPandaCV

GLM-4-Flash官方API免费了,体验一下

GiantPandaCV  · 公众号  · 3D  · 2024-08-27 17:46

正文

0x1. 前言

今天,智谱AI BigModel开放平台宣布:GLM-4-Flash 大模型API完全免费了,同时开启了GLM-4-Flash 限时免费微调活动。对想薅免费大模型羊毛的个人玩家,这绝对是个好消息,我们不仅可以免费使用BigModel开放平台上的GLM-4-Flash也可以免费调用GLM-4-Flash的API了。

不过需要注意的是免费版本的API支持的是个人用户的日常使用,如果你需要多个并发那就需要给官方申请了。我一般就在BigModel平台上问一些问题,这个平台也是支持模型的多轮对话的,个人使用感觉已经足够了。另外,我也探索了一下BigModel平台的微调服务,大我们只需要按照模型SFT数据类似的格式准备一份数据丢给BigModel微调平台,设置好超参数,它就可以帮我们微调了,不过微调是要消耗Token的。本文就不打算做传统的case by case评测了,而是直接让GLM-4-Flash这个Chat模型根据我的需求和反馈来帮我写代码来修改一个广告生成的数据集格式来满足GLM-4-Flash模型的微调格式,进一步用这个数据集来微调GLM-4-Flash模型,看一下模型实际解决问题的能力如何。

0x2. GLM-4-Flash 模型背景介绍

GLM-4-Flash模型主要有以下亮点:

  • 引⼊⼤语⾔模型进⼊数据筛选流程,获得了 10T ⾼质量多语⾔数据。
  • 采⽤ FP8 技术进⾏⾼效预训练,显著提⾼了训练效率和计算量。
  • GLM-4-Flash 模型具备强⼤的推理性能,⽀持 128K ⻓上下⽂推理和多语⾔处理。
  • ⽣成速度:72.14 token/s,约等于115字符/s
  • 基于强⼤的预训练基座,GLM-4-Flash 在中英⽂性能上表现出⾊。
  • 与 GPT-4 相当的功能调⽤能⼒。

在机器翻译(包括多语言)能力我之前对GLM-4的系列模型包括GLM-4-Flash做过一个评测,GLM-4-Flash是性价比最高的模型之一。评测的结论如下所示:

0x3. GLM-4-Flash 微调

0x3.1 借助GLM-4-Flash 整理微调数据

这里以 ADGEN (广告生成) 数据集为例来介绍微调的具体使用。ADGEN 数据集为根据输入(content)生成一段广告词(summary),具体格式如下所示:

{
    "content": "类型#上衣*版型#宽松*版型#显瘦*图案#线条*衣样式#衬衫*衣袖型#泡泡袖*衣款式#抽绳",
    "summary": "这件衬衫的款式非常的宽松,利落的线条可以很好的隐藏身材上的小缺点,穿在身上有着很好的显瘦效果。领口装饰了一个可爱的抽绳,漂亮的绳结展现出了十足的个性,配合时尚的泡泡袖型,尽显女性甜美可爱的气息。"
}

数据的链接为:https://link.zhihu.com/?target=https%3A//aclanthology.org/D19-1321.pdf ,下载解压之后有2个json文件,一个是训练一个是测试:

在BigModel开放平台创建微调任务时点击查看示例数据集格式可以看到GLM-4-Flash对微调数据集格式的要求:

由于ADGEN数据集只有“content”和"summary"两个字段,这对应了GLM-4-Flash对微调数据集格式中去掉system角色的数据。接下来就把我的需求整理一下发给GLM-4-Flash大模型,要求它写一个数据处理程序帮助我们把ADGEN数据集的train.json整理成LM-4-Flash微调数据集的格式。

我的prompt如下:

GLM-4-Flash 输出:

把代码里面的input.txt和output.txt分别替换为train.json和output.jsonl (注意,输出文件的后缀名是.jsonl)运行代码之后得到处理好的数据。

可以看出脚本处理后格式是满足BigModel开放平台微调任务需求的。这个小任务的成功处理也可以反应出GLM-4-Flash的代码能力是不错的。感兴趣的朋友也可以自行评测和体验GLM-4-Flash的其它能力。

0x3.2 如何在BigModel开放平台创建微调任务

到了这个界面之后我们点击准备训练数据把刚才处理好的微调数据output.jsonl传上去,然后选择相关参数进行微调。这里只是展示一下微调的流程,我没有选择adgen数据集的全部数据,只选择了一部分来降低微调的成本。然后微调2个epoch,其它参数保持默认。

创建完任务之后开始排队:

任务拉起之后就自动训练了:

我们可以看到任务训练结束的预估时间。

训练完成后我们可以看到更多详细的信息,例如loss下降情况:

0x3.3 部署

在训练完的GLM-4-Flash Lora微调模型界面我们可以点击实例部署:

部署也要排队申请资源:

等待部署成功:

接着我们回到BigModel平台的体验中心发现我们可以选择这个模型了:

0x3.4 结果展示

下面简单测试一个广告词:

GLM-4-Flash 原始版本 prompt
GLM-4-Flash 微调版本 prompt

可以发现对于GLM-4-Flash的微调版本,它已经在学我们的微调数据的风格在回复了,原始版本的回复则比较中性,没有这种广告风格。这里我用的的微调数据就几千条并且只微调了2个epoch,所以还有很明显的提升空间。

0x3.5 体验

总的来说,BigModel这个大模型平台的微调和一键部署确实非常丝滑,我们不需要配置任何训练以及推理的环境,只需要准备自己需要微调的数据和修改微调的超参数即可,操作非常简单,大家也可以趁着GLM-4-Flash API免费来自行体验一下。

0x4. 总结

最近智谱AI的BigModel平台开启了GLM-4-Flash大模型免费使用活动, 个人测试了该模型的实际表现以及体验了下BigModel平台的微调和部署的流程。我利用GLM-4-Flash处理了广告数据集,在平台上顺利完成了2个epoch的微调并部署,微调后的模型已能生成风格化的广告文案。整个流程操作简单,展现了BigModel平台的便利性和GLM-4-Flash不错的任务学习能力,感兴趣的小伙伴可以尝试一下。

点击下面的阅读原文即可一键直达智谱AI的BigModel平台免费体验GLM-4-Flash。