Erkundungen einiger neuerer Techniken rund um die spekulative Dekodierung
Ich habe auch ein paar eigene Ideen, die ich versuchen werde, in diesem Repository zu teilen, wenn sie funktionieren. Ziel ist es, damit zunächst den Text-zu-Semantik-Decoder in Spear-TTS zu beschleunigen
Beim Early-Exit-Schema wird die verborgene Ebene während der Spezifikationsdekodierung zwischengespeichert, da kleine und große Modelle die gleichen ersten Schichten verwenden
Planen Sie für einen vorzeitigen Ausstieg einen zusätzlichen Transformatorblockkopf ein (getrennt vom Haupttransformatorschaft).
Finden Sie die Batch-Spezifikationsdekodierung heraus – verschiedene Zeilen können mit unterschiedlichen Geschwindigkeiten vorrücken
Optimieren Sie die Batch-Spezifikationsdekodierung weiter, da durch die gesamte Indizierung etwas Leistung verloren geht. Es scheint, dass einige Arbeit erforderlich sein wird, bis diese Technik tatsächlich verwendbar ist
Sorgen Sie dafür, dass die Batch-Spezifikationsdekodierung mit der Early-Exit-Strategie funktioniert
Komplettes spekulatives Sampling mit Prophet-Transformer-Idee – scheint gut zu funktionieren! ?
Holen Sie sich einige Wandb-Diagramme und sehen Sie, wie Prophet im Vergleich zur Early-Exit-Strategie abschneidet, teilen Sie sie im Repository
Führen Sie außerdem Experimente durch, um zu sehen, ob der Prophet-Transformator Vorteile für den Verlust des Hauptmodells bringt. Das ursprüngliche Prophetenpapier führte nur eine einfache lineare Projektion durch
Versuchen Sie für eine Early-Exit-Strategie, die letzte zwischengespeicherte Einbettung zufällig wieder zum gleichen Modell zu summieren (a la alphafold2-Recycling), zufällig entlang der Sequenzlänge zu beschneiden und den Early-Exit-Verlust auf diese Weise zu trainieren. Sehen Sie, ob man auf diese Weise das Gamma verbessern kann
Widmen Sie einen Vormittag den Mikrooptimierungen
@inproceedings { Leviathan2022FastIF ,
title = { Fast Inference from Transformers via Speculative Decoding } ,
author = { Yaniv Leviathan and Matan Kalman and Y. Matias } ,
booktitle = { International Conference on Machine Learning } ,
year = { 2022 } ,
url = { https://api.semanticscholar.org/CorpusID:254096365 }
}
@inproceedings { sun2023spectr ,
title = { SpecTr: Fast Speculative Decoding via Optimal Transport } ,
author = { Ziteng Sun and Ananda Theertha Suresh and Jae Hun Ro and Ahmad Beirami and Himanshu Jain and Felix Yu and Michael Riley and Sanjiv Kumar } ,
booktitle = { Workshop on Efficient Systems for Foundation Models @ ICML2023 } ,
year = { 2023 } ,
url = { https://openreview.net/forum?id=d0mGsaheuT }
}
@article { Chen2023AcceleratingLL ,
title = { Accelerating Large Language Model Decoding with Speculative Sampling } ,
author = { Charlie Chen and Sebastian Borgeaud and Geoffrey Irving and Jean-Baptiste Lespiau and L. Sifre and John M. Jumper } ,
journal = { ArXiv } ,
year = { 2023 } ,
volume = { abs/2302.01318 } ,
url = { https://api.semanticscholar.org/CorpusID:256503945 }
}
@article { Yan2020ProphetNetPF ,
title = { ProphetNet: Predicting Future N-gram for Sequence-to-Sequence Pre-training } ,
author = { Yu Yan and Weizhen Qi and Yeyun Gong and Dayiheng Liu and Nan Duan and Jiusheng Chen and Ruofei Zhang and Ming Zhou } ,
journal = { ArXiv } ,
year = { 2020 } ,
volume = { abs/2001.04063 } ,
url = { https://api.semanticscholar.org/CorpusID:210164665 }
}
@article { Zhang2023DraftV ,
title = { Draft & Verify: Lossless Large Language Model Acceleration via Self-Speculative Decoding } ,
author = { Jinchao Zhang and Jue Wang and Huan Li and Lidan Shou and Ke Chen and Gang Chen and Sharad Mehrotra } ,
journal = { ArXiv } ,
year = { 2023 } ,
volume = { abs/2309.08168 } ,
url = { https://api.semanticscholar.org/CorpusID:262013673 }
}
@misc { medusa ,
author = { Tianle Cai and Yuhong Li and Zhengyang Geng and Hongwu Peng and Tri Dao } ,
title = { Medusa: Simple Framework for Accelerating LLM Generation with Multiple Decoding Heads } ,
year = { 2023 } ,
publisher = { GitHub } ,
journal = { GitHub repository } ,
howpublished = { url{https://github.com/FasterDecoding/Medusa} } ,
}