Transcrições
1. Promo pronto para Prod: E se eu dissesse que, em vez de gastar dezenas de
milhares de dólares para que alguém responda às perguntas de
seus clientes 8 horas por dia, cinco dias por semana,
na próxima 1 hora, você poderia aprender
a criar um chatbot usando o poder de grandes modelos de
linguagem para fazer o mesmo com maior precisão e
fazê-lo 24 horas por dia, sete dias por semana,
365 dias por ano Sou o professor Reza e ensino tópicos
sobre ciência da computação e inteligência
artificial para estudantes de
graduação e Também tenho milhares de estudantes
on-line que pesquiso sobre IA
e colaborei com institutos de
prestígio
como o MIT Media Lab, a
Carnegienon University, a
Harvard University
e a University of California, San Diego e E esses trabalhos
foram publicados em locais como ACM
e Spring Vou usar toda essa experiência e
tudo o mais que aprendi
até agora para ajudá-lo a entender como
você pode usar grandes modelos de
linguagem para criar um ponto de
bate-papo de atendimento ao cliente que o
ajude a responder às perguntas de seus clientes a
qualquer hora do dia Na próxima hora,
abordaremos o que são modelos de
linguagem grandes e
falaremos sobre
vários tópicos diferentes relacionados a eles, como PNetEngineering e ética uso
de modelos de linguagem grandes Falarei sobre diferentes plataformas que
serão muito úteis para qualquer desenvolvedor de aplicativos
ou para qualquer pessoa que queira
aprender a desenvolver aplicativos com
grandes modelos de linguagem. Vamos falar
sobre plataformas como Hugging Face e tecnologias como rádio para criar
interfaces fáceis para o programa Python E eu acompanharei você em todas as
etapas da
criação de um
chatbot baseado em LLM que pode buscar dados de seus
documentos comerciais e responder qualquer pergunta que seus clientes buscar dados de seus
documentos comerciais e responder a
qualquer pergunta que seus clientes
possam ter. Você está interessado? Então, junte-se a mim no próximo vídeo
e eu vou te contar como.
2. Lesson1Video1- Explorando vantagens de LLMs e aplicativos: Neste vídeo,
exploraremos o que são
grandes modelos de linguagem e como eles funcionam. Ao final deste vídeo, você aprenderá os principais recursos
e benefícios dos LLMs, bem
como algumas aplicações
notáveis LLMs são um tipo de modelo de
aprendizado profundo retratado em grandes conjuntos de dados de
textura Em seguida, eles são ajustados
para tarefas específicas. Eles são chamados de grandes por causa de duas de suas principais
características. Uma é que eles são treinados em uma enorme quantidade de dados
na escala de ptabtes Isso lhes dá um amplo
conhecimento sobre idiomas. E segundo, eles têm um grande
número de parâmetros. Estamos falando de
trilhões de parâmetros. Isso lhes dá uma forte
capacidade de raciocínio, incluindo
compreensão e geração de linguagem Em poucas palavras, seu extenso pré-treinamento
complementado pelo ajuste fino de
tarefas específicas os torna sistemas IA
incrivelmente versáteis e
poderosos Os LLMs passam por dois estágios principais. Um pré-treinamento
do modelo ingere grandes conjuntos de dados diversos, como
Wikipedia ou Common Crawl, para construir uma ampla Dois ajustes finos. O modelo pré-treinado
é então personalizado para aplicações
específicas usando conjuntos de dados
menores específicos de campo Esse processo de twister permite que os
LLMs obtenham conhecimento
branco seu pré-treinamento geral
e precisão especializada seu
ajuste fino Agora, vamos explorar alguns
dos principais benefícios e
capacidades dos LLMs. Primeiro, eles podem entender linguagens
com nuances e gerar textos notavelmente humanos Segundo, eles se destacam em
tarefas como tradução, resumo, análise
de sentimentos e resposta a perguntas Em terceiro lugar, eles só podem
ser ajustados para tarefas
específicas por meio de
treinamento em um pequeno conjunto Quatro, eles ficam melhores com mais dados e tamanhos
maiores de modelos. E cinco, por meio de suas capacidades
generativas, eles tornam a IA mais
acessível até mesmo para indivíduos com conhecimento
técnico limitado LLMs são as novas potências que podem transformar
vários setores Vamos dar uma olhada em alguns exemplos. Na área da saúde, eles
podem ser usados para extrair informações de registros
médicos ou trabalhos de
pesquisa Na educação, eles são
capazes de fornecer tutoria e
feedback
personalizados para os alunos Em finanças, você pode usar LLMs para analisar relatórios de lucros
e prever tendências de mercado E no entretenimento, os
LLMs nos ajudam a gerar conteúdo criativo,
como histórias ou até mesmo roteiros E por último, mas não
menos importante, no varejo, eles podem ser usados
para recomendar produtos com base em
dados e avaliações de clientes Há muitas
possibilidades interessantes à nossa frente medida que os LLMs
continuam evoluindo Sua versatilidade está permitindo aplicações
inovadoras de IA
em diferentes setores Concluindo, grandes modelos de
linguagem representam uma revolução
nos recursos de IA. Seu
pré-treinamento em grande escala, seguido por um ajuste fino
especializado os
capacita com habilidades
linguísticas excepcionais Isso está possibilitando impactos
transformadores nas indústrias, desde
finanças até educação À medida que esses modelos se tornam
ainda mais poderosos, o futuro parece promissor para democratização da IA
por meio de modelos de
linguagem grandes versáteis e
aceitáveis
3. L1V2: entendendo a engenharia rápida: Este vídeo explorará a engenharia
imediata, seu papel na utilização de LLMs e como solicitar com
eficácia e responsabilidade Ao final deste vídeo, você aprenderá sobre
os diferentes tipos de solicitações e métodos
de otimização, bem
como suas limitações Primeiro, o que exatamente é engenharia
rápida? Refere-se à otimização
estratégica das solicitações que fornecemos aos
sistemas de IA Fazemos isso com o objetivo melhorar o desempenho
desses modelos. engenharia rápida emprega técnicas
especializadas para produzir os
resultados mais precisos, relevantes e úteis possíveis engenharia rápida consiste em comunicar nossa
intenção Os prompts desempenham um papel crucial na definição do comportamento de um
sistema de IA Podemos vê-los como
a interface entre nós e os modelos de IA para nos ajudar a comunicar
claramente
nossas intenções e dar instruções
ao modelo. Você pode se perguntar por que a
engenharia rápida é importante. Bem, sem a orientação
estratégica, os
modelos precisam interpretar instruções ambíguas ou vagas Isso corre o risco de resultados inúteis ou
até perigosos. Por outro lado, comandos
cuidadosamente projetados permitem um controle
mais preciso para explorar da IA Você também pode ter ouvido
o termo design rápido. Há uma
diferença importante entre design
rápido e engenharia
rápida. O design imediato envolve a
adaptação de solicitações para tarefas
específicas, como
tradução ou resumo engenharia rápida usa estratégias
especializadas para otimizar o desempenho do
modelo. Posso incluir técnicas
como terminologia de domínio, palavras-chave
eficazes,
exemplos e outras técnicas para aumentar
a precisão e a
relevância do modelo Agora, vamos dar uma olhada em alguns tipos
diferentes de solicitações. Solicitação de instruções. Essas são instruções diretivas diretivas
diretivas diretivas. Por exemplo, resuma esse texto brevemente ou traduza a
passagem para o francês Também há a solicitação de palavras-chave, que inclui o
uso de dicas úteis Por exemplo, explique os principais eventos na
ordem em que ocorreram. Também há solicitação de domínio. Ele utiliza conhecimento
específico do domínio e terminologia
técnica Por exemplo, diagnostique esse caso médico usando linguagem
clínica ou avalie esse contrato legal usando
estruturas e termos legais Também temos sugestões de papéis. Esse tipo de solicitação direciona o modelo a adotar uma persona Por exemplo, responda como
economista especialista. Cadeia de pensamento estimulante. Ele divide um prompt complexo em um conjunto lógico
de ações ou tarefas. Por exemplo, resuma brevemente
os pontos principais do artigo. Em seguida, explique a perspectiva do
autor. Por fim, forneça sua análise
crítica. Também temos instruções de filmagem. solicitação de captura fornece configuração
contextual antes da solicitação real Temos zero tiro, um tiro e poucos
disparos. Na solicitação zero, não
fornecemos nenhum exemplo Por exemplo, escreva um
pequeno poema sobre a natureza. Em um único aviso, um exemplo é dado Por exemplo, aqui está um
pequeno poema sobre árvores
e, em seguida, fornecemos
um pequeno poema Então continuamos agora escrevendo um
pequeno poema sobre o oceano. Em um breve aviso, vários exemplos são fornecidos Por exemplo, aqui estão dois poemas
curtos sobre o clima
e, em seguida fornecemos dois
poemas curtos para o modelo Então continuamos. Agora escreva um pequeno
poema sobre a neve. O FusiaPmpting é uma técnica poderosa. Os LLMs são muito bons
em seguir padrões. Na verdade, tenho
uma amiga que estava alimentando Claude com sua poesia antiga, e estava pedindo que ela escrevesse poemas em seu
próprio estilo único Ela ficou muito impressionada com isso. Então, se você também gosta de
usar IA para poesia, provavelmente deveria dar uma
olhada em Claude Uma boa engenharia rápida pode nos
dar muita potência, e com uma grande potência vem
uma grande responsabilidade. Então, vamos conferir algumas
das práticas responsáveis e
éticas na engenharia rápida. Considere possíveis preconceitos
e limitações dos LLMs. Valide resultados de alto risco,
como informações legais ou
médicas Eles devem ser validados
com especialistas no assunto. Certifique-se de iterar
com cuidado para
otimizar os prompts
antes da implantação. Não queremos levar um aplicativo ao estágio de
produção antes de
testá-lo adequadamente. Obviamente, a
engenharia rápida vem com seu próprio conjunto de limitações. Vamos ver quais são algumas
dessas limitações. Primeiro, a engenharia rápida não
é uma solução mágica. Por exemplo, ele não pode nos
proteger contra todos os
comportamentos imprevisíveis do modelo que ainda podem ocorrer Em segundo lugar, mesmo com
a melhor solicitação, algumas tarefas podem estar além das
capacidades do modelo Também devemos lembrar que, para otimizar o prompt, devemos entender o modelo. É muito difícil criar um modelo eficiente
se não sabemos como o modelo funciona e que tipo de prompt funciona
melhor para esse modelo. E por último, mas não menos importante, não importa o quão bem
projetados sejam nossos prompts, resultados ainda exigem a validação humana
final, especialmente para campos de alto Concluindo, a engenharia estratégica
imediata nos
permite direcionar melhor os sistemas de
IA e liberar seu potencial, ao mesmo tempo em que
estimula com responsabilidade Reconhecer o
poder e as limitações da engenharia
rápida nos
permite agir forma eficaz, responsável
e
4. L1V3: como os LLMs são implantados: Neste vídeo, exploraremos como grandes
modelos de linguagem são implantados. Ao final deste vídeo, você aprenderá como o desenvolvimento do
LLM é diferente do aprendizado de
máquina tradicional Examine os três tipos
diferentes de LLMs e discuta o conceito de raciocínio da cadeia de pensamento para
criar melhores instruções de LLM Ok, vamos nos aprofundar. aprendizado de máquina tradicional envolve ampla experiência
técnica, dados de treinamento
massivos, treinamento de modelos
complexos e algum conhecimento de hardware para gerenciamento de
recursos de computação. Em vez disso, o desenvolvimento do LLM
se concentra na elaboração de instruções eficazes, sem necessidade de formação técnica O foco está em
instruções claras, concisas
e informativas, em vez de nos detalhes e nuances
do design e do treinamento do
modelo Existem três categorias
principais de LLMs com base em
sua funcionalidade:
genérico, ajustado por instrução e
ajustado por dialeto Modelos genéricos de linguagem. Esses modelos prevêem
as palavras subsequentes como um recurso de preenchimento automático Suas previsões
são baseadas puramente nos padrões
linguísticos que eles
encontram em seus Os modelos ajustados por instruções
geram respostas com base em instruções específicas incorporadas nos prompts de entrada Eles podem resumir,
compor poesia, analisar sentimentos
e muito Os modelos ajustados ao dialeto
são subconjuntos especializados de LLMs focados em interações
conversacionais, algo que comumente
vemos Esse é o tipo de LLM que eu escolhi para demonstrar neste curso Um conceito interessante no LLM é o raciocínio em cadeia de
pensamento No raciocínio da cadeia de pensamento, o modelo gera
uma cadeia de raciocínio antes de concluir e
fornecer É semelhante à forma como
dividimos um problema em partes menores
para entendê-lo melhor. Para ter uma ideia melhor, vamos pedir um
exemplo ao Chat GPT Então eu fui em frente e
perguntei ao CHAT GPT. Dê-me um exemplo
de como um LLM pode processar uma solicitação complexa usando o raciocínio da cadeia de
pensamento Essa é a resposta
que ele forneceu. Então, o aviso é: imagine uma cidade onde todos os edifícios são feitos de material
transparente. Como isso afetaria a
vida das pessoas que moram lá, o consumo
de energia dos edifícios e o design urbano geral. Então isso é o que
aconteceria em segundo plano. O LLM dividiria
o problema em partes
menores e tentaria analisá-lo de uma perspectiva
diferente Neste exemplo, pode
ser a relação entre edifícios
transparentes
e privacidade ou consumo de luz e energia, ou estética e atmosfera
urbana, ou segurança e proteção Então, depois de considerar
todas essas perspectivas, o modelo segue em frente e
produz uma resposta final. Neste exemplo, o LLM divide o prompt
em diferentes aspectos, por exemplo, privacidade, consumo de
energia,
estética e Em seguida, analisa os efeitos nas pessoas e no
design urbano de cada aspecto
e, finalmente, combina
todas essas informações para fornecer uma resposta
abrangente Agora, vamos dar uma olhada em algumas considerações importantes para
criar solicitações eficazes de LLM quadro exibe instruções claras e
concisas, adaptadas ao modelo Aproveite os
pontos fortes e as limitações do modelo. Comece com instruções simples, aumente a
complexidade gradualmente e continue experimentando para aprender frases e
estruturas
ideais que funcionem Em conclusão, o
desenvolvimento do LLM é diferente do
aprendizado de máquina
tradicional, priorizando instruções
bem projetadas em vez de complexidades técnicas. Os LLMs vêm em três variedades
principais:
genéricas, ajustadas por instruções e
ajustadas por dialeto E é importante saber que conceitos como raciocínio em cadeia
de pensamento aprimoram os recursos do LLM
para gerar respostas
mais precisas e
coerentes trabalhando
sistematicamente nas etapas
de um
problema de
5. L1V4: o que significa pronto para produção: Neste vídeo, exploraremos os componentes essenciais
para
o desenvolvimento de um aplicativo baseado em LLM
pronto para produção,
um aplicativo com confiabilidade
e escalabilidade no mundo
real Ao final deste vídeo, você aprenderá sobre desempenho,
escalabilidade, confiabilidade
e segurança de
aplicativos escalabilidade, confiabilidade
e segurança A implantação de aplicativos baseados em LLM exige mais do que
apenas a própria IA Para criar aplicativos LLM
prontos para produção, certas práticas-chave
são cruciais Primeiro, o aplicativo
precisa ser eficiente. Isso significa que ele pode lidar com o tráfego
e o uso do mundo
real sem
diminuir a velocidade ou travar O teste de estresse do
aplicativo desde o início nos ajuda a simular o alto uso e encontrar gargalos de
desempenho Em segundo lugar, é a escalabilidade. A infraestrutura
deve ser ampliada ou reduzida automaticamente
com base na demanda. O uso de hospedagem em nuvem e contêineres permite o rápido
escalonamento dos aplicativos Em terceiro lugar, o aplicativo deve ser
confiável e estável. Deve haver
testes completos para detectar pântanos, além de monitoramento na
produção para rastrear acidentes Um sistema robusto de tratamento de erros garante que o aplicativo lide com facilidade com qualquer A quarta é a facilidade de
implantação e atualizações. Por exemplo, pipelines automatizados
permitem implantações rápidas e
repetíveis O quinto é a visibilidade operacional. Podemos fazer isso por meio de
métricas e registros. Esses registros nos dão uma
visão dos padrões e erros de uso. E, finalmente, a segurança é essencial. Os dados devem ser criptografados
e o acesso controlado. como
testes de vulnerabilidade, identificam riscos
e proteções, como
limitação de taxa , defendem contra ataques A
plataforma Hugging phase fornece muitos desses recursos prontos
para uso,
facilitando a criação de aplicativos prontos para
produção Os modelos Hugging Face são otimizados para desempenho
e escalabilidade A API de inferência lida com picos de
tráfego com elegância recursos de segurança, como
autenticação
e criptografia autenticação E é por isso que realizamos a demonstração do discurso
sobre Hugging Pase Concluindo, seguir
as melhores
práticas de implantação resulta em um aplicativo baseado em LLM
que é eficiente, escalável, confiável, implantável,
observável Isso exige esforços adicionais de
engenharia, mas é essencial para a preparação da produção
no mundo real E com engenharia diligente e plataformas como a Hugging Face, IA
pronta para
produção está
6. L2V1: familiaridade com a plataforma HuggingFace: Neste vídeo, vou
falar sobre a plataforma Hugging
Face Hugging Face é uma
comunidade como o Github, mas para Seu produto mais notável
é a biblioteca Transformers. Essas bibliotecas oferecem muitas funcionalidades diferentes,
como classificação, tradução e resposta a
perguntas Também há muitos modelos
contribuídos por usuários que
podem ser usados para geração de imagem, vídeo e som. Hugging Face é uma plataforma de código
aberto, que
significa que desenvolvedores
de todo o mundo podem contribuir com esses
modelos e conjuntos e aprimorar todas essas novas tecnologias de IA
que estão Com essa abordagem, a Huggingface
está reduzindo a barreira de entrada
para o desenvolvimento entrada
para Portanto, existem três
componentes diferentes no abraço facial,
que são distintos, mas
também Então, temos modelos. Temos
conjuntos de dados e temos espaços Vamos dar uma olhada nos modelos. Portanto, esses modelos são modelos pré-treinados de aprendizado de máquina
e grandes modelos de linguagem, que os usuários podem clonar
em seu próprio espaço de trabalho e personalizá-los
ou até mesmo aprimorá-los Há também um repositório
de conjuntos de dados que é usado para treinar e
avaliar Os usuários também podem contribuir e adicionar seus próprios conjuntos de dados
à plataforma Temos espaços que são adição
relativamente nova à
plataforma Hugging Usando espaços, os usuários podem criar, compartilhar e explorar aplicativos
web interativos. Esses espaços oferecem a
capacidade de interagir tempo
real com os modelos que estão disponíveis
no Hugging E, semelhante aos modelos, você pode clonar cada um
desses espaços e personalizá-los ou
aprimorá-los como quiser Criar um espaço de trabalho no
Huggingface é bem fácil. Então, você só
precisa criar uma inscrição
e, com um e-mail
e definir uma senha, podemos criar uma conta Então é assim que meu
espaço de trabalho se parece. Posso acessar meu perfil e
ver todos os espaços, modelos e conjuntos de dados que tenho Então, aqui eu não tenho
nenhum modelo ou conjunto de dados, mas tenho
explorado alguns espaços Na verdade, esse chatbot de perguntas frequentes é o aplicativo que
vou demonstrar para
você neste curso Então, neste momento, esse espaço
está adormecido porque todos esses espaços e todos
os modelos estão usando hardware
real. Então, quando não os estamos usando,
eles dormem para
economizar custos tanto no lado abraço quanto do nosso
lado Em cada um dos espaços, temos a possibilidade de
conferir os arquivos. Portanto, esse é o
repositório do espaço, e podemos modificar e
personalizar cada um desses espaços editando o código dentro
do arquivo dot py do aplicativo Também há um recurso
comunitário. Nesse recurso da comunidade, podemos criar novas discussões e interagir com
outros desenvolvedores. Podemos aprender com eles e também
podemos ajudar nossos
colegas desenvolvedores. E também podemos acessar a
configuração do nosso espaço. E aqui temos a opção melhorar o
hardware que estamos usando. Temos uma seleção de CPUs e GPUs
diferentes e também podemos definir quantidade de armazenamento que queremos
usar em nosso Também há mais configurações,
como reiniciar o espaço ou alterar sua visibilidade
de privada para pública ou
vice-versa Também podemos definir
variáveis diferentes, como APIs diferentes, que discutiremos
nos próximos vídeos
desta lição Então, para concluir, neste vídeo, apresentamos a plataforma
Huggingfas para você e falamos sobre
a importância do código
aberto no rápido
desenvolvimento de aplicativos de IA E também abordamos alguns
componentes do Hugging pace, que são modelos,
conjuntos
7. L2V2: criando interfaces da Web usando o Gradio: Neste vídeo, exploraremos o
rádio, uma biblioteca Python, que permite demonstrações
interativas com apenas alguns códigos em Python Vou explicar diferentes componentes que podem ser usados em uma interface de rádio e mostrarei alguns espaços faciais
envolventes como exemplos
reais do que
essas interfaces são capazes de essas interfaces são capazes Vamos explicar como o gradio funciona com um exemplo de hello
world Aqui no site do gradio, podemos ver
instruções de como instalar o gradio É bem simples. É só com uma linha de comando. Vou pular
aqui porque
quero me concentrar no que
essa interface oferece Então, olhando o código aqui, vemos que
temos uma interface,
uma interface de rádio que tem uma entrada de texto
e uma saída de texto Como podemos ver aqui, há
uma entrada chamada name e uma saída que pode gerar a saída para nós. Então, se eu inserir meu nome aqui
e clicar em Enviar, ele mostrará uma mensagem
de saudação Portanto, a classe de interface
que você está usando tem três parâmetros diferentes.
Vamos dar uma olhada neles. Então, a primeira é FN, que é a função para estruturar
a interface do usuário Também temos entradas e saídas. Cada uma dessas entradas e
saídas pode ser de
tipos diferentes Por exemplo, eles podem ser texto, imagem, áudio, vídeo e muito mais. Também podemos definir atributos
diferentes para cada um dos componentes. Então, por exemplo, aqui
neste livro, podemos ter duas linhas
em vez de uma Agora, aqui, este livro didático de entrada tem uma altura de duas
linhas em vez Também podemos ter vários componentes de
entrada e saída. Por exemplo, aqui,
temos uma função Grit que tem entradas
e saídas diferentes Então é assim que a
interface se parece. Temos uma entrada de texto. Temos uma entrada de caixa de seleção e outra entrada, que é um controle deslizante para
definir a temperatura Então eu posso definir a temperatura. Posso inserir meu nome aqui. Posso inserir meu nome aqui. E digamos que não seja de manhã. Então, se eu clicar em Enviar, ele diz: Boa noite, Reza. Hoje faz 70 graus. E abaixo, há
outra saída, que é uma conversão de
Fahrenheit Também podemos usar componentes
de imagem. Então, é assim que
o código se parece. Então, agora dentro
do aplicativo de rádio, o
componente usado para imagem está apresentando um erro, mas
isso não é um problema. É por isso que temos um rosto abraçado. Então, vamos dar uma olhada em uma interface de fase
de abraço, que usa um componente de imagem Então, esse espaço é chamado de
difusão de ilusão. E o que ele faz é que, com
base em um desses padrões, digamos que
escolhemos esse padrão, eu possa criar uma ilusão de ótica com base na solicitação
que inserimos aqui Então, vamos usar o
mesmo prompt aqui. Vamos fazer uma vila medieval. E eu clico em Executar. Então, agora, ele criou uma imagem de uma vila medieval seguindo esse padrão de ilusão óptica Então, se eu diminuir o zoom a partir daqui, espero que agora seja
mais fácil para você ver o padrão na
imagem criada Tudo bem, de volta ao rádio. Outro recurso que podemos
usar no gradio são os chatbots. É assim que o código se parece. Então, neste chatbot, estamos apenas gerando
uma resposta aleatória, que
seria “sim” ou “não Mas, no cenário do mundo real, usaremos um
grande modelo de linguagem para gerar respostas adequadas
com base nas solicitações do usuário Então, por exemplo, aqui, eu posso dizer oi, diz, não, digamos, como você está? Então, por enquanto, estamos apenas recebendo
uma resposta aleatória não ou sim porque essa é a única resposta que o chatbot pode gerar Posteriormente, podemos adicionar um modelo de linguagem de
hospedagem para nos ajudar a gerar uma interação real de bate-papo
com o usuário. No rádio, podemos aproveitar o recurso
de blocos, o que nos dá mais
flexibilidade e controle Então, tradicionalmente, podemos
usar uma interface ou uma interface de bate-papo para interagir com um modelo
por meio de uma biblioteca de rádio. Mas usando blocos, podemos criar blocos
diferentes e colocar componentes
diferentes em
cada um desses blocos. Ele permite interações mais
complexas entre diferentes
componentes no rádio Vamos dar uma olhada em um
exemplo de uso de blocos. Então, aqui estamos criando um bloco. Dentro desse bloco,
temos duas caixas de texto. Temos um botão e também
podemos atribuir uma função à
funcionalidade de clique do botão. Portanto, sempre que esse
botão é clicado, a função de grade é chamada e ela passará esses
parâmetros para a função Agora podemos ver que todos
esses componentes estão em um bloco. E é assim que podemos adicionar
mais complexidade aos nossos blocos. Então, nesse código, podemos ver
que estamos criando um bloco, mas também estamos criando
duas guias diferentes E dentro de cada uma dessas guias, temos componentes diferentes Então, vamos ver como é a
interface. Então, agora temos um bloco, e há uma guia aqui e
outra guia aqui. Portanto, nesta guia, temos uma imagem de entrada e um componente
de imagem de saída. Mas na primeira etapa, temos um texto de entrada e
um texto de saída. Abaixo, também
temos um menu de acordeão. Podemos fechá-lo e abri-lo. E aqui dentro, podemos adicionar
mais componentes conforme necessário. Então essa foi uma breve visão geral
do que o rádio pode nos oferecer. Agora vamos dar uma olhada em alguns exemplos reais de prêmios
em Hugging
8. L2V3: construindo as etapas iniciais do chatbot de perguntas frequentes: Neste vídeo, começaremos criar um chatbot de
suporte ao cliente Examinaremos os arquivos necessários para executar o
espaço no inning face e também
analisaremos o
código Python de que precisamos para que
esse chatbot funcione para nós É assim que nosso chatbot
assistente de atendimento ao cliente se parece Para ter esse espaço em
nosso próprio espaço de trabalho, podemos
clicar nos três pontos aqui e clicar em
Clonar repositório, ou podemos começar um novo Então, para isso, precisamos
ir ao nosso espaço de trabalho. E a partir daqui, posso clicar na foto do
meu perfil,
ir para Novo espaço. Eu posso selecionar o
nome do espaço, escolher a licença que eu quero. Também precisamos escolher um SDK,
um kit de desenvolvimento de software Então, no nosso caso,
queremos usar o rádio. Temos a opção de
selecionar o hardware do nosso espaço e
decidir se queremos que
seja público ou privado. Quando terminarmos, podemos
clicar em Criar espaço. Eu já tenho esse espaço, então não preciso
criá-lo. Vamos voltar ao assunto. Agora vamos dar uma olhada nesse bot de
bate-papo e ver como ele funciona. Vamos dizer olá. Sim, claro. Olá. Eu sou o chatbot da
Imaginary Mechanics Shop. Estou aqui para responder a
quaisquer perguntas que você possa ter sobre nossos serviços.
Como posso te ajudar? Então, deixe-me perguntar. Conte-me
sobre a história da loja. E o chatbot fornece
algumas informações sobre quando a oficina foi fundada e há quantos anos os mecânicos
trabalham lá Vamos perguntar sobre o horário de
funcionamento. E responderá adequadamente com o
horário de funcionamento da loja. Quais serviços você fornece? Então, fale-nos sobre diferentes serviços que eles
oferecem, como trocas, reparos de
freios, rotação de pneus, etc. Tudo bem. Agora, vamos entrar
nos arquivos e ver o que precisamos ter
para que esse bate-papo funcione Então, o primeiro arquivo
que queremos
ver são os atributos do Git Esse arquivo está configurando o armazenamento de arquivos
grandes do Git ou LFS, que é uma extensão do
Git que permite gerenciar
com eficiência
arquivos grandes e ativos binários Essa configuração
pode ser usada para uma variedade de
tipos e caminhos de arquivo, visando
especificamente arquivos
binários e grandes conjuntos de dados comumente
usados em aprendizado de máquina, ciência de
dados e desenvolvimento de
software Isso ajuda a manter o
tamanho do repositório Git gerenciável e melhora o desempenho
da clonagem e da busca O próximo arquivo é o CSV da oficina mecânica
imaginária. Então, aqui podemos ver
diferentes perguntas e respostas sobre nossa oficina mecânica
imaginária Esse é o arquivo que o modelo de linguagem Large
usará como referência e poderá
responder a qualquer pergunta que possa ser respondida com base
nas informações
fornecidas neste arquivo. Também temos um arquivo
leia-me que fornece informações diferentes
sobre o aplicativo, versões
do kit de desenvolvimento de software e o autor. Os requisitos de que o arquivo TXT é comumente usado
em
projetos Python para especificar uma lista
de dependências que
precisam ser instaladas para que o projeto Cada linha no arquivo
especifica um pacote e opcionalmente, uma versão ou um intervalo de versões aceitáveis
para esse E, finalmente,
há o arquivo Pi do aplicativo, que tem todo o
código de que precisamos para executar o aplicativo no espaço
da fase de abraço Então, vamos nos aprofundar
no código Python em si. No começo, estamos
importando bibliotecas diferentes. Estamos importando rádio
para a interface do usuário. Estamos importando o Open AI para
o modelo de linguagem grande, que alimenta nosso chatbot, e também estamos importando sistema operacional, CSV e JSON Também estamos configurando a
API de forma criptografada. Isso tem a ver com a segurança porque não queremos que nossa chave de API fique visível
dentro do código. Explicarei isso no
próximo vídeo, quando falar sobre as
melhores práticas no desenvolvimento de aplicativos baseados em
LLM Então, primeiro de tudo, queremos
definir o caminho de entrada do arquivo CSV Portanto, o modelo de linguagem Large sabe onde acessar esse arquivo. Em seguida, inicializamos uma
lista vazia para armazenar os dados. Em seguida, abrimos o
arquivo CSV para leitura. Criamos um objeto leitor CSV e iteramos os dados CSV e os
anexamos à lista. Em seguida, convertemos a lista de dicionários em uma string JSON Nossa função de resposta é a função que
pega a mensagem do usuário e gera uma resposta adequada com
base no texto de entrada. Então, configuramos nosso arquivo JSON. Fornecemos uma diretriz para o chatbod a fim de
explicar a ele como se comportar e
como responder a perguntas Essa também é outra
parte que vou me aprofundar
no próximo vídeo,
pois tem a ver com
engenharia rápida e com a garantia de que nosso chatbod
produza respostas adequadas Então, para
produzir uma resposta, chamamos openai dot completion
dot create e, aqui, podemos decidir qual
mecanismo usar Então, aqui estamos usando
take Deven G 03. Identificamos qual é nossa solicitação e podemos definir
configurações diferentes para o modelo. Por exemplo, estou configurando
o token máximo para 300 e a
temperatura para 0,1. Em seguida, extraímos e
imprimimos o texto gerado. E no final, estamos
criando um bloco de rádio. Então, nesse bloco,
temos o chatbot. Temos uma caixa de texto
para a mensagem do usuário e temos um fundo transparente Sempre que o usuário clica em enviar, chamamos o
método de resposta passando a mensagem e o
histórico do chatbot até aquele ponto E para
lançar tudo isso, basta escrever demo dot launch. Então, para concluir, neste vídeo, começamos a criar
um chatbot de suporte ao cliente Examinamos os arquivos
necessários para executar o espaço no HigingFace e analisamos código
Python necessário para
9. L2V4: concluindo e implantando o chatbot de perguntas frequentes: Neste vídeo,
mostraremos como
implantar um chatbot em um endpoint
escalável Também discutiremos como
aplicar considerações éticas e outras
melhores práticas de produção
ao desenvolvimento do seu chatbot Para fazer isso, precisamos
acessar o
aplicativo Configurações em nosso espaço. Podemos ver que
temos opções para diferentes
unidades de processador e armazenamento. Também há opções para reiniciar ou
reinicializar Ao alterar a visibilidade do
espaço, podemos alternar entre tornar
o espaço privado ou público. Vamos falar mais sobre
a chave da API e outras
informações confidenciais que
precisam ser armazenadas em nossa plataforma
Hugging Face Portanto, se seu aplicativo exigir variáveis de
ambiente,
por exemplo, chaves
secretas ou tokens, não as codifique
dentro do aplicativo Em vez disso, você pode acessar
a página de configuração do seu espaço e adicionar uma
nova variável ou segredo. Use variáveis se
precisar armazenar valores
e segredos de
configuração
não confidenciais para
armazenar tokens de acesso, chaves de
API ou qualquer outro valor ou credencial
confidencial No aplicativo Configurações, também
temos outras opções, como renomear ou transferir
esse espaço Também podemos ativar ou desativar o recurso de
contribuição da comunidade ou excluir o espaço se você
não quiser mais tê-lo. Outro ponto de interesse em
suas configurações são os web hooks. Portanto, os web hooks no Hugging Face permitem que você configure respostas
automatizadas ou quaisquer outras ações
que possam ser acionadas por eventos específicos na plataforma Hugging Você pode configurar um
web hook para notificar seu sistema quando uma nova versão
de um modelo estiver disponível no Hugging face ou quando um trabalho de treinamento iniciado na
plataforma for concluído webhooks são como lembretes
automáticos que nos ajudam a seguir as
boas práticas Eles atuam nos bastidores para verificar nosso trabalho sempre que
fazemos alterações, garantindo que tudo
se encaixe. Eles podem facilitar uma colaboração tranquila e bem-sucedida,
economizando tempo, mantendo nosso projeto consistente e mantendo toda a equipe
informada sobre novas mudanças. Agora, vamos dar uma olhada em algumas
práticas de engenharia rápidas para ajudar nossos chatbots a agir adequadamente e
fornecer respostas relevantes Ok, então, dentro do arquivo dot Pi do
aplicativo estamos fornecendo algumas diretrizes para o
chatbot Vamos detalhar isso. Então esse é o detalhamento
das diretrizes. Vamos ver como essas
instruções ajudam o chatbot a fornecer respostas adequadas
e relevantes A primeira coisa
que queremos fazer é dar um papel ao chatbot Então, podemos dizer que você é um chatbot
conversacional, atuando como mecânico na oficina mecânica
imaginária Então, precisamos
atribuir uma função a ele. Sua função principal
é responder a todas as perguntas que são as mensagens fornecidas
pelo usuário sem problemas. Responda a perguntas estritamente relacionadas ao conteúdo encontrado no documento
fornecido, que está no
arquivo JSON que criamos Também para ajudar o chatbot, podemos dar um exemplo O usuário pode usar a palavra para você como
representante da loja. Então, se o usuário perguntar: Você conserta pneus furados, sua resposta deve
ser algo como, sim, consertamos pneus furados
na oficina mecânica imaginária Também devemos definir
limitações para o chatbot. Suas respostas têm limitações. Não participe de discussões nem responda perguntas sobre atividades
ilegais, conteúdo
explícito
ou qualquer tópico não relacionado à oficina mecânica
ou à reparação de carros em geral Atenha-se apenas às
informações disponíveis
no arquivo designado e às perguntas que podem ser respondidas
usando essas informações. Também podemos fornecer
instruções para lidar com solicitações inadequadas
ou não relacionadas Você deve ser capaz de lidar com consultas
inapropriadas ou
fora do tópico Se a pergunta estiver
completamente fora do assunto, informe
educadamente aos usuários
que você só pode fornecer assistência e
respostas sobre a oficina mecânica imaginária Abster-se de se envolver em tópicos irrelevantes ou
inapropriados Se a pergunta não
estiver fora do tópico, mas você não tiver uma resposta, forneça uma
resposta curta à pergunta e peça ao usuário que ligue para
a loja para obter mais informações. E, finalmente, podemos dizer ao chatbot qual deve ser
o tom da interação Mantenha o respeito e o
profissionalismo. Garanta que as interações sejam
educadas, construtivas e objetivas, mantendo
uma experiência de usuário profissional e
respeitosa Fornecer essas instruções nos
ajuda a criar um chatbot que se mantenha atualizado e
forneça respostas apropriadas Então, para concluir, neste vídeo, exploramos como implantar o chatbot em um endpoint
escalável Também aprendemos como aplicar considerações
éticas e outras
melhores práticas de produção
ao desenvolvimento do seu chatbot
10. L3V1- Principais questões éticas em aplicativos LLM: Neste vídeo,
exploraremos os riscos envolvidos na implantação de sistemas de IA éticos e
responsáveis Ao final deste vídeo, você aprenderá sobre os principais riscos
éticos relacionados à criação de
aplicativos prontos para produção usando LLMs Os tópicos abordados
neste vídeo são preconceitos, respostas
inseguras, questões de transparência
e explicabilidade e os riscos de expectativas erradas Uma grande preocupação é o
possível viés
nos dados de treinamento
que são codificados no comportamento do
modelo Modelos treinados com texto
da Internet podem inadvertidamente, amplificar os estereótipos nocivos sobre raça, gênero ou outros
atributos ,
inadvertidamente, amplificar
os estereótipos nocivos sobre raça, gênero ou outros
atributos. Isso pode levar a resultados
discriminatórios que
deturpam o Outro problema é
a probabilidade de LLMs
gerarem ocasionalmente conteúdo tóxico, inseguro ou falso, também conhecido como
alucinações Sem o
controle adequado, isso pode ter consequências perigosas
no mundo real. Também existem problemas de transparência
e explicabilidade em torno de grandes modelos de
redes neurais Pode não estar claro
por que um LLM produz um resultado ou
recomendação específica do ponto
de vista humano Essa natureza de caixa preta
dificulta a auditoria da saída do
modelo. Além disso, a
natureza humana dos
modelos conversacionais pode levar à perda da confiança
ou do apego do usuário a um sistema de IA Gerenciar as expectativas
em relação às capacidades do sistema é uma tarefa importante na apresentação nosso aplicativo
baseado em LLM pronto para produção Então, durante meu doutorado, quando eu estava estudando
a confiança entre humanos e agentes artificiais, descobri que a confiança
geral de um agente, incluindo o nível
de perdão do usuário por esse agente
quando um erro aconteceu, depende significativamente da percepção inicial e das
expectativas desse Portanto, para começar com o pé
direito com seus usuários, ao apresentar seu
aplicativo a eles, é importante definir expectativas
realistas. Reconhecer esses riscos e provavelmente mais riscos dos quais talvez
não estejamos cientes significa
que, como profissionais de IA, temos a obrigação ética abordar proativamente esses tipos de desafios por meio de
pesquisa, design E é importante que os novos
desenvolvedores estejam atentos aos riscos
potenciais e às diretrizes
éticas produzidas por cientistas de IA. Em conclusão, alguns riscos
potenciais em aplicativos baseados em LLM são preconceitos, respostas
inseguras, problemas de transparência
e explicabilidade e expectativas mal informadas respostas
inseguras, problemas de transparência
e explicabilidade e expectativas mal informadas
. Com diligência e cuidado, podemos utilizar o
poder dos LLMs para sempre e, ao mesmo tempo, controlar
esses riscos potenciais
11. L3V2: estratégias para minimizar riscos de IA: Neste vídeo, exploraremos estratégias para
mitigação de preconceitos e segurança Ao final deste vídeo, você aprenderá
práticas
saudáveis de aplicação para lidar questões de
preconceito e segurança em todo o ciclo de vida do
desenvolvimento. As práticas que abordaremos são a curadoria de diversos conjuntos de dados, o
monitoramento do processo de treinamento, a identificação de
resultados e comportamentos inadequados, o foco na
segurança, a engenharia rápida
e os testes Antes de começar a treinar um LLM, uma etapa fundamental é selecionar
cuidadosamente
um conjunto de dados diversificado a ser
usado para treinar o modelo Os dados devem vir de fontes
confiáveis e ser examinados em busca de conteúdo
prejudicial Para combater o preconceito, podemos usar recursos como filtros de
diversidade para ajudar a
remover distribuições distorcidas Também podemos usar o aumento de dados, que é outra
técnica para incluir perspectivas
sub-representadas no Em seguida, o modelo pode ser
monitorado quanto à imparcialidade em diferentes grupos
demográficos durante a fase de treinamento Podemos usar algoritmos de
mitigação de viés, que podem ajustar os parâmetros do
modelo para reduzir o desempenho equitativo Para modelos implantados, técnicas como aumento de
verossimilhança e
filtros de sinalização de
conteúdo podem detectar e reduzir a geração de resultados
tendenciosos É importante
saber que o monitoramento não
serve apenas para a fase
de treinamento. monitoramento contínuo ajuda a identificar os problemas emergentes que precisam ser resolvidos. Além disso, a engenharia
rápida focada na segurança ensina ao modelo normas de
conduta aceitáveis e orienta em direção a um
comportamento benevolente quando Os desenvolvedores podem consultar documentos de orientação para
desenvolvedores para ajudá-los a estabelecer
essas práticas saudáveis. E por último, mas não menos importante, teste também é uma etapa
muito importante para mitigar Isso deve ser feito durante todo o
ciclo de vida do desenvolvimento para analisar as saídas do modelo em busca de problemas de viés e segurança antes de
lançarmos o aplicativo
para produção Além disso, auditorias de pesquisadores
externos podem adicionar
outra camada de supervisão, que é crucial para aplicações de alto risco Concluindo, nenhuma
abordagem é perfeita, mas combinar as melhores práticas como organizar diversos conjuntos de dados,
monitorar o processo de treinamento, identificar
resultados e comportamentos inadequados, engenharia
imediata com foco na
segurança e testes, engenharia
imediata com foco na
segurança nos ajuda a criar os freios
e
contrapesos
necessários para aplicações de LLM éticas e necessários para
12. L3V3: promovendo a transparência em sistemas de IA: Este vídeo explorará
como a transparência e a explicabilidade beneficiam os aplicativos de
LLM Ao final deste vídeo, você aprenderá diferentes
estratégias para melhorar a transparência e
a explicabilidade
de seus aplicativos Abordaremos a
visibilidade dos dados de treinamento, técnicas de explicação
locais, pontuações de
confiança, testes de
usuários e supervisão
humana Grandes modelos de linguagem podem produzir resultados impressionantemente
humanos, mas o funcionamento interno
das redes neurais é complexo e muito
parecido com uma caixa preta Uma abordagem para aumentar a transparência é
fornecer
visibilidade sobre quais dados e
parâmetros de treinamento foram usados
para treinar o modelo. Portanto, compartilhar cartões modelo
é uma boa prática para fornecer informações
sobre o processo de desenvolvimento. Outra forma de aumentar a
transparência é por meio de métodos conhecidos como técnicas de explicação
local. Eles podem ajudar os usuários a entender qual parte da
entrada, por exemplo, prompt do
usuário, desempenhou
um papel importante na obtenção da saída
fornecida. Ao destacar ou apontar para
as seções específicas
da entrada que tiveram uma grande influência na saída
do modelo, os usuários podem ter uma compreensão
clara do motivo pelo qual o modelo respondeu
de uma determinada maneira Também podemos usar certas respostas para
fornecer mais transparência. Podemos usar pontuações de confiança para ajudar a indicar
quando o modelo
provavelmente está adivinhando versus
quando está altamente certo
sobre uma saída E há o teste com usuários, que ajuda a identificar casos em a lógica do modelo é vaga e não atende
às expectativas O registro dessas
instâncias pode servir como um guia para futuras melhorias no
modelo. Em última análise, não devemos esquecer que a supervisão humana ainda é necessária para verificar a lógica do
modelo e descartar decisões incorretas autonomia total não
deve ser dada
aos LLMs sem grades de proteção Ok, vimos que
essas técnicas podem nos
ajudar a criar mais
transparência em torno do modelo. Devemos observar que qualquer
explicação deve ser adaptada com base na formação
técnica do público. Para desenvolvedores,
explicações técnicas
detalhadas podem
ser preferíveis Mas, para os usuários finais, geralmente
interpretações simplificadas
da intenção do modelo são suficientes Concluindo, transparência e explicabilidade ajudam a
criar uma confiança duradoura, garantindo que nosso aplicativo
funcione conforme Recursos como
visibilidade dos dados de treinamento, técnicas de explicação
locais, pontuações de
confiança, testes de
usuários e
supervisão humana ajudam na
criação de aplicativos LLM mais transparentes e explicáveis
13. L3V4: técnicas para sustentar a confiança do usuário: Neste vídeo, exploraremos alguns dos desafios
na criação interações
confiáveis entre usuários
humanos e aplicativos de
LLM Examinaremos dicas
importantes para manter a confiança do usuário e
cumprir as normas de comunicação Como discutimos anteriormente, a definição
de expectativas é crucial Devemos transmitir claramente as capacidades
e limitações do modelo que os usuários entendam
quando confiar
nos resultados e quando buscar
a visão humana Devemos nos certificar de que não
prometemos demais. A interface do usuário em si também influencia
na criação de confiança. Elementos de design semelhantes aos humanos, por exemplo, usar um avatar
ou uma voz humana podem induzir os usuários
a pensar que o sistema é mais inteligente do que realmente é Interfaces de usuário minimalistas
ajudam os usuários a se concentrarem na tarefa. Estabelecer um caráter
e uma voz
consistentes para o
modelo ajuda a
alinhar as expectativas do usuário e evitar mudanças
desorientadoras Podemos nos beneficiar dos testes com
usuários para identificar essas
inconsistências problemáticas Além disso, seguir
as normas de comunicação
esperadas evita qualquer confusão Para apoiar um diálogo
produtivo, o sistema deve seguir
convenções como tomar turnos, esclarecer solicitações ambíguas
ou admitir A transparência também é
muito importante. forma transparente, divulgar
a função do LLM e fornecer informações sobre
seus dados de treinamento fornece aos usuários Além disso, explicar suas limitações ajuda a criar uma confiança
confiável E permitir o
feedback do usuário ajuda a identificar falhas de confiança
ou problemas de comunicação. Devemos monitorar continuamente
as interações e aplicar feedback
do usuário nas iterações
futuras para melhorar o
relacionamento ao longo do tempo Em conclusão, com um
design cuidadoso e transparência, desenvolvedores de
LLM podem criar
sistemas dignos da confiança dos usuários Essas considerações
reduzem o risco de consequências
e preconceitos
não intencionais em LLM Priorizar esses
fatores é crucial para
criar soluções de IA confiáveis e
universalmente aplicáveis universalmente Espero que você tenha gostado
desse minicurso
comigo e tenha achado o
conteúdo valioso. Espero ver você em breve em outro curso empolgante de
IA generativa. Continue explorando.