POA: Eenmalige Pre-training voor Modellen van Alle Grootten
POA: Pre-training Once for Models of All Sizes
August 2, 2024
Auteurs: Yingying Zhang, Xin Guo, Jiangwei Lao, Lei Yu, Lixiang Ru, Jian Wang, Guo Ye, Huimei He, Jingdong Chen, Ming Yang
cs.AI
Samenvatting
Grootschalige zelfgesuperviseerde voorafgaande training heeft de weg geëffend voor één fundamenteel model om vele verschillende visuele taken aan te kunnen. De meeste methoden voor voorafgaande training trainen één model van een bepaalde grootte tegelijk. Echter vereisen diverse reken- of opslagbeperkingen in praktijkscenario's aanzienlijke inspanningen om een reeks modellen van verschillende groottes te ontwikkelen voor implementatie. Daarom stellen we in deze studie een nieuw drietakig zelfgesuperviseerd trainingsraamwerk voor, genaamd POA (Pre-training Once for All), om het bovengenoemde probleem aan te pakken. Onze aanpak introduceert een innovatieve elastische studenttak in een modern zelfdistillatieparadigma. Bij elke stap van de voorafgaande training nemen we willekeurig een sub-netwerk uit de oorspronkelijke student om de elastische student te vormen en trainen we alle takken op een zelfdistillerende manier. Eenmaal voorgetraind, maakt POA het mogelijk om vooraf getrainde modellen van diverse groottes te extraheren voor downstream taken. Opmerkelijk is dat de elastische student de gelijktijdige voorafgaande training van meerdere modellen met verschillende groottes mogelijk maakt, wat ook fungeert als een extra ensemble van modellen van verschillende groottes om de representatielearning te verbeteren. Uitgebreide experimenten, waaronder k-nearest neighbors, lineaire probing evaluatie en beoordelingen op meerdere downstream taken, demonstreren de effectiviteit en voordelen van onze POA. Het behaalt state-of-the-art prestaties met ViT, Swin Transformer en ResNet backbones, en produceert ongeveer honderd modellen van verschillende groottes via één enkele voorafgaande trainingssessie. De code is beschikbaar op: https://github.com/Qichuzyy/POA.
English
Large-scale self-supervised pre-training has paved the way for one foundation
model to handle many different vision tasks. Most pre-training methodologies
train a single model of a certain size at one time. Nevertheless, various
computation or storage constraints in real-world scenarios require substantial
efforts to develop a series of models with different sizes to deploy. Thus, in
this study, we propose a novel tri-branch self-supervised training framework,
termed as POA (Pre-training Once for All), to tackle this aforementioned issue.
Our approach introduces an innovative elastic student branch into a modern
self-distillation paradigm. At each pre-training step, we randomly sample a
sub-network from the original student to form the elastic student and train all
branches in a self-distilling fashion. Once pre-trained, POA allows the
extraction of pre-trained models of diverse sizes for downstream tasks.
Remarkably, the elastic student facilitates the simultaneous pre-training of
multiple models with different sizes, which also acts as an additional ensemble
of models of various sizes to enhance representation learning. Extensive
experiments, including k-nearest neighbors, linear probing evaluation and
assessments on multiple downstream tasks demonstrate the effectiveness and
advantages of our POA. It achieves state-of-the-art performance using ViT, Swin
Transformer and ResNet backbones, producing around a hundred models with
different sizes through a single pre-training session. The code is available
at: https://github.com/Qichuzyy/POA.