Finetuner 0.7.1版本发布!支持在之前模型基础上继续微调,新增SphereFace损失函数!...

9938fc79eafeafa7acf6b277326679dd.pngFinetuner 是一个基于云端的神经搜索结果调优平台。Finetuner 简化了工作流程,处理了云端的复杂性和基础设施要求,使得神经网络的微调变得更容易,更快速,更高效。有了 Finetuner,你可以很容易地提高预训练模型的性能,并且无需大量标签或昂贵的硬件即可投入生产。

🌟 GitHub: https://github.com/finetuner

🧑‍🤝‍🧑 全球社区: https://slack.jina.ai 

📖 官方文档:https://finetuner.jina.ai/

本次发布涵盖了 Finetuner 版本 0.7.0,包括依赖 finetuner-api 0.4.10 和 finetuner-core 0.12.3。

此版本包含 2 个新功能、3 个重构、3 个错误修复和 4 个文档改进。

新功能

🆕 支持 SphereFace 损失函数 (#664)

SphereFace 损失函数最初是为计算机视觉领域的人脸识别任务设计的,Finetuner 支持它的两种变体 ArcFaceLoss 和 CosFaceLoss。SphereFace 损失函数通过将每个样本与每个类别 embedding 的中心点估计值进行比较,提升网络的角度特征的判别能力,而不是传统的通过最小化正样本对之间的距离,并最大化负样本对之间的距离来计算。

使用 Finetuner 时,你可以直接在 fit 函数的 loss 属性中指定损失函数的名称来使用,比如使用 ArcFaceLoss

run = finetuner.fit(
    ...,
    loss='ArcFaceLoss',
    ...
)

为了跟踪并改进对跨批次的类中心点的估计,SphereFace 损失在训练期间需要增加一个额外的 optimizer。默认情况下,增加的 optimizer 与模型本身使用的 optimizer 相同,但你可以使用 loss_optimizer 参数指定不同的 optimizer。

run = finetuner.fit(
    ...,
    loss='ArcFaceLoss',
+   loss_optimizer='Adam',
+   loss_optimizer_options={'weight_decay': 0.01}
)

🆕 支持在之前的训练结果上继续训练(#668)

如果你想要在之前运行的模型的基础上进行微调,或者你想要在新加入的数据上继续训练,你只需要通过 fit 函数的 model_artifact 参数设置模型的 artifact id 即可:

train_data = 'path/to/another/data.csv'
new_run = finetuner.fit(
    model='efficientnet_b0',
    train_data=train_data,
    model_artifact=previous_run.artifact_id,
)

⚙️ 重构

1. 移除基于 ResNet 的 CLIP 模型(#662)

由于基于 ResNet 的 CLIP 模型使用率较低,所以在 Finetuner 0.7.1 中我们移除了该模型。

2. 添加 EfficientNet B7 模型 (#662)

对于图像到图像搜索任务,Finetuner 0.7.1 现已支持 EfficientNet B7 作为视觉骨干模型。

3. 增加 cloud.jina.ai 的 CSV 文件上传大小

对于 Web UI 用户,Finetuner 0.7.1 中将上传文件的大小从 1MB 增加到 32MB。对于 Python 客户端用户,你们一直可以上传更大的数据集,不受此次更改的影响。

🐞 Bug 修复

1. 解决 MLFlow 回调中的依赖问题

最新版本的 SQLAlchemy 导致 MLFlow 在某些情况下回调出错,Finetuner 0.7.1 修复了这个问题。

2. 防止错误 num_items_per_class 参数引起的错误

在某些情况下,你可能会以与其余配置不兼容的方式设置 num_items_per_class 参数,从而导致 Finetuner 运行失败,因为一些损失函数并不需要使用该参数。现在,num_items_per_class 参数只有在实际使用时才会进行验证,不需要该参数的损失函数会直接忽略它。

3. 解决 Jupyter Notebooks 中登录功能的问题 (#672)

有时在 Jupyter notebook 中调用 finetuner.login()时虽然显示登陆成功,但 Finetuner 可能并没有正确运行。在之前的版本中,用户必须调用 finetuner.login(force=True) 才能确保正确登录,现在可以直接使用 finetuner.login() ,无需 force 就可以正常使用。

📗 文档改进

1. 添加损失函数和池化的文档页面 (#664)

我们在文档中添加了一个新页面,其中更详细地解释了几个损失函数和池化选项。新增了一个文档页面,详细说明损失函数和池化选项。

2. 添加有关 Finetuner 文章的部分 (#669)

我们在 README 中增加了一个文章列表,这些文章介绍了关于 Finetuner 的见解,并提供了在实践中使用 Finetuner 的实战经验。

3. 为示例 CSV 文件添加文件夹 (#663)

你可以在 github.com/jina-ai/finetuner 里的示例训练数据集,用我们已经准备好的数据进行训练。

4. 校对整个文档以修复拼写错误和损坏的链接(#661,#666)

修正 Finetuner 文档中损坏的链接和拼写错误。

🤟 贡献者

我们要感谢此版本的所有贡献者!

  • Wang Bo (@bwanglzu)

  • Louis Milliken (@LMMilliken)

  • Michael Günther (@guenthermi)

  • CatStark (@CatStark)

  • George Mastrapas (@gmastrapas)

  • Scott Martens (@scott-martens)

更多技术文章

⚖️ 模型微调,低预算,高期望!

🌪 开箱即用的云原生多模态系统解决方案

📖 Jina AI 创始人肖涵博士解读多模态AI的范式变革

🎨 语音生成图像任务|🚀 模型微调神器 Finetuner

👬 在 Jina AI 社区连接、分享、共创

e0e6db5e895ebd0c2917726d097c8bae.png

点击“阅读原文”,即刻了解 Finetuner

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值