Visage étreint | Préimprimée | Papier | Démo

Les modèles de grandes langues (LLM) ont un traitement de langage naturel significativement avancé, mais leurs progrès n'ont pas encore été égaux entre les langues entre les langues. Alors que la plupart des LLM sont formées dans des langues à haute ressource comme l'anglais, les modèles multilingues sous-performent les modèles monolingues. De plus, les aspects de leur fondation multilingue restreignent parfois les sous-produits qu'ils produisent, comme les demandes de calcul et les régimes de licence. Dans cette étude, nous documentons le développement de modèles de fondation ouverte adaptés à une utilisation dans des contextes à faibles ressources, leurs limites et leurs avantages. Ceci est la paire Teenytinyllama : deux modèles compacts pour la génération de texte portugais brésilien. Nous les libérons sous la licence APACHE 2.0 permissive sur GitHub et étreignant la face pour l'utilisation de la communauté et le développement ultérieur.
L'utilisation principale de Teenytinyllama est de rechercher les défis liés au développement de modèles de langue pour les langues à faible ressource. Les points de contrôle enregistrés pendant la formation sont destinés à fournir un cadre contrôlé pour effectuer des expériences scientifiques. Vous pouvez également affiner et adapter Teenytinyllama pour le déploiement, tant que votre utilisation suit la licence Apache 2.0. Si vous décidez d'utiliser l'adolescent pré-formé comme base de votre modèle affiné, veuillez effectuer votre propre évaluation des risques et des biais.
Teenytinyllama n'est pas destiné au déploiement. Ce n'est pas un produit et ne doit pas être utilisé pour les interactions orientées humains.
Les modèles Teenytinyllama sont uniquement en langue portugaise brésilienne et ne conviennent pas à la traduction ou à la génération de texte dans d'autres langues.
Teenytinyllama n'a pas été affiné pour des contextes en aval dans lesquels les modèles de langue sont couramment déployés.
Comme presque tous les autres modèles de langue formés sur de grands ensembles de données de texte grattés du Web, la paire TTL a présenté un comportement qui n'en fait pas une solution prête à la boîte à de nombreuses applications du monde réel, en particulier celles nécessitant une génération de texte factuelle, fiable et non toxique. Nos modèles sont tous soumis à ce qui suit:
Hallucinations: Ce modèle peut produire du contenu qui peut être confondu avec la vérité mais qui est, en fait, trompeur ou entièrement faux, c'est-à-dire hallucination.
Bâtiers et toxicité: ce modèle hérite des stéréotypes sociaux et historiques des données utilisées pour la former. Compte tenu de ces biais, le modèle peut produire un contenu toxique, à savoir, nocif, offensant ou préjudiciable aux individus, aux groupes ou aux communautés.
Code peu fiable: Le modèle peut produire des extraits de code et des instructions incorrects. Ces générations de code ne doivent pas être traitées comme des suggestions ou des solutions précises.
Limites du langage: Le modèle est principalement conçu pour comprendre le portugais brésilien standard. D'autres langues pourraient remettre en question sa compréhension, conduisant à des interprétations ou des erreurs potentielles en réponse.
Répétition et verbosité: le modèle peut être coincé sur les boucles de répétition (surtout si la pénalité de répétition pendant les générations est fixée à une valeur maigre) ou produit des réponses verbeuses sans rapport avec l'invite qui lui a été donnée.
Par conséquent, même si nos modèles sont publiés avec une licence permissive, nous exhortons les utilisateurs à effectuer leur analyse des risques sur ces modèles si l'intention de les utiliser pour des applications du monde réel et que les humains modérèrent les résultats de ces modèles dans des applications où ils interagiront avec un public, garantissant que les utilisateurs sont toujours conscients qu'ils interagissent avec un modèle linguistique.
Ce référentiel contient le code source utilisé pour former nos modèles. Nous avons créé toutes nos implémentations de code à l'aide des bibliothèques liées à l'écosystème de face étreintes, c'est-à-dire, des transformateurs, des ensembles de données, des tokenisers et accélérer, ce qui permette une reproductibilité, une adaptation et une nouvelle mise à l'échelle faciles. Nos scripts de formation et d'évaluation suivent une structure Pytorch standard, tandis que nous avons utilisé du codecarbone et des poids et biais pour suivre nos expériences.
Toutes les exigences sont répertoriées dans le fichier exigences.txt (version Python: 3.10.12).
Pré-formation: le dossier pré-formation contient deux scripts principaux: pre-training.py et train-sentencepiece.py . Ces scripts ont été utilisés pour former à la fois le tokenizer de phrase et les modèles. Vous pouvez trouver plus d'informations sur la façon de les exécuter ici.
Fine-Tuning: le dossier fini de réglage contient le script supervised-fine-tuning.py . Ce script est utilisé pour affiner la version 460m de nos modèles sur le jeu de données Instruct-Aira version 2.0. Vous pouvez trouver plus d'informations sur la façon de les exécuter ici.
Évaluation: Le dossier d'évaluation contient les résultats de nos évaluations (EVC.MD). Il contient également un script evaluation.py pour vous permettre d'évaluer l'un des points de contrôle de nos modèles ou modèles que vous pourriez vous entraîner. Le cahier lm-evaluation-harness-pt.ipynb montre comment évaluer un modèle sur la version Laiviet de l' LM-Evaluation-Harness . Vous pouvez trouver plus d'informations sur la façon de les exécuter ici. Des évaluations sur les repères portugais sont disponibles dans le nouveau dossier.
Utilitaires: Le dossier des services publics contient des scripts auxiliaires (plus d'informations disponibles ici):
chinchilla-estimation.py vous aide à estimer la taille de l'ensemble de données concernant la taille du modèle, en utilisant le papier chinchilla comme référence.quantize.py effectuera une quantification AWQ 4 bits sur les modèles.tokenize-dataset.py créera une version tokenisée d'un ensemble de données de texte et la téléchargera dans le centre de face étreint. Dans le dossier img , vous trouverez un sous-dossier nommé logs and plots . Dans ce document, vous pouvez trouver tous les journaux et parcelles (et le script utilisé pour fabriquer les tracés) que nous avons utilisés dans notre préimpression.
@misc{correa24ttllama,
title = {TeenyTinyLlama: open-source tiny language models trained in Brazilian Portuguese},
author = {Corr{ ^ e}a, Nicholas Kluge and Falk, Sophia and Fatimah, Shiza and Sen, Aniket and De Oliveira, Nythamar},
journal={arXiv preprint arXiv:2401.16640},
year={2024}
}
@misc{correa24ttllama,
doi = {10.1016/j.mlwa.2024.100558},
url = {https://www.sciencedirect.com/science/article/pii/S2666827024000343},
title = {TeenyTinyLlama: open-source tiny language models trained in Brazilian Portuguese},
author = {Corr{ ^ e}a, Nicholas Kluge and Falk, Sophia and Fatimah, Shiza and Sen, Aniket and De Oliveira, Nythamar},
journal={Machine Learning With Applications},
publisher = {Springer},
year={2024}
}Cette recherche a été financée par les raies (rede de Inteligência artificiel ética e segura). RAIES est un projet soutenu par Fapergs (Fundação de Amparo à Pesquisa do Estado do Rio Grande do Sul) et CNPQ (CONSELHO NACIONAL DE DENENVOLVIMENTO CIENTífico e Tecnológico).
Teenytinyllama est concédé sous licence Apache, version 2.0. Voir le fichier de licence pour plus de détails.