有手就能训——给AI“老人”写的transformer序列建模指南

AI最新资讯2个月前发布 tree
40 0 0

今日应用


今日话题


有手就能训——给AI“老人”写的transformer序列建模指南
有手就能训——给AI“老人”写的transformer序列建模指南
 

重点标签 AI新时代调包侠Transformers模型训练序列建模

文章摘要


摘要:
文章讨论了在AI新时代中,如何适应新颖算法和高实验条件的挑战。作者提出更新思维,成为“调包侠”,利用Hugging Face的Transformers等现代包来简化入门过程。文章通过个人经历,说明了在“一无所有”的状态下,如何使用Transformers库进行模型训练和应用。强调了NLP领域相对于CV领域在数据集、调参、表示和部署方面的简化,以及Transformers库的易用性和强大功能。最后,作者分享了自己使用Transformers库训练GPT2-small模型进行C++代码补全的经验,并提供了全套代码。

正文:
在AI的新时代,许多人感到不适应,面对新算法和高实验条件感到遥不可及。作者建议更新思维,大胆成为“调包侠”,利用Hugging Face的Transformers等现代包,这些包集成了科学的默认行为,使得从玩具示例到有影响力的项目都能轻松上手。

Transformers库的安装简单,直接使用pip install即可。模型训练的官方文档虽没有最小集样本,但根据文档可以容易地编写出16行代码进行训练。使用训练好的模型也非常简单,不需要手动维护超参数列表。

作者指出,与CV类模型相比,NLP领域的模型训练在数据集、调参、表示和部署方面更为简化。Transformers库的Trainer集成了许多科学默认行为,如定期存储checkpoint、同步曲线信息到监控软件等。

作者分享了自己使用Transformers库训练GPT2-small模型进行C++代码补全的经验。他从GitHub收集了大量C/C++源文件,形成了2.2GB的训练集。训练过程中,不做tokenization,23万步,长度512,批大小4,不到一天即可完成训练。作者还尝试了一个贪心的补全推荐方法,发现效果并非不可用。

文章最后,作者提出了一个问题:手头有哪些好的问题可以表达成序列建模?如果有,或者原来的某些问题可以这样表示,那么可以尝试使用transformers库,可能会有全新的发现。作者还提供了训练和演示代码的全套代码。

代码补全demo的全套代码:
– 训练代码:train.py
– 演示代码:demo.py

结尾:
文章最后提供了公众号的资源链接,包括技术专栏、技术综述和极视角动态等,以及如何获取100+深度学习各方向资源整理的方法。同时,提供了链接进入CV社区,以获取更多技术干货。

文章来源


原文地址: 点我阅读全文
原文作者: 极市平台

© 版权声明

相关文章

暂无评论

暂无评论...