Como o GPT "Lê" Texto? A Mágica dos Tokens!

1.44k views3184 WordsCopy TextShare
Sandeco
Aprenda de forma descomplicada e com explicações com animações em vídeo sobre como o GPT gera seus t...
Video Transcript:
muito bem vamos continuar nossa série sobre Transformer hoje vou falar sobre esse algoritmo Maravilhoso aqui e o algoritmo do do bpe onde a gente vai aprender sobre tokenização e a importância do tokenização Olha eu quero falar né falar para vocês por que que uma pessoa leiga deveria pelo menos entender e aprender melhor sobre a tokenização sobre o algoritmo Transformer mas ao invés de eu responder eu vou pedir pro chat CPT responder para você olha só chpt explica pra pessoa le a importância da tokenização né da pessoa entender e aprender a tokenização das redes Transformers vamos
lá claro sandeco tokenização é fundamental para que os modelos de linguagem como as redes Transformers entendam o texto em termos simples tokenização é o processo de dividir um texto em pedaços menores chamados tokens que podem ser palavras partes de palavras ou até caracteres para uma pessoa lega Imagine que é como quebrar uma frase em palavras para entender seu significado sem tokenização as redes neurais não conseguiriam processar o texto de forma eficaz é um passe essencial para que o modelo compreenda e Gere respostas coerentes se tiver alguma dúvida ou quiser mais detalhes é só avisar viu
aí tanto que é legal então na aula passada eu falei para vocês o seguinte ó a tarefa de completação expliquei né sobre a tarefa de completação que está aqui no CAD aqui em cima aqui em cima aqui ó aqui em cima expliquei a importância aí da tokenização para você como é que você usa a tokenização direitinho tá então a ideia da da completação é o seguinte a completação o que que ela usa ela vai usar tokens de entrada né E aí a partir desses tokens vai fazer previsões de próximos tokens tá E aí a gente
tem uma saída por exemplo a pergunta lá foi Qual é a capital do Brasil veja que tá toda tokenizado aqui particionadas né e aíe tem a resposta que é Brasília uma dúvida sempre que o pessoal tem é qual a diferença ou qualis são as semelhanças entre token e palavra porque tem gente que pensa que token é palavra tem gente que pensa que palavra é token que que é token a token é a metade de uma palavra é parte de uma palavra o que que é então é isso exatamente que a gente vai aprender hoje aqui
com o algoritmo de tokenização né então Ó esse algoritmo aqui ó de tokenização né usado que a gente vai usar aqui usado pelo GPT é a nossa aula dois de Oito aulas Beleza então tem que ficar esperto com isso aí a gente vai falar exatamente sobre tokenização vamos lá vamos focar na aula agora vai ser o seguinte ó veja só Eh tokenização que que é tokenização né então Nós seres humanos assim nós somos muito bons com palavras pessoal somos muito bons com palavras né e o computador é muito bom muito bom mesmo com número na
verdade ele só entende número lá dentro em alguns casos né Eh ele vai entender lá no baixo nível né zero e um mas quando eu tô falando que ele é bom com números é que Ele trabalha realmente as redes neurais elas trabalham realmente com números sempre números probabilísticos tá então a gente precisa então aí ó transformar né como ligar esses dois mundos pesquisadores de Inteligência Artificial né Eh tiveram algumas ideias interessantes e a primeira tentativa básica aí direta você pode pensar que é o seguinte né eu vou pegar aqui palavras e vou simplesmente mapear para
números entendeu então essa foi uma ideia que o pessoal teve inicialmente mas essa ideia tinha um problema muito Sério que ela a questão da normalização porque veja a palavra partida Veja a palavra voo Gol avião e partida né são se eu se eu juntar a palavra Gol com avião eu terei uma empresa aérea e estou falando de transporte mas se eu falar de Gol com partida eu tô falando de futebol certo veja que o contexto mudou entretanto essas palavras aqui elas estão muito longe uma das outras tá por causa desses números aqui são muito grandes
ó muito grandes na rede neural quando o número é grande demais ele é prevalente tá ele é prevalente ele ele tem a tendência de tomar conta já mostrei isso várias vezes aqui tomar conta né da da saída que vai ser dado na rede neural Então a gente tem que tomar cuidado com isso aqui essa primeira tentativa não é nada boa outra tentativa foi usar um uma técnica chamada Man Hot encoding que é para cada palavra eu cria um vetor né uma vetor de de de valores somente com zeros ou um onde na coluna que tiver
na linha que tiver a palavra aqui ó go eu coloco um nas outras palavras eu coloco zero esses três pontinhos aqui nessas reticências aí é tem a ver é a nuvem de palavras que tá aqui do meio tá essa esse vocabulário pode ser muito grande veja que aqui em avião ó eu estou um em um em avião e zero em nas outras tá então é assim que o One Hot code funciona traduzindo do inglês é o código quente um quente tá bom então vamos frente ó One Hot code tem um problema também porque o o
One hotting coden ele tem a questão se você for colocar essas palavras aqui plano cartesiano elas estarão mais ou menos assim ó gol vai estar para cá partida vai estar para lá e aqui vai vai estar avião veja aqui algumas palavras que estiverem nesse plano aqui ó são palavras que estão relacionadas com gol partida em relação a futebol Então vai tá aqui a palavra futebol torcida jogador e tudo mais se eu trabalhar com gol e avião então eu vou até aqui as palavras que tiverem aqui nesse plano né eu teri as palavras aí eh em
relação a passageiro piloto alguma coisa assim tá e você vai ver depois como é que a gente Dev fazer né para misturar essas três palavras que eu posso ter né o jogadores eh tal pegaram um voo no avião né E aí vira uma uma confusão então isso aqui não é legal porque da mesma forma as palavras continuam distantes uma das outras né e existem formas mais interessantes de e transformar isso fazer com que elas fiquem mais próximas a A ideia é US usar o quê embeddings mas os embeddings eles são eh uma questão eh que
precisam da tokenização para trabalhar com isso por quê Porque essa estrutura aqui tem uma falta de contexto vamos em frente então Ó essas palavras aqui então essa ponte aqui né são exatamente os edins Porém para a gente construir essa ponte a gente vai precisar dos tokens que são o fundamento dos embeds embeds que serão o motivo da próxima aula tá o tema da próxima aula Vamos aprender como é que então o GPT né usando o bpe o algoritmo bpe que é esse algoritmo maravilhoso bite Pair encoding né você vai ver que é super fácil mas
é muito fácil mesmo tá tem nem mistério qualquer pessoa pode entender e eu fiz várias animações aqui para você entender então Ó esse é o processo de tokenização do GPT Então vamos tokenizar essa frase aqui olha essa frase aqui interessante ó eu já te dei sorvete chocolate chiclete tiquete Menina esse esse tiquete aqui é bem nordestino tá eu coloquei de propósito aqui porque você vai ver já já entender porque eu não coloquei tiaqueta ao invés e de tiquete Tá bom vamos lá então vamos em frente primeiro passo do b pa encoding ele é transformar tudo
em minúsculo né então vou pegar as palavras vou transformar tudo em depois disso ó o segundo passo é separar todos os caracteres das palavras Então você veja que daqui pra frente eu já não tenho mais palavras beleza as palavras Sumiram no processo da tokenização Então quando você disser assim ó token é palavra ou alguém disser para você não cara é token dentro do GPT lá são palavras mas fala ô ô oh ô não amiguinho tá totalmente errado tá tokens não são palavras você não pode dizer porque antes do GPT processar qualquer coisa ele pega todas
as palavras e quebra né separa seus caraes tá só depois do processamento é que você vai ver que vai acontecer pode haver que pode ser que uma palavra seja um token seja exatamente igual a uma palavra mas token é token e Palavra é palavra depois você vai contar ó coisa simples os pares os pares que mais se repetem em todas as palavras ou em todos os vetores de caracteres nesse caso aqui seria um termo mais correto você veja que nesse caso aqui ó eu tenho esse essas repetições aqui ó T da palavra da conjunção te
né Eh da palavra ti certo anteriormente né que era isso depois eu tenho sorvete chocolate chiclete ti de novo e aqui é ti tá vendo por isso que tem o do aiet e é por isso que eu não coloquei aieta só pra gente contar uma repetição a mais nesse te e beleza Olha esse processo o que que ele vai fazer então vai contar todo mundo agora eu vou contar de novo aqui quais são os pares que mais se repete você vê que o ET são os pares que mais se repetem agora os segundo pares né
tem três aí e depois eu tenho também o par CH e tem duas repetições Beleza então o que que o GPT faz que que o Transformer faz tá esse T é de transformer do GPT tá que que o Transformer faz ele vai juntar todas as todos os caracteres que mais se repetem por exemplo Ah todos os outros são um tá todos os outros são um Então agora eu vou juntar todos os pares mais frequentes então já que o par mais frequente é te que que eu vou fazer então te te te te te Beleza então
agora orora você veja que eu tenho a palavra por exemplo já tenho um token aqui ó que se confunde com a palavra palavra t né aqui aqui ó eles se confundem com esse token t tá mas você não pode dizer que é uma palavra é um token Ok olha olha esse token aqui ó svete né você veja que tá quebrado né E se deixasse essa forma cada letrinha dessa aqui seria um token né dig Beleza então aqui ó vamos em frente próximo passo agora é contar de novo é um é um looping né uma repetição
né repete o passo três Então conta de novo todos os pares que se repetem Olha que interessante eu vou dar uma pausinha de 5 segundos vou contar para vocês Enquanto vocês procuram aí o par mais se repete vamos ver se vocês conseguem ver 5 4 3 2 um o par mais se repete aqui é o e t caramba sandeco Como assim velho e te um par é olha aqui ó já é uma unidade só tá E aqui é outra unidade Então os pares juntos né as caracteres digamos assim já não é mais caracteres mas esses
essas informações juntas que mais se repetem são essas ó e te e repetem três vezes então ch duas vezes e os outros um que acontece agora junta o p mais frequente quem é o p mais frequente é o ET é com três repetições Olha que esse meu vocabulário aqui é pequenininho normalmente é uma vocabulário de um GPT alguma coisa assim tem milhares de palavras beleza é bem grande mesmo Então veja aí ó te tá te ET ET ET ET te né veja que agora eu juntei ó eu tenho o t te aqui em cima te
aqui embaixo e o ete aqui ó tá Então veja que interessante como é que o como é que o Transformer Vai juntando e transformando tudo em token né E aí a gente repete várias vezes esse n vezes é importante aqui a gente repete n vezes o passo TRS e 4 então se eu vier aqui mais uma vez ó eu sei que o passo mais uma vez eu vou contar o ch é a é o que mais se repete eu vou juntar tá vendo ó juntei aqui e agora todos os pares são igual a um não
tem uma repetição que seja igual né se você olhar nessa frase aqui tá então a a estratégia Qual que é a estratégia é quando tem um empate junte o primeiro par encontrado nesse caso o primeiro pai encontrado é o e eu beleza virou esse token aí o próximo vai ser o já próximo vai ser o d próximo vai ser o i tá vendo ó próximo vai ser o s Opa tem uma um alerta aqui você não sei se você percebeu mas se o as repetições forem grandes demais tá o que vai acontecer é que todos
os tokens vão virar palavras concorda comigo ou não Ó que vai acontecer que eu vou repetir repetir repetir ele vai juntando juntando tudo que são os primeiros achados e aí quando eu olhar ó eu tenho a não mais somente os tokens mas há uma convergência de que todos os tokens são as mesmas palavras e isso com certeza não é uma coisa boa por qu porque o que eu quero é que eu quero encontrar na verdade são as raízes a as raízes das palavras V dar um exemplo interessante com a palavra feliz olha só olha esse
exemplo aqui interessante Ó feliz é a palavra o token de feliz vai ser feliz mas os tokens de felicidade serão felici cidade certo a palavra infeliz os tokens serão in e feliz infelicidade os tokens serão infelicidade percebe que eu tenho ou feli ou feliz como sendo uma raiz de palavra isso é importante porque na hora da completação ele vai poder encontrar exatamente a parte da raiz da palavra que é importante na classificação continuando aqui ó infelizmente Será Dessa forma né infelizmente super feliz eu vou trazer vai vai ser super feliz agora olha que coisa importante
da tokenização que é uma coisa que talvez você não tenha pensado Por que que o GPT né o os Transformers eles eles eh mesmo que você escreva errado ele consegue se adaptar você escreve a palavra aqui ó com grafia errado felizmente com i certo a grafia está errado mas veja que o os tokens se repartiram entre feliz e mente então no contexto do texto a raiz da palavra feliz vai fazer parte do processamento certo o que vai atrair outras palavras que são importantes para aquele momento e muito provavelmente na hora da completação ele vai trocar
esse mente por mente certo por quê Porque o mais com um é se escrever mente e não mente beleza na hora da completação por isso que isso é muito importante a tokenização Então eu tenho esse problema aí que eu já falei para vocês né Eu tenho esse problema aí se eu tiver e NS muitos muito grandes agora se eu tiver n muito pequeno se eu tiver n muito pequeno o que vai acontecer é que tudo fica sendo caracter mesmo ou então tokens muito pequenininhos entendeu então nós temos um dilema Olha a inteligência artificial ela é
toda feita de dilemas você precisa entender isso também tá existe alguns parâmetros que você precisa meio que descobrir isso isso é efetivamente uma arte tá é uma arte descobrir por exemplo a quantidade de kerneos de uma rede neural convolucional tá certo a quantidade de neurônios de uma rede neural eh perceptron mulle perceptron Tá certo então vocês você tem aqui também e muito muitos muitos e muitos parâmetros que são importantes e e naqu no BPM né ou no Transformer existe esse hiper parâmetro que é esse n que precisa ser de certa forma atribuído né quantas repetições
eu tenho que fazer né Para que eu possa fazer o bite Pair encoding então é é importante a gente definir um n não muito grande Nem um nem um n pequeno demais mas então qual seria o n ideal nesse caso aqui qual seria o n ideal então eu ter um problema de hiperparâmetros tá bom hiperparâmetros da rede são coisas que você define antes de você começar a treinar a rede então você pode dizer assim bom eu posso fazer algums algumas técnicas para desenvolver esse hiper parâmetro Então vai ser o seguinte ó eh eu vou eu
posso basear o meu n pelo tamanho do Corpus tá E seria uma boa seria a melhor forma efetivamente será que é então eu posso criar um n eu posso criar um n baseado nesse Corpus né a metade da o meu N pode ser a metade do tamanho do Corpus né coisa assim ou pode ser a raiz quadrada do Corpus eu posso inventar uma função por exemplo só que aí isso aí é treinado é é descoberto né pelos eh Engenheiros de de machine learning né Então veja que eu quando eu defini alguma coisa desse esse tipo
as estratégias né algumas estratégias para definir c n certo que osos os engenheiros usam é o seguinte primeiro é do tamanho baseado no Corpus né a a escolha de um n que reflita o tamanho e a diversidade do Corpus tá bom o segundo é que a gente pode também se basear no tamanho da frequência de tokens né A ideia é que você Estabeleça um limar de frequência mínima para inclusão no vocabulário aumentando o n Até que a maioria dos tokens abaixo dessa frequência seja atingida essa é uma outra estratégia a outra estratégia é uma estratégia
baseada no modelo né baseado no modelo dos requisitos de tarefa então a gente pode fazer isso aí eh como sendo uma estratégia e a quarta estratégia né baseada aí é a talvez a mais usada baseado na performance de validação Ou seja eu vou ajustando o n iterativamente à medida que o modelo vai ficando melhor eu vou ah aumentando ou reduzindo o tamanho de n até que ele fica numa posição que estabiliza E aí fica muito bom beleza bom a gente sabe que os tokens né são a base dos embeddings então na próxima aula na próximo
vídeo nós vamos falar exatamente sobre isso né vamos falar sobre os embeds de tokens né como eu uso esses tokens agora a partir do bpe para o criar os embeds se já oui falar de embeds né talvez a a técnica de hag graph hag que usa embeds e vetores então na próxima aula eu vou mostrar exatamente como é que acontece isso aqui beleza bom eu espero que você tenha gostado desse vídeo Um grande abraço para você e até a próxima
Copyright © 2025. Made with ♥ in London by YTScribe.com