--- license: mit language: - pt base_model: - Qwen/Qwen2.5-0.5B-Instruct pipeline_tag: text-generation datasets: - adalbertojunior/openHermes_portuguese - cnmoro/smoltalk-555k-ptbr - cnmoro/RagMixPTBR-Legal-Alpaca-2M - cnmoro/LogicReasoningEnglishPortuguese model-index: - name: Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning results: - task: type: text-generation name: Text Generation dataset: name: ENEM Challenge (No Images) type: eduagarcia/enem_challenge split: train args: num_few_shot: 3 metrics: - type: acc value: 32.54 name: accuracy source: url: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=cnmoro/Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning name: Open Portuguese LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: BLUEX (No Images) type: eduagarcia-temp/BLUEX_without_images split: train args: num_few_shot: 3 metrics: - type: acc value: 31.43 name: accuracy source: url: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=cnmoro/Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning name: Open Portuguese LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: OAB Exams type: eduagarcia/oab_exams split: train args: num_few_shot: 3 metrics: - type: acc value: 28.61 name: accuracy source: url: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=cnmoro/Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning name: Open Portuguese LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: Assin2 RTE type: assin2 split: test args: num_few_shot: 15 metrics: - type: f1_macro value: 82.67 name: f1-macro source: url: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=cnmoro/Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning name: Open Portuguese LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: Assin2 STS type: eduagarcia/portuguese_benchmark split: test args: num_few_shot: 15 metrics: - type: pearson value: 47.25 name: pearson source: url: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=cnmoro/Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning name: Open Portuguese LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: FaQuAD NLI type: ruanchaves/faquad-nli split: test args: num_few_shot: 15 metrics: - type: f1_macro value: 63.32 name: f1-macro source: url: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=cnmoro/Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning name: Open Portuguese LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: HateBR Binary type: ruanchaves/hatebr split: test args: num_few_shot: 25 metrics: - type: f1_macro value: 36.54 name: f1-macro source: url: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=cnmoro/Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning name: Open Portuguese LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: PT Hate Speech Binary type: hate_speech_portuguese split: test args: num_few_shot: 25 metrics: - type: f1_macro value: 51.58 name: f1-macro source: url: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=cnmoro/Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning name: Open Portuguese LLM Leaderboard - task: type: text-generation name: Text Generation dataset: name: tweetSentBR type: eduagarcia/tweetsentbr_fewshot split: test args: num_few_shot: 25 metrics: - type: f1_macro value: 48.25 name: f1-macro source: url: https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard?query=cnmoro/Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning name: Open Portuguese LLM Leaderboard --- Qwen2.5-0.5B finetuned for proficiency in Portuguese language and increased intelligence, as well as supporting reasoning (can be toggled on or off) --- Load the model ```python from transformers import AutoModelForCausalLM, AutoTokenizer model_name = "cnmoro/Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning" model = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype="auto", device_map="auto" ) tokenizer = AutoTokenizer.from_pretrained(model_name) prompt = "Escreva uma breve introdução sobre LLMs (Large Language Models) e suas aplicações." ``` --- Reasoning **OFF** ```python # System prompt is always injected and hardcoded automatically # for ideal performance in portuguese language. # No need to write it. messages = [ {"role": "user", "content": prompt} ] text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True ) model_inputs = tokenizer([text], return_tensors="pt").to(model.device) generated_ids = model.generate( **model_inputs, max_new_tokens=512 ) generated_ids = [ output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids) ] response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] response # LLMs são sistemas avançados de inteligência artificial projetados para imitar a cognição humana. Elas são capazes de processar grandes # quantidades de dados de texto, permitindo que as máquinas entendam, respondam e gerem linguagem complexa. # # As LLMs têm diversas aplicações importantes: # # 1. Comunicação: Elas podem facilitar interações humanóides entre humanos e computadores. # 2. Análise de Dados: Eles ajudam na extração de insights significativos de grandes volumes de dados. # 3. Assistentes Virtuais: LMLs podem criar assistentes virtuais com recursos como tradução de idiomas e previsão de sentimentos. # 4. Processamento de Linguagem Natural: Eles permitem que os chatbots interpretem e respondam à linguagem natural. # 5. Aprendizado de Máquina: LMLs podem treinar modelos de aprendizado de máquina para reconhecimento de padrões e geração de texto. # Ao combinar processamento de linguagem profundo, visão computacional e aprendizado de máquina, as LLMs estão preparadas para desafios # complexos em vários campos. Essas aplicações levaram a inovações revolucionárias em áreas como saúde, educação e finanças, onde sistemas de IA tradicionais poderiam ter dificuldades para fornecer soluções eficazes. ``` --- Reasoning **ON** ```python messages = [ {"role": "system", "content": "Reason"}, # Use "Reason" as the system message and it will be handled automatically through the custom template {"role": "user", "content": prompt} ] text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True ) model_inputs = tokenizer([text], return_tensors="pt").to(model.device) generated_ids = model.generate( **model_inputs, max_new_tokens=512 ) generated_ids = [ # Note the "-3" in the line below output_ids[len(input_ids)-3:] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids) ] response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] response # # Para escrever uma introdução sobre LLMs, preciso considerar os principais aspectos dos LLMs e sua aplicação. # O usuário está pedindo uma introdução, então devo focar na definição básica e em como ela se relaciona com a tecnologia LLM. # Vamos dividir isso passo a passo: # 1. Definir Large Language Models (LLMs) # 2. Explicar sua funcionalidade principal # 3. Descrever sua aplicação # 4. Mencionar os benefícios # Agora, vamos prosseguir com a introdução: # # LLMs ou Large Language Models, são inteligência artificial avançada projetadas para simular a cognição humana em linguagem natural. Eles foram desenvolvidos para processamento de texto e fala complexos, permitindo que sistemas de IA compreendam, interpretem e gerem texto e fala humanos. # Os LLMs funcionam por meio de um algoritmo de aprendizado profundo inspirado no cérebro humano. Eles usam redes neurais com múltiplas camadas para analisar grandes quantidades de dados de texto e fala, permitindo que as máquinas entendam e respondam a perguntas complexas. # As aplicações de LLMs são vastas e variadas. Alguns exemplos incluem: # - Resumo automático de artigos acadêmicos # - Geração de conteúdo original # - Análise de sentimentos em mídias sociais # - Processamento de linguagem natural para chatbots # - Reconhecimento de entidades nomeadas em documentos # - Tomada de decisões em negociações internacionais # - Modelagem financeira # - Gerenciamento da saúde mental # Apesar de suas inúmeras possibilidades, os LLMs enfrentam desafios significativos, como: # - Falta de contexto nos dados de treinamento # - Problemas de generalização para novos tópicos # - Potencial de manipulação de dados # - Dificuldade em entender e interpretar a própria consciência # À medida que a tecnologia LLM continua a evoluir, podemos esperar vê-la utilizada em vários setores e áreas, desde educação até finanças. ``` # Open Portuguese LLM Leaderboard Evaluation Results Detailed results can be found [here](https://huggingface.co/datasets/eduagarcia-temp/llm_pt_leaderboard_raw_results/tree/main/cnmoro/Qwen2.5-0.5B-Portuguese-Hybrid-Reasoning) and on the [🚀 Open Portuguese LLM Leaderboard](https://huggingface.co/spaces/eduagarcia/open_pt_llm_leaderboard) | Metric | Value | |--------------------------|---------| |Average |**46.91**| |ENEM Challenge (No Images)| 32.54| |BLUEX (No Images) | 31.43| |OAB Exams | 28.61| |Assin2 RTE | 82.67| |Assin2 STS | 47.25| |FaQuAD NLI | 63.32| |HateBR Binary | 36.54| |PT Hate Speech Binary | 51.58| |tweetSentBR | 48.25|