Botali ya mozindo ya inférence ya Modèle ya Langue Grande (LLM), tina na yango, mikakatano, pe ba formulations ya mikakatano ya tina.
Ba Modèles ya Langue ya minene (LLM) esali révolution na domaine ya Traitement ya Langue Naturelle (PNL) na ko permettre ba applications ya ndenge na ndenge, kobanda na ba chatbots na ba agents AI ti na code na génération ya contenus. Kasi, bosaleli ya ba LLM na ba scénarios ya mokili ya solo mbala mingi ekutanaka na mikakatano oyo etali latence, bozangisi ya makoki, pe évolutivité.
Na série oyo ya ba posts ya blog, toko explorer ba techniques ya optimisation ndenge na ndenge pona inférence ya LLM. Toko plonge na ba stratégies pona ko réduire latence, trace ya mémoire, na coût ya calcul, kobanda na ba mécanismes ya caching tii na ba accélérations matérielles na quantisation ya modèle.
Na post oyo, tokopesa na mokuse inférence ya LLM, importance na yango, pe ba défis oyo ezo sangana na yango. Tokolakisa pe ba formulations ya ba problèmes clés oyo eko guider exploration na biso ya ba techniques ya optimisation.
Inférence ya modèle ezali kolobela processus ya kosalela modèle ya apprentissage machine formé pona kosala ba prédictions to ko produire ba sorties oyo esalemi na ba données ya sika ya entrée. Na contexte ya ba LLM, inférence esangisi kosala traitement ya entrée ya texte pe ko générer sortie ya texte cohérente pe oyo ezali na tina na contexte.
Modèle e former kaka mbala moko to périodiquement, alors que inférence esalemaka mingi mingi, mbala mosusu ba nkoto ya mbala na seconde na ba environnements ya production.
Optimisation ya inférence ezali essentiel pona ko assurer que ba LLM ekoki ko déployer malamu na ba applications ya mokili ya solo. Mokano ezali ya kokitisa latence (ntango oyo ezwami mpo na kobimisa eyano), kokitisa bozangisi ya makoki (CPU, GPU, mémoire), mpe kobongisa évolutivité (makoki ya kosimba ba charges oyo ezali komata).
Ndakisa, GPT-3 (na 175 milliards ya ba paramètres) esengaka ba ressources informatiques ya minene pona inférence. Ba optimisations ekoki kokitisa ba temps ya réponse de 1–2 secondes ti na millisecondes, kosala que ba LLMs ezala pratique mingi pona ba applications interactives.
Architecture ya transformateur, oyo esalelaka ba mécanismes ya attention, ekomi fondation ya ba LLM mingi ya sika. Architecture oyo ezali na ba encodages positionnels, auto-attention multi-tête, ba réseaux neuronaux ya alimentation en avant, na normalisation ya couche. Mingimingi, bakabolaka ba transformateurs na mitindo misato ya minene:
Ba modèles ya encodeur-décodeur (par exemple, T5) ezalaki architecture originale oyo ekotisama na papier “Attention is All You Need.” Ba modèles oyo esalemi pona misala oyo esengaka bososoli pe bokeli, lokola bobongoli pe bokuse. Ba traité séquence ya entrée na encodeur et puis ba générer séquence ya sortie na décodeur.
Lokola ba modèles oyo esalemi kaka na décodeur ezali architecture ya LLM oyo emonanaka mingi pona ba tâches autorégressives, série oyo ekotala mingi ba techniques ya optimisation spécifiquement pona lolenge oyo ya modèle.
Mecanisme ya attention ezali composante clé ya architecture ya transformateur oyo epesaka nzela na modèle e se concentrer na ba parties différentes ya séquence ya entrée tango ezali ko générer sortie. Ezali kosala calcul ya somme pondérable ya ba représentations ya entrée, esika ba poids ezuami na pertinence ya jeton moko na moko ya entrée na jeton ya sortie ya lelo oyo ezali kosalama. Mecanisme oyo epesaka modèle makoki ya kokanga ba dépendances entre ba jetons, sans considération ya distance na yango na séquence ya entrée.
Mecanisme ya attention ekoki kozala cher na calcul, surtout pona ba séquences ya entrée ya milayi, lokola esengaka ko calculer ba interactions par paire entre ba jetons nionso ( complexité O(n^2)
). Tomona yango na bozindo mingi litambe na litambe:
Représentation ya entrée : Jeton moko na moko na séquence ya entrée elakisami lokola vecteur, typiquement na kosalelaka ba embeddings.
Ba vecteurs ya requête, clé, ya valeur : Pona jeton moko na moko, ba vecteurs misato esalemi : vecteur ya requête ( Q_i
), vecteur ya clé ( K_i
), mpe vecteur ya valeur ( V_i
). Ba vecteurs oyo ezuami na ba représentations ya entrée en utilisant ba transformations linéaires appris.
Points d’attention : Ba scores ya attention ezuami na kozua produit ya point ya vecteur ya requête ya jeton ya lelo na ba vecteurs clés ya ba jetons nionso ya kala na séquence ya entrée. Yango esalaka ete bazwa bapwɛ́ oyo ezali komonisa boniboni esengeli kotya likebi na elembo mokomoko.
Normalisation ya Softmax : Na sima ba scores ya attention e normaliser na nzela ya fonction softmax pona kozua ba poids d’attention, oyo esangisi na 1.
Somme pondérée : Na suka, representation ya sortie pona jeton ya lelo e calculer lokola somme pondérée ya ba vecteurs ya valeur, na kosalelaka ba poids d’attention.
Attention multi-tête ezali extension ya mécanisme ya attention oyo epesaka nzela na modèle a attend ensemble na ba informations oyo ewutaka na ba sous-espaces ya représentation différentes na ba positions différentes. Na esika ya kozala na ensemble moko ya ba poids d’attention, attention multi-tête e calculer ba ensembles ebele ya ba scores ya attention en parallèle, moko na moko na ba transformations linéaires na yango oyo eyekolaki.
Na sima ba sorties ya ba têtes d’attention wana ekangami pe e transformer linéaire pona kobimisa représentation finale ya sortie.
Mecanisme oyo ematisaka makoki ya modèle ya kokanga ba relation pe ba dépendances ndenge na ndenge na ba données ya entrée, oyo ememaka na amélioration ya performance na misala ndenge na ndenge ya PNL.
Na compréhension ya ba LLM na architecture ya transformateur, to décrire processus ya calcul ya inférence. Inférence ebimisaka ba jetons $n$ oyo elandi pona séquence ya entrée donnée pe ekoki kokabolama na ba étapes mibale:
Etape ya Prefill : Na étape oyo, passe avant esalemaka na nzela ya modèle pona séquence ya entrée, pe ba représentations ya clé na valeur e calculer pona jeton moko moko. Ba représentations oyo ebombami pona kosalela yango sima na étape ya décodage na cache ya KV. Ba représentations ya ba jetons nionso na couche moko na moko e calculer en parallèle.
Etape ya décodage : Na étape oyo, modèle ebimisaka ba jetons ya sortie moko na moko na ndenge ya auto-régressif. Pona jeton moko na moko, modèle ezuaka ba représentations ya clé na valeur na cache ya KV oyo ebombami na tango ya étape ya pré-remplissage, elongo na representation ya requête ya jeton ya entrée ya lelo pona ko calculer jeton oyo elandi na sequence.
Processus oyo ekobaka tii tango critère ya arrêt ekokisami (ndakisa, kokoma na longueur maximale to kobimisa jeton ya suka ya séquence). Ba représentations ya sika ya clé na valeur ebombami na cache ya KV pona ba jetons oyo elandi. Na eteni oyo, stratégie ya échantillonnage ya ba jetons esalelami pe pona koyeba jeton oyo elandi oyo esengeli kobimisa (ndakisa, boluki ya lokoso, boluki ya faisceau, échantillonnage ya top-k).
Pona préfixe ya longueur L , taille d’intégration d , pe modèle na ba têtes h na couches n , complexité ya calcul ya inférence ekoki ko analyser boye :
Etape ya liboso ya kotondisa : Na eteni ya liboso ya kotondisa, tosalaka calcul ya representation ya liboso mpo na ba jetons nionso oyo ezali na entrée. Complexité oyo ezali awa ezali:
Awa:
O(Ln .d^2)
: Ezali komonisa calcul ya feed-forward, oyo e traité jeton moko na moko na ndenge ya lipanda na ba couches. Yango e échelle linéaire na bolai ya séquence L mpe motango ya ba couches n .
Terme ya mibale O(L^2. nh d)
: Ezali komonisa motuya ya mécanisme ya attention. Awa, jeton moko na moko e interagir na jeton nionso mosusu, esali que complexité ya L^2
ezala pona calcul ya attention par couche. Complexité ekolaka quadratiquement na longueur ya séquence, oyo ekoki kokoma goulet d’étranglement munene pona ba séquences milayi.
Etape ya décodage : Etape ya décodage ezali partie autorégressive, complexité ezali :
Awa:
Computation ya feed-forward : Pona jeton moko na moko oyo esalemi, tosalaka ba opérations ya feed-forward na couche nionso. Lokola esalemaka mpo na jeton moko na mbala moko (molongo mobimba te), complexité na jeton moko ezali: O(nd^2)
.
Calcul ya attention na caching : Jeton moko na moko ya sika e interagir na séquence oyo ezali na nzela ya attention, na kosalelaka ba paires clé-valeur oyo e calculer liboso. Pona jeton moko na moko oyo esalemi, calcul ya attention oyo ezali proportionnelle na longueur ya séquence L , epesaka : O(Lnd .h)
Ndenge tokoki komona yango, complexité ya calcul ya inférence ezali influencé na longueur ya séquence ya entrée ( L ), nombre ya ba couches ( n ), nombre ya ba têtes d’attention ( h ), na taille ya intégration ( d ). Complexité oyo ekoki kokoma goulet d’étranglement na ba applications en temps réel, surtout tango ya kosala na ba séquences ya entrée ya milayi pe/to ba modèles ya minene.
Caching ya KV ezali technique ya optimisation cruciale pona inférence ya LLM, surtout na étape ya décodage. Na kobombaka ba représentations ya clé na valeur oyo e calculer na tango ya étape ya pré-remplissage, modèle ekoki ko éviter ba calculs redundants pona ba jetons oyo esalemaki liboso.
Yango ekitisaka mingi coût ya calcul pe latence na tango ya inférence, lokola modèle esengeli kaka ko calculer ba scores ya attention pona jeton ya sika oyo ezali ko générer, au lieu ya ko récalculer ba représentations ya clé pe ya valeur pona ba jetons nionso na séquence ya entrée.
Yango ekomisaka coût linéaire na oyo etali motango ya ba jetons oyo esalemi, na esika ya kozala quadratique na oyo etali bolai ya entrée.
Kasi, caching ya KV esengaka mémoire ya kobakisa mpo na kobomba ba représentations ya clé mpe ya valeur, oyo ekoki kozala trade-off na ba environnements oyo ezali na ba ressources constreints.
Tosala calcul ya ba exigences ya mémoire pona modèle LLaMA 7B.
d_model
): 4096d_head
): 32d_head
): 128 (4096/32) Bonene ya fungola na elembo moko = d_head × num_heads
= 128 × 32 = 4096 éléments
Bonene ya motuya na jeton moko = d_head × num_heads
= 128 × 32 = 4096 éléments
Total ya ba éléments na jeton moko na couche moko = 4096 + 4096 = 8192 éléments
Ba éléments na couche moko = L × 8192 = 2048 × 8192 = 16.777.216 éléments
Mémoire na couche moko (na ba octets) = 16.777.216 × 2 = 33.554.432 octets = 33,55 MB
Na yango, Esengeli ya mémoire mobimba: 14 GB (poids ya modèle) + 1-2 GB (ba frais ya likolo) + 1073,6 MB (cache KV) = 15-16 GB . Calcul oyo epesi biso estimation ya ba exigences ya mémoire pona modèle LLaMA 7B na tango ya inférence. LLaMA 7B ezali moke mpenza soki tokokanisi yango na ba modèles lokola GPT-3 (175 milliards ya ba paramètres), oyo ekosenga mémoire mingi mingi mpo na ba poids ya modèle mpe cache ya KV.
Lisusu, tango emati na $m$ basaleli ya mbala moko, masengi ya makoki ekozala $m$ mbala koleka. Na yango, ba techniques ya optimisation ezali crucial pona ko déployer ba modèles ya minene na ba environnements oyo ezali na ba ressources limitées.
Tango ya kotala efficacité ya ba techniques ya optimisation ya inférence, ba métriques ebele ekoki kotalelama :
Latence avant remplissage : Tango oyo ezuami pona kosala étape ya pré-remplissage ya inférence, oyo babengaka pe latence ya temps à premier-jeton (TTFT). Métrique oyo ezali na ntina mingi mpo na ba applications interactives esika basaleli bazelaka biyano ya mbangu. Makambo lokola taille ya modèle, longueur ya entrée, na makoki ya matériel ekoki ko influencer métrique oyo.
Décodage de latence : Tango oyo ezuami pona kobimisa jeton moko na moko oyo elandi sima ya étape ya pré-remplissage, oyo babengaka pe Latence Inter-Token (ITL). Métrique oyo ezali na tina pona komeka eyano ya modèle na tango ya bokeli makomi. Mpo na ba applications lokola ba chatbots, ITL ya nse ezali malamu, kasi mbangu ezali ntango nyonso malamu te, lokola 6-8 jetons par seconde ekoki mbala mingi mpo na interaction ya bato. Ba facteurs oyo ezo affecter ezali taille ya cache ya KV, stratégie ya échantillonnage, na matériel.
Latence ya suka na suka : Tango mobimba oyo ezuami kobanda na kozua entrée tii na kobimisa sortie ya suka. Métrique oyo ezali na tina mingi pona ko comprendre performance globale ya processus ya inférence pe ezali influencé na ba latences ya pré-remplissage, décodage, pe ba composants misusu (par exemple parsing JSON). Makambo oyo etali yango ezali bonene ya modèle, bolai ya bokɔti, mpe matériel, bakisa mpe bokasi ya pipeline mobimba.
Taux ya demande maximum aka QPS (Queries Per Second) : Motango ya ba demandes ya inférence oyo ekoki kosalama na seconde. Métrique oyo ezali na tina mingi pona kotala évolutivité ya modèle na ba milieu ya production. Ba facteurs lokola taille ya modèle, matériel, na ba techniques ya optimisation ekoki ko influencer QPS. Par exemple, soki 15 QPS e servir pona latence P90 via 1 GPU, alors pona ko servir 300 QPS, 20 GPUs elingaki kozala na besoin. Ba facteurs affectants ezali ba ressources matérielles, équilibre ya charge, na ba techniques ya optimisation.
FLOPS (ba opérations à point flottant par seconde) : Motango ya ba opérations à point flottant oyo modèle ekoki kosala na seconde moko. Métrique oyo ezali na tina pona ko comprendre coût computational ya inférence pe ekoki kosalelama pona ko comparer efficacité ya ba modèles différents pe ba techniques ya optimisation. Ba facteurs oyo ezo affecter ezali architecture ya modèle, matériel, na ba techniques ya optimisation.
Toko couvrir optimisation oyo nionso na future post ya série.
Optimisation ya système : Ko optimiser ba infrastructures ya matériel na logiciel oyo ezali sous-jacente, lokola kosalela matériel spécialisé (ndakisa, ba TPU, GPU) to ko optimiser ebele ya logiciel (ndakisa, kosalela ba bibliothèques na ba cadres efficaces). Ekoki kokabolama na:
Bokambami ya mémoire : Kokamba malamu bosaleli ya mémoire mpo na kokitisa ba frais ya likolo mpe kobongisa mosala.
Computation efficace : Ko leverage parallèlisme pe ko optimiser calcul pona ko réduire latence.
Batching : Kosala ba demandes ebele na mbala moko pona ko améliorer débit.
Kobongisa manaka : Kobongisa misala malamu mpo na kosalela mingi makoki.
Ba Compressions ya Modèle : Ba techniques lokola quantisation, kokata, pe distillation ekoki kosalelama pona kokitisa bonene ya modèle pe kobongisa vitesse ya inférence sans ko sacrifier makasi performance.
Optimisation ya algorithme : Kobongisa ba algorithmes oyo esalelamaka pona inférence, lokola kosalela ba stratégies ya échantillonnage ya malamu mingi to ko optimiser mécanisme ya attention. Ndakisa Décodage spéculatif, oyo epesaka nzela na modèle e produire ba jetons ebele en parallèle, ekoki ko réduire significativement latence ya décodage.
Na post oyo, topesaki aperçu ya inférence ya LLM, importance na yango, pe ba défis oyo ezo sangana na yango. Tolakisaki pe ba formulations ya ba problèmes clés oyo eko guider exploration na biso ya ba techniques ya optimisation na ba posts oyo ekolanda.
Na ko comprendre ba intricacies ya inférence ya LLM pe ba facteurs oyo e influencer performance na yango, tokoki ko apprécier malamu signification ya ba techniques ya optimisation na kosala que ba LLM ezala plus pratiques pona ba applications ya mokili ya solo. Na post oyo ekolanda, toko profonder na mozindo na ba techniques spécifiques ya optimisation pe ba mise en œuvre na yango, na ko focuser na réduction ya latence pe consommation ya ba ressources tout en gardant performance ya modèle.