170 1.5K 47

Canarim Instruct Dataset

Um conjunto de dados de treinamento baseado em instruções.

Canarim: Um conjunto de dados de treinamento baseado em instruções em português

O Canarim, apresenta um conjunto de dados com mais de 300 mil instruções em português. O nome Canarim, sinônimo de canarinho em algumas regiões do Brasil, foi escolhido por mim devido à presença marcante desta ave no dia a dia brasileiro, funcionando como um símbolo para este meu projeto único.

As instruções que compõem o conjunto de dados variam desde comandos simples como Descreva os efeitos do aquecimento global até instruções mais complexas como Nesta tarefa, você precisa ser capaz de resumir uma determinada lista de pontos-chave. Essa diversidade permite um treinamento robusto de modelos de linguagem.

Construção do Conjunto de Dados

O conjunto de dados Canarim foi criado por meio da tradução e adaptação de diversas fontes, incluindo dominguesm/alpaca-data-pt-br, cahya/instructions-pt e HuggingFaceH4/self_instruct, totalizando 316 mil linhas na divisão de treinamento e 1519 linhas na divisão de teste. Todos os exemplos devem conter uma "instrução" e uma "saída", e podem ou não também conter um "contexto".

Utilização do Conjunto de Dados

O conjunto de dados é empregado através de um modelo de instrução específico. No caso de uma instrução emparelhada com uma entrada, a resposta é gerada para concluir adequadamente a solicitação. Se a instrução é fornecida sem uma entrada, a resposta é gerada com base apenas na instrução.

Como exemplo, para a instrução "Sugira uma estratégia de marketing eficaz para um programa de TV", uma resposta possível seria a criação de um trailer teaser, enquanto para a instrução "Compare os dois assuntos a seguir" com a entrada "Inteligência Artificial e Machine Learning", a resposta ressalta a diferença entre esses dois campos da ciência da computação.

O projeto Canarim é uma contribuição valiosa para a comunidade de aprendizado de máquina e inteligência artificial, especialmente para pesquisadores e desenvolvedores que trabalham com o idioma português. É um exemplo de como a linguagem pode ser transformada em instruções práticas, auxiliando na formação de modelos de linguagem e na compreensão de problemas complexos.

Exemplos

def generate_prompt(instruction, input=None):
    if input:
        return f"""Abaixo está uma instrução que descreve uma tarefa, emparelhada com uma entrada que fornece mais contexto. Escreva uma resposta que conclua adequadamente a solicitação.
### Instruções:
{instruction}
### Entrada:
{input}
### Resposta:"""
    else:
        return f"""Abaixo está uma instrução que descreve uma tarefa. Escreva uma resposta que conclua adequadamente a solicitação.
### Instruções:
{instruction}
### Resposta:"""
{
    "instruction": "Sugira uma estratégia de marketing eficaz para um programa de TV.",
    "input": "",
    "output": "Uma estratégia de marketing eficaz para um programa de TV é criar um trailer de teaser a ser lançado antes da estréia do programa na televisão e outras plataformas digitais. O trailer de teaser deve ser curto, dinâmico e atraente, a fim de desencadear a curiosidade e o interesse nos espectadores. Ele também deve conter uma linha de tags convincente ou "gancho" que resume a premissa do programa. Além disso, criar uma hashtag associada ao programa de conteúdo da TV e pedir aos espectadores que se juntem à conversa nas mídias sociais."
}
{
    "instruction": "Compare os dois assuntos a seguir",
    "input": "Inteligência Artificial e Machine Learning",
    "output": "Inteligência Artificial (IA) e Machine Learning (ML) são campos da ciência da computação que envolvem o desenvolvimento de máquinas inteligentes que podem aprender com dados e executar tarefas de forma autônoma. A IA se concentra no comportamento semelhante ao humano e envolve o desenvolvimento de algoritmos e estruturas de dados que permitem que as máquinas aprendam através do reconhecimento de padrões e do raciocínio lógico. A ML, por outro lado, é um subconjunto de IA que se concentra em ensinar computadores a otimizar tarefas com um certo grau de precisão."
}