Transcrições
1. Apresentação: Em algum momento você já deve
ter ouvido falar sobre o GPT, talvez o ChatGPT, GPT-4, você pode ter
ouvido a Microsoft chamá-lo de uma centelha de inteligência artificial
geral. Há muito para digerir. Deixe-me ajudá-lo a fazer exatamente isso. Olá, sou [inaudível],
pesquisador de uma grande empresa. Eu conduzo pesquisas
em IA há seis anos, anteriormente em
laboratórios de materialidade e no piloto automático da Tesla, recebendo meu PhD em
IA na UC Berkeley. Em particular,
estudei como fazer as redes
neurais funcionarem muito rápido. Neste curso, espero usar minha experiência para
dividir a
tecnologia de ponta em conceitos
intuitivos e digeríveis. Ao longo do tempo,
usarei uma abordagem que
prioriza a ilustração para
transmitir a intuição. Sem paredes de textos, diagramas
supercomplexos ou até mesmo um pouco de matemática. Meu objetivo é ajudá-lo a
criar as bases para entender o GPT de bate-papo e
suas tecnologias relacionadas. O material deste curso
pressupõe que você tenha feito meu curso gratuito para iniciantes em IA, com um
link na descrição. Além disso, nenhum
conhecimento técnico é necessário. Se você é
engenheiro, designer ou qualquer outra pessoa curiosa para aprender, este curso foi feito para
você. Vamos começar.
2. Por que entender o ChatGPT: Veja por que você deve
entender o ChatGPT. Começaremos com os benefícios. O maior benefício de
fazer esse curso é entender as
discussões sobre o assunto. Existem muitos termos
relacionados aleatórios em toda a web, transformadores, modelos de
linguagem grande, ChatGPT, GPT isso, GPT aquilo. Nosso objetivo é saber como esses termos diferentes
estão relacionados. Vamos direto à confusão do
marketing e passaremos direto ao entendimento
técnico O jargão não
precisa ser intimidador. Com esse conhecimento,
você pode então entender as últimas
inovações na área. O que significa tornar
um transformador mais rápido? O que é mesmo o transformador? Para resumir, aqui
estão dois benefícios para entender como o ChatGPT funciona. Conhecer a terminologia para manter discussões sobre o
tópico e
saber ler e
entender as notícias ao ler e aprender
mais sobre o assunto. Para ser claro, não abordaremos exaustivamente todos os
termos ou tópicos. No entanto, este curso oferece uma base para aprender mais.
Basicamente, abordaremos a intuição e as grandes ideias
por trás da tecnologia. Uma grande parte disso é
conhecer a terminologia, então esse será nosso foco. Agora vamos direto
ao conteúdo. Aqui está uma visão geral do ChatGPT
e conceitos relacionados. Primeiro, o ChatGPT é um produto. É especificamente o nome
do produto da Open AI. Em segundo lugar, modelos de linguagem grande ou a tecnologia mais ampla, uma tecnologia que pode
receber a entrada de textos e gerar
texto com som natural de alta qualidade como saída. É como lenços
de papel e lenços. Kleenex é uma marca específica, lenços são o nome
genérico do produto. Nesse caso, ChatGPT é uma marca registrada
específica. Modelos de linguagem grande são
a tecnologia geral. Como resultado, esses
grandes modelos de linguagem ou LLMs, são o foco do nosso curso. Finalmente, os transformadores são
os alicerces dos
grandes modelos de linguagem. Vamos nos concentrar nesses blocos de
construção daqui para frente. Em termos gerais, nosso
objetivo é dissecar
a intuição por trás de
grandes modelos de linguagem. Vou apresentar uma
versão simplificada desses modelos que transmite as principais
ideias de por que eles funcionam. Não há necessidade de grandes diagramas
complicados ou equações matemáticas desnecessárias. Teremos diagramas bastante
simples que atendem aos pontos principais. Aqui está uma breve introdução
aos grandes modelos de linguagem. Em nossa masterclass de IA, discutimos a compartimentação de
nosso conhecimento de ML em quatro categorias: dados, modelo, objetivo e algoritmo. Os dados descrevem as
entradas e saídas, o que aprendemos
e o que prevemos. O modelo descreve como
fazer previsões. O objetivo descreve a meta, para o
que o modelo está
otimizando. Finalmente, o algoritmo descreve
como o modelo aprende. Não discutimos
muito o algoritmo e vamos
ignorá-lo novamente desta vez. Para modelos de linguagem grande, a entrada é texto. Isso pode ser de sites, livros, fóruns on-line ou mais. O modelo transforma esse texto
usando o texto de entrada para
gerar o texto de saída. O
objetivo específico de um modelo é prever a próxima palavra com
base nas palavras anteriores. Analisaremos esse
processo posteriormente
neste curso e, como antes, ignoraremos o algoritmo. Para recapitular, discutimos os
benefícios de entender o
ChatGPT no contexto de notícias
e discussões
rápidas. Também
apresentamos brevemente o ChatGPT, o produto versus
a classe mais ampla de tecnologia, modelos de
linguagem grande. Isso é tudo para a visão geral. Para obter uma cópia desses slides
e mais recursos, não
deixe de conferir
o site do curso. É por isso que você
deve entender o ChatGPT. Vamos direto à
tecnologia para que você esteja bem equipado para entender
a enxurrada de informações que existe.
3. Como “computar” palavras?: Nesta lição, discutiremos
como “computar” palavras. Aqui está um exemplo
do que quero dizer. Pegue a seguinte equação. Temos rei - homem+mulher. O que você espera que isso seja igual? Pause o vídeo
aqui se quiser parar um segundo para pensar. Uma saída razoável
seria rainha. Isso é o que esperaríamos se
pudéssemos aplicar matemática às palavras. No entanto, não podemos
realmente fazer isso. Não existe tal coisa como
somar palavras, então precisamos converter palavras em números que podemos
somar e subtrair. Vamos usar um exemplo específico. Nesse caso, queremos
traduzir do
francês para o inglês. Temos francês em roxo à
esquerda, que se traduz em eu te amo
em verde à direita. Para simplificar esse exemplo, vamos nos concentrar em traduzir apenas
uma palavra por vez. Nesse caso, nos concentramos em
traduzir Je em I. Para fazer isso, precisamos
converter Je em números. Felizmente para nós, já
existe uma espécie de dicionário que
mapeia palavras em números. Esse mapeamento é
chamado de word2vec. O Word2vec define um mapeamento
de palavras para vetores. Os vetores são simplesmente
coleções de números. De agora em diante, vamos nos referir a uma coleção de
números como vetores. Aqui está um exemplo, aqui
temos a palavra francesa Je. Word2vec mapeia essa palavra
para o vetor.8.1.1, que é ilustrado abaixo
com algumas caixas em roxo. Também podemos ter
a palavra em inglês I. Word2vec mapeia isso para 0.1.9. Finalmente, temos você. O Word2vec mapeia isso para.1 0.9. Observe que esse mapeamento
é apenas um exemplo. Na realidade, o word2vec usa
300 vetores dimensionais, o que significa que cada palavra
corresponde a 300 números, muitos
demais para serem mostrados aqui. Vamos agora usar esses vetores
em nosso exemplo de tradução. Agora, traduzimos Je para o
vetor word2vec correspondente à esquerda em roxo. Alguns cálculos misteriosos e no meio são executados, então obtemos outro
vetor em verde. Esse vetor em verde então corresponde à palavra
inglesa I. Agora, vamos discutir o que está
nessa caixa com
um ponto de interrogação. Como esses vetores são
transformados? Veja como. O objetivo dessa caixa é executar cálculos
significativos. Aqui está o que eu quero dizer. Esse foi o exemplo que
tivemos anteriormente, onde rei menos homem mais
mulher é igual a rainha. Veja como podemos
realmente adicionar e subtrair números ou até mesmo adicionar e
subtrair palavras. Comece com as palavras do
lado esquerdo. Temos rei, homem
e mulher traduzindo cada palavra em seu vetor word2vec
correspondente. Isso nos dá três vetores. Então, começando com o vetor
rei à esquerda, subtraia o vetor homem e adicione o vetor mulher. Fazer isso nos dá um
novo vetor à direita e esse vetor
resultante corresponde à rainha, então é isso que
realmente queremos dizer quando “
fazemos matemática com palavras”. Na realidade, estamos
fazendo cálculos nos vetores aos quais essas
palavras correspondem. Então, agora podemos abreviar todo
o processo apenas
escrevendo essa equação. A
propósito, essa equação é um resultado real. Se você pesquisasse os mapeamentos do
word2vec, você realmente seria
capaz de calcular essa equação. adição e a subtração
nesse espaço vetorial
têm um significado real. Então, sabendo disso, agora podemos
preencher nossa caixa misteriosa. Dada a entrada para
traduzir para o inglês, subtraímos o vetor francês
e adicionamos o vetor inglês. De forma mais geral, para acomodar qualquer tarefa, podemos
representar qualquer adição, multiplicação,
subtração, etc. Esse pequeno gráfico
no centro representa algo chamado perceptron
multicamada. Não vamos nos aprofundar nisso. Pense nesse pequeno
gráfico no centro da nossa figura como qualquer conjunto de somas, multiplicações, subtrações e muito mais. Isso nos permite
representar qualquer tarefa de tradução
de palavra para palavra
com essa arquitetura. Agora, observe que nosso
pipeline termina com um vetor. Precisamos converter esse
vetor novamente em uma palavra. Então, para nosso último objetivo aqui, queremos converter
números novamente em palavras. Aqui está nosso pipeline de antes. Acabamos com algum vetor. Então, converta novamente em uma palavra, encontraremos o
vetor mais próximo que é mapeado para uma palavra. Nesse caso, nossos mapas
vetoriais mais próximos da palavra I e, com isso,
terminamos nosso pipeline. Vamos agora recapitular o que
fizemos do início ao fim. Primeiro, convertemos
palavras em vetores, depois transformamos esses vetores. Finalmente, transformamos
vetores novamente em palavras. Aqui está nosso diagrama final. À esquerda, convertemos
a palavra Je em um vetor
e, em seguida, realizamos alguns cálculos no meio com esse vetor. Isso gerou outro
vetor em verde e, em seguida, procuramos
o vetor mais próximo que correspondia a uma palavra. Isso finalmente
nos levou à palavra eu, e isso completa nosso pipeline, traduzindo de uma
palavra francesa para uma palavra em inglês. pausa aqui, se
quiser copiar esta figura ou tirar um
momento para digerir ou recapitular. Então, convertemos uma
palavra em outra palavra,
mas, em última análise,
queremos converter muitas palavras de entrada em muitas palavras de saída, como
mostramos aqui em nosso exemplo Essa será nossa próxima lição. Para obter uma cópia desses slides
e mais recursos, não
deixe de conferir
o site do curso. Isso é tudo para executar
cálculos em palavras. Agora você entende o básico de como grandes modelos de linguagem executam computação em entradas
para produzir saídas. Na próxima lição, aprenderemos como
modelos de linguagem grandes absorvem várias palavras de entrada e
geram várias palavras de saída.
4. O que é um "transformador"?: Nesta lição, abordaremos
o que é um transformador. O transformador nos
permite pegar várias palavras de entrada e
gerar várias palavras de saída. Isso é o que
explicamos até agora. Convertemos uma
palavra francesa em uma palavra em inglês. Agora, queremos converter várias palavras em francês em
várias palavras em inglês. Para fazer isso,
modificaremos nossa meta. Em vez de traduzir
de uma palavra para outra, vamos traduzir
da palavra anterior e prever a próxima palavra. Para fazer isso, mudaremos
esse diagrama para este. Agora, nosso modelo usa a frase
em francês e a palavra anterior
mostrada abaixo em itálico. Com essas duas entradas, o modelo prevê
a próxima palavra, mostrada em itálico à direita. O texto roxo,
nesse caso, o francês, é o que chamamos de prompt para distinguir entre os
dois tipos de entradas. Vamos agora executar esse
diagrama em nossas entradas. Para gerar a primeira palavra, passamos o prompt e
uma palavra inicial mágica. Nós indicamos o início da palavra da sequência como uma
aspa inicial aqui. Para simplificar, na realidade, o token inicial é uma
tag ilegível. Esse símbolo mágico de início, junto com o prompt
, produz a primeira palavra I. Para gerar a próxima palavra, usamos novamente o prompt
em roxo na parte superior. Na parte inferior, agora inserimos
as duas palavras anteriores, a sequência inicial
representada por uma citação e a palavra anterior I. Agora prevemos a próxima palavra, amor. Nós fazemos isso de novo. Nós alimentamos o prompt na parte superior. Na parte inferior, inserimos
todas as palavras anteriores, o início da
citação da sequência e eu e amor. Todos esses insumos produzem
você. Uma última vez. Nós alimentamos o prompt na parte superior. Na parte inferior, inserimos
todas as palavras anteriores, o início da sequência, depois
eu, depois amor, depois você. Todas essas entradas produzem uma palavra de saída,
fim da sequência. Esse final da sequência
é indicado como uma aspa final em nosso
diagrama e pronto. Quando vemos a palavra final da
sequência, estamos prontos. Agora geramos uma sequência de várias palavras
de saída. Chamamos esse processo de decodificação
autorregressiva. decodificação autorregressiva
prevê a próxima palavra uma de cada vez, até chegarmos
ao final da palavra da sequência. Aqui está uma visão geral de todo
o processo. Essa era a versão genérica
do nosso diagrama anterior. No topo, temos nosso
prompt em roxo. Abaixo, temos todas as palavras
anteriores. Essas entradas então passam
pela caixa misteriosa para
produzir a próxima palavra. Agora, preenchemos a caixa misteriosa. Preencheremos essa caixa usando o mesmo processo que fizemos antes. Primeiro, converta todas
as palavras em números. Nós alimentamos cada aviso, cada palavra em nosso
prompt, uma por uma. Também inserimos a palavra da sequência de
inicialização, que neste caso é novamente
indicada pela citação inicial. Todas essas entradas são primeiro
convertidas em vetores. De alguma forma, nossa
caixa misteriosa gera um vetor que corresponde
à próxima palavra I. Em seguida, precisamos de alguma forma de
incorporar “contexto”. Efetivamente, nossa palavra anterior, que é a citação inicial, precisa de contextos
do prompt para ser traduzida para a primeira palavra
correta. Aqui, estou usando o termo
contexto de forma muito vaga. De alguma forma, de forma automática,
precisamos incorporar informações do prompt
roxo
no vetor verde que representa
a palavra anterior. Nesse caso,
incorporaremos o contexto
simplesmente tomando uma
soma ponderada de todos os vetores. Isso produz apenas
um vetor final que inserimos
na caixa misteriosa. Em seguida, adicionamos computação, assim como fizemos
na lição anterior. Substituímos essa caixa
misteriosa por qualquer número de somas ,
multiplicações, subtrações, etc. Isso é representado
por um pequeno gráfico no centro da nossa figura. Como antes, esse gráfico anteriormente representava um perceptron de
várias camadas. Mas não precisaremos
conhecer os detalhes
do perceptron para
entender o que está acontecendo. Agora
convertemos com sucesso nosso prompt e o início da sequência
na primeira palavra I. Faça o mesmo que fizemos antes. Preveja a próxima palavra, uma de cada vez, a partir de todas as fichas
anteriores. Esse é exatamente o mesmo processo. Em seguida, pegamos o prompt,
o início da sequência, e a palavra anterior
eu, tomada em conjunto, produz a
próxima palavra, amor. Continuamos esse
processo de forma iterativa. Finalmente, obtemos a palavra final da sequência como saída
e paramos aqui. Isso agora completa nosso pipeline. Agora podemos usar
várias palavras como entrada e prever várias
palavras como saída. Adicionamos dois novos
conceitos nesta lição. Prevemos a próxima palavra uma de cada vez, até chegarmos ao
final da sequência. Também adicionamos contexto
incorporando o prompt
às palavras anteriores. Neste caso, adicionamos contextos simplesmente
usando uma soma ponderada. Este foi o nosso
diagrama final de antes. Na extrema esquerda, convertemos o prompt roxo em vetores. Também convertemos as
palavras anteriores em verde em vetores. Em seguida, incorporamos
o contexto do prompt
às palavras anteriores obtendo uma soma ponderada. Essa soma ponderada
é então inserida em um perceptron de várias camadas
para realizar o cálculo. Esse cálculo produz
um vetor e, como antes, encontramos o vetor mais próximo
que corresponde a uma palavra, que neste caso é a palavra do
final da sequência. Isso agora completa nosso
pipeline para converter várias palavras de entrada em
várias palavras de saída. Há um detalhe que
deixamos de fora, que é como essa soma
ponderada é calculada. Para que você tenha outro termo no bolso, essa soma ponderada, que adiciona contexto, é mais formalmente chamada de
autoatenção. Fique ligado, pois pretendo adicionar uma nova lição a este curso ou lançar um novo minicurso
descrevendo como isso funciona. Por enquanto, você entende
todo o pipeline de várias palavras. Para obter uma cópia desses slides
e mais recursos, não
deixe de conferir
o site do curso. Isso conclui nossa introdução
ao transformador. Agora você entende a intuição
de como um transformador funciona e como geralmente produzir textos
de saída a partir de um texto de entrada. Observe que
omitimos vários detalhes na arquitetura, mas essa é uma
representação mínima das ideias-chave e um bom
ponto de partida para aprender mais sobre grandes modelos de
linguagem.
5. Conclusão: Parabéns por ter
chegado ao final do curso. Agora você abordou
os fundamentos de grandes modelos de linguagem e, de
forma eficaz, como o ChatGPT funciona. Discutimos vários
termos diferentes, Word2vec, que mapeia palavras
em um espaço vetorial. Onde adição, subtração,
etc., são significativas. Decodificação autorregressiva, que é como
os transformadores produzem várias
palavras de saída gerando
uma palavra por vez a partir de
todas as palavras anteriores. Transformadores, os
alicerces para grandes modelos linguísticos e os próprios
grandes modelos linguísticos, a tecnologia geral versus a marca
e o produto específicos ChatGPT. Agora você tem as ferramentas para
entender as conversas sobre o campo e uma intuição
de alto nível como
os grandes modelos de
linguagem funcionam. Lembre-se de que
há mais recursos e uma cópia dos slides
no site do curso. Se você tiver alguma dúvida, sinta-se à vontade para deixá-la
na seção de discussão. Também deixarei links com mais informações na descrição do
curso. Se você quiser
saber mais sobre IA, ciência de
dados ou programação, não
deixe de
conferir meus cursos no meu perfil do Skillshare. Parabéns
mais uma vez por chegar ao final do curso
e até a próxima vez.