--- library_name: peft tags: - Phi-2B - Portuguese - Bode - LLM - Alpaca license: mit language: - pt - en metrics: - accuracy - f1 - precision - recall pipeline_tag: text-generation --- # Phi-Bode
Phi-Bode é um modelo de linguagem ajustado para o idioma português, desenvolvido a partir do modelo base Phi-2B fornecido pela [Microsoft](https://huggingface.co/microsoft/phi-2). Este modelo foi refinado através do processo de fine-tuning utilizando o dataset Alpaca traduzido para o português. O principal objetivo deste modelo é ser viável para pessoas que não possuem recursos computacionais disponíveis para o uso de LLMs (Large Language Models). Ressalta-se que este é um trabalho em andamento e o modelo ainda apresenta problemas na geração de texto em português. ## Características Principais - **Modelo Base:** Phi-2B, criado pela Microsoft, com 2.7 bilhões de parâmetros. - **Dataset para Fine-tuning:** Uso do dataset Alpaca traduzido para português para adaptar o modelo às nuances da língua portuguesa. - **Quantização:** O modelo base Phi-2B foi quantizado em 4 bits para reduzir o tamanho e a complexidade computacional. - **Treinamento:** O treinamento foi realizado utilizando o método LoRa, visando eficiência computacional e otimização de recursos. - **Merge de Modelos:** Após o treinamento, o modelo treinado quantizado em 4 bits foi mesclado com o modelo base para preservar a qualidade do modelo. ## Outros modelos disponíveis | Quantidade de parâmetros | PEFT | Modelo | | :-: | :-: | :-: | | 7b | ✓ | [recogna-nlp/bode-7b-alpaca-pt-br](https://huggingface.co/recogna-nlp/bode-7b-alpaca-pt-br) | | 13b | ✓ | [recogna-nlp/bode-13b-alpaca-pt-br](https://huggingface.co/recogna-nlp/bode-13b-alpaca-pt-br)| | 7b | | [recogna-nlp/bode-7b-alpaca-pt-br-no-peft](https://huggingface.co/recogna-nlp/bode-7b-alpaca-pt-br-no-peft) | | 13b | | [recogna-nlp/bode-13b-alpaca-pt-br-no-peft](https://huggingface.co/recogna-nlp/bode-13b-alpaca-pt-br-no-peft) | | 7b-gguf | | [recogna-nlp/bode-7b-alpaca-pt-br-gguf](https://huggingface.co/recogna-nlp/bode-7b-alpaca-pt-br-gguf) | | 13b-gguf | | [recogna-nlp/bode-13b-alpaca-pt-br-gguf](https://huggingface.co/recogna-nlp/bode-13b-alpaca-pt-br-gguf) | ## Utilização O modelo Phi-Bode pode ser utilizado para uma variedade de tarefas de processamento de linguagem natural (PLN) em português, como geração de texto, classificação, sumarização de texto, entre outros. ### Exemplo de uso Abaixo, colocamos um exemplo simples de como carregar o modelo e gerar texto: ```python !pip3 -q install -q -U bitsandbytes==0.42.0 !pip3 -q install -q -U accelerate==0.27.1 !pip3 -q install -q -U transformers==4.38.0 from transformers import AutoModelForCausalLM, AutoTokenizer hf_auth = 'HF_ACCESS_KEY' model_id = "recogna-nlp/Phi-Bode" model = AutoModelForCausalLM.from_pretrained(model_id, device_map={"":0}, trust_remote_code=True, token=hf_auth) tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True, token=hf_auth) def get_completion(model, tokenizer, query : str, input : str = '', device = 'cuda:0', max_new_tokens=128) -> str: if len(input) == 0: prompt_template = """Abaixo está uma instrução que descreve uma tarefa. Escreva uma resposta que complete adequadamente o pedido. ### Instrução: {query} ### Resposta:""" prompt = prompt_template.format(query=query) else: prompt_template = """Abaixo está uma instrução que descreve uma tarefa, juntamente com uma entrada que fornece mais contexto. Escreva uma resposta que complete adequadamente o pedido. ### Instrução: {query} ### Entrada: {input} ### Resposta:""" prompt = prompt_template.format(query=query, input=input) encodeds = tokenizer(prompt, return_tensors="pt", add_special_tokens=True) model_inputs = encodeds.to(device) generated_ids = model.generate(**model_inputs, max_new_tokens=max_new_tokens, do_sample=True, pad_token_id=tokenizer.eos_token_id) decoded = tokenizer.decode(generated_ids[0], skip_special_tokens=True) return (decoded[len(prompt):]) result = get_completion(model=model, tokenizer=tokenizer, query="Qual é a capital da França?") print(result) #Exemplo de resposta obtida: A capital da França é Paris. A cidade tem uma estratégia de transporte moderno difícil entre todos os lugares, incluindo ferroviário, busca, metro e línguações. Para obter uma avaliação completa da cidade, visita esta aumentar a experiência gastronômica, cultural e natural. ``` ## Contribuições Contribuições para a melhoria deste modelo são bem-vindas. Sinta-se à vontade para abrir problemas e solicitações pull. ## Citação Se você deseja utilizar o Phi-Bode em sua pesquisa, cite-o da seguinte maneira: ``` @misc {phibode_2024, author = { Pedro Henrique Paiola and Gabriel Lino Garcia and João Paulo Papa}, title = { Phi-Bode}, year = {2024}, url = { https://huggingface.co/recogna-nlp/Phi-Bode }, doi = { 10.57967/hf/1880 }, publisher = { Hugging Face } } ```