Aula 27 - Como fazer um FINE - TUNING em um LLM (Large Language Models) com seus próprios dados.

5.11k views2660 WordsCopy TextShare
PROF. FABIO SANTOS
Como fazer um FINE - TUNING em LLM (Large Language Models) com seus próprios dados. SimpleTransforme...
Video Transcript:
E aí pessoal tudo bem Eu sou Professor Fábio Santos e nesta vídeoaula eu iria abordar o tema como fazer um finet em um llm com seus próprios dados pessoal um llm ou seja um modelo grande de linguagem ele é treinado com um conjunto de dados genéricos visando aumentar a sua de generalização e desta forma o llm poderá ser usado para apoiar diversas tarefas mas o que acontece quando surge a necessidade de usar um llm com dados próprios é possível de alguma forma customizar o llm para que ele possa porte a uma tarefa específica baseado em
determinados dados dados que não foram usados Originalmente no no pré-treinamento do llm uma das técnicas que pode ser utilizada é o fetan pessoal o que é o fetan é o processo que envolve treinar o llm em um conjunto de dados menor e e mais específico para atender uma tarefa específica vamos imaginar a seguinte situação onde temos que desenvolver uma aplicação baseada em llm do tipo pergunta e respostas acerca de um determinado tema vamos imaginar que o tema seja primeiros socorros beleza Originalmente o o llm o pré-treinamento dele não eh não foi eh voltado para oferecer
suporte a uma aplicação eh de perguntas e respostas eh especificamente sobre pronto atendimento primeiros socorros Ok então Eh diante desse cenário eh justifica treinar o llm com um conjunto de dados menor que ofereça suporte a uma tarefa específica neste caso e Responder questões relacionadas a pronto atendimento primeiros socorros beleza Observe essa figura essa figura ela ilustra o o f onde nós temos aqui um um llm pré-treino com um dataset genérico ou seja eh vislumbrando um cenário onde esse llm ele tem que ser eh empregado em várias tarefas ele ele tem que ter uma alta capacidade
de generalização E aí esse llm ele poderá passar pel um processo de fine T onde ele será treinado eh usando um dataset próprio um conjunto de dados próprio aproveitando o exemplo esse conjunto de dados próprio ele pode ter eh perguntas respostas determinados contextos E aí ao ser concluído o treinamento uma nova versão do LM vai ser gerada essa versão ela pode ser chamada de llm fine eh tunado né né que é o LM que agora ele possui eh o conhecimento necessário para Responder questões sobre primeiros socorros pronto atendimento beleza pessoal eu eh vou empregar algumas
ferramentas nesta vídeoaula a primeira delas é o Google colab né o Google colab colabor que é uma a ferramenta do Google deixa eu mostrar para vocês aqui eu acho que vocês devem conhecer né É uma ferramenta do Google de suporte à programação muito utilizada para para o desenvolimento de algoritmos eh normalmente empregados em Mael Lan Deep Lan é um ambiente que ele te fornece por exemplo eh GPU para você utilizar no treinamento de modelos modelos de de Pilan especialmente de Pilan Ok então o o colab né ele permite que eu possa como eu já disse
eh criar um modelo treinar o modelo avaliar o modelo certo para usar o Google cab basta ter uma conta no Google beleza uma outra ferramenta que eu irei utilizar Nossa vídeoaula é a biblioteca Simple Transformers Vale ressaltar que o llm que nós iremos trabalhar é o pert certo um llm muito conhecido né Vale ressaltar que arquitetura Transformers é uma arquitetura amplamente utilizada hoje em llms inclusive o GPT né o llm GPT usado pelo pelo chat GPT é baseado na arquitetura Transformers E aí essa biblioteca a Simple Transformers eu deixa eu mostrar para vocês aqui h
aqui ó Simple Transformers é uma biblioteca que ela facilita eh o treinamento e o uso de modelos modelos grandes de linguagem llms que tem como base a arquitetura Transformes é uma biblioteca que ela fornece um conjunto de classes que Abstrai toda a complexidade que tá por trás da implementação de um e que Visa o treinamento de um llm certo as tarefas e que estão relacionadas ao ao pipeline como por exemplo a tokenização a geração de edes Ok todas essas tarefas elas estão vamos dizer assim eh a complexidade abstraída por meio classes que fazem parte da
biblioteca Transformers Então essa fo a principal razão por eu usar essa biblioteca beleza pessoal Então essas são as principais ferramentas eu vou colocar na descrição desse víde links os endereços dos Sites on vocês poderão obter informações sobre essas ferramentas cóigo Então vamos L cóigo entender como Eu vou acessar aqui o colab n e vamos lá passo a passo a primeira célula nessa primeira célula observem que eu estou instalando a biblioteca Simple Transformers beleza usando um Pimp ST n basta clicar aqui e o processo de instalação vai ser execut ok vamos aguardar concluir beleza foi concluído
E aí ó pessoal nessa segunda célula é onde é onde foram [Música] definidos os conjuntos de dados especialmente o conjunto de Treinamento conjunto de Treinamento e o conjunto de teste esses dois conjuntos de dados eles formam né um um dataset que é empregado para treinar o llm e avaliar beleza Vale ressaltar que esse LM que vai passar pel um processo de Fin ele vai oferecer suporte a uma tarefa específica que nesse caso consiste em Responder questões relacionadas a primeiro socorros emergência pronto atendimento Beleza então Eh os registros que fazem parte do conjunto de dados né
usados para treinamento observem aqui ó eh esses registros eles são compostos eh por um um contexto Por uma questão por uma resposta então aqui eu tenho a primeira questão e a primeira resposta relacionadas a esse contexto depois ó eu tenho uma outra questão uma resposta correspondente relacionada ao primeiro contexto Vale ressaltar né que um contexto é a descrição de um cenário certo como nó Estamos tratando a respeito eh de primeiros socorros então o contexto ele retrata um cenário relacionado a primeiros socorros e uma questão relacionada a esse cenário e a resposta correspondente vocês devem ter
observado que existe aqui um formato que foi empregado para estruturar o contexto a questão e a resposta que é um formato empregado num dataset muito conhecido chamado Squad ou Squad deixa eu acessar aqui para vocês aqui ó exatamente este formato o Squad certo significa Stanford question an dataset é um é um dataset né criado eh pela Stanford universidade muito conhecido muito utilizado empregado no treinamento de llms e que implementam a tarefa de Eh pergunta e resposta beleza então a gente vai seguir esse formato para criar o conjunto de treinamento e para criar o conjunto de
teste beleza OK então eu vou agora eh executar essa célula Vale ressaltar que eu estou aqui ó Nessa primeira linha importando a classe question Model que é uma classe que pertence à biblioteca C Transform que ela fornece suporte a tarefa de pergunta e resposta beleza então vou clicar aqui na célula e vamos aguardar a criação aí do conjunto de Treinamento e do conjunto de avaliação beleza foi criado Ok próxima célula é a célula vamos dizer assim mais importante Porque é ela que contém a instrução empregada para treinar o modelo beleza essa célula Ela depende [Música]
também de duas operações a primeira operação implementada nessa célula consiste em montar o drive o drive o Google Drive onde eh no Google Drive vai ser criado uma um diretório e nesse diretório eh deverá ser armazenado o modelo o llm a nova versão do llm treinado né então eu vou montar o drive conectar o Google Drive vou montar para que o Google Drive ele possa ser usado para armazenar o llm fine tunado Beleza então vamos aguardar a montagem beleza foi montado nessa próxima célula Eu estou definindo um pef esse pef ele leva ao diretório de
saída ou seja diretório onde eh deverá ser armazenado o modelo né os modelos os modelos eh que foram treinados Ok então vou clicar aqui no Beleza foi executado e Finalmente nós temos aqui a célula principal Vamos lá eh observem que eh foi necessário eh instanciar a classe question answer Model passando para ela o tipo de modelo tipo de llm nesse caso aqui é Humbert e o nome do llm que vai ser fine tunado certo um outro argumento de entrada observem aqui ó trin Line egs que corresponde a essa variável aqui que ela o o conteúdo
dela consiste em alguns parâmetros que configuram como o modelo vai ser treinado configuram processo de treinamento do modelo né dentro esses parâmetros aqui eu vou citar eh vou explicar apenas os o que eu considero mais importante que esse cara aqui ó esse aqui ó best underline Model underline D cujo valor dele corresponde a um pef né o pef e onde deverá ser criado a o diretório que deverá armazenar o modelo treinado e aqui eu especifico Qual é o diretório né nesse caso aqui ó ber Line Model que irá eh salvar o melhor modelo beleza além
desse parâmetro tem um outro muito importante que é esse aqui ó n underline TR underline épocas cujo valor no meu caso aqui é 30 e esse parâmetro ele me permite especificar o número total de épocas e empregada no treinamento as épocas e a época melhor dizendo se refere a uma interação né Eh que ocorre durante o processo de Treinamento ah então eu coloquei 30 ou seja 30 interações serão necessárias para que o modelo ele seja treinado né um outro parâmetro importante também é esse aqui ó n underline B underline size cujo valor dele corresponde ao
número das número de melhores respostas a serem consideradas né Beleza Ah bom então a gente vai passar né esses parâmetros com entradas por meio da variável TR egs Ok e um e mais um parâmetro importante ISS aqui ó use underline que no caso aqui o valor é TR significa que durante o treinamento vai ser utilizado uma GPU a GPU disponibilizada pelo cab para treinar o modelo né e para que o modelo el seja treinado vai ser utilizado o método train underline Model que vai receber o conjunto de treinamento e o conjunto de teste beleza e
dessa forma o modelo vai ser treinado Então vamos executar um treinamento basta clicar aqui e o processo de Treinamento começou Vale ressaltar pessoal que esse processo de Treinamento leva um tempo é um é um pouco demorado Ok então eu vou fazer o seguinte eu vou deixar o treinamento sendo executado e quando estiver próximo para terminar eu vou eu vou eu vou eu vou retornar né eu vou deixar rolando o treinamento vou dar uma pausa no vídeo e quando tiver perto para terminar eu eu retorno né Eu continuo o vídeo eh uma informação importante essa daqui
ó épocas né de 1 a 30 observem que até agora eh 0% Ou seja ainda não foi eh executada uma época né né então isso vai demorar um pouquinho e aí como eu já falei quando for concluído eu retorno beleza pessoal Olá pessoal reparem que 28 épocas já foram executadas né 28 de 30 agora 29 ou seja Falta pouco para que o treinamento seja concluído 30 épocas 90 97% do treinamento foi executado 100% beleza pessoal então o treinamento foi concluído com sucesso e o próximo passo consiste em testar o modelo que foi fine entonado para
isso eu vou acessar uma outra célula essa célula aqui né Bom basicamente O que que tá sendo feito nessa célula eu estou carregando o modelo que foi treinado previamente observem que eu tô passando como um parâmetro de entrada pro construtor da classe question Model Eu estou passando o tipo do modelo e estou passando local o pef n do diretório diretório best underline mod onde o modelo foi armazenado e esse terceiro parâmetro aqui US K eu coloquei como falso ou seja eu não vou usar GPU para testar o modelo e o teste consiste basicamente em submeter
ao modelo um contexto relacionado a uma determinada situação onde é necessário eh primeiros socorros e a questão relacionada a ao contexto observem Qual é a questão aqui ó eh o que né O que você o que você deverá fazer se você for picado por uma Snake por uma cobra Beleza então Eh eu vou eh guardar né o contexto e a questão nesta variável aqui seguindo aquele formato formato squat Ok E aí eu vou passar essa variável como entrada pro método predict né do modelo tá aqui ó a variável T line predict e ela deverá retornar
a resposta ou as respostas né que deveram ser armazenadas nessa variável na variável an para eu poder observar resposta Basta dar um print em cima dela ok então vamos lá vamos executar o teste e tá aqui o resultado tá aqui a resposta ó bom aqui a resposta eh confirma e é uma é uma é uma orientação a respeito do que deve ser feito ou seja um um socorro né O que que deve ser feito se a pessoa se ela for picada por uma cobra né então é é crucial né é importante eh mobilizar o local
né onde de a cobra picou né Legal né Beleza Vamos fazer um outro teste eu vou fazer o seguinte eu vou copiar aqui um outro contexto e uma e uma outra questão eu vou pegar aqui um contexto deixa eu ver aqui um contexto Tá eu vou pegar esse contexto aqui ó vou [Música] copiar beleza e vou pegar a questão relacionada ao contexto eh essa questão aqui ó Qual é o propósito Qual é né o propósito do CPR beleza selecionar né copiei vou colar e vou executar vamos lá vamos ver os resultados tá aqui o resultado
tá aqui a resposta Eh Ou seja o CPR né cio cardio pumar ressuscitação Ah é aquele equipamento né para ser empregados ser empregado quando há necessidade de de su citar né legal ó que é muito interessante tá aqui a resposta beleza então deu para realmente eh testar né e constatar que o modelo ele está conseguindo Responder questões relacionadas a eh primeiros socorros né Eh pronto atendimento Lembrando que esse modelo ele foi fonado usando o conjunto de dados de Treinamento né esse conjunto de treinamento e o conjunto de dados de teste beleza pesso aí eu tomei
a liberdade de desenvolver uma aplicação e hospedei essa aplicação no hangf tá aqui tá aqui uma aplicação que tá rodando no hangf eu queria aqui um espaço e observ frontend da AP Onde eu posso especificar né um contexto uma pergunta e obter resposta legal né Vamos fazer um teste eu vou vou copiar aqui a o contexto né esse contexto aqui copiar seleção vou colar também a pergunta copiar e colar pergunta e vamos observar o resultado né a resposta Copi a [Música] solução Ok e vamos observar a resposta aqui ó ele tá [Música] processando Vale ressaltar
que eu tô usando um Space legal e observem a resposta CPR CPR né É exatamente casa com a resposta que foi gerada Pelo modelo né que nós vimos aqui ó legal né bom eh em uma próxima vídeoaula Eu pretendo ensinar como eu criei essa aplicação e como eh eu consegui rodar né o modelo no no hangs Face né ah como eu consegui rodar essa aplicação baseada no modelo que foi funado é um código bem simples eh em uma próxima vídeoaula eu posso ensinar como eu fiz isso se vocês ficaram interessado eh eu peço a vocês
a gentileza de eh dar um like aí Neste vídeo né Para motivar a gente para que a gente possa continuar gravando essas videoaulas e gravar uma próxima videoaula sobre como rodar uma aplicação baseada em lnm no no Hang Faces conforme eu acabei de demonstrar para vocês beleza pessoal então é isso um forte abraço a vocês até mais
Related Videos
Aula 28 - Como criar e hospedar no Hugging Face uma APP baseada em LLM Fine-Tuned
20:02
Aula 28 - Como criar e hospedar no Hugging...
PROF. FABIO SANTOS
612 views
Como Criar uma IA que Aprende com Seus Próprios Dados Usando ChatGPT e RAG!
43:46
Como Criar uma IA que Aprende com Seus Pró...
Eduardo | Ciência dos Dados
5,189 views
Personalizando o Llama 3.1 Grátis com Seus Próprios Dados Fazendo um Fine Tunning
23:17
Personalizando o Llama 3.1 Grátis com Seus...
Inteligência Mil Grau
11,446 views
Fine-tuning Large Language Models (LLMs) | w/ Example Code
28:18
Fine-tuning Large Language Models (LLMs) |...
Shaw Talebi
360,763 views
RAG vs. Fine Tuning
8:57
RAG vs. Fine Tuning
IBM Technology
64,996 views
Como usar o GPT com seus próprios dados?
27:42
Como usar o GPT com seus próprios dados?
Asimov Academy
90,974 views
"I want Llama3 to perform 10x with my private knowledge" - Local Agentic RAG w/ llama3
24:02
"I want Llama3 to perform 10x with my priv...
AI Jason
477,696 views
Aula 42 - LLAMA 3: Como fazer um FINE TUNE com UNSLOTH e um Dataset Próprio
24:06
Aula 42 - LLAMA 3: Como fazer um FINE TUNE...
PROF. FABIO SANTOS
3,031 views
Fine Tuning, RAG e Prompt Engineering: Qual é melhor? e Quando Usar?
24:31
Fine Tuning, RAG e Prompt Engineering: Qua...
tech mumus
5,948 views
Aula 37 - Como Criar sua Própria IA com Dados Próprios e Sem Custo usando LM Studio e Anything LLM
33:18
Aula 37 - Como Criar sua Própria IA com Da...
PROF. FABIO SANTOS
14,491 views
Primeiros Passos com Vector Databases e LLM: O Background das IA's como ChatGPT e Bard | live#25
1:13:46
Primeiros Passos com Vector Databases e LL...
Engenharia de Dados Academy
3,814 views
Como Fazer Fine Tunning Do GPT Pela OpenAI
12:48
Como Fazer Fine Tunning Do GPT Pela OpenAI
Inteligência Mil Grau
4,966 views
Como fazer fine-tuning com Google AI Studio
10:01
Como fazer fine-tuning com Google AI Studio
Fellyph Cintra
646 views
O que é IA Generativa e porque você precisa aprender
10:05
O que é IA Generativa e porque você precis...
Gerson Viergutz
1,678 views
Como fazer Finetuning no ChatGPT com seus dados: Guia Passo a Passo com Python, OpenAI e ManyChat
30:43
Como fazer Finetuning no ChatGPT com seus ...
Igor Crow
29,501 views
Aula 62 -  Como fazer Facilmente um FINE-TUNING no LLAMA 3.1 com um Dataset Próprio p/ um SAC
37:49
Aula 62 - Como fazer Facilmente um FINE-T...
PROF. FABIO SANTOS
1,056 views
"How to give GPT my business knowledge?" - Knowledge embedding 101
18:30
"How to give GPT my business knowledge?" -...
AI Jason
189,594 views
Transformers (how LLMs work) explained visually | DL5
27:14
Transformers (how LLMs work) explained vis...
3Blue1Brown
3,825,332 views
Como treinar o ChatGPT com seus próprios dados: TUTORIAL COMPLETO!
38:42
Como treinar o ChatGPT com seus próprios d...
BIX Tecnologia
30,923 views
Vector Databases com Qdrant: Tudo Que Você Precisa Saber!
58:57
Vector Databases com Qdrant: Tudo Que Você...
DataWay BR
5,286 views
Copyright © 2024. Made with ♥ in London by YTScribe.com