


Une exploration préliminaire de l'évolution de la technologie de pré-formation en langage naturel
Trois niveaux d'intelligence artificielle :
Fonction informatique : capacités de stockage de données et de calcul, les machines sont bien meilleures que les humains.
Fonctions perceptuelles : vision, audition et autres capacités Les machines sont déjà comparables aux humains dans les domaines de la reconnaissance vocale et de la reconnaissance d'images.
Intelligence cognitive : pour des tâches telles que le traitement du langage naturel, la modélisation du bon sens et le raisonnement, les machines ont encore un long chemin à parcourir.
Le traitement du langage naturel appartient à la catégorie de l'intelligence cognitive. Parce que le langage naturel présente les caractéristiques d'abstraction, de combinaison, d'ambiguïté, de connaissance et d'évolution, il pose de grands défis au traitement automatique. Certaines personnes appellent le traitement du langage naturel le joyau de l'artificiel. intelligence. Ces dernières années, des modèles linguistiques pré-entraînés représentés par BERT ont émergé, faisant entrer le traitement du langage naturel dans une nouvelle ère : modèles linguistiques pré-entraînés + réglage fin pour des tâches spécifiques. Cet article tente de faire le point sur l'évolution de la technologie de pré-formation en langage naturel, en vue de communiquer et d'apprendre avec tous. Nous acceptons les critiques et la correction des lacunes et des erreurs.
1. Ancien - Représentation des mots
1.1 Encodage à chaud
utilise un vecteur de la taille d'un vocabulaire pour représenter un mot, dans lequel la valeur de la position correspondante du mot est 1 et les positions restantes sont 0. Inconvénients :
- Rareté en grande dimension
- Impossible de représenter la similarité sémantique : la similarité vectorielle unique de deux synonymes est 0
1.2 Représentation distribuée
Hypothèse de sémantique distribuée : des mots similaires ont des contextes similaires, la signification sémantique d'un le mot peut être représenté par le contexte. Sur la base de cette idée, la distribution contextuelle de chaque mot peut être utilisée pour représenter des mots.
1.2.1 Représentation de la fréquence des mots
Basé sur le corpus, le contexte du mot est utilisé pour construire un tableau de fréquence de cooccurrence. Chaque ligne du tableau de mots représente la représentation vectorielle d'un mot. Différentes informations linguistiques peuvent être capturées grâce à différentes sélections de contexte. Par exemple, si les mots dans la fenêtre fixe autour du mot dans la phrase sont utilisés comme contexte, des informations plus locales sur le mot seront capturées : informations lexicales et syntaxiques. Le document est utilisé comme contexte. Capturez davantage d'informations sur le sujet représentées par le mot. Inconvénients :
- Problème de mots à haute fréquence.
- Ne peut pas refléter les relations d'ordre supérieur : (A, B) (B, C) (C, D) !=> (A, D).
- Il y a toujours un problème de rareté.
1.2.2 Représentation TF-IDF
Remplacez la valeur dans la représentation de la fréquence des mots par TF-IDF, ce qui atténue principalement le problème des mots à haute fréquence dans la représentation de la fréquence des mots.
1.2.3 Représentation des informations mutuelles ponctuelles
atténue également le problème des mots à haute fréquence de la représentation de la fréquence des mots. La valeur dans la représentation de la fréquence des mots est remplacée par l'information mutuelle ponctuelle du mot :
1.2.4. LSA
En comparant la fréquence des mots La matrice est soumise à une décomposition en valeurs singulières (SVD) pour obtenir une représentation vectorielle de faible dimension, continue et dense de chaque mot, qui peut être considérée comme représentant la sémantique potentielle du mot Cette méthode est également appelée analyse sémantique latente (Latent Semantic Analysis, LSA).
LSA atténue les problèmes tels que les mots à haute fréquence, les relations d'ordre élevé, la rareté, etc., et l'effet est toujours bon dans les algorithmes d'apprentissage automatique traditionnels, mais il y a aussi quelques lacunes :
- Quand le vocabulaire est grand, la vitesse du SVD est relativement lente.
- Impossible d'en rattraper de nouveaux. Lorsque le corpus change ou qu'un nouveau corpus est ajouté, il doit être recyclé.
2. Les temps modernes - vecteurs de mots statiques
L'ordre du texte et la relation de cooccurrence entre les mots fournissent des signaux d'apprentissage naturels auto-supervisés pour le traitement du langage naturel, permettant au système de le faire sans annotation manuelle supplémentaire. Apprendre à partir du texte .
2.1 Word2Vec
2.1.1 CBOW
CBOW (Continous Bag-of-Words) utilise le contexte (fenêtre) pour prédire le mot cible, prend la moyenne arithmétique des vecteurs de mots des mots contextuels, puis prédit le probabilité du mot cible.
2.1.2 Skip-gram
Skip-gram prédit le contexte par mot.
2.2 GloVe
GloVe (Global Vectors for Word Representation) utilise des vecteurs de mots pour prédire la matrice de cooccurrence des mots et implémente une décomposition matricielle implicite. Tout d’abord, une matrice de cooccurrence X pondérée en fonction de la distance est construite sur la base de la fenêtre contextuelle du mot, puis le vecteur du mot et du contexte est utilisé pour ajuster la matrice de cooccurrence X :
La fonction de perte est :
2.3 Résumé
L'apprentissage des vecteurs de mots utilise les informations de cooccurrence entre les mots du corpus, et l'idée sous-jacente est l'hypothèse sémantique distribuée. Qu'il s'agisse de Word2Vec basé sur le contexte local ou de GloVe basé sur des informations explicites de cooccurrence globale, l'essentiel est d'agréger les informations contextuelles de cooccurrence d'un mot dans l'ensemble du corpus dans la représentation vectorielle du mot, et d'obtenir de bons résultats. , la vitesse d'entraînement est également très rapide, mais le vecteur de lacunes est statique, c'est-à-dire qu'il n'a pas la capacité de changer avec les changements de contexte.
3. Moderne - modèle de langage pré-entraîné
Modèle de langage autorégressif : calculez la probabilité conditionnelle du mot au moment actuel en fonction de l'historique de la séquence.
Modèle de langage à encodage automatique : reconstruisez les mots masqués à travers le contexte.
représente la séquence masquée
3.1 Pierre angulaire - Transformateur
3.1.1 Modèle d'attention
Le modèle d'attention peut être compris comme un mécanisme de pondération d'une séquence vectorielle et le calcul du poids .
3.1.2 Auto-attention multi-têtes
Le modèle d'attention utilisé dans Transformer peut être exprimé comme suit :
Lorsque Q, K, V proviennent de la même séquence vectorielle, il devient une auto-attention. modèle d’attention.
Auto-attention multi-têtes : configurez plusieurs groupes de modèles d'auto-attention, divisez leurs vecteurs de sortie et mappez-les à la taille des dimensions de la couche cachée du Transformer via un mappage linéaire. Le modèle d’auto-attention multi-têtes peut être compris comme un ensemble de plusieurs modèles d’auto-attention.
3.1.3 Codage de position
Étant donné que le modèle d'auto-attention ne prend pas en compte les informations de position du vecteur d'entrée, les informations de position sont cruciales pour la modélisation de séquence. Les informations de position peuvent être introduites via l'intégration de position ou le codage de position. Transformer utilise le codage de position.
3.1.4 Autres
De plus, la connexion résiduelle, la normalisation des couches et d'autres technologies sont également utilisées dans le bloc Transformateur.
3.1.5 Avantages et inconvénients
Avantages :
- Par rapport à RNN, il peut modéliser des dépendances à plus longue distance. Le mécanisme d'attention réduit la distance entre les mots à 1, modélisant ainsi des données de séquence longue.
- Comparé au RNN, il peut mieux utiliser la puissance de calcul parallèle du GPU.
- Forte capacité d’expression.
Inconvénients :
- Par rapport au RNN, les paramètres sont plus grands, ce qui augmente la difficulté de l'entraînement et nécessite plus de données d'entraînement.
3.2 Modèle de langage autorégressif
3.2.1 ELMo
ELMo : intégrations à partir de modèles de langage
Couche d'entrée
Vous pouvez directement utiliser l'intégration de mots pour des mots, ou vous pouvez utiliser CNN pour des séquences de caractères dans des mots, ou autres Modèle.
Structure du modèle
ELMo modélise indépendamment les modèles de langage avant et arrière via LSTM Modèle de langage avant :
Modèle de langage arrière :
Objectif d'optimisation
maximisation :
.Application en aval
Une fois ELMo formé, les vecteurs suivants peuvent être obtenus pour être utilisés dans des tâches en aval.
est l'intégration de mots obtenue par la couche d'entrée et est le résultat de la concaténation des sorties LSTM avant et arrière.
Lorsqu'ils sont utilisés dans des tâches en aval, les vecteurs de chaque couche peuvent être pondérés pour obtenir une représentation vectorielle d'ELMo, et un poids peut être utilisé pour mettre à l'échelle le vecteur ELMo.
Différents niveaux de vecteurs de couches cachées contiennent des informations textuelles à différents niveaux ou granularités :
- La couche supérieure code plus d'informations sémantiques
- La couche inférieure code plus d'informations lexicales et syntaxiques
2 séries GPT
.GPT-1
Structure du modèle
Dans GPT-1 (Generative Pre-Training), il s'agit d'un modèle de langage unidirectionnel qui utilise 12 structures de blocs de transformateur comme décodeurs, chaque bloc de transformateur est un auto-multi-tête -mécanisme d'attention, puis la distribution de probabilité de la sortie est obtenue grâce à une connexion complète.
- U : Vecteur unique de mot
- Nous : Matrice vectorielle de mot
- Wp : Matrice vectorielle de position
Objectif d'optimisation
Maximisation :
Applications en aval
Dans la tâche en aval, pour un ensemble de données étiqueté, chaque instance possède un jeton d'entrée :, qui consiste en l'étiquette. Tout d'abord, ces jetons sont entrés dans le modèle de pré-entraînement entraîné pour obtenir le vecteur de caractéristiques final. Ensuite, le résultat de la prédiction est obtenu via une couche entièrement connectée :
Le but de la tâche supervisée en aval est de maximiser :
Afin d'éviter le problème d'oubli catastrophique, un certain poids de prédiction peut être ajouté à la perte de réglage fin, perte de formation, généralement perte de pré-entraînement.
GPT-2
L'idée centrale de GPT-2 peut être résumée comme suit : toute tâche supervisée est un sous-ensemble du modèle de langage. Lorsque la capacité du modèle est très grande et que la quantité de données est suffisamment riche, elle est utilisée. peut être réalisé en entraînant simplement le modèle de langage. Effectuer d’autres tâches d’apprentissage supervisé. Par conséquent, GPT-2 n'a pas réalisé trop d'innovations et de conceptions structurelles sur le réseau GPT-1. Il a simplement utilisé plus de paramètres de réseau et un ensemble de données plus large. L'objectif était de former un vecteur de mots avec une capacité de généralisation plus forte.
Parmi les 8 tâches du modèle de langage, GPT-2 en a 7 surpassées les méthodes de pointe de l'époque grâce au seul apprentissage zéro-shot (bien sûr, certaines tâches ne sont toujours pas aussi bonnes que le modèle supervisé). La plus grande contribution de GPT-2 est de vérifier que les modèles vectoriels de mots formés avec des données massives et un grand nombre de paramètres peuvent être transférés vers d'autres catégories de tâches sans formation supplémentaire.
Dans le même temps, GPT-2 a montré qu'à mesure que la capacité du modèle et la quantité (qualité) des données d'entraînement augmentent, il est possible de développer davantage son potentiel. Sur la base de cette idée, GPT-3 est né.
GPT-3
La structure du modèle reste inchangée, mais la capacité du modèle, le volume et la qualité des données d'entraînement sont augmentés. Il est connu comme un géant, et l'effet est également très bon.
Résumé
De GPT-1 à GPT-3, à mesure que la capacité du modèle et la quantité de données de formation augmentent, les connaissances linguistiques apprises par le modèle s'enrichissent et le paradigme du traitement du langage naturel change également de " modèle de pré-entraînement + réglage fin » se transforme progressivement en « modèle de pré-entraînement + apprentissage zéro-coup/quelques-coups ». L'inconvénient de GPT est qu'il utilise un modèle de langage unidirectionnel. BERT a prouvé qu'un modèle de langage bidirectionnel peut améliorer les performances du modèle.
3.2.3 XLNet
XLNet introduit des informations contextuelles bidirectionnelles via le modèle de langage de permutation sans introduire de balises spéciales, évitant ainsi le problème de distribution incohérente des jetons dans les étapes de pré-formation et de réglage fin. Dans le même temps, Transformer-XL est utilisé comme structure principale du modèle, ce qui a de meilleurs effets sur les textes longs.
Modèle de langage de permutation
Le but du modèle de langage de permutation est :
est l'ensemble de toutes les permutations possibles de la séquence de texte.
Mécanisme d'auto-attention à deux flux
- Le but du mécanisme d'auto-attention à deux flux (auto-attention à deux flux) est d'obtenir le modèle de langage de permutation en transformant le transformateur lors de la saisie d'une séquence de texte normale :
- Représentation du contenu : informations contenues
- Représentation de la requête : informations contenues uniquement
Cette méthode utilise les informations de position du mot prédit.
Application en aval
Lors de l'application de tâches en aval, aucune représentation de requête n'est requise et aucun masque n'est requis.
3.3 Modèle de langage à encodage automatique
3.3.1 BERT
Modèle de langage masqué
Le modèle de langage masqué (MLM) masque aléatoirement certains mots et utilise ensuite des informations contextuelles pour la prédiction. Il y a un problème avec MLM, il y a une inadéquation entre la pré-formation et le réglage fin, car le jeton [MASK] n'est jamais vu lors du réglage fin. Pour résoudre ce problème, BERT ne remplace pas toujours le jeton de mot « masqué » par le jeton [MASK] réel. Le générateur de données d'entraînement sélectionne aléatoirement 15 % des tokens puis :
- 80 % de probabilité : les remplace par le token [MASK].
- 10 % de probabilité : remplacer par un jeton aléatoire de la liste de vocabulaire.
- 10 % de probabilité : le jeton reste inchangé.
Le jeton est masqué en BERT natif, et des mots ou phrases entiers (N-Gram) peuvent être masqués.
Prédiction de la phrase suivante
Prédiction de la phrase suivante (NSP) : lorsque les phrases A et B sont sélectionnées comme échantillons de pré-entraînement, B a 50 % de chances d'être la phrase suivante de A et 50 % de chances d'être aléatoire. phrase du corpus.
Couche d'entrée
Structure du modèle
Le paradigme classique "modèle pré-entraîné + réglage fin", la structure du thème est un transformateur multicouche empilé.
3.3.2 RoBERTa
RoBERTa (approche de pré-entraînement BERT robustement optimisée) n'améliore pas considérablement le BERT, mais mène uniquement des expériences détaillées sur chaque détail de conception du BERT pour trouver des possibilités d'amélioration du BERT.
- Masque dynamique : la méthode originale consiste à définir le masque et à le corriger lors de la construction de l'ensemble de données. La méthode améliorée consiste à masquer les données de manière aléatoire lors de la saisie des données dans le modèle à chaque cycle de formation, ce qui augmente la diversité des données. les données.
- Abandonner les tâches NSP : des expériences ont prouvé que ne pas utiliser les tâches NSP peut améliorer les performances de la plupart des tâches.
- Plus de données d'entraînement, des lots plus importants et des étapes de pré-entraînement plus longues.
- Vocabulaire plus large : en utilisant le vocabulaire BPE au niveau des octets tel que SentencePièce au lieu du vocabulaire BPE au niveau des caractères de WordPièce, il n'y aura presque aucun mot non enregistré.
3.3.3 ALBERT
BERT a un nombre relativement grand de paramètres. L'objectif principal d'ALBERT (A Lite BERT) est de réduire les paramètres : la dimension vectorielle du mot de
- BERT est la même que la dimension de la couche cachée, et le vecteur de mot est sans contexte, tandis que BERT La couche Transformer a besoin et peut apprendre suffisamment d'informations contextuelles, de sorte que la dimension vectorielle de la couche cachée doit être beaucoup plus grande que la dimension vectorielle de mot. Lorsque vous augmentez la taille pour améliorer les performances, il n'est pas nécessaire de l'agrandir car l'espace vectoriel des mots peut être suffisant pour la quantité d'informations à intégrer.
- Schéma : Le vecteur de mots est transformé en dimension H via la couche entièrement connectée.
- Paramétrage d'intégration factorisé.
- Partage de paramètres entre couches : les blocs de transformateur de différentes couches partagent des paramètres.
- Prédiction de l'ordre des phrases (SOP), apprentissage des différences sémantiques subtiles et de la cohérence du discours.
3.4 Confrontation générative - ELECTRA
ELECTRA (Apprentissage efficace d'un encodeur qui classe les remplacements de jetons avec précision) présente le modèle de générateur et de discriminateur, et modifie la tâche de pré-entraînement générative du modèle de langage masqué (MLM) en détection discriminante de jeton remplacé ( RTD), qui détermine si le jeton actuel a été remplacé par le modèle de langage, est similaire à l'idée du GAN.
Le générateur prédit le jeton à la position du masque dans le texte d'entrée :
L'entrée du discriminateur est la sortie du générateur, et le discriminateur prédit si le mot à chaque position a a été remplacé :
De plus, quelques optimisations ont été apportées :
- Le générateur et le discriminateur sont chacun un BERT, et les paramètres du générateur BERT sont mis à l'échelle.
- Décomposition des paramètres vectoriels de mots.
- Partage des paramètres du générateur et du discriminateur : partage des paramètres de la couche d'entrée, y compris la matrice de vecteurs de mots et la matrice de vecteurs de position.
Utilisez uniquement le discriminateur et non le générateur dans les tâches en aval.
3.5 Traitement de texte long - Transformer-XL
Transformer Une stratégie courante pour traiter un texte long consiste à diviser le texte en morceaux de longueur fixe et à encoder chaque morceau indépendamment, sans interaction d'informations entre les morceaux.
Afin d'optimiser la modélisation du texte long, Transformer-XL utilise deux technologies : la récurrence au niveau du segment avec réutilisation d'état et les encodages de position relative.
3.5.1 Boucle de réutilisation d'état au niveau du bloc
Transformer-XL est également saisi sous la forme de segments de longueur fixe pendant la formation. La différence est que l'état du segment précédent de Transformer-XL sera mis en cache puis. La réutilisation de l'état caché de la tranche de temps précédente lors du calcul du segment actuel donne à Transformer-XL la possibilité de modéliser des dépendances à plus long terme.
Deux segments consécutifs de longueur L et. L'état du nœud de couche caché est exprimé par, où d est la dimension du nœud de couche caché. Le processus de calcul de l'état du nœud de la couche cachée est :
Un autre avantage de la récursivité des fragments est l'amélioration de la vitesse de raisonnement. Par rapport à l'architecture autorégressive de Transformer, qui ne peut avancer qu'une seule tranche de temps à la fois, le processus de raisonnement de Transformer-XL réutilise directement la représentation du fragment précédent au lieu de le calculer à partir de zéro. , ce qui améliore le processus de raisonnement jusqu'au raisonnement par fragments.
3.5.2 Codage de position relative
Dans Transformer, le modèle d'auto-attention peut être exprimé comme suit :
L'expression complète est :
L'encodage de position de chaque fragment est le même, ce qui signifie que le codage de position du Transformer est un codage de position absolu par rapport au fragment et n'a rien à voir avec la position relative du contenu actuel dans la phrase originale.
Transfomer-XL a apporté plusieurs modifications basées sur la formule ci-dessus et a obtenu la méthode de calcul suivante :
- Changement 1 : Dans, il est divisé en une vraie somme, ce qui signifie que la séquence d'entrée et l'encodage de position ne sont pas Poids partagé plus long.
- Changement 2 : Dans, l'encodage de position absolue est remplacé par l'encodage de position relative.
- Changement 3 : Deux nouveaux paramètres apprenables sont introduits pour remplacer le vecteur de requête dans Transformer. Indique que les vecteurs de position de requête correspondants sont les mêmes pour toutes les positions de requête. Autrement dit, quelle que soit la position de la requête, le biais d’attention pour différents mots reste cohérent.
- Après amélioration, la signification de chaque partie :
- Pertinence basée sur le contenu () : Calcule les informations de corrélation entre le contenu de la requête et la clé
- Décalage de position lié au contenu () : Calcule le contenu et la clé de la requête Les informations associées entre les codes de position
- Global content offset() : Calculez les informations associées entre le code de position de la requête et le contenu de la clé
- Global position offset() : Calculez la relation entre les codes de position de la requête et la clé Informations
3.6 Distillation et compression - DistillBert
Technologie de distillation des connaissances (KD) : Elle se compose généralement d'un modèle d'enseignant et d'un modèle d'étudiant. Elle transfère les connaissances du modèle d'enseignant au modèle d'étudiant afin que le modèle d'étudiant soit aussi proche. autant que possible au modèle d'enseignant. , dans les applications pratiques, le modèle d'étudiant doit souvent être plus petit que le modèle d'enseignant et conserver fondamentalement l'effet du modèle d'origine.
Modèle étudiant de DistillBert :
- BERT à six couches, tout en supprimant l'intégration de type jeton (intégration de segment).
- Utilisez les six premières couches du modèle d'enseignant pour l'initialisation.
- Utilisez uniquement un modèle de langage masqué pour la formation, aucune tâche NSP n'est utilisée.
Modèle enseignant : BERT-base :
Fonction de perte :
Perte MLM supervisée : Perte d'entropie croisée obtenue par entraînement avec langage masqué modèle :
- représente le label de la ème catégorie , représente la probabilité de sortie de la catégorie du modèle étudiant.
- Perte MLM distillée : utilisez la probabilité du modèle d'enseignant comme signal d'orientation et calculez la perte d'entropie croisée avec la probabilité du modèle d'élève :
- représente l'étiquette de la catégorie du modèle d'enseignant .
- Perte de cosinus de vecteur de mot : alignez les directions des vecteurs de couche cachée du modèle d'enseignant et du modèle d'élève, et raccourcissez la distance entre le modèle d'enseignant et le modèle d'élève à partir de la dimension de couche cachée :
- et représentent respectivement la sortie de la couche cachée de la dernière couche du modèle enseignant et du modèle étudiant.
- Perte finale :
4. Références
https://www.php.cn/link/6e2290dbf1e11f39d246e7ce5ac50a1e
https://www.php. cn/link/664c7298d2b73b3c7fe2d1e8d1781c06
https://www.php.cn/link/67b878df6cd42d142f2924f3ace85c78
https:// www.php.c n/lien/f6a673f09493afcd8b129a0bcf1cd5bc
https://www.php.cn/link/82599a4ec94aca066873c99b4c741ed8
https://www.php.cn/link/2e64da0bae6a7533021c760d4ba5d621
https :/ /www.php.cn/link/56d33021e640f5d64a611a71b5dc30a3
https://www.php.cn/link/4e38d30e656da5ae9d3a425109ce9e04
https://www.php.cn/link /c055dcc749c2632fd4dd806301f05ba6
https://www.php.cn/link/a749e38f556d5eb1dc13b9221d1f994f
https://www.php.cn /link/ 8ab9bb97ce35080338be74dc6375e0ed
https://www.php.cn/link/4f0bf7b7b1aca9ad15317a0b4efdca14
https://www.php.cn/link/b81132591828d622fc335860bffec150
https://www. php.cn/link/fca758e52635df5a640f7063ddb9cdcb
https://www.php.cn/link/5112277ea658f7138694f079042cc3bb
https://www. cn/lien/257deb66f5366aab34a23d5fd0571da4
https://www.php.cn/link/b18e8fb514012229891cf024b6436526
https://www.php.cn/link /836a0dcbf5d22652569dc3a708274c1 6
https https://www.php.cn/link/a3de03cb426b5e36f5c7167b21395323
https://www.php.cn/link/831b342d8a83408e5960e9b0c5f31f0c
https://www.php .cn /link/6b27e88fdd7269394bca4968b48d8df4
https://www.php.cn/link/682e0e796084e163c5ca053dd8573b0c
https://www.php .cn /lien/9739efc4f01292e764c86caa59af353e
https://www.php.cn/link/b93e78c67fd4ae3ee626d8ec0c412dec
https://www.php.cn/link/c8cc6e90ccbff44c9cee23611711cdc4
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Dans les tâches de génération de langage naturel, la méthode d'échantillonnage est une technique permettant d'obtenir du texte à partir d'un modèle génératif. Cet article abordera 5 méthodes courantes et les implémentera à l'aide de PyTorch. 1. GreedyDecoding Dans le décodage gourmand, le modèle génératif prédit les mots de la séquence de sortie en fonction du temps de la séquence d'entrée pas à pas. À chaque pas de temps, le modèle calcule la distribution de probabilité conditionnelle de chaque mot, puis sélectionne le mot avec la probabilité conditionnelle la plus élevée comme sortie du pas de temps actuel. Ce mot devient l'entrée du pas de temps suivant et le processus de génération se poursuit jusqu'à ce qu'une condition de fin soit remplie, telle qu'une séquence d'une longueur spécifiée ou un marqueur de fin spécial. La caractéristique de GreedyDecoding est qu’à chaque fois la probabilité conditionnelle actuelle est la meilleure

Les modèles de langage raisonnent sur le texte, qui se présente généralement sous la forme de chaînes, mais l'entrée du modèle ne peut être que des nombres, le texte doit donc être converti sous forme numérique. La tokenisation est une tâche fondamentale du traitement du langage naturel. Elle peut diviser une séquence de texte continue (telle que des phrases, des paragraphes, etc.) en une séquence de caractères (telle que des mots, des phrases, des caractères, des signes de ponctuation, etc.) en fonction de besoins spécifiques. Les unités qu'il contient sont appelées un jeton ou un mot. Selon le processus spécifique illustré dans la figure ci-dessous, les phrases de texte sont d'abord divisées en unités, puis les éléments individuels sont numérisés (mappés en vecteurs), puis ces vecteurs sont entrés dans le modèle pour le codage, et enfin sortis vers des tâches en aval pour obtenir en outre le résultat final. La segmentation du texte peut être divisée en Toke en fonction de la granularité de la segmentation du texte.

L'ensemble de données ScienceAI Question Answering (QA) joue un rôle essentiel dans la promotion de la recherche sur le traitement du langage naturel (NLP). Des ensembles de données d'assurance qualité de haute qualité peuvent non seulement être utilisés pour affiner les modèles, mais également évaluer efficacement les capacités des grands modèles linguistiques (LLM), en particulier la capacité à comprendre et à raisonner sur les connaissances scientifiques. Bien qu’il existe actuellement de nombreux ensembles de données scientifiques d’assurance qualité couvrant la médecine, la chimie, la biologie et d’autres domaines, ces ensembles de données présentent encore certaines lacunes. Premièrement, le formulaire de données est relativement simple, et la plupart sont des questions à choix multiples. Elles sont faciles à évaluer, mais limitent la plage de sélection des réponses du modèle et ne peuvent pas tester pleinement la capacité du modèle à répondre aux questions scientifiques. En revanche, les questions et réponses ouvertes

Compilation|Produit par Xingxuan|51CTO Technology Stack (ID WeChat : blog51cto) Au cours des deux dernières années, j'ai été davantage impliqué dans des projets d'IA générative utilisant de grands modèles de langage (LLM) plutôt que des systèmes traditionnels. Le cloud computing sans serveur commence à me manquer. Leurs applications vont de l’amélioration de l’IA conversationnelle à la fourniture de solutions d’analyse complexes pour diverses industries, ainsi que de nombreuses autres fonctionnalités. De nombreuses entreprises déploient ces modèles sur des plates-formes cloud, car les fournisseurs de cloud public fournissent déjà un écosystème prêt à l'emploi et constituent la voie de moindre résistance. Cependant, cela n’est pas bon marché. Le cloud offre également d'autres avantages tels que l'évolutivité, l'efficacité et des capacités informatiques avancées (GPU disponibles sur demande). Il existe certains aspects peu connus du déploiement de LLM sur les plateformes de cloud public

La génération de langage naturel est une technologie d'intelligence artificielle qui convertit les données en texte en langage naturel. À l’ère actuelle du Big Data, de plus en plus d’entreprises ont besoin de visualiser ou de présenter des données aux utilisateurs, et la génération de langage naturel est une méthode très efficace. PHP est un langage de script côté serveur très populaire qui peut être utilisé pour développer des applications Web. Cet article présentera brièvement comment utiliser PHP pour la génération de base de langage naturel. Présentation de la bibliothèque de génération de langage naturel La bibliothèque de fonctions fournie avec PHP n'inclut pas les fonctions requises pour la génération de langage naturel, donc

En 2018, Google a publié BERT. Une fois publié, il a vaincu les résultats de pointe (Sota) de 11 tâches PNL d'un seul coup, devenant ainsi une nouvelle étape dans le monde de la PNL. dans la figure ci-dessous, à gauche se trouve le préréglage du modèle BERT, à droite le processus de réglage fin pour des tâches spécifiques. Parmi eux, l'étape de réglage fin est destinée au réglage fin lorsqu'il est ensuite utilisé dans certaines tâches en aval, telles que la classification de texte, le balisage de parties de discours, les systèmes de questions et réponses, etc. BERT peut être affiné sur différents tâches sans ajuster la structure. Grâce à la conception des tâches d'un « modèle de langage pré-entraîné + réglage fin des tâches en aval », il apporte de puissants effets de modèle. Depuis lors, le « modèle linguistique de pré-formation + réglage fin des tâches en aval » est devenu la formation dominante dans le domaine de la PNL.

Les progrès du traitement du langage naturel ces dernières années proviennent en grande partie de modèles de langage à grande échelle. Chaque nouveau modèle publié pousse la quantité de paramètres et de données d'entraînement vers de nouveaux sommets, et en même temps, les classements de référence existants seront abattus ! Par exemple, en avril de cette année, Google a publié le modèle de langage PaLM (Pathways Language Model) composé de 540 milliards de paramètres, qui a surpassé avec succès les humains dans une série de tests de langage et de raisonnement, en particulier ses excellentes performances dans des scénarios d'apprentissage sur petits échantillons. PaLM est considéré comme la direction de développement du modèle de langage de nouvelle génération. De la même manière, les modèles de langage visuel font des merveilles et les performances peuvent être améliorées en augmentant la taille du modèle. Bien sûr, s'il ne s'agit que d'un modèle de langage visuel multitâche

Les auteurs d'un nouvel article proposent un moyen « d'améliorer » la génération de code. La génération de code est une capacité de plus en plus importante en intelligence artificielle. Il génère automatiquement du code informatique basé sur des descriptions en langage naturel en entraînant des modèles d'apprentissage automatique. Cette technologie a de larges perspectives d'application et peut transformer les spécifications logicielles en code utilisable, automatiser le développement back-end et aider les programmeurs humains à améliorer l'efficacité de leur travail. Cependant, générer du code de haute qualité reste un défi pour les systèmes d’IA, par rapport aux tâches linguistiques telles que la traduction ou le résumé. Le code doit se conformer avec précision à la syntaxe du langage de programmation cible, gérer les cas extrêmes et les entrées inattendues avec élégance, et gérer avec précision les nombreux petits détails de la description du problème. Même de petits bugs qui peuvent sembler inoffensifs dans d'autres domaines peuvent complètement perturber la fonctionnalité d'un programme, provoquant
