CoolFace
Modelpublic

recogna-nlp/internlm-chatbode-20b

sourceHugging Faceupdated 2y agoView on Hugging Face
1likes22downloads
Model Card

internlm-chatbode-20b

<!--- PROJECT LOGO --> <p align="center"> <img src="https://huggingface.co/recogna-nlp/internlm-chatbode-7b/resolve/main/_1add1e52-f428-4c7c-bab2-3c6958e029fa.jpeg" alt="ChatBode Logo" width="400" style="margin-left:'auto' margin-right:'auto' display:'block'"/> </p>

O InternLm-ChatBode é um modelo de linguagem ajustado para o idioma português, desenvolvido a partir do modelo InternLM2. Este modelo foi refinado através do processo de fine-tuning utilizando o dataset UltraAlpaca.

Características Principais

  • Modelo Base: internlm/internlm2-chat-20b
  • Dataset para Fine-tuning: UltraAlpaca
  • Treinamento: O treinamento foi realizado a partir do fine-tuning, usando QLoRA, do internlm2-chat-20b.

Exemplo de uso

A seguir um exemplo de código de como carregar e utilizar o modelo:

python
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("recogna-nlp/internlm-chatbode-20b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("recogna-nlp/internlm-chatbode-20b", torch_dtype=torch.float16, trust_remote_code=True).cuda()
model = model.eval()
response, history = model.chat(tokenizer, "Olá", history=[])
print(response)
response, history = model.chat(tokenizer, "O que é o Teorema de Pitágoras? Me dê um exemplo", history=history)
print(response)

As respostas podem ser geradas via stream utilizando o método stream_chat:

python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model_path = "recogna-nlp/internlm-chatbode-20b"
model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype=torch.float16, trust_remote_code=True).cuda()
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)

model = model.eval()
length = 0
for response, history in model.stream_chat(tokenizer, "Olá", history=[]):
    print(response[length:], flush=True, end="")
    length = len(response)

Open Portuguese LLM Leaderboard Evaluation Results

Detailed results can be found here and on the 🚀 Open Portuguese LLM Leaderboard

MetricValue
Average71.68
ENEM Challenge (No Images)65.78
BLUEX (No Images)58.69
OAB Exams43.33
Assin2 RTE91.53
Assin2 STS78.95
FaQuAD NLI81.36
HateBR Binary81.72
PT Hate Speech Binary73.66
tweetSentBR70.11