Abraçando o rosto | Pré -impressão | Papel | Demonstração

Os grandes modelos de linguagem (LLMs) têm processamento de linguagem natural significativamente avançado, mas seu progresso ainda não foi igual entre os idiomas. Enquanto a maioria dos LLMs é treinada em idiomas de alta resistência, como o inglês, os modelos multilíngues geralmente têm desempenho monolíngue. Além disso, aspectos de sua base multilíngue às vezes restringem os subprodutos que produzem, como demandas computacionais e regimes de licenciamento. Neste estudo, documentamos o desenvolvimento de modelos de fundação aberta, adaptados para uso em ambientes de baixo recurso, suas limitações e seus benefícios. Este é o par Teenytinyllama : dois modelos compactos para a geração de texto portuguesa brasileira. Nós os liberamos sob a licença permissiva do Apache 2.0 no Github e abraçando o rosto para uso da comunidade e desenvolvimento adicional.
O uso principal pretendido de Teenytinyllama é pesquisar os desafios relacionados ao desenvolvimento de modelos de idiomas para idiomas de baixo recursos. Os pontos de verificação salvos durante o treinamento destinam -se a fornecer uma configuração controlada para realizar experimentos científicos. Você também pode ajustar ainda mais e adaptar o Teenytinyllama para implantação, desde que seu uso esteja seguindo a licença Apache 2.0. Se você decidir usar o Teenytinyllama pré-treinado como base para o seu modelo de ajuste fino, conduza seu próprio risco e avaliação de viés.
Teenytinyllama não se destina à implantação. Não é um produto e não deve ser usado para interações voltadas para o ser humano.
Os modelos Teenytinyllama são apenas a linguagem portuguesa brasileira e não são adequados para tradução ou geração de texto em outros idiomas.
Teenytinyllama não foi ajustado para contextos a jusante em que os modelos de idiomas são comumente implantados.
Como quase todos os outros modelos de idiomas treinados em grandes conjuntos de dados de texto raspados na Web, o par TTL exibiu um comportamento que não os torna uma solução pronta para uso para muitos aplicativos do mundo real, especialmente aqueles que exigem geração de texto factual, confiável e não tóxica. Nossos modelos estão todos sujeitos ao seguinte:
Alucinações: Este modelo pode produzir conteúdo que pode ser confundido com a verdade, mas é, de fato, enganador ou totalmente falso, ou seja, alucinação.
Viés e toxicidade: este modelo herda os estereótipos sociais e históricos dos dados usados para treiná -lo. Dados esses vieses, o modelo pode produzir conteúdo tóxico, ou seja, prejudicial, ofensivo ou prejudicial para indivíduos, grupos ou comunidades.
Código não confiável: o modelo pode produzir trechos e declarações de código incorretos. Essas gerações de código não devem ser tratadas como sugestões ou soluções precisas.
Limitações do idioma: O modelo foi projetado principalmente para entender o português brasileiro padrão. Outros idiomas podem desafiar sua compreensão, levando a possíveis interpretações ou erros em resposta.
Repetição e verbosidade: o modelo pode ficar preso nos loops de repetição (especialmente se a penalidade de repetição durante as gerações for definida como um valor escasso) ou produzir respostas detalhadas não relacionadas ao prompt que foi dado.
Portanto, embora nossos modelos sejam lançados com uma licença permissiva, pedimos aos usuários que executem sua análise de risco nesses modelos, se pretendem usá-los para aplicativos do mundo real e também fazer com que os humanos moderem os resultados desses modelos em aplicativos em que eles interagem com um público, garantindo que os usuários estejam sempre cientes de que estão interagindo com um modelo de linguagem.
Este repositório contém o código -fonte usado para treinar nossos modelos. Criamos todas as nossas implementações de código usando as bibliotecas vinculadas ao ecossistema de face abraçador, ou seja, transformadores, conjuntos de dados, tokenizadores e acelerar, que permitem fácil reprodutibilidade, adaptação e escala adicional. Nossos scripts de treinamento e avaliação seguem uma estrutura de pytorch padrão, enquanto utilizamos o coducarbon e os pesos e vieses para rastrear nossos experimentos.
Todos os requisitos estão listados no arquivo requisitos.txt (versão python: 3.10.12).
Pré-treinamento: A pasta pré-treinamento contém dois scripts principais: pre-training.py e train-sentencepiece.py . Esses scripts foram usados para treinar o tokenizador da sentença e os modelos. Você pode encontrar mais informações sobre como executá -las aqui.
Ajuste fino: a pasta de ajuste fino contém o script supervised-fine-tuning.py . Este script é usado para ajustar a versão de 460m de nossos modelos no conjunto de dados Instruct-Aira versão 2.0. Você pode encontrar mais informações sobre como executá -las aqui.
Avaliação: A pasta de avaliação contém os resultados de nossas avaliações (Eval.md). Ele também contém um script evaluation.py . O notebook lm-evaluation-harness-pt.ipynb mostra como avaliar um modelo na versão Laiviet da LM-Evaluation-Harness . Você pode encontrar mais informações sobre como executá -las aqui. As avaliações sobre os benchmarks portugues estão disponíveis na pasta nova-eval.
Utilitários: a pasta Utilitários contém alguns scripts auxiliares (mais informações disponíveis aqui):
chinchilla-estimation.py ajuda a estimar o tamanho do conjunto de dados em relação ao tamanho do modelo, usando o papel chinchilla como referência.quantize.py executará a quantização AWQ de 4 bits nos modelos.tokenize-dataset.py criará uma versão tokenizada de um conjunto de dados de texto e o carregará no hub de face abraçando. Na pasta img , você encontrará uma subpasta chamada logs and plots . Nele, você pode encontrar todos os logs e gráficos (e o script usado para fazer as parcelas) que usamos em nossa pré -impressão.
@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}
}Esta pesquisa foi financiada pela RAIES (Rede de Inteligênia Artificial Ética e Segura). Raies é um projeto apoiado por fapergs (Fundação de Amparo à Pesquisa do Estado do Rio Grande do Sul) e CNPQ (Conselho Nacional de Desenvolvimento científico e Tecnológico).
Teenytinyllama está licenciado sob a licença Apache, versão 2.0. Consulte o arquivo de licença para obter mais detalhes.