Press "Enter" to skip to content

2021年,作为算法工程师的你们会在CV业务落地上用Transformer吗?

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

作者丨花花,OLDPAN

 

来源丨知乎问答

 

来源链接:https://www.zhihu.com/question/463585564/answer/1927466979

 

#  回答一

 

作者:花花

 

阿里巴巴高级技术专家

 

来源链接:https://www.zhihu.com/question/463585564/answer/1927466979

 

分类任务:transformer在分类任务上超过cnn让大家欣喜若狂,用pretrain进行finetune是一件合理的事情,但可能大家也有意识到,imagenet-1k, imagenet-21k等pretrain的跨domain问题。
其次,实际项目中,包括模型转化,量化,SDK集成直到模型上线仍然有很大量的工作,链条不完善的情况下,不太容易落地,同时在inference速度上当前没有足够好的优化,也是一个劣势。

 

检测任务:说完分类再来考虑检测,目前两套思路,一种是换掉backbone,以pretrain的方式进行下游任务,部署难度和分类任务一样;另一种是类似DETR这种训练方式,想要取得较好的精度需要更大量的数据,对于实际项目并不容易获取,且训练相较于普通检测方法多了5到10倍的时间,在没有取得很明显的提升的情况下,也不太适合盲目进行落地。

 

值得一提的几点:

1. 在public dataset 上杀疯了并不代表在实际业务数据上就能很好的work,这点就不展开了,做过落地的都明白。

2. 当前另外一个方向是 自监督+transformer(SSL+Transformer ),个人认为非常有潜力,包括微软的

swin-ssl
,Facebook的
dino

等,都是这方面的尝试

3. 落地场景不同,情况就不同,人脸上亿量级的数据如果要train from scratch,要直接硬上transformer,计算资源是非常非常可观的。

 

个人一点不成熟的观点,轻喷:
我认为现在transformer还处于不成熟的阶段,大部分的工作都在分类任务上进行尝试,因为训练成本较高,部分paper的实验结果并不solid,提点也有限,虽然百花齐放但还没有一个较为统一的 认知和共识 ,下游任务(detection,segmentation)的验证也不是很solid。同时底层硬件,CUDA,训练框架对transformer的优化也不够完善。

 

类比CNN的发展历程,我认为目前transformer在CV领域应该还处于AlexNet阶段,距ResNet阶段还有一定的距离,一方面是research这条线继续推陈出新,另一方面是工程部署这条线的持续跟进(可以看到很多社区的框架也在多分布式训练,transformer训练进行优化和加速)。

 

 

需要另一个里程碑来统一大家的认知

 

落地是肯定要落地的,大家一起加油。

 

 

#  回答二

 

作者:OLDPAN

 

来源链接:

 

这个问题问得好呀,说不定楼主都已经踩过坑了 。

 

在我们组的CV中,识别组大部分的结构都包含transformer,也有一些LSTM和attention,其中有部分模型可以转化为tensorrt然后使用triton部署。相比原生的TensorFlow server要快些。不过仍有提升空间。

 

而检测组则没有使用transformer,一方面是因为原先的结构比较好部署(ssd,centernet,fcos等结构)比较熟悉,二是cv检测上的transformer结构还不是很成熟,没有比较通用性的backbone可以替换之前使用的resnet这类的通用backbone。

 

如果之后会使用transformer,我会考虑:

 

精度提升有多大,对于检测任务来说。如果不是质的提升(十分之一),尽量不考虑

 

速度能有多快,相比resnet50,同等精度或者高于这个精度能有多快

 

还是那句话,好不好部署,能否转化为tensorrt,转化后支不支持动态尺寸 这都是问题

 

其实也简单尝试了一下swin transformer,目前可以转化为tensorrt但只支持固定尺寸,在分类任务上,swin最小结构的精度比res50要高些,但速度嘛,慢了一倍多 ,唉性价比瞬间降低了。

 

对于我们来说,用不用transformer,关键还是取决于精度和速度能否超过之前的backbone,性价比高不高。不高的话,大概率不会用……

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注